var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();


	var IE = document.all?true:false
	var IE = false;
	var NS = false;
	var MZ = false;
	var FX = false;
	var SF = false;
	var OP = false;
      if (BrowserDetect.browser == "Explorer"){IE = true;}
      else if (BrowserDetect.browser == "Firefox") {FX=true;}
      else if (BrowserDetect.browser == "Safari"){SF=true;}
      else if (BrowserDetect.browser == "Netscape"){NS=true;}	  
      else if (BrowserDetect.browser == "Opera"){OP=true;}
	var B_version=BrowserDetect.version;
	var VERSION=parseFloat(B_version);
	

/* func list
	InitAjax()
	
	menuSwap(activeno,total_menu,iclass_active,iclass_deactive);
	contentSwap(obj,content)	
	getposOffset(what, offsettype)


	openprogram2(programid,poststring,loginarea,obj)
	openprogram(programid,poststring,loginarea)
	
	doFuncReturnXmlv2(programid,poststring,obj)	
	
*/	
	//var loadingHTML = "<div style=\"font-size:18px; color:#666666; background:#ffffff; width:300px; height:60px; border:#FF9900 3px dashed; padding-top:15px;margin-top:5px;display:block;float:none\" align=\"center\">Loading....</div>";
	var loadingHTML = "";	
	var loadingHTML_Panel="<div id=\"contents1_mc\"  style=\"padding-bottom:15px; overflow:visible\" align=\"center\"><img src=\"../../images/Loadingicon.gif\" border=\"0\" /></div>";

var myscript="";

// Simulates PHP's date function
Date.prototype.format = function(format) {
	var returnStr = '';
	var replace = Date.replaceChars;
	for (var i = 0; i < format.length; i++) {
		var curChar = format.charAt(i);
		if (replace[curChar])
			returnStr += replace[curChar].call(this);
		else
			returnStr += curChar;
	}
	return returnStr;
};
Date.replaceChars = {
	shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
	longMonths: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
	shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
	longDays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
	
	// Day
	d: function() { return (this.getDate() < 10 ? '0' : '') + this.getDate(); },
	D: function() { return Date.replace.shortDays[this.getDay()]; },
	j: function() { return this.getDate(); },
	l: function() { return Date.replace.longDays[this.getDay()]; },
	N: function() { return this.getDay() + 1; },
	S: function() { return (this.getDate() % 10 == 1 && this.getDate() != 11 ? 'st' : (this.getDate() % 10 == 2 && this.getDate() != 12 ? 'nd' : (this.getDate() % 10 == 3 && this.getDate() != 13 ? 'rd' : 'th'))); },
	w: function() { return this.getDay(); },
	z: function() { return "Not Yet Supported"; },
	// Week
	W: function() { return "Not Yet Supported"; },
	// Month
	F: function() { return Date.replace.longMonths[this.getMonth()]; },
	m: function() { return (this.getMonth() < 11 ? '0' : '') + (this.getMonth() + 1); },
	M: function() { return Date.replace.shortMonths[this.getMonth()]; },
	n: function() { return this.getMonth() + 1; },
	t: function() { return "Not Yet Supported"; },
	// Year
	L: function() { return "Not Yet Supported"; },
	o: function() { return "Not Supported"; },
	Y: function() { return this.getFullYear(); },
	y: function() { return ('' + this.getFullYear()).substr(2); },
	// Time
	a: function() { return this.getHours() < 12 ? 'am' : 'pm'; },
	A: function() { return this.getHours() < 12 ? 'AM' : 'PM'; },
	B: function() { return "Not Yet Supported"; },
	g: function() { return this.getHours() == 0 ? 12 : (this.getHours() > 12 ? this.getHours() - 12 : this.getHours()); },
	G: function() { return this.getHours(); },
	h: function() { return (this.getHours() < 10 || (12 < this.getHours() < 22) ? '0' : '') + (this.getHours() < 10 ? this.getHours() + 1 : this.getHours() - 12); },
	H: function() { return (this.getHours() < 10 ? '0' : '') + this.getHours(); },
	i: function() { return (this.getMinutes() < 10 ? '0' : '') + this.getMinutes(); },
	s: function() { return (this.getSeconds() < 10 ? '0' : '') + this.getSeconds(); },
	// Timezone
	e: function() { return "Not Yet Supported"; },
	I: function() { return "Not Supported"; },
	O: function() { return (this.getTimezoneOffset() < 0 ? '-' : '+') + (this.getTimezoneOffset() / 60 < 10 ? '0' : '') + (this.getTimezoneOffset() / 60) + '00'; },
	T: function() { return "Not Yet Supported"; },
	Z: function() { return this.getTimezoneOffset() * 60; },
	// Full Date/Time
	c: function() { return "Not Yet Supported"; },
	r: function() { return this.toString(); },
	U: function() { return this.getTime() / 1000; }
}


function resetLayer(oj,p,gx,gy){
			
			var objp = document.getElementById(p);			 			
			var xx=parseInt(getposOffset(objp, 'left'));
			var yy=parseInt(getposOffset(objp, 'top'));
			var x2=xx+parseInt(gx);
			var y2=yy+parseInt(gy);
			setPos(oj,x2,y2);	
}

function getWindowHeight() {
  var windowHeight = 0;
	
  if (typeof(window.innerHeight) == 'number')
    windowHeight = window.innerHeight;
	
  else {
		
    if (document.documentElement && document.documentElement.clientHeight)
      windowHeight = document.documentElement.clientHeight;
		
    else {
      if (document.body && document.body.clientHeight)
        windowHeight = document.body.clientHeight; }; };
				
  return windowHeight;
};



function hideAll(){
	var tmpo = document.getElementById('pop_content');
	if (tmpo) {
		tmpo.style.display='none';
	}
	var tmpo = document.getElementById('flow_content');
	if (tmpo) {	
		tmpo.style.display='none';
	}
	var tmpo = document.getElementById('flow_content2');
	if (tmpo) {	
		tmpo.style.display='none';	
	}
					
}


function hidePop(){
	var tmpo = document.getElementById('pop_content');
	if (tmpo) {
		tmpo.style.display='none';
	}
					
}

function hideFlow2(){
	var tmpo = document.getElementById('flow_content2');
	if (tmpo) {
		tmpo.style.display='none';
	}
					
}


function sleep(naptime){
  naptime = naptime * 1000;
  var sleeping = true;
  var now = new Date();
  var alarm;
  var startingMSeconds = now.getTime();
  while(sleeping){
	 alarm = new Date();
	 alarmMSeconds = alarm.getTime();
	 if(alarmMSeconds - startingMSeconds > naptime){ sleeping = false; }
  }      
}


function removeObj(id){
		var obj = document.getElementById(id);	
		obj.parentNode.removeChild(obj);	
}

/* allen add for get object's pagetop and pageleft */
function getposOffset(what, offsettype){
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
	if (offsettype=='top'){
	//alert(totaloffset);
	}
	var parentEl=what.offsetParent;
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	if (offsettype=='top'){
	//alert(totaloffset);
	}	
	return totaloffset;
}



function setPos(obj_name,myx,myy) {
//	alert('set:'+myx+';'+myy);
		var obj = document.getElementById(obj_name);
	//if (!obj) { alert('none'); }	
	if (document.getElementById || document.all)
	{
//		obj.style.position='absolute';
		obj.style.top=myy+'px';				
		obj.style.left = myx + 'px';
	}
	else if (document.layers)
	{
		obj.style.top=parseInt(myy);				
		obj.style.left = parseInt(myx) ;
	} else {
		obj.style.top=parseInt(myy)+'px';		
		obj.style.left = parseInt(myx) + 'px';
	}			
		
}


function mouseX(evt) {
if (evt.pageX) return evt.pageX;
else if (evt.clientX)
   return evt.clientX + (document.documentElement.scrollLeft ?
   document.documentElement.scrollLeft :
   document.body.scrollLeft);
else return null;
}
function mouseY(evt) {
if (evt.pageY) return evt.pageY;
else if (evt.clientY)
   return evt.clientY + (document.documentElement.scrollTop ?
   document.documentElement.scrollTop :
   document.body.scrollTop);
else return null;
}


	function getMouseXY(e) {
	  if (IE) { // grab the x-y pos.s if browser is IE
		tempX = mouseX(event);
		tempY = mouseY(event);
	  } else {  // grab the x-y pos.s if browser is NS
		tempX = mouseX(e);
		tempY = mouseY(e);
	  }  
	  
	  // catch possible negative values in NS4
	  if (tempX < 0){tempX = 0}
	  if (tempY < 0){tempY = 0}  
	  // show the position values in the form named Show
	  // in the text fields named MouseX and MouseY
	  //Position.x=tempX;
	  //Position.y=tempY;
		return {'x': tempX, 'y': tempY};
	}
/* ------------------------------------------------ */

function InitAjax()
{
 var ajax=false; 
 try { 
  ajax = new ActiveXObject("Msxml2.XMLHTTP"); 
 } catch (e) { 
  try { 
   ajax = new ActiveXObject("Microsoft.XMLHTTP"); 
  } catch (E) {
   ajax = false; 
  } 
 }
 if (!ajax && typeof XMLHttpRequest!='undefined') { 
  ajax = new XMLHttpRequest(); 
 } 
 return ajax;
} 


function callprogram(programid,poststring,obj)
{
	if (obj) {
		var fobj = eval("document.forms."+obj);
		for (i=0; i<fobj.length; i++){
		//alert(fobj.elements[i].name);
			if (fobj.elements[i].type != "button") {
				if (fobj.elements[i].type == "checkbox") {
					if (fobj.elements[i].checked) {
						poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
					}
				} else if (fobj.elements[i].type == "radio") {
					if (fobj.elements[i].checked) {
						poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
					}					
				} else if (fobj.elements[i].type == "select") {
					if (fobj.elements[i].selected) {
						poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
					}										
				} else {
					poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
				}
			}
		}			
	}		
	callurl = programid + "?" + poststring;
	location.href=callurl;
	return;
}


function openprogram_inline(programid,poststring,loginarea,loading)
{
hideFlow2();	
 var show = document.getElementById(loginarea);
// show.innerHTML = loadingHTML;
 var ajax3 = InitAjax();
// poststring = poststring + "";
 url=programid;
 ajax3.open("POST", url, true); 
 ajax3.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
 ajax3.send(poststring);
 if (loading){
 	show.innerHTML = loading;
 }
 ajax3.onreadystatechange = function() { 
 	if (ajax3.readyState == 4 && ajax3.status == 200) {
//alert(ajax3.responseText);
  		show.innerHTML=ajax3.responseText;
		show.style.visibility='visible';
		show.style.display='inline';
	} 

 } 
}



	function changeBorder(divname,value){
		var bdiv=document.getElementById(divname);
		bdiv.style.border=value;		
	
	}
	
	function setBackColor(divname,value){
		var bdiv=document.getElementById(divname);
		bdiv.style.background=value;		
	
	}	
	
	function changeHeight(divname,value,action){
		var bdiv=document.getElementById(divname);
		if (action == 'add') {
			bdiv.style.height=bdiv.clientHeight+parseInt(value)+"px";
		} else if (action = 'self') {
			bdiv.style.height=value+"px";
			
		}
	
	}	
	
	function showHideLayer(divname,value){
		var bdiv=document.getElementById(divname);
		if (bdiv){
			bdiv.style.display=value;		
		}
	
	}	
	
	function showHideLayer2(divname,value){
		var bdiv=document.getElementById(divname);
		bdiv.style.visibility=value;		
	
	}		
	
function runscript() {

	eval(myscript);
}
	

function remote_login(programid,loginarea,url)
{
 var show = document.getElementById(loginarea);
 var ajax = InitAjax();

 url = url + "loginform.php";
 poststring="programid=1";
  
 ajax.open("POST", url, true); 

// ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
 ajax.send(poststring);

 ajax.onreadystatechange = function() { 
 	if (ajax.readyState == 4 && ajax.status == 200) { 
  		show.innerHTML=ajax.responseText;
		show.style.display="inline";
	} 

 } 


}

function mygenerate_wysiwyg(programid,poststring,loginarea,genobj,width)
{
 var show2 = document.getElementById(loginarea);
 var ajax2 = InitAjax();
 poststring = poststring + "&t=1";
 url=programid;
 ajax2.open("POST", url, true); 
 ajax2.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
 ajax2.send(poststring);
 ajax2.onreadystatechange = function() { 
 	if (ajax2.readyState == 4 && ajax2.status == 200) {
  		show2.innerHTML=ajax2.responseText;
		show2.style.display='inline';
		if (width){
			wysiwygWidth = parseInt(width);
		}
		generate_wysiwyg(genobj);
		document.getElementById('wysiwyg'+genobj).contentWindow.focus();
		wysiwyg
	} 

 } 
}

function procedure_sync(programid,poststring)
{
 var ajax3 = InitAjax();
// poststring = poststring + "";
 url=programid;
alert(url); 
 ajax3.open("POST", url, false); 
 ajax3.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
 ajax3.send(poststring);
 ajax3.onreadystatechange = function() { 
 	if (ajax3.readyState == 4 && ajax3.status == 200) {
alert(ajax3.responseText);
	} 

 } 
}

function procedure(programid,poststring)
{
 var ajax3 = InitAjax();
// poststring = poststring + "";
 url=programid;
 ajax3.open("POST", url, true); 
 ajax3.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
 ajax3.send(poststring);
 ajax3.onreadystatechange = function() { 
 	if (ajax3.readyState == 4 && ajax3.status == 200) {
	} 

 } 
}

function openprogram2(programid,poststring,loginarea,obj,loading)
{
//alert(obj);	
hideFlow2();	
	var show = document.getElementById(loginarea);
// show.innerHTML = loadingHTML;	

	var ajax = InitAjax();
	if (obj) {
		var fobj = eval("document.forms."+obj);
		for (i=0; i<fobj.length; i++){
		//alert(fobj.elements[i].name);
			if (fobj.elements[i].type != "button") {
				if (fobj.elements[i].type == "checkbox") {
					if (fobj.elements[i].checked) {
						poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
					}
				} else if (fobj.elements[i].type == "radio") {
					if (fobj.elements[i].checked) {
						poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
					}					
				} else {
					poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
				}
			}
		}			
	}	
	 if (loading){
				show.style.visibility='visible';			
				show.style.display='block';					
		show.innerHTML = loading;
	 }	
//alert(poststring);
	url=programid;
	ajax.open("POST", url, true); 
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
	ajax.send(poststring);
	ajax.onreadystatechange = function() { 
 		if (ajax.readyState == 4 && ajax.status == 200) {
//			alert( ajax.responseText);
  			show.innerHTML=ajax.responseText;
			show.style.visibility='visible';			
			show.style.display='block';						
		} else {
			//show.innerHTML=loading+	"["+ajax.status+"]";	
			
		}
	} 
 
}



function openprogram3(programid,poststring,loginarea,obj,loading)
{
//alert(obj);	
hideFlow2();	
	var show = document.getElementById(loginarea);
// show.innerHTML = loadingHTML;	

	var ajax = InitAjax();
	if (obj) {
		var fobj = eval("document.forms."+obj);
		for (i=0; i<fobj.length; i++){
		//alert(fobj.elements[i].name);
			if (fobj.elements[i].type != "button") {
				if (fobj.elements[i].type == "checkbox") {
					if (fobj.elements[i].checked) {
						poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
					}
				} else if (fobj.elements[i].type == "radio") {
					if (fobj.elements[i].checked) {
						poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
					}					
				} else {
					poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
				}
			}
		}			
	}	
//alert(poststring);
	url=programid;
	ajax.open("POST", url, true); 
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
	ajax.send(poststring);
	ajax.onreadystatechange = function() { 
 		if (ajax.readyState == 4 && ajax.status == 200) {
//			alert( ajax.responseText);
  			show.value=ajax.responseText;
		//	show.style.visibility='visible';			
		//	show.style.display='block';						
		} else {
			
		}
	} 
 
}


function openprogram_eval(programid,poststring,loginarea,evstr,obj,loading)
{
//alert(obj);	
//hideFlow2();	
	var show = document.getElementById(loginarea);
// show.innerHTML = loadingHTML;	

	var ajax = InitAjax();
	if ((obj) && (obj != "")) {
		var fobj = eval("document.forms."+obj);
		if (fobj){
			for (i=0; i<fobj.length; i++){
			//alert(fobj.elements[i].name);
				if (fobj.elements[i].type != "button") {
					if (fobj.elements[i].type == "checkbox") {
						if (fobj.elements[i].checked) {
							poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
						}
					} else if (fobj.elements[i].type == "radio") {
						if (fobj.elements[i].checked) {
							poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
						}					
					} else {
						poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
					}
				}
			}			
		}
	}	
//alert(poststring);
	url=programid;
	ajax.open("POST", url, true); 
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
	ajax.send(poststring);
	ajax.onreadystatechange = function() { 
 		if (ajax.readyState == 4 && ajax.status == 200) {
//			alert( ajax.responseText);
  			show.innerHTML=ajax.responseText;
			if (evstr) eval(evstr);
			show.style.visibility='visible';			
			show.style.display='inline';						
		}
	} 
 
}




function send_mail(programid,poststring,loginarea,obj)
{
	doFuncReturnXmlv2(programid,poststring,obj);
//	changeHeight(loginarea,'30','self');
	
	
}




function proxy_openprogram(programid,poststring,loginarea,obj,desthost,iwait,aaa)
{
  
  if (iwait) {
	  var waitObj = document.getElementById("iwait");	
	  waitObj.style.display = 'inline';	   	  
  }	  
    var show = document.getElementById(loginarea);
	var fobj = eval("document.forms."+obj);
	var show = document.getElementById(loginarea);
	var ajax = InitAjax();
	for (i=0; i<fobj.length; i++){
		poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
	}	
	url=programid+"?"+poststring;
	url = encodeURIComponent(url); 
	desthost = encodeURIComponent(desthost); 
	urlcall="proxy_curl.php?hostname=" + desthost + "&path=" + url;	
	ajax.open("GET", urlcall, true); 
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
	ajax.send(null);
	ajax.onreadystatechange = function() { 
 		if (ajax.readyState == 4 && ajax.status == 200) {
  			show.innerHTML=ajax.responseText;
			show.style.display = 'inline';
			  if (iwait) {			
				  waitObj.style.display = 'none';	     			
			  }	  
		} 
	} 
 
}







function dofunc(programid,poststring)
{
 var ajax2 = InitAjax();
 url=programid;
 ajax2.open("POST", url, true); 
 ajax2.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
 ajax2.send(poststring);
 ajax2.onreadystatechange = function() { 
 	if (ajax2.readyState == 4 && ajax2.status == 200) {
//  		show.innerHTML=ajax2.responseText;
	} 

 } 
}


function dofunc_obj(programid,poststring,loginarea,obj)
{


	var fobj = eval("document.forms."+obj);
	var show = document.getElementById(loginarea);
	var ajax = InitAjax();
	for (i=0; i<fobj.length; i++){
		if( fobj.elements[i].type == 'radio') {
				if (fobj.elements[i].checked) {
					poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
				}
		} else {
				poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
		}
	}	
	url=programid;
	ajax.open("POST", url, true); 
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
	ajax.send(poststring);
	ajax.onreadystatechange = function() { 
 		if (ajax.readyState == 4 && ajax.status == 200) {
//			alert( ajax.responseText);
  			show.innerHTML=ajax.responseText;
			show.style.display = 'inline';			
		} 
	} 
 
}

function dofunc_nortn(programid,poststring)
{
 	
 var ajax = InitAjax();
 url=programid;
 ajax.open("POST", url, true); 
 ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
 ajax.send(poststring);
 ajax.onreadystatechange = function() { 
 	if (ajax.readyState == 4 && ajax.status == 200) { 
  		//show.innerHTML=ajax.responseText;
		//show.style.display = 'inline';		
	} 

 } 
}

function dofunc2(loginarea,programid,poststring,tl)
{
  var t = document.getElementById("h_title");		
  t.innerHTML = tl; 	
  
 var show = document.getElementById(loginarea);
 var ajax = InitAjax();
 url=programid;
 ajax.open("POST", url, true); 
 ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
 ajax.send(poststring);
 ajax.onreadystatechange = function() { 
 	if (ajax.readyState == 4 && ajax.status == 200) { 
  		show.innerHTML=ajax.responseText;
		show.style.display = 'inline';		
	} 

 } 
}



function openprogram(programid,poststring,loginarea,loading)
{
//	alert(loginarea);
//	hideAll();
hideFlow2();
 var show = document.getElementById(loginarea);
// show.innerHTML = loadingHTML; 
 if (loading){
	show.style.display='block';
	show.style.visibility='visible';			 
 	show.innerHTML = loading;
 } else {
	//show.style.display='block';
	//show.style.visibility='visible';			 
 	//show.innerHTML = loadingHTML2;	 
 }
 var ajax2 = InitAjax();
 poststring = poststring + "&t=1";
//alert(poststring);
 url=programid;
 ajax2.open("POST", url, true); 
 ajax2.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
 ajax2.send(poststring);
 ajax2.onreadystatechange = function() { 
 	if (ajax2.readyState == 4 && ajax2.status == 200) {
//		alert(ajax2.responseText);
  		show.innerHTML=ajax2.responseText;
		show.style.display='block';
		show.style.visibility='visible';	
		for (s=0;s<document.forms.length;s++) {
			for (j=0;j<document.forms[s].elements.length;j++) {
				if (document.forms[s].elements[j].name=="username") {
					document.forms[s].elements[j].focus();
				}
			}
			
		}

	} 

 } 
}

function openprogram_working(programid,poststring,loginarea,action,loading)
{
//	alert(loginarea);
//	hideAll();
hideFlow2();
 var show = document.getElementById(loginarea);
// show.innerHTML = loadingHTML; 

	var actionObj = document.getElementById(action);
	if (actionObj) {
		var tmphtml=actionObj.innerHTML;
	}
	actionObj.innerHTML=loading; 
 var ajax2 = InitAjax();
 poststring = poststring + "&t=1";
//alert(poststring);
 url=programid;
 ajax2.open("POST", url, true); 
 ajax2.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
 ajax2.send(poststring);
 ajax2.onreadystatechange = function() { 
 	if (ajax2.readyState == 4 && ajax2.status == 200) {
//		alert(ajax2.responseText);
		var actionObj = document.getElementById(action);
		if (actionObj) {
			actionObj.innerHTML = tmphtml;
		}
  		show.innerHTML=ajax2.responseText;
		show.style.display='block';
		show.style.visibility='visible';	
		for (s=0;s<document.forms.length;s++) {
			for (j=0;j<document.forms[s].elements.length;j++) {
				if (document.forms[s].elements[j].name=="username") {
					document.forms[s].elements[j].focus();
				}
			}
			
		}

	} 

 } 
}


var rdm=0;
function opencaptcha(loginarea)
{
 var show = document.getElementById(loginarea);
// show.innerHTML = loadingHTML; 
/* var ajax2 = InitAjax();
 poststring = poststring + "&t=1";
//alert(poststring);
 url=programid;
 ajax2.open("POST", url, true); 
 ajax2.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
 ajax2.send(poststring);
 ajax2.onreadystatechange = function() { 
 	if (ajax2.readyState == 4 && ajax2.status == 200) {

	} 

 }*/
 show.src = '../../func/random_image.php?a='+rdm;
 rdm++;
}



function openprogrambypos(programid,poststring,loginarea,t,l,loading)
{
//	alert(programid);
//	hideAll();
hideFlow2();
 var show = document.getElementById(loginarea);
// show.innerHTML = loadingHTML; 
 if (loading){
		show.style.display='block';
		show.style.visibility='visible';			 
 	show.innerHTML = loading;
 }
 var ajax2 = InitAjax();
 poststring = poststring + "&t=1";
 url=programid;
 ajax2.open("POST", url, true); 
 ajax2.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
 ajax2.send(poststring);
 ajax2.onreadystatechange = function() { 
 	if (ajax2.readyState == 4 && ajax2.status == 200) {
//		alert(ajax2.responseText);
  		show.innerHTML=ajax2.responseText;
		show.style.top=t+'px';
		show.style.left=l+'px';
		show.style.display='block';
		show.style.visibility='visible';		
	} 

 } 
}



function openprogram_na(programid,poststring,loginarea,loading)
{
//	alert(programid);
//	hideAll();
 var show = document.getElementById(loginarea);
// show.innerHTML = loadingHTML; 
 if (loading){
 	show.innerHTML = loading;
 }
 var ajax2 = InitAjax();
 poststring = poststring + "&t=1";
 url=programid;
 ajax2.open("POST", url, true); 
 ajax2.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
 ajax2.send(poststring);
 ajax2.onreadystatechange = function() { 
 	if (ajax2.readyState == 4 && ajax2.status == 200) {
//alert(		ajax2.responseText);
  		show.innerHTML=ajax2.responseText;
		show.style.display='block';
	} 

 } 
}



function checkemail2(str){

var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
if (filter.test(str))
testresults=true
else{
//alert("Please input a valid email address!")
testresults=false
}
return (testresults)
}


function emailCheck (emailStr) {
/* The following pattern is used to check if the entered e-mail address
   fits the user@domain format.  It also is used to separate the username
   from the domain. */
var emailPat=/^(.+)@(.+)$/
/* The following string represents the pattern for matching all special
   characters.  We don't want to allow special characters in the address. 
   These characters include ( ) < > @ , ; : \ " . [ ]    */
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
/* The following string represents the range of characters allowed in a 
   username or domainname.  It really states which chars aren't allowed. */
var validChars="\[^\\s" + specialChars + "\]"
/* The following pattern applies if the "user" is a quoted string (in
   which case, there are no rules about which characters are allowed
   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
   is a legal e-mail address. */
var quotedUser="(\"[^\"]*\")"
/* The following pattern applies for domains that are IP addresses,
   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
   e-mail address. NOTE: The square brackets are required. */
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
/* The following string represents an atom (basically a series of
   non-special characters.) */
var atom=validChars + '+'
/* The following string represents one word in the typical username.
   For example, in john.doe@somewhere.com, john and doe are words.
   Basically, a word is either an atom or quoted string. */
var word="(" + atom + "|" + quotedUser + ")"
// The following pattern describes the structure of the user
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
/* The following pattern describes the structure of a normal symbolic
   domain, as opposed to ipDomainPat, shown above. */
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")


/* Finally, let's start trying to figure out if the supplied address is
   valid. */

/* Begin with the coarse pattern to simply break up user@domain into
   different pieces that are easy to analyze. */
var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
  /* Too many/few @'s or something; basically, this address doesn't
     even fit the general mould of a valid e-mail address. */
	//alert("Email address seems incorrect (check @ and .'s)")
	return false
}
var user=matchArray[1]
var domain=matchArray[2]

// See if "user" is valid 
if (user.match(userPat)==null) {
    // user is not valid
    //alert("The username doesn't seem to be valid.")
    return false
}

/* if the e-mail address is at an IP address (as opposed to a symbolic
   host name) make sure the IP address is valid. */
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
    // this is an IP address
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        //alert("Destination IP address is invalid!")
		return false
	    }
    }
    return true
}

// Domain is symbolic name
var domainArray=domain.match(domainPat)
if (domainArray==null) {
	//alert("The domain name doesn't seem to be valid.")
    return false
}

/* domain name seems valid, but now make sure that it ends in a
   three-letter word (like com, edu, gov) or a two-letter word,
   representing country (uk, nl), and that there's a hostname preceding 
   the domain or country. */

/* Now we need to break up the domain to get a count of how many atoms
   it consists of. */
var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || 
    domArr[domArr.length-1].length>3) {
   // the address must end in a two letter or three letter word.
   //alert("The address must end in a three-letter domain, or two letter country.")
   return false
}

// Make sure there's a host name preceding the domain.
if (len<2) {
   var errStr="This address is missing a hostname!"
   //alert(errStr)
   return false
}

// If we've gotten this far, everything's valid!
return true;
}
//  End -->



function getCheckedValueDefaultZero(radioObj) {
	if(!radioObj)
		return "0";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "0";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "0";
}



function doFuncReturnXmlv2(programid,poststring,obj)
{
//var show = document.getElementById(loginarea);
//	hideAll();
hideFlow2();
//alert(obj);
	if (obj) {
		var fobj = eval("document.forms."+obj);
		for (i=0; i<fobj.length; i++){
		//alert(fobj.elements[i].name);
			if (fobj.elements[i].type != "button") {
				if (fobj.elements[i].type == "checkbox") {
					if (fobj.elements[i].checked) {
						poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
					}
				} else if (fobj.elements[i].type == "radio") {
					if (fobj.elements[i].checked) {
						poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
					}					
				} else {
					poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
				}
//				alert(fobj.elements[i].type);
			}
		}			
	}	
//	var show = document.getElementById(loginarea);
 poststring = poststring + "&t=1";
	var ajax5 = InitAjax();
	url=programid;
//	alert(poststring);
	ajax5.open("POST", url, true); 
	ajax5.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
//	ajax.setRequestHeader("Content-Type","text/html; charset=UTF-8");  	
	ajax5.send(poststring);
	ajax5.onreadystatechange = function() {
 		if (ajax5.readyState == 4 && ajax5.status == 200) {
			//instantiate the W3C DOM Parser
//alert(	ajax.responseText);		
			var parser = new DOMImplementation();
			//load the XML into the parser and get the DOMDocument
			var domDoc = parser.loadXML(ajax5.responseText);
			//get the root node (in this case, it is ROOTNODE)
			var docRoot = domDoc.getDocumentElement();
			//get the first "TAG1" element
			var firstTag1 = docRoot.getElementsByTagName("response").item(0);
			//display the data
			var area = "";
			//url2 = "";
			var argu2 = "";			
			callloop = parseInt(docRoot.getElementsByTagName("response").item(0).getAttribute("callloop")); 
			msgloop = parseInt(docRoot.getElementsByTagName("response").item(0).getAttribute("msgloop"));
			
			for (var x = 0; x < msgloop; x++) {
					switch(parseInt(docRoot.getElementsByTagName("message").item(x).getAttribute("method"))) {
						case 1 : //show message to area
								message = docRoot.getElementsByTagName("message").item(x).getFirstChild().getNodeValue()
								msgarea = docRoot.getElementsByTagName("message").item(x).getAttribute("area")
								var show = document.getElementById(msgarea)
								show.innerHTML = message
								show.style.display='inline'
								break
						case 2 : //alert message
								message = docRoot.getElementsByTagName("message").item(x).getFirstChild().getNodeValue()
								alert(message)																								 
								break
																								 
					}
								
				
			}			
			for (var x = 0; x < callloop; x++) {			
				call = docRoot.getElementsByTagName("call").item(x).getFirstChild().getNodeValue();	
				switch (parseInt(call))
				{
					case 1:
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")										
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						openprogram(url2,"t=1",area)
						break
					case 0:
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						//area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")																
						doFuncReturnXmlv2(url2,argu2)					
						break					

						
					case 2:
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						alert(url2)
						alert(argu2)						
						procedure_sync(url2,argu2)
						
						break
						
					case 3:
						
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")
						openprogram(url2,argu2,area)					
						break					
						
					case 4:
	//					message = docRoot.getElementsByTagName("message").item(0).getFirstChild().getNodeValue()
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")					
						showHideLayer(area,'none')					
	//					alert(message)
						break	
						
					case 5:
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")
						dofunc_obj(url2,argu2,area,obj2)
						break	
						
					case 6:  // relpace hole web page to url2
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						location.href=url2;
						break							
					case 7:  // change layer class
						myclassname = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")						
						setclassName(obj2,myclassname)					
						break												
					case 8: // change layer height
						value = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						action = docRoot.getElementsByTagName("call").item(x).getAttribute("action")
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")						
						changeHeight(obj2,value,action)					
						break						

					case 10: // eval
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						//argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
//						alert(url2);
						eval("'"+url2+"'");
						break		
						
					case 11: // set focus
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						//url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						var myobj = document.getElementById(obj2)
						myobj.focus()
						break		
					case 12: // color picker
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						initpicker(argu2)
						break		
					case 13: // close
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")
						//argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						closeBox(area)
						break		
					case 14: // generate_wysiwyg
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")					
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						argu3 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu3")						
						//argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						mygenerate_wysiwyg(url2,argu2,area,obj2,argu3)
						break								
						
					case 15: // set wysiwyg editor focus
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						//url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						var myobj = document.getElementById(obj2).contentWindow;
						myobj.focus()
						break							
						
					case 16: // remove object
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						//url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						removeObj(obj2);	
						break				
						
					case 21: // showFlowPopW
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						posx = docRoot.getElementsByTagName("call").item(x).getAttribute("posx")
						posy = docRoot.getElementsByTagName("call").item(x).getAttribute("posy")
						showFlowPopW(url2,argu2,posx,MMY,area);
						break			
						
					case 22: // showFlowPopW_22
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")					
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						posx = docRoot.getElementsByTagName("call").item(x).getAttribute("posx")
						posy = docRoot.getElementsByTagName("call").item(x).getAttribute("posy")
						showFlowPopW_22(url2,argu2,posx,posy,obj2,area);
						break		
					case 23:
	//					message = docRoot.getElementsByTagName("message").item(0).getFirstChild().getNodeValue()
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")					
						showHideLayer(area,'block')					
	//					alert(message)
						break		
					case 24: // set value to input box
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						var myobj = document.getElementById(obj2)
						myobj.value=argu2;
						break	
					case 25: // showFlowPopW
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						posx = docRoot.getElementsByTagName("call").item(x).getAttribute("posx")
						posy = docRoot.getElementsByTagName("call").item(x).getAttribute("posy")
						showFlowPopW(url2,argu2,posx,posy,area);
						break									
						
											
				}
			}	


			
//			} catch (e) {
//					alert("An exception occurred in the script. Error name: " + e.name 
//					+ ". Error message: " + e.message); 
//			}			

		} 
	} 
 
}


function doFuncReturnXmlv3(programid,poststring,obj,action,loading)
{
//var show = document.getElementById(loginarea);
//	hideAll();
hideFlow2();
//alert(obj);
	if ((obj) && (obj != "none")) {
		var fobj = eval("document.forms."+obj);
		for (i=0; i<fobj.length; i++){
		//alert(fobj.elements[i].name);
			if (fobj.elements[i].type != "button") {
				if (fobj.elements[i].type == "checkbox") {
					if (fobj.elements[i].checked) {
						poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
					}
				} else if (fobj.elements[i].type == "radio") {
					if (fobj.elements[i].checked) {
						poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
					}					
				} else {
					poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
				}
//				alert(fobj.elements[i].type);
			}
		}			
	}	
	var actionObj = document.getElementById(action);
	if (actionObj) {
		var tmphtml=actionObj.innerHTML;
	}
	actionObj.innerHTML=loading;

	var ajax3 = InitAjax();
	url=programid;
//	alert(poststring);
	ajax3.open("POST", url, true); 
	ajax3.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
//	ajax.setRequestHeader("Content-Type","text/html; charset=UTF-8");  	
	ajax3.send(poststring);
	ajax3.onreadystatechange = function() {
 		if (ajax3.readyState == 4 && ajax3.status == 200) {
			//instantiate the W3C DOM Parser
//alert(	ajax.responseText);		
			var parser = new DOMImplementation();
			//load the XML into the parser and get the DOMDocument
			var domDoc = parser.loadXML(ajax3.responseText);
			//get the root node (in this case, it is ROOTNODE)
			var docRoot = domDoc.getDocumentElement();
			//get the first "TAG1" element
			var firstTag1 = docRoot.getElementsByTagName("response").item(0);
			//display the data
			var area = "";
			//url2 = "";
			var argu2 = "";			
			callloop = parseInt(docRoot.getElementsByTagName("response").item(0).getAttribute("callloop")); 
			msgloop = parseInt(docRoot.getElementsByTagName("response").item(0).getAttribute("msgloop"));
			actionObj.innerHTML=tmphtml;			
			for (var x = 0; x < msgloop; x++) {
					switch(parseInt(docRoot.getElementsByTagName("message").item(x).getAttribute("method"))) {
						case 1 : //show message to area
								message = docRoot.getElementsByTagName("message").item(x).getFirstChild().getNodeValue()
								msgarea = docRoot.getElementsByTagName("message").item(x).getAttribute("area")
								var show = document.getElementById(msgarea)
								show.innerHTML = message
								show.style.display='inline'
								break
						case 2 : //alert message
								message = docRoot.getElementsByTagName("message").item(x).getFirstChild().getNodeValue()
								alert(message)																								 
								break
																								 
					}
								
				
			}			
			for (var x = 0; x < callloop; x++) {			
				call = docRoot.getElementsByTagName("call").item(x).getFirstChild().getNodeValue();	
				switch (parseInt(call))
				{
					case 1:
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")										
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						openprogram(url2,"t=1",area)
						break
					case 0:
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						//area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")																
						doFuncReturnXmlv2(url2,argu2)					
						break					

						
					case 2:
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						alert(url2)
						alert(argu2)						
						procedure_sync(url2,argu2)
						
						break
						
					case 3:
						
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")
						openprogram(url2,argu2,area)					
						break					
						
					case 4:
	//					message = docRoot.getElementsByTagName("message").item(0).getFirstChild().getNodeValue()
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")					
						showHideLayer(area,'none')					
	//					alert(message)
						break	
						
					case 5:
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")
						dofunc_obj(url2,argu2,area,obj2)
						break	
						
					case 6:  // relpace hole web page to url2
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						location.href=url2;
						break							
					case 7:  // change layer class
						myclassname = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")						
						setclassName(obj2,myclassname)					
						break												
					case 8: // change layer height
						value = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						action = docRoot.getElementsByTagName("call").item(x).getAttribute("action")
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")						
						changeHeight(obj2,value,action)					
						break						

					case 10: // eval
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						//argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
//						alert(url2);
						eval("'"+url2+"'");
						break		
						
					case 11: // set focus
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						//url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						var myobj = document.getElementById(obj2)
						myobj.focus()
						break		
					case 12: // color picker
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						initpicker(argu2)
						break		
					case 13: // close
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")
						//argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						closeBox(area)
						break		
					case 14: // generate_wysiwyg
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")					
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						argu3 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu3")						
						//argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						mygenerate_wysiwyg(url2,argu2,area,obj2,argu3)
						break								
						
					case 15: // set wysiwyg editor focus
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						//url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						var myobj = document.getElementById(obj2).contentWindow;
						myobj.focus()
						break							
						
					case 16: // remove object
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						//url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						removeObj(obj2);	
						break				
						
					case 21: // showFlowPopW
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						posx = docRoot.getElementsByTagName("call").item(x).getAttribute("posx")
						posy = docRoot.getElementsByTagName("call").item(x).getAttribute("posy")
						showFlowPopW(url2,argu2,posx,MMY,area);
						break			
						
					case 22: // showFlowPopW_22
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")					
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						posx = docRoot.getElementsByTagName("call").item(x).getAttribute("posx")
						posy = docRoot.getElementsByTagName("call").item(x).getAttribute("posy")
						showFlowPopW_22(url2,argu2,posx,posy,obj2,area);
						break		
					case 23:
	//					message = docRoot.getElementsByTagName("message").item(0).getFirstChild().getNodeValue()
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")					
						showHideLayer(area,'block')					
	//					alert(message)
						break		
					case 24: // set value to input box
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						var myobj = document.getElementById(obj2)
						myobj.value=argu2;
						break			
					case 25: // showFlowPopW
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						posx = docRoot.getElementsByTagName("call").item(x).getAttribute("posx")
						posy = docRoot.getElementsByTagName("call").item(x).getAttribute("posy")
						showFlowPopW(url2,argu2,posx,posy,area);
						break									
						
											
				}
			}	


			

		} 
	} 
 
}

function Cooffer_Join(programid,poststring,obj)
{
//var show = document.getElementById(loginarea);
	hideAll();
	if (obj) {
		var fobj = eval("document.forms."+obj);
		for (i=0; i<fobj.length; i++){
		//alert(fobj.elements[i].name);
			if (fobj.elements[i].type != "button") {
				if (fobj.elements[i].type == "checkbox") {
					if (fobj.elements[i].checked) {
						poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
					}
				} else if (fobj.elements[i].type == "radio") {
					if (fobj.elements[i].checked) {
						poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
					}					
				} else {
					poststring = poststring + "&" + fobj.elements[i].name + "=" + fobj.elements[i].value;
				}
//				alert(fobj.elements[i].type);
			}
		}			
	}	
//	var show = document.getElementById(loginarea);
	AFLAG = 1;
	var ajax = InitAjax();
	url=programid;
//	alert(poststring);
	ajax.open("POST", url, true); 
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded charset=utf-8");
//	ajax.setRequestHeader("Content-Type","text/html; charset=UTF-8");  	
	ajax.send(poststring);
	ajax.onreadystatechange = function() {
 		if (ajax.readyState == 4 && ajax.status == 200) {
			//instantiate the W3C DOM Parser
//alert(	ajax.responseText);		
			var parser = new DOMImplementation();
			//load the XML into the parser and get the DOMDocument
			var domDoc = parser.loadXML(ajax.responseText);
			//get the root node (in this case, it is ROOTNODE)
			var docRoot = domDoc.getDocumentElement();
			//get the first "TAG1" element
			var firstTag1 = docRoot.getElementsByTagName("response").item(0);
			//display the data
			var area = "";
			//url2 = "";
			var argu2 = "";	
			AFLAG = 0;
			callloop = parseInt(docRoot.getElementsByTagName("response").item(0).getAttribute("callloop")); 
			msgloop = parseInt(docRoot.getElementsByTagName("response").item(0).getAttribute("msgloop"));
			
			for (var x = 0; x < msgloop; x++) {
					switch(parseInt(docRoot.getElementsByTagName("message").item(x).getAttribute("method"))) {
						case 1 : //show message to area
								message = docRoot.getElementsByTagName("message").item(x).getFirstChild().getNodeValue()
								msgarea = docRoot.getElementsByTagName("message").item(x).getAttribute("area")
								var show = document.getElementById(msgarea)
								show.innerHTML = message
								show.style.display='inline'
								break
						case 2 : //alert message
								message = docRoot.getElementsByTagName("message").item(x).getFirstChild().getNodeValue()
								alert(message)																								 
								break
																								 
					}
								
				
			}			
			for (var x = 0; x < callloop; x++) {			
				call = docRoot.getElementsByTagName("call").item(x).getFirstChild().getNodeValue();	
				switch (parseInt(call))
				{
					case 1:
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")										
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						openprogram(url2,"t=1",area)
						break
					case 0:
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						//area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")																
						doFuncReturnXmlv2(url2,argu2)					
						break					

						
					case 2:
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						procedure(url2,argu2)
						break
						
					case 3:
						
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")
						openprogram(url2,argu2,area)					
						break					
						
					case 4:
	//					message = docRoot.getElementsByTagName("message").item(0).getFirstChild().getNodeValue()
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")					
						showHideLayer(area,'none')					
	//					alert(message)
						break	
						
					case 5:
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")
						dofunc_obj(url2,argu2,area,obj2)
						break	
						
					case 6:  // relpace hole web page to url2
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						location.href=url2;
						break							
					case 7:  // change layer class
						myclassname = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")						
						setclassName(obj2,myclassname)					
						break												
					case 8: // change layer height
						value = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						action = docRoot.getElementsByTagName("call").item(x).getAttribute("action")
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")						
						changeHeight(obj2,value,action)					
						break						
						
					case 10: // eval
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						//argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
//						alert(url2);
						eval("'"+url2+"'");
						break		
						
					case 11: // set focus
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						//url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						var myobj = document.getElementById(obj2)
						myobj.focus()
						break		
					case 12: // color picker
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						initpicker(argu2)
						break		
					case 13: // close
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")
						//argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						closeBox(area)
						break		
					case 14: // generate_wysiwyg
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")					
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						argu3 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu3")						
						//argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						mygenerate_wysiwyg(url2,argu2,area,obj2,argu3)
						break								
						
					case 15: // set wysiwyg editor focus
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						//url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						var myobj = document.getElementById(obj2).contentWindow;
						myobj.focus()
						break							
						
					case 16: // remove object
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						//url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						removeObj(obj2);	
						break				
						
					case 21: // remove object
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")
						url2 = docRoot.getElementsByTagName("call").item(x).getAttribute("url2")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						posx = docRoot.getElementsByTagName("call").item(x).getAttribute("posx")
						posy = docRoot.getElementsByTagName("call").item(x).getAttribute("posy")
						showFlowPopW(url2,argu2,posx,posy,area);
						break	
					case 23:
	//					message = docRoot.getElementsByTagName("message").item(0).getFirstChild().getNodeValue()
						area = docRoot.getElementsByTagName("call").item(x).getAttribute("area")					
						showHideLayer(area,'block')					
	//					alert(message)
						break		
					case 24: // set value to input box
						obj2 = docRoot.getElementsByTagName("call").item(x).getAttribute("obj")
						argu2 = docRoot.getElementsByTagName("call").item(x).getAttribute("argu2")
						var myobj = document.getElementById(obj2)
						myobj.value=argu2;
						break													
											
				}
			}	


			
//			} catch (e) {
//					alert("An exception occurred in the script. Error name: " + e.name 
//					+ ". Error message: " + e.message); 
//			}			

		} 
	} 
 
}

function setclassName(mm,iclass){
	var objz = document.getElementById(mm);		
	objz.className=iclass;	
}


function menuSwap(activeno,total_menu,iclass_active,iclass_deactive){
	var objz;
	var menu_name="";
	for (var i=1;i<=parseInt(total_menu);i++){
		menu_name = "menu" + i;
		objz = document.getElementById(menu_name);
		if (i==parseInt(activeno)){
			objz.className=iclass_active;	
		} else {
			objz.className=iclass_deactive;				
		}
	}
}


function contentSwap(obj,content){
	var objz = document.getElementById(obj);
	objz.innerHTML = content;	

}




function unCheckRadio(oRadio) {
	  var or = document.getElementsByName(oRadio);
      for (var i = 0; i < or.length; i++) {
         or[i].checked = false;
     }
}



function captureKeys(evt) {

var ctrlPressed=false;
var shiftPressed=false;
evt = evt || window.event;

		 if (IE) { // grab the x-y pos.s if browser is IE
			var keyCode = event.keyCode ? event.keyCode :
			event.charCode ? event.charCode : event.which;
			ctrlPressed=event.ctrlKey;			
			shiftPressed=event.shiftKey;						
				
		 } else {
			var keyCode = evt.keyCode ? evt.keyCode :
			evt.charCode ? evt.charCode : evt.which;	 
			
			ctrlPressed=evt.ctrlKey;			
			shiftPressed=evt.shiftKey;						
		 }
		

		return keyCode;
}

function selectAll(formName){
		var fobj = eval("document.forms."+formName);
		for (i=0; i<fobj.length; i++){
		//alert(fobj.elements[i].name);
			if (fobj.elements[i].type != "button") {
				if (fobj.elements[i].type == "checkbox") {
					fobj.elements[i].checked = true;
				}
			}
		}				
	
}

function unselectAll(formName){
		var fobj = eval("document.forms."+formName);
		for (i=0; i<fobj.length; i++){
		//alert(fobj.elements[i].name);
			if (fobj.elements[i].type != "button") {
				if (fobj.elements[i].type == "checkbox") {
					fobj.elements[i].checked = false;
				}
			}
		}				
	

}