document.onkeypress = keyhandler;
var publishingREQ = false;
var pieceIsDragging = false;
var vsmCheckPageSize = 0;
var vsmOverPageSize = 0;


function keyhandler(e) {
    if (document.all) {
		if(event.ctrlKey && event.shiftKey) {
			switch(event.keyCode) {
			case 22: // V
			window.open("/admin/session/login/login.php?popup=1", "popuplogin", "width=560,height=320,resize=no,status=no,toolbars=no,left="+(screen.availWidth/2-560/2)+",top="+(screen.availHeight/2-330/2));
			return false;
			}
		}
	}
}

function html_entity_decode(str) {
  var ent = new Object()
  // Insert full list from http://www.thescripts.com/forum/thread642230.html here (this note was deemed to large to post this function with the whole list)
	ent['apos'] = 39 // from XML, not present in HTML4
	ent['quot'] = 34
	ent['amp'] = 38
	ent['lt'] = 60
	ent['gt'] = 62
	ent['nbsp'] = 160
	ent['iexcl'] = 161
	ent['cent'] = 162
	ent['pound'] = 163
	ent['curren'] = 164
	ent['yen'] = 165
	ent['brvbar'] = 166
	ent['sect'] = 167
	ent['uml'] = 168
	ent['copy'] = 169
	ent['ordf'] = 170
	ent['laquo'] = 171
	ent['not'] = 172
	ent['shy'] = 173
	ent['reg'] = 174
	ent['macr'] = 175
	ent['deg'] = 176
	ent['plusmn'] = 177
	ent['sup2'] = 178
	ent['sup3'] = 179
	ent['acute'] = 180
	ent['micro'] = 181
	ent['para'] = 182
	ent['middot'] = 183
	ent['cedil'] = 184
	ent['sup1'] = 185
	ent['ordm'] = 186
	ent['raquo'] = 187
	ent['frac14'] = 188
	ent['frac12'] = 189
	ent['frac34'] = 190
	ent['iquest'] = 191
	ent['Agrave'] = 192
	ent['Aacute'] = 193
	ent['Acirc'] = 194
	ent['Atilde'] = 195
	ent['Auml'] = 196
	ent['Aring'] = 197
	ent['AElig'] = 198
	ent['Ccedil'] = 199
	ent['Egrave'] = 200
	ent['Eacute'] = 201
	ent['Ecirc'] = 202
	ent['Euml'] = 203
	ent['Igrave'] = 204
	ent['Iacute'] = 205
	ent['Icirc'] = 206
	ent['Iuml'] = 207
	ent['ETH'] = 208
	ent['Ntilde'] = 209
	ent['Ograve'] = 210
	ent['Oacute'] = 211
	ent['Ocirc'] = 212
	ent['Otilde'] = 213
	ent['Ouml'] = 214
	ent['times'] = 215
	ent['Oslash'] = 216
	ent['Ugrave'] = 217
	ent['Uacute'] = 218
	ent['Ucirc'] = 219
	ent['Uuml'] = 220
	ent['Yacute'] = 221
	ent['THORN'] = 222
	ent['szlig'] = 223
	ent['agrave'] = 224
	ent['aacute'] = 225
	ent['acirc'] = 226
	ent['atilde'] = 227
	ent['auml'] = 228
	ent['aring'] = 229
	ent['aelig'] = 230
	ent['ccedil'] = 231
	ent['egrave'] = 232
	ent['eacute'] = 233
	ent['ecirc'] = 234
	ent['euml'] = 235
	ent['igrave'] = 236
	ent['iacute'] = 237
	ent['icirc'] = 238
	ent['iuml'] = 239
	ent['eth'] = 240
	ent['ntilde'] = 241
	ent['ograve'] = 242
	ent['oacute'] = 243
	ent['ocirc'] = 244
	ent['otilde'] = 245
	ent['ouml'] = 246
	ent['divide'] = 247
	ent['oslash'] = 248
	ent['ugrave'] = 249
	ent['uacute'] = 250
	ent['ucirc'] = 251
	ent['uuml'] = 252
	ent['yacute'] = 253
	ent['thorn'] = 254
	ent['yuml'] = 255
	ent['OElig'] = 338
	ent['oelig'] = 339
	ent['Scaron'] = 352
	ent['scaron'] = 353
	ent['Yuml'] = 376
	ent['fnof'] = 402
	ent['circ'] = 710
	ent['tilde'] = 732
	ent['Alpha'] = 913
	ent['Beta'] = 914
	ent['Gamma'] = 915
	ent['Delta'] = 916
	ent['Epsilon'] = 917
	ent['Zeta'] = 918
	ent['Eta'] = 919
	ent['Theta'] = 920
	ent['Iota'] = 921
	ent['Kappa'] = 922
	ent['Lambda'] = 923
	ent['Mu'] = 924
	ent['Nu'] = 925
	ent['Xi'] = 926
	ent['Omicron'] = 927
	ent['Pi'] = 928
	ent['Rho'] = 929
	ent['Sigma'] = 931
	ent['Tau'] = 932
	ent['Upsilon'] = 933
	ent['Phi'] = 934
	ent['Chi'] = 935
	ent['Psi'] = 936
	ent['Omega'] = 937
	ent['alpha'] = 945
	ent['beta'] = 946
	ent['gamma'] = 947
	ent['delta'] = 948
	ent['epsilon'] = 949
	ent['zeta'] = 950
	ent['eta'] = 951
	ent['theta'] = 952
	ent['iota'] = 953
	ent['kappa'] = 954
	ent['lambda'] = 955
	ent['mu'] = 956
	ent['nu'] = 957
	ent['xi'] = 958
	ent['omicron'] = 959
	ent['pi'] = 960
	ent['rho'] = 961
	ent['sigmaf'] = 962
	ent['sigma'] = 963
	ent['tau'] = 964
	ent['upsilon'] = 965
	ent['phi'] = 966
	ent['chi'] = 967
	ent['psi'] = 968
	ent['omega'] = 969
	ent['thetasym'] = 977
	ent['upsih'] = 978
	ent['piv'] = 982
	ent['ensp'] = 8194
	ent['emsp'] = 8195
	ent['thinsp'] = 8201
	ent['zwnj'] = 8204
	ent['zwj'] = 8205
	ent['lrm'] = 8206
	ent['rlm'] = 8207
	ent['ndash'] = 8211
	ent['mdash'] = 8212
	ent['lsquo'] = 8216
	ent['rsquo'] = 8217
	ent['sbquo'] = 8218
	ent['ldquo'] = 8220
	ent['rdquo'] = 8221
	ent['bdquo'] = 8222
	ent['dagger'] = 8224
	ent['Dagger'] = 8225
	ent['bull'] = 8226
	ent['hellip'] = 8230
	ent['permil'] = 8240
	ent['prime'] = 8242
	ent['Prime'] = 8243
	ent['lsaquo'] = 8249
	ent['rsaquo'] = 8250
	ent['oline'] = 8254
	ent['frasl'] = 8260
	ent['euro'] = 8364
	ent['image'] = 8465
	ent['weierp'] = 8472
	ent['real'] = 8476
	ent['trade'] = 8482
	ent['alefsym'] = 8501
	ent['larr'] = 8592
	ent['uarr'] = 8593
	ent['rarr'] = 8594
	ent['darr'] = 8595
	ent['harr'] = 8596
	ent['crarr'] = 8629
	ent['lArr'] = 8656
	ent['uArr'] = 8657
	ent['rArr'] = 8658
	ent['dArr'] = 8659
	ent['hArr'] = 8660
	ent['forall'] = 8704
	ent['part'] = 8706
	ent['exist'] = 8707
	ent['empty'] = 8709
	ent['nabla'] = 8711
	ent['isin'] = 8712
	ent['notin'] = 8713
	ent['ni'] = 8715
	ent['prod'] = 8719
	ent['sum'] = 8721
	ent['minus'] = 8722
	ent['lowast'] = 8727
	ent['radic'] = 8730
	ent['prop'] = 8733
	ent['infin'] = 8734
	ent['ang'] = 8736
	ent['and'] = 8743
	ent['or'] = 8744
	ent['cap'] = 8745
	ent['cup'] = 8746
	ent['int'] = 8747
	ent['there4'] = 8756
	ent['sim'] = 8764
	ent['cong'] = 8773
	ent['asymp'] = 8776
	ent['ne'] = 8800
	ent['equiv'] = 8801
	ent['le'] = 8804
	ent['ge'] = 8805
	ent['sub'] = 8834
	ent['sup'] = 8835
	ent['nsub'] = 8836
	ent['sube'] = 8838
	ent['supe'] = 8839
	ent['oplus'] = 8853
	ent['otimes'] = 8855
	ent['perp'] = 8869
	ent['sdot'] = 8901
	ent['lceil'] = 8968
	ent['rceil'] = 8969
	ent['lfloor'] = 8970
	ent['rfloor'] = 8971
	ent['lang'] = 9001
	ent['rang'] = 9002
	ent['loz'] = 9674
	ent['spades'] = 9824
	ent['clubs'] = 9827
	ent['hearts'] = 9829
	ent['diams'] = 9830

  var xml = str;
  for (var i in ent)
  xml = xml.replace(new RegExp('&'+i+';','g'), //'gi' instead of 'g' for case-insensitivity
  String.fromCharCode(ent[i]));
  xml = xml.replace(/(&)(#)(\d{1,})(;)/g,
  function (tot,amp,cr,cp,sem) {
    return String.fromCharCode(cp)
  }
  )
  return xml;
}

function switchEditMode (refresh) {
	vsmeditmode = !vsmeditmode;
	if (refresh) {
		refreshEditMode();
	} else {
		changeEditMode();
	}
}

function refreshEditMode() {
	if (vsmeditmode) {
		document.all.editmodeframe.src = "/admin/common/switchEditMode.php?editing&refresh";
	} else {
		document.all.editmodeframe.src = "/admin/common/switchEditMode.php?refresh";
	}
} 

function changeEditMode() {
	if (vsmeditmode) {
		document.all.vsmeditmodeoption.innerHTML = "<img border=0 width=15 height=15 hspace=2 align=absmiddle src=\"/admin/img/icons15/exitedit.gif\">Salir del modo edición";
		document.all.editmodeframe.src = "/admin/common/switchEditMode.php?editing";
	} else {
		document.all.vsmeditmodeoption.innerHTML = "<img border=0 width=15 height=15 hspace=2 align=absmiddle src=\"/admin/img/icons15/edit.gif\">Editar página";
		document.all.editmodeframe.src = "/admin/common/switchEditMode.php";
	}
	var divTags = document.getElementsByTagName("div") ; 
	for (var i = 0; i < divTags.length ; i++) { 
		if (divTags[i].id =="vsmcontextmenu" || divTags[i].id =="vsmimgbutton") {
			if (vsmeditmode) {
				divTags[i].style.display="";
			} else {
				divTags[i].style.display="none";
			}
		} 
	} 
}

function doPublish(){
	publishingREQ = xmlreq();
	publishingREQ.onreadystatechange = publishingResult;
	publishbtn = document.getElementById('vsmpublishbtn');
	if (publishbtn) {
		data = publishbtn.getAttribute('url');
		url = '/cache/publish.php?url='+data;
		publishingREQ.open("GET", url, true);
		publishingREQ.setRequestHeader("Connection", "close");
		publishingREQ.send(null);
	}
}

function publish() {
	vsmDisablePublish();
	var defaultText ='¿Está seguro de publicar esta página?';
	if (vsmCheckPageSize > 0  && vsmOverPageSize > 0){
		if (vsmCheckPageSize ==1){
			ok = confirm('La página tiene un sobrepeso de ' + vsmOverPageSize + ' KB \r\n' + defaultText);
		}else{
			alert('La página no puede publicarse porque tiene un sobrepeso de ' + vsmOverPageSize + ' KB.\r\nReduzca el tamaño de la página e intente nuevamente. ');
			vsmEnablePublish();
			return;
		}
	}else{
		ok = confirm(defaultText);
	}

	if (ok) {
		if (window.savecolumnOrder) {
			 savecolumnOrder(true);
		}
		else {
			doPublish();
		}
	} else {
		vsmEnablePublish();
	}
}


function vsmDisablePublish(){
	publishbtn = document.getElementById('vsmpublishbtn');
	if (publishbtn){
		publishimg = document.getElementById('vsmpublishimg');
		publishbtn.onclick = null;
		publishbtn.disabled = true;
		publishimg.style.filter = 'gray(grayscale=1)';
	}
}

function vsmEnablePublish(){
	publishbtn = document.getElementById('vsmpublishbtn');
	if (publishbtn){
		publishimg = document.getElementById('vsmpublishimg');
		publishbtn.onclick = publish;
		publishbtn.disabled = false;
		publishimg.style.filter = 'gray(grayscale=0)';
	}
}

function publishingResult() {
	if (publishingREQ.readyState == 4) {
		if (publishingREQ.status == 200) {
			result = publishingREQ.responseText;
			//Trim the results
			result = result.replace( new RegExp( "^[\\s]+|[\\s]+$", "g"), "" );
			alert(result);
		} else {
			alert('No fue posible realizar la operación');
		}
		vsmEnablePublish();
	}
}

function xmlreq(){
	if(window.XMLHttpRequest){
		publishingREQ = new XMLHttpRequest();
	}else if(window.ActiveXObject){
   		publishingREQ = new ActiveXObject("Msxml2.XMLHTTP");
	}
	return(publishingREQ);
}

var vsmPieceZIndex=0;
function vsmPieceOver(obj) {
	// Si no está draggeando
	if(!pieceIsDragging){
		// Cuando el mouse pasa por encima del menú de una pieza
		vsmPieceZIndex = obj.parentNode.style.zIndex; 				// Guarda el zindex del contenedor del menu
		if (vsmPieceZIndex==0) obj.parentNode.style.zIndex = 8000;	// Pone el contenedor del menu arriba de todo
		obj.childNodes[1].style.display='';							// Muestra las opciones
	}
}

function vsmPieceOut(obj) {
	// Cuando el mouse sale de encima del menú de una pieza
	vsmPieceZIndex=0;
	obj.childNodes[1].style.display='none';		  // Oculta las opciones
	obj.parentNode.style.zIndex = vsmPieceZIndex; // Restaura el zindex del contenedor del menú
}

/* Editar onLine */

function vsmOnLineEditionMode(objid, contentMenuObj) {
	// Enciende el modo editar en linea para una pieza 
	// objid = id de la pieza en el DOM
	// Menu item, objeto del dom que representa la opción "Editar en linea" del menú
	var obj = document.getElementById(objid);
	if(obj) {
		if(obj.getAttribute('vsmediting')) {
			obj.removeAttribute('vsmediting');
			vsmChildNodesEditable(obj, false);
			contentMenuObj.innerHTML = '<img src="/admin/img/icons16/edit.gif" align=absmiddle> Editar en línea';
			drag_elements = true;
		} else {
			obj.setAttribute('vsmediting',1);
			vsmChildNodesEditable(obj, true);
			contentMenuObj.innerHTML = '<img src="/admin/img/icons16/edit.gif" align=absmiddle> Salir del modo editar en línea';
			drag_elements = false;
		}
	}
	vsmPieceOut(contentMenuObj.parentNode.parentNode);
}

function vsmChildNodesEditable(obj, status) {
	// Recorre todo el subarbol de un objeto viendo que elemento tiene la propiedad vsmfld para activar/desactivar el modo editable
	var length = obj.childNodes.length;
	for(var i=0;i<length;i++) {
		var child = obj.childNodes[i];
		if(child.nodeType == 1) {
			// Solo para elementos/tags
			if(child.getAttribute('vsmeol')) {
				vsmMakeEditable(child, status);
			} else {
				vsmChildNodesEditable(child, status);
			}
		}
	}
}

function vsmMakeEditable(obj, status) {
	// Activa/desactiva el modo editable de un elemento
	if(status) {
		// Si el elemento no es HTML
		if(obj.getAttribute('vsmeol') != 'html') {
			// Mira si el elemento editable tiene un <A> adentro, en ese caso pasa las propiedades de edición al <A>
			if ((obj.childNodes.length==1) && (obj.childNodes[0].nodeType==1) && (obj.childNodes[0].tagName=='A')) {
				obj.childNodes[0].setAttribute('vsmot', obj.getAttribute('vsmot'));
				obj.removeAttribute('vsmot');
				obj.childNodes[0].setAttribute('vsmid', obj.getAttribute('vsmid'));
				obj.removeAttribute('vsmid');
				obj.childNodes[0].setAttribute('vsmfld', obj.getAttribute('vsmfld'));
				obj.removeAttribute('vsmfld');
				obj.childNodes[0].setAttribute('vsmeol', obj.getAttribute('vsmeol'));
				obj.removeAttribute('vsmeol');
				obj = obj.childNodes[0];
//				obj.style.width='100%';
			}
			// Elimina cualquier código HTML, si es textarea mantiene los <br>
			//if(obj.getAttribute('vsmeol') == 'textarea') obj.innerHTML = obj.innerHTML.replace(/<br>/gim, '#br#');
			//obj.innerHTML = obj.innerText;
			//if(obj.getAttribute('vsmeol') == 'textarea') obj.innerHTML = obj.innerHTML.replace(/#br#/gim, '<br>');
		}
		obj.contentEditable = true;
		obj.setAttribute('vsmbackgroundColor', obj.style.backgroundColor);
		obj.setAttribute('vsmcursor', obj.style.cursor);
		obj.setAttribute('vsmonfocus', obj.onfocus);
		obj.setAttribute('vsmonblur', obj.onblur);
		obj.setAttribute('vsmonkeypress', obj.onkeypress);
		obj.setAttribute('vsmonpaste', obj.onpaste);
		obj.style.backgroundColor = '#F9DBAE';
		obj.style.cursor = 'text';
		obj.onfocus = vsmEditOnLineOnFocus;
		obj.onblur = vsmEditOnLineOnBlur;
		obj.onkeypress = vsmEditOnLineOnKeyPress;
		obj.onpaste = vsmEditOnLineOnPaste;
	} else {
		obj.contentEditable = false;
		obj.style.backgroundColor = obj.getAttribute('vsmbackgroundColor');
		obj.style.cursor = obj.getAttribute('vsmcursor');
		obj.onfocus = obj.getAttribute('vsmonfocus');
		obj.onblur = obj.getAttribute('vsmonblur');
		obj.onkeypress = obj.getAttribute('vsmonkeypress');
		obj.onpaste = obj.getAttribute('vsmonpaste');
		obj.removeAttribute('vsmbackgroundColor');
		obj.removeAttribute('vsmcursor');
		obj.removeAttribute('vsmonfocus');
		obj.removeAttribute('vsmonblur');
		obj.removeAttribute('vsmonkeypress');
		obj.removeAttribute('vsmonpaste');
	}
}

function vsmEditOnLineOnFocus() {
	this.style.backgroundColor = '#F9EBBE';
	this.setAttribute('vsminnerHTML', this.innerHTML);
/*
	var savebutton = document.getElementById('vsmEOLSaveButton');
	if (!savebutton) {
		var savebutton = document.createElement('DIV');
		this.parentNode.insertBefore(savebutton, this);
		savebutton.id = 'vsmEOLSaveButton';
		savebutton.className = 'vsmeolsavebutton';
		savebutton.onclick= vsmEditOnLineSave;
	}
	savebutton.style.left= (this.offsetLeft + this.offsetWidth) + 'px';
	*/
}

function vsmEditOnLineOnBlur() {
	if(this.getAttribute('vsminnerHTML') != this.innerHTML) {
		var resp= confirm('¿Quiere guardar los cambios?');
		if (resp) {
			vsmEditOnLineSave(this);
		} else {
			vsmEditOnLineCancelChanges(this);
		}
	}
	this.style.backgroundColor = '#F9DBAE';	
	return false;
//	window.status = window.event.toElement.tagName;
//	var blurtarget = window.event.srcElement;
//	if(blurtarget != this.parentNode) {
//		
//		
//		
//		var savebutton = document.getElementById('vsmEOLSaveButton');
//		if (savebutton) savebutton.parentNode.removeChild(savebutton);
//	}
}

function vsmEditOnLineOnKeyPress() {
	if (event.keyCode==13) {
		var fieldtype=this.getAttribute('vsmeol');
		switch(fieldtype) {
			case 'html':
				return false;
				break; 
			case 'textarea':
				var sel = this.document.selection.createRange();
				sel.pasteHTML('<br>');
				window.event.cancelBubble = true; 
				window.event.returnValue = false; 
				sel.select(); 
				sel.moveEnd("character", 1); 
				sel.moveStart("character", 1); 
				sel.collapse(false); 
				return false;
				break;
			case 'text':
				document.body.focus();
				return false;
				break;
		}
	} else if (event.keyCode==27) {
		document.body.focus();
	}
}

function vsmEditOnLineOnPaste() {
	var fieldtype =this.getAttribute('vsmeol');
	switch(fieldtype) {
			case 'html':
				return false;
				break; 
			case 'textarea':
				return false;
				break;
			case 'text':
				return false;
				break;
	}
}

var vsmEOLcurrentObj; // Guarda el objeto que se está editando en una variable global para poder accederlo despues del llamado Ajax

function vsmEditOnLineSave(obj) {
	vsmEOLcurrentObj = obj;
	// Guarda los cambios del elemento en la base de datos
	var objectType = obj.getAttribute('vsmot');
	var objectID = obj.getAttribute('vsmid');
	var fieldname = obj.getAttribute('vsmfld');
	var fieldtype = obj.getAttribute('vsmeol');
	switch(fieldtype) {
		case 'html': var value = obj.innerHTML; break;
		case 'textarea': 
		case 'text':
			value = '';
			for(var i=0;i<obj.childNodes.length; i++) {
				if(obj.childNodes[i].nodeType==3) {
					value+= obj.childNodes[i].nodeValue;
				} else {
					if(obj.childNodes[i].nodeType==1 && obj.childNodes[i].tagName=='BR' && fieldtype=='textarea') value+= '\r\n';
				}
			}
			break;
	}
	data = 'vsmot='+objectType+'&vsmid='+objectID+'&vsmfld='+fieldname+'&vsmtype='+fieldtype+'&value='+escape(value);
	vsmShowMsg('Guardando...');
	vsmHttpRequest('/admin/common/object/saveEditOnLineFA.php', 'vsmEditOnLineSaveOK', 'vsmEditOnLineSaveError', false, null, 'POST', data);
}

function vsmEditOnLineSaveOK(response) {
	// Guardó los cambios OK
	vsmHideMsg();
	if(response) alert(html_entity_decode(response));
}

function vsmEditOnLineSaveError(response) {
	// Error al guardar los cambios
	vsmHideMsg();
	alert(html_entity_decode(response));
	vsmEditOnLineCancelChanges(vsmEOLcurrentObj);
}

function vsmEditOnLineCancelChanges(obj) {
	// Cancela los cambios porque cancelo el usuario o error al guardar
	obj.innerHTML = obj.innerHTML= obj.getAttribute('vsminnerHTML');
	obj.removeAttribute('vsminnerHTML');
}

/* Ajax Status Message ------------------------------------------ */
var vsmajaxmsgvisible;
function vsmShowMsg(msg, icon) {
	// Muestra el fondo
	var bgdiv=document.createElement('DIV');
	document.body.appendChild(bgdiv);
	bgdiv.id = 'vsmajaxbkg';
	bgdiv.style.width= document.body.clientWidth+'px';
	bgdiv.style.height= document.body.clientHeight+'px';
	// Muestra el mensaje
	var msgdiv = document.createElement('DIV');
	document.body.appendChild(msgdiv);
	msgdiv.id= 'vsmajaxmsg';
	msgdiv.style.left = Math.floor(document.documentElement.clientWidth/2 - msgdiv.offsetWidth/2)+'px';
	msgdiv.style.top = Math.floor(document.documentElement.clientHeight/2 - msgdiv.offsetHeight/2)+'px';
	msgdiv.innerHTML = '<img align=left src="/admin/img/layout/progress2.gif" width=25 height=25><div id=vsmajaxmsg_text>'+msg+'</div>';
	vsmMsgBoxAlwaysVisible('vsmajaxmsg');
}

function vsmHideMsg() {
	clearTimeout(vsmajaxmsgvisible);
	var bkgdiv=document.getElementById('vsmajaxbkg');
	var msgdiv=document.getElementById('vsmajaxmsg');
	if (bkgdiv) document.body.removeChild(bkgdiv);
	if (msgdiv) document.body.removeChild(msgdiv);
}

function vsmMsgBoxAlwaysVisible(id) {
	var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
	vsmajaxmsgObj = document.getElementById(id);
	vsmajaxmsgY = vsmajaxmsgObj.offsetTop;
	vsmajaxmsgObj.y = vsmajaxmsgY;
	window.stayVisible = function (){
		var pY = ns ? self.pageYOffset : document.documentElement.scrollTop;
		vsmajaxmsgObj.y += (pY + vsmajaxmsgY  - vsmajaxmsgObj.y)/8;
		vsmajaxmsgObj.style.top=vsmajaxmsgObj.y+"px";
		vsmajaxmsgvisible= setTimeout("stayVisible()", 10);
	}
	stayVisible();
}