var Base64 = {
 
	// private property
	_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
 
	// public method for encoding
	encode : function (input) {
		var output = "";
		var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
		var i = 0;
 
		input = Base64._utf8_encode(input);
 
		while (i < input.length) {
 
			chr1 = input.charCodeAt(i++);
			chr2 = input.charCodeAt(i++);
			chr3 = input.charCodeAt(i++);
 
			enc1 = chr1 >> 2;
			enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
			enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
			enc4 = chr3 & 63;
 
			if (isNaN(chr2)) {
				enc3 = enc4 = 64;
			} else if (isNaN(chr3)) {
				enc4 = 64;
			}
 
			output = output +
			this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
			this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
 
		}
 
		return output;
	},
 
	// public method for decoding
	decode : function (input) {
		var output = "";
		var chr1, chr2, chr3;
		var enc1, enc2, enc3, enc4;
		var i = 0;
 
		input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
 
		while (i < input.length) {
 
			enc1 = this._keyStr.indexOf(input.charAt(i++));
			enc2 = this._keyStr.indexOf(input.charAt(i++));
			enc3 = this._keyStr.indexOf(input.charAt(i++));
			enc4 = this._keyStr.indexOf(input.charAt(i++));
 
			chr1 = (enc1 << 2) | (enc2 >> 4);
			chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
			chr3 = ((enc3 & 3) << 6) | enc4;
 
			output = output + String.fromCharCode(chr1);
 
			if (enc3 != 64) {
				output = output + String.fromCharCode(chr2);
			}
			if (enc4 != 64) {
				output = output + String.fromCharCode(chr3);
			}
 
		}
 
		output = Base64._utf8_decode(output);
 
		return output;
 
	},
 
	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	},
 
	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}
 
}

var xmlhttp;

function showOnMap(lon,lat,classid)
{	
	$$('.result-search-loading').setStyle('display','block');
	clear();
	if($(classid).checked==true)	{		
		
		$('submenu').getElements('input').each(function(el){
			if(el.get('id')!=classid)
				el.checked=false;
		});		
	}
	//doQuery(classid,lat,lon);
	
	var complete_url = "getYahooStore.php?lon="+lon+"&lat="+lat+"&classid="+classid
	//alert(complete_url);
	
	if (window.XMLHttpRequest)
	{
		xmlhttp=new XMLHttpRequest();
		xmlhttp.onreadystatechange=addGoogleMap;
		xmlhttp.open("GET",complete_url,true);
		xmlhttp.send(null);		
	}
	else
	{
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		xmlhttp.onreadystatechange=addGoogleMap;
		xmlhttp.open("GET",complete_url,true);
		xmlhttp.send();
	}
	
}

function encodeMyHtml(str) {
    encodedHtml = escape(str);
    encodedHtml = encodedHtml.replace(/\//g,"%2F");
    encodedHtml = encodedHtml.replace(/\?/g,"%3F");
    encodedHtml = encodedHtml.replace(/=/g,"%3D");
    encodedHtml = encodedHtml.replace(/&/g,"%26");
    encodedHtml = encodedHtml.replace(/@/g,"%40");
    return encodedHtml;
  } 

function addGoogleMap()
{
	if (xmlhttp.readyState==4)
	{
	  if (xmlhttp.status==200)
	  {		  
		  xmlDoc=null;		 
		  
		  if (window.DOMParser){  
			  xmlDoc = (new DOMParser()).parseFromString(xmlhttp.responseText, "text/xml");  
		  }else{  
			  xmlDoc=new ActiveXObject("microsoft.XMLDOM");  
			  xmlDoc.async=false;  
			  xmlDoc.loadXML(xmlhttp.responseText);  
		  }  
		  
		  //alert(xmlhttp.responseText);
		  //xmlDoc=parser.parseFromString(xmlhttp.responseText,"text/xml");		 
		  //get total result count
		  //alert(xmlhttp.responseText);
		  //var count = xmlDoc.getElementsByTagName("BizList")[0].getAttributeNode("count").nodeValue;
		  var count = xmlDoc.getElementsByTagName("BizList")[0].attributes[0].value;
		  //alert('-------'+count);
		  var infos = new Array();	
		  var bizIds = new Array();
		  var result = $("map-items")?$("map-items"):$("detail-page-map-items");
		  result.empty();//clear old data
		  var ol = new Element('ol');
		  if(count==0)		  
			  result.appendText("範圍內無此纇資料。");
		  
		  for(var i=0; i<count; i++)
		  {
			  //bizId = xmlDoc.getElementsByTagName("Biz")[i].getAttributeNode("id").nodeValue;
			  bizId = xmlDoc.getElementsByTagName("Biz")[i].attributes[0].value;			 
			  name = xmlDoc.getElementsByTagName("BizList")[0].getElementsByTagName("Name")[i].childNodes[0].nodeValue;
			  tel = xmlDoc.getElementsByTagName("Tel")[i].childNodes[0].nodeValue;			  
			  address = xmlDoc.getElementsByTagName("Address")[i].childNodes[0].nodeValue;
			  lat = xmlDoc.getElementsByTagName("Latitude")[i].childNodes[0].nodeValue;
			  lon = xmlDoc.getElementsByTagName("Longitude")[i].childNodes[0].nodeValue;
			  var info = "<div style='width:200px;'><font style='font-size:1em;color:red;font-weight:bold;'>"+name+"</font><br/><b>電話：</b>" + tel + "<br/><b>地址：</b>" + address+"</div>";	
			 			  	  
			  var li = new Element('li');
			  var dl = new Element('dl');
			  var dt = new Element('dt');
			  var dd_tel = new Element('dd');
			  var dd_addr = new Element('dd');
			  var a = new Element('a',{id:'cursor',href:'javascript:getBizLatLon("'+bizId+'","'+info+'","'+(10+i)+'");'});			 
			  //a.addEvent('click', function(event){event.stop();showBizAddress(lat,lon,info);});
			  
			  a.appendText(name);
			  a.inject(dt);
			  //dd_tel.appendText(tel);
			  //dd_addr.appendText(address);
			  dt.inject(dl);
			  //dd_tel.inject(dl);
			  //dd_addr.inject(dl);
			  dl.inject(li);
			  li.inject(ol);
			  //alert(lat+"  "+lon);			 	 		 		  
		  }			  
		  ol.inject(result);
		  var resultFx = new Fx.Tween(result);
		  resultFx.set('display','block');
		  
		  $$('.result-search-loading').setStyle('display','none');	
	  }
	}
	//else
	//	alert('error: '+xmlhttp.statusText);
}

function getBizLatLon(bizClass,info,iconType)
{
	var complete_url = "getYahooStoreDetail.php?id="+bizClass;	
	
	if (window.XMLHttpRequest)
	{
		xmlhttp=new XMLHttpRequest();
		xmlhttp.onreadystatechange=function(){addBizToGoogleMap(info,iconType)};
		xmlhttp.open("GET",complete_url,true);
		xmlhttp.send(null);		
	}
	else
	{
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		xmlhttp.onreadystatechange=function(){addBizToGoogleMap(info,iconType)};
		xmlhttp.open("GET",complete_url,true);
		xmlhttp.send();
	}
	
}

function addBizToGoogleMap(info,iconType)
{
	if (xmlhttp.readyState==4)
	{
	  if (xmlhttp.status==200)
	  {		  
		  xmlDoc=null;		  
		  if (window.DOMParser){  
			  xmlDoc = (new DOMParser()).parseFromString(xmlhttp.responseText, "text/xml");  
		  }else{  
			  xmlDoc=new ActiveXObject("microsoft.XMLDOM");  
			  xmlDoc.async=false;  
			  xmlDoc.loadXML(xmlhttp.responseText);  
		  }  
		  //xmlDoc=parser.parseFromString(xmlhttp.responseText,"text/xml");		  
		  //alert(xmlhttp.responseText);
		  lon = xmlDoc.getElementsByTagName("Longitude")[0].childNodes[0].nodeValue;
		  lat = xmlDoc.getElementsByTagName("Latitude")[0].childNodes[0].nodeValue;		  
		  //alert(lon+'--- '+lat+" --- "+info);
		  showBizAddress(lat,lon,info,iconType);
	  }
	}
}

function removeCompareList(returnTag,kind,id,forwardURL){
	var req = newXMLHttpRequest();
	window.showMessage("RESULTFORM","Loading");	
    req.onreadystatechange = getReadyUploadStateHandler("RESULTFORM", returnTag, req, replaceCompareList); 
 	req.open("GET", forwardURL, true);
 	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf8");
 	req.send(null); 
}

function replaceCompareList(returnTag, returnHTML){
	findObj('record','checkCompareList.php');
	document.body.style.cursor = 'default';	
	document.getElementById(returnTag).innerHTML = returnHTML;
}

function checkCompareList(returnTag,kind,id,forwardURL){
	//alert(forwardURL);
	$$('.search-loading').setStyle('display','block');
	document.getElementById(returnTag+kind+'-'+id).innerHTML='';	
	var req = newXMLHttpRequest();
	//window.showMessage("RESULTFORM","Loading");	
    req.onreadystatechange = getReadyUploadStateHandler("RESULTFORM", returnTag, req, replaceDiv); 
 	req.open("GET", forwardURL, true);
 	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf8");
 	req.send(null); 	
}

function findObj(returnTag,forwardURL){	
	var req = newXMLHttpRequest();
	//window.showMessage("RESULTFORM","Loading");	
	$$('.search-loading').setStyle('display','block');
    req.onreadystatechange = getReadyUploadStateHandler("RESULTFORM", returnTag, req, replaceDiv); 
 	req.open("GET", forwardURL, true);
 	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf8");
 	req.send(null); 	
}

function replaceDiv(returnTag, returnHTML){
	//alert(returnHTML);
	//document.body.style.cursor = 'default';	
	$$('.search-loading').setStyle('display','none');
	document.getElementById(returnTag).innerHTML = returnHTML;
}

<!-- get RSS news -->
function loadRss(tagId,forwardURL){
	var req = newXMLHttpRequest();
	window.showMessage("RSSFORM","Loading");
    req.onreadystatechange = getReadyUploadStateHandler("RSSFORM", tagId, req, replaceRssDiv); 
 	req.open("GET", forwardURL, true);
 	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=Big5");
 	req.send(null); 
}

function replaceRssDiv(tagId,returnHTML)
{
	document.body.style.cursor = 'default';		
	var startTag=returnHTML.split("<div id=\"rss\">");			
	var endTag=startTag[1].split("</div>");		
	document.getElementById(tagId).innerHTML=endTag[0];
	/*
	var newdiv = document.createElement('div');
	newdiv.innerHTML = endTag[0];
	var ni = document.getElementById(tagId);
	ni.appendChild(newdiv);	
	*/
}

<!-- 回報 -->
var cursorX="";
var cursorY="";

function sendReport(formId,forwardURL){	
	var submitBtn=document.getElementById("sendRpt");
	submitBtn.value="回報中...";
	submitBtn.disabled=true;
	var formName=formId;
	var req = newXMLHttpRequest();
	window.showMessage("CHANGEFORM","Changing");
    req.onreadystatechange = getReadyUploadStateHandler("CHANGEFORM", formId, req, showReportResult); 
 	req.open("POST", forwardURL, true);
 	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=Big5");
 	var result=getFormAsString(formName);
 	req.send(result); 
 	//req.send(null); 
}
function showReportResult(formId,returnHTML){	
	document.body.style.cursor = 'default';		
	var startTag=returnHTML.split("<result>");			
	var endTag=startTag[1].split("</result>");
	if(endTag[0]=="ok"){
		alert("謝謝您的回報, 我們將會盡快處理.");
	}
	else
		alert("物件發生問題，請聯絡客服單位.");
	var submitBtn=document.getElementById("sendRpt");
 		submitBtn.value="回報送出";
 		submitBtn.disabled=false;
}

/*
 * Search Google map store markers
 */
function getStoreXML(url){
	var req = newXMLHttpRequest();
	window.showMessage("GOOGLESTOREFORM","Checking");
	req.onreadystatechange = getReadyXMLStateHandler("GOOGLESTOREFORM",null,null,null,req,SearchXMLResult);
	req.open("GET", url, true);
	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=Big5");
 	req.send(null); 
}

/*
 * Save Google map marker lat, and lng
 */
function SaveGoogleMarkerLatLng(url){
	var req = newXMLHttpRequest();
	window.showMessage("GOOGLEMSGFORM","Checking");
	req.onreadystatechange = getReadyStateHandler("GOOGLEMSGFORM",req,ResultDoNothing);
	req.open("GET", url, true);
	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=Big5");
 	req.send(null); 
}

function ResultDoNothing(html){
	document.body.style.cursor = 'default';
}
/*
 * switch each item on personal page
 * 
 */
function turnOnOff(tagId,forwardURL1,forwardURL2){	
	var req = newXMLHttpRequest();
	window.showMessage("SWITCHFORM","Uploading");
    req.onreadystatechange = getReadySwitchStateHandler("SWITCHFORM", tagId, forwardURL2, req, switchStep1XML); 
 	req.open("GET", forwardURL1, true);
 	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=Big5");
 	req.send(null); 
} 

function changeSwitch(tagId,forwardURL2){	
	var formName=tagId;
	var req = newXMLHttpRequest();
	window.showMessage("CHANGEFORM","Changing");
    req.onreadystatechange = getReadyUploadStateHandler("CHANGEFORM", tagId, req, switchStep2XML); 
 	req.open("POST", forwardURL2, true);
 	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=Big5");
 	var result=getFormAsString(formName);
 	req.send(result); 
 	//req.send(null); 
}

function switchStep1XML(tagId, forwardURL2, XML){
	var resultObj=XML.getElementsByTagName("result")[0];
	var result=resultObj.childNodes[0].nodeValue;
	if(result=="ok"){
		changeSwitch(tagId,forwardURL2);
	}
	else
		alert("物件發生問題，請聯絡客服單位");
}

function switchStep2XML(tagId,XML){
	//alert("yes");
	document.body.style.cursor = 'default';
	var replace=XML.split("<SPAN id=\""+tagId+"\">");
	//alert(replace.length);
	//alert(replace[1]);
	var start=replace[1].split("</SPAN>");
	var content="";
	content=start[0];	
	var oldHtml=document.getElementById(tagId);
	oldHtml.innerHTML="";
	document.getElementById(tagId).innerHTML=content;	
}

/*
 * show addInquiryList message
 */
function showInquiryMessage(forwardURL){
 	var req = newXMLHttpRequest();
    window.showMessage("INQUIRYFORM","Processing");
    req.onreadystatechange = getReadyXMLStateHandler("INQUIRYFORM", "", "", "", req, jsAlertXML); 
    req.open("GET", forwardURL, true);
 	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=Big5");
 	//var result=getFormAsString(formName);
 	//req.send(result); 
 	req.send(null); 
}

function jsAlertXML(msgId, flag, id, XML){
	document.body.style.cursor = 'default';
	var resultObj=XML.getElementsByTagName("result")[0];
	var result=resultObj.childNodes[0].nodeValue;
	alert(result);
}

/*
 * Check the inserted userid existed or not
 * if existed, pop up an message
 */

function chkUsername(msgId, flag,id,chkName,formName,forwardURL){
	document.getElementById(msgId).innerHTML = "<img src='images/icons/preview.gif' border=0 />";
	var obj=document.getElementById(id);
	var objValue=obj.value;
	if(objValue==""){
		alert("請輸入"+chkName);
		obj.focus();
		return false;
	}
	else	
		forwardURL=forwardURL+"?name="+objValue;
	var req = newXMLHttpRequest();
    window.showMessage("CHECKFORM","Checking");
    req.onreadystatechange = getReadyXMLStateHandler("CHECKFORM", msgId, flag, id, req, resultXML); 
    req.open("GET", forwardURL, true);
 	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=Big5");
 	//var result=getFormAsString(formName);
 	//req.send(result); 
 	req.send(null); 	
}

function resultXML(msgId, flag, id, XML){
	document.body.style.cursor = 'default';		
	var resultObj=XML.getElementsByTagName("result")[0];
	var result=resultObj.childNodes[0].nodeValue;	
	
	if(result=='ok'){		
		document.getElementById(msgId).innerHTML = "<img src='images/icons/check_right.gif' border=0 />";		
	}
	else{
		document.getElementById(msgId).innerHTML = "<img src='images/icons/check_error.gif' border=0 />";	
		document.getElementById(id).focus();	
	}		
	
}

/*
 *update personal page
 */
 
function personalEdit(tagId,forwardURL){	
	var req = newXMLHttpRequest();
	window.showMessage("EDITFORM","Uploading");
    req.onreadystatechange = getReadyUploadStateHandler("EDITFORM", tagId, req, updateEditXML); 
 	req.open("GET", forwardURL, true);
 	//req.open("POST", forwardURL, true);
 	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=Big5");
 	//var result=getFormAsString(formName);
 	//req.send(result); 
 	req.send(null); 
} 

function updateEditXML(tagId,XML){
	document.body.style.cursor = 'default';
	var replace=XML.split("<SPAN id=\""+tagId+"\">");
	//alert("here~~~"+replace[1]);	
	var start=replace[1].split("</SPAN>");
	//alert("here1");	
	var content="";
	content=start[0];
	//alert(content);
	/*
	for(var i=0;i<start.length-1;i++){
		content=content+start[i];		
		//	alert(start[i]);
		if(i!=start.length-2)
			content=content+"</SPAN>";
	}	
	*/
	//alert(content);
	var oldHtml=document.getElementById(tagId);
	oldHtml.innerHTML="";
	document.getElementById(tagId).innerHTML=content;	
}

/*
 *update the area latest info
 */ 
 
function getAreaLatest(tagId,forwardURL){	
	var req = newXMLHttpRequest();
	window.showMessage("LATESTRENTFORM","Uploading");
    req.onreadystatechange = getReadyUploadStateHandler("LATESTRENTFORM", tagId, req, updateAreaXML); 
 	req.open("GET", forwardURL, true);
 	//req.open("POST", forwardURL, true);
 	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=Big5");
 	//var result=getFormAsString(formName);
 	//req.send(result); 
 	req.send(null); 
}

function updateAreaXML(tagId,XML){
	document.body.style.cursor = 'default';
	var replace=XML.split("<SPAN id=\""+tagId+"\">");	
	var start=replace[1].split("</SPAN>");
	var content="";
	content=start[0];
	//alert(content);
	/*
	for(var i=0;i<start.length-1;i++){
		content=content+start[i];		
		//	alert(start[i]);
		if(i!=start.length-2)
			content=content+"</SPAN>";
	}	
	*/
	//alert(content);
	var oldHtml=document.getElementById(tagId);
	oldHtml.innerHTML="";
	document.getElementById(tagId).innerHTML=content;
	if(tagId=="LATESTRENT")
		scrollAd1("demo_room","demo1_room","demo2_room");
  	else if(tagId=="LATESTROOMMATE")
  		scrollAd2("demo_roommate","demo1_roommate","demo2_roommate");	
}

function deleteItem(tagId, url){//field, chkbok are null here
	//use mootools ajax
	var ans=confirm('確定要刪除此物件嗎？');
	if(ans){
		var req = newXMLHttpRequest();
		req.onreadystatechange = getReadyUploadStateHandler("ITEMFORM", tagId, req, itemTagReplace); 
	 	req.open("GET", url, true);
	 	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf8");
	 	req.send(null); 	
	}
}

function itemTagReplace(tagId,result){
	//alert(result);
	if(result=='ok')
		$(tagId).setStyle('display','none');
	else
		alert('物件刪除失敗。');
}

/*
 *	Delete upload pic
 */

function deletePic(tagId,field,chkbox,forwardURL){
	//if(document.getElementById(chkbox).checked){
		var ans=confirm('確定要刪除照片嗎?');
		if(ans){
			var req = newXMLHttpRequest();
			window.showMessage("PICFORM","Processing");
		    req.onreadystatechange = getReadyPicStateHandler("PICFORM", field, tagId, req, updatePicXML); 
		 	req.open("GET", forwardURL, true);
		 	//req.open("POST", forwardURL, true);
		 	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=Big5");
		 	//var result=getFormAsString(formName);
		 	//req.send(result); 
		 	req.send(null); 
	 	} 
 	//}	
}

function updatePicXML(tagId,field,result){
	document.body.style.cursor = 'default';	
	if(result=='ok'){
		var content="";
		content="<input type=file name="+field+">";//	
		var oldHtml=document.getElementById(tagId);
		oldHtml.innerHTML="";
		document.getElementById(tagId).innerHTML=content;	
	}
	else{
		alert('圖片刪除失敗.');	
	}
}

/*
 *Reference from the previous project
 */
 
function updateSearch(formName,postURL,forwardURL){
	//alert("~~postURL~~"+postURL+"~~forwardURL~~"+forwardURL+"~~key~~"+key);
	document.postForm.action.value=postURL;
	
	var req = newXMLHttpRequest();
    window.showMessage("LOADINGFORM","Loading");
    //window.setTimeout("window.hideLoadingMessage('LOADINGMESSAGE')",1000);
	req.onreadystatechange = getReadyStateHandler("LOADINGFORM", req, updateSearchText); 
 	req.open("POST", forwardURL, true);
 	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=Big5");
 	var result=getFormAsString(formName);
 	//alert(result);
 	req.send(result); 	
}

function updateSearchText(XML){	
	document.body.style.cursor = 'default';	
	var replace=XML.split("<span id=\"ajaxTag\">");	
	var start=replace[1].split("</span>");
	//alert("~~replace~~"+replace.length+"~~start~~"+start.length);
	var content="";
	for(var i=0;i<start.length-1;i++){
		content=content+start[i];		
		//	alert(start[i]);
		if(i!=start.length-2)
			content=content+"</span>";
	}	
	//alert(content);
	var oldHtml=document.getElementById("ajaxTag");
	oldHtml.innerHTML="";
	document.getElementById("ajaxTag").innerHTML=content;	
}

function getFormAsString(formName){
 	//Setup the return String
 	returnString ="";
  	//Get the form values
  	formElements=document.forms[formName].elements;
  	//loop through the array , building up the url
 	//in the form /strutsaction.do&name=value
 	for ( var i=0; i<formElements.length; i++){
 		//we escape (encode) each value
 		if(formElements[i].type.toLowerCase()=="checkbox" || formElements[i].type.toLowerCase() == "radio"){if(formElements[i].checked==false){continue;}}
 		if(i!=0&&formElements[i].value!=""){returnString=returnString+"&"+encodeURIComponent(formElements[i].name)+"="+encodeURIComponent(formElements[i].value);}
 		else if(formElements[i].value!=""){returnString=encodeURIComponent(formElements[i].name)+"="+encodeURIComponent(formElements[i].value);}
 		else{continue;}
 	}
 	//return the values.
 	return returnString;
}

function showLoadingMessage(SpanID){
	document.body.style.cursor = 'wait';	
/* 
    var div = document.getElementById("AA_"+SpanID+"_loading_div");
    if (div == null) {
        div = document.createElement("DIV");
        document.body.appendChild(div);
        div.id = "AA_"+SpanID+"_loading_div";
        div.innerHTML = "&nbsp;Load...";
        div.style.position = "absolute";
        div.style.border = "1 solid black";
        div.style.color = "white";
        div.style.backgroundColor = "blue";
        div.style.width = "100px";
        div.style.heigth = "50px";
        div.style.fontFamily = "Arial, Helvetica, sans-serif";
        div.style.fontWeight = "bold";
        div.style.fontSize = "11px";
    }
    //div.style.top = document.body.scrollTop + "px";
    div.style.left = (document.body.offsetWidth - 100 - (document.all?20:0)) + "px";    
    div.style.top = findPos('topMap')[1]+"px";
    //div.style.left = findPos('topMap')[0] + "px"; 
    div.style.display = "";
*/
}

function hideLoadingMessage(SpanID){
	document.body.style.cursor = 'default';
/* 
    var div = document.getElementById("AA_"+SpanID+"_loading_div");
    if (div != null){div.style.display = "none";}
*/
}


function showMessage(SpanID,Status){
	document.body.style.cursor = 'wait';	
/*	
	var div = document.getElementById("AA_"+SpanID+"_loading_div");
    if (div == null) {
        div = document.createElement("DIV");
        document.body.appendChild(div);
        div.id = "AA_"+SpanID+"_loading_div";
        div.style.position = "absolute";
        //div.style.position = "relative";        
        div.style.border = "1 solid black";
        div.style.color = "black";
        div.style.backgroundColor = "white";
        div.style.width = "100px";
        div.style.heigth = "50px";
        div.style.fontFamily = "Arial, Helvetica, sans-serif";
        div.style.fontWeight = "bold";
        div.style.fontSize = "13px";
    }
    div.innerHTML = "<img src='"+root+"images/ajax_loading.gif' height=20 width=20>&nbsp;"+Status+"...";
    //div.style.top = document.body.scrollTop + 10 + "px";
    div.style.top = findPos('topMap')[1]+"px";
    div.style.left = (document.body.offsetWidth - 150 - (document.all?20:0)) + "px";  
    //div.style.left = findPos('topMap')[0] + "px"; 
    if(cursorX!=""&&cursorY!="")
    {
    	div.style.top=cursorY+ "px";
    	div.style.left=cursorX+ "px";
    }
    else
    {
	    //div.style.top = document.body.scrollTop + 10 + "px";
	    div.style.top = findPos('topMap')[1]+"px";
	    div.style.left = (document.body.offsetWidth - 150 - (document.all?20:0)) + "px";  
    }  
    div.style.display = "";
 */    
}

function hideMessage(SpanID){
	document.body.style.cursor = 'default';
/* 
    var div = document.getElementById("AA_"+SpanID+"_loading_div");
    if (div != null){div.style.display = "none";}
*/
}
//get cursor position
function coordinates(event)
{
	cursorX=event.clientX;
	cursorY=event.clientY;
	//alert("X coords: " + cursorX + ", Y coords: " + cursorY);	
}

//get object location
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
			} while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}
