// AJAX function------------------------------
//ตรวจสอบการสนับสนุน XMLHttp
var xmlHttp;


//ตรวจสอบการสนับสนุน
function createXMLHttpRequest()
	{
		if(window.ActiveXObject)
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}else
				{
					if(window.XMLHttpRequest)
						{
							xmlHttp=new XMLHttpRequest();
						}
				}
	}

//ทำการส่งค่าเพื่อตรวจสอบ
/*
url = url
fnTrue = function ทำงานต่อเมื่อการทำงานถูกต้อง
fnFalse = function ทำงานต่อเมื่อการทำงานไม่ถูกต้อง

ค่าที่ส่งกลับมา
xmlHttp.responseText
*/
function requestServer_get(url,fnTrue,fnFalse)
	{
		createXMLHttpRequest();
		xmlHttp.open("get",url,true);
		xmlHttp.onreadystatechange=function()
				{
					if(xmlHttp.readyState==4)
					{
						if(xmlHttp.status==200)
							{
								eval(fnTrue);
							}
						else{eval(fnFalse);}
					}
				}
		xmlHttp.send(null);
	}

/*ค่าที่ส่งกลับมา
ถ้า Function ทำงานถูกต้องจะทำการส่งค่าที่ต้องการกลับมา
ถ้าไม่ถูกต้องจะส่งค่า False;
*/
function rs_Get(url)
	{
		createXMLHttpRequest();

		var chk=false;

		xmlHttp.open("get",url,true);
		xmlHttp.onreadystatechange=function()
				{
					if(xmlHttp.readyState==4)
					{
						if(xmlHttp.status==200)
							{
								chk=true;
							}
					}
				}
		xmlHttp.send(null);
		if(chk){return xmlHttp.responseText;}
		
		if(!chk){return false;}
	}

//----------------------------------------------

function _makeTable(row,cols,cols_w,width,cellname,table_properties)
	{
		var head,body,runID,tmp,x,y;
		body="";
		runID=1;
		head='<table width='+width+' '+table_properties+'>';
		for(x=1;x<=row;x++)
			{
				
				body+="<tr>";
				for(y=1;y<=cols;y++)
					{
						tmp=cellname+"_"+runID;
						body+='<td width="'+cols_w+'" id="'+tmp+'">&nbsp;</td>';
						runID++;
					}
				body+="</tr>";
			}
		head+=body+"</table>";
		return head;
	}

//ค้นหาความยาวของหน้าเว็บ
function _getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
	return arrayPageSize;
}

function _getPageScroll(){

	var yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	arrayPageScroll = new Array('',yScroll) 
	return arrayPageScroll;
}

//----------------- Filter JavaScript
function _opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("_changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("_changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function _changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 
//---------------------------------------

//สร้าง Bg หลัง
/*
.SetOverlay{position:absolute;top:0px;left:0px;background-color:#000000;Z-Index:1}
*/
function makeBG(overlay,fn)
	{
			if(!document.getElementById(overlay))
				{
					var objBody = document.getElementsByTagName("body").item(0);

					//หาความยาวของหน้า
					arrayPageSize=_getPageSize();

					var objOverlay = document.createElement("div");
					objOverlay.setAttribute('id',overlay);

					if(!document.all)
						{
							objOverlay.setAttribute('style',"position:absolute;top:0px;left:0px;width:"+arrayPageSize[0]+"px;height:"+arrayPageSize[1]+"px;background-color: #000000");
							objOverlay.setAttribute('onclick',"setDisplay('"+overlay+"','h');"+fn);
							objBody.appendChild(objOverlay);
							setDisplay(overlay,"h");
							_changeOpac(0, overlay);
							setDisplay(overlay,"s");
							_opacity(overlay, 0, 80, 500);
						}
					else
						{
							objOverlay.onclick = function() { setDisplay(overlay,"h");eval(fn); }
							objBody.appendChild(objOverlay);
					
							//กำหนดค่าลงไปใน id ที่สร้างขึ้นมา
							var objOverlay=document.getElementById(overlay);
							objOverlay.className="SetOverlay";
							objOverlay.style.width=arrayPageSize[0];
							objOverlay.style.height=arrayPageSize[1];
							setDisplay(overlay,"h");
							_changeOpac(0, overlay);
							setDisplay(overlay,"s");
							_opacity(overlay, 0, 80, 500);
						}
				}else
					{
						var objBody=document.getElementById(overlay);
						objBody.style.display='';
						objBody.style.	backgroundColor="#000000";
						setDisplay(overlay,"h");
							_changeOpac(0, overlay);
							setDisplay(overlay,"s");
						_opacity(overlay, 0, 80, 500);
					}
			//-------------------------------- Other ------------------------------------------------
	}

//จัดขนาดกึ่งกลางของ ID
function setCenter(idName)
	{
		var objID=document.getElementById(idName);

		//หาความยาวของหน้า
		arrayPageSize=_getPageSize();

		left=(arrayPageSize[0]-parseInt(objID.style.width))/2;
		objID.style.left=left+"px";

	}

//จัดระยะของข้อมูลที่แสดง
function setTop(idName,toppx)
	{
		var objID=document.getElementById(idName);

		if(document.all)
			{
				//หาความยาวของหน้า
				arrayPageSize=_getPageScroll();
				objID.style.top=arrayPageSize[1]+toppx+"px";
			}else
				{
					objID.style.top=window.pageYOffset+toppx+"px";
				}
	}

//	กำหนดการแสดงของ id
function setDisplay(idName,status)
	{
		var objID=document.getElementById(idName);
		if(status=='h'){objID.style.display='none';}
		if(status=='s'){objID.style.display='';}
		
	}

//สร้างกล่องโต้ตอบ msgbox
function msgbox(idName,text,idSmsShow)
	{
		var objBody = document.getElementsByTagName("body").item(0);
			
		//หาความยาวของหน้า
		arrayPageSize=_getPageSize();

		var objOverlay = document.createElement("div");
		objOverlay.setAttribute('id','msgboxbg');
		if(!document.all)
			{
				objOverlay.setAttribute('style',"position:absolute;top:0px;left:0px;width:"+arrayPageSize[0]+"px;height:"+arrayPageSize[1]+"px;background-color: #000000");
				objOverlay.setAttribute('onclick'," delElement('msgboxbg');setDisplay('"+idName+"','h');");
				objBody.appendChild(objOverlay);
				_opacity('msgboxbg', 0, 80, 500);
			}
		else
			{
				objOverlay.onclick = function() { delElement("msgboxbg");setDisplay(idName,"h");}
				objBody.appendChild(objOverlay);
		
				//กำหนดค่าลงไปใน id ที่สร้างขึ้นมา
				var objOverlay=document.getElementById('msgboxbg');
				objOverlay.className="SetOverlay";
				objOverlay.style.width=arrayPageSize[0];
				objOverlay.style.height=arrayPageSize[1];
				_opacity('msgboxbg', 0, 80, 500);
			}
		
		//เรียก id ที่กำหนดขึ้นมา
		var callObj=document.getElementById(idName);

		//กำหนดตำแหน่ง
		setCenter(idName);
		setDisplay(idName,"s");
		setTop(idName,100);
		//alert(call.id);

		//กำหนดข้อความ
		var callObj=document.getElementById(idSmsShow);
		callObj.innerHTML=text;
	}

//ลบ id ออกจากระบบ
function delElement(idName)
	{
		 var objBody = document.getElementsByTagName("body").item(0);
		 var delby = document.getElementById(idName);
		objBody.removeChild(delby);
	}

//สร้างสถานะการรอ
//ใช้รูป gif 1 รูปในการแสดงผล
function waitStatus(text,idName)
	{
		var imgFile="images/loading.gif";
		var table="";
		var setBody=document.getElementById(idName);

		table+="<table width=\"150\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\"  id=\"statusSubCat\" style=\"display:\">";
		table+="<tr>";
		table+="<td width=\"270\" align=\"\">";
		table+="<img src=\""+imgFile+"\" align=\"absbottom\" />&nbsp;&nbsp;";
		table+=text+"</td></tr>";
		table+="</table>";
		
		setBody.innerHTML=table;
	}


//สร้างสถานะการรอ
//ใช้รูป gif 1 รูปในการแสดงผล
function waitStatus1(text,idName)
	{
		var imgFile="images/loading.gif";
		var table="";
		var setBody=document.getElementById(idName);

		table="<img src='images/loading.gif' border=\"0\" align=\"absbottom\">&nbsp;&nbsp;"+text;		
		setBody.innerHTML=table;
	}

//สร้างสถานะการรอ
//ใช้รูป gif 1 รูปในการแสดงผลกำหนดรูปได้เอง
function waitStatus2(text,idName,imgname)
	{
		var imgFile=imgname;
		var table="";
		var setBody=document.getElementById(idName);

		table="<img src='"+imgFile+"' border=\"0\" align=\"absbottom\">&nbsp;&nbsp;"+text;		
		setBody.innerHTML=table;
	}
//ตรวจสอบ browser
/*
ie = Microsoft Internet Explorer
ff = Netscape / Firefox
op = Opera
*/
function _getBrowser()
		{
			var name=navigator.appName;
			if(name=="Microsoft Internet Explorer"){return "ie";}
			if(name=="Netscape"){return "ff";}
			if(name=="Opera"){return "op";}
			return "null";
		}