// JavaScript Document
//<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
	///--############ Define Global Variable ######################//
	var obj = null;
	var objText = null;
	//#######################################################//
	//----------- Return to parent window Project System--------------//
	function ResultSaveProject(result,label)
	{
		if (result != 1)
		{
			alert("Can't save data because : "+result+"\nPlease try again.");
			if (label != "Update Status")
			{
				document.form1.Submit.enabled = true;
				document.form1.Submit.value = label;
			}
			return;
		}
		
		alert("Save data complete.");
//		window.location.replace("event_list.php");
		window.location.replace("project_list.php");
	}
	//----------- Return to parent window Event System--------------//
	function ResultSaveData(result,label,redirect)
	{
		if (result != 1)
		{
			alert("Can't save data because : "+result+"\nPlease try again.");
			if (label != "Update Status")
			{
				document.form1.Submit.enabled = true;
				document.form1.Submit.value = label;
			}
			return;
		}
		
		alert("Save data complete.");
		window.location.replace(redirect);
	}
	//----------- Check Value in form ----//
	function CheckValue()
	{
		if (arguments.length < 2)		{	alert("Coding error : invalid number arguments, please specity at least 2 parameter \nCheckValue('object','type')");	return false;	}
		obj = arguments[0];
		type = arguments[1];
		if (arguments.length == 3)	msg = arguments[2];
		switch (type.toLowerCase())
		{
			case "email" :
				obj.value = TrimSpace(obj.value);
				if (msg != "undefined" && msg != "")
					if (! IsMail(obj,msg))	{	return false;	}
				else
					if (! IsMail(obj))	{	return false;	}
				return true;
				break;
			case "radioempty" :
				for (i = 0; i < obj.length; i++)	
					if (obj[i].checked)	{	return true;	break;	}

				if (msg != "undefined" && msg != "")	alert(msg);
				else	alert("Please select data [ "+obj[0].name+" ]");
				obj[0].focus();
				return false;
				break;
			case "checkboxempty" :
				for (i = 0; i < obj.length; i++)	
					if (obj[i].checked)	{	return true;	break;	}

				if (msg != "undefined" && msg != "")	alert(msg);
				else	alert("Please select data [ "+obj[0].name+" ]");
				obj[0].focus();
				return false;
				break;
			case "textempty" :
				obj.value = TrimSpace(obj.value);
				if (obj.value == "")	
				{	
					if (msg != "undefined" && msg != "")	alert(msg);
					else	alert("Please enter data [ "+obj.name+" ]");
					obj.focus();
					return false;	
				}
				return true;
				break;
			case "sltempty" :
				obj.value = obj.options[obj.selectedIndex].value;
				if (obj.value == "")	
				{	
					if (msg != "undefined" && msg != "")	alert(msg);
					else	alert("Please enter data [ "+obj.name+" ]");
					obj.focus();
					return false;	
				}
				return true;
				break;
			case "areaempty" :
				obj.value = LRTrim(obj.value);
				if (obj.value == "")
				{	
					if (typeof msg != "undefined" && msg != "")	alert(msg);
					else	alert("Please enter data [ "+obj.name+" ]");
					obj.focus();
					return false;	
				}
				return true;
				break;
			case "numberonly" :
				if (msg != "undefined" && msg != "")
					if (!CheckInput("num",obj,msg)) return false;
				else
					if (!CheckInput("num",obj)) return false;
				return true;
				break;
			case "between" : 
				MIN = arguments[2];
				MAX = arguments[3];
				if (obj.value < MIN || obj.value > MAX)		
				{	
					if (msg != "undefined" && msg != "")	alert(msg);
					else	alert("Please enter data [ "+obj.name+" ] between "+MIN+"-"+MAX);
					obj.select(); 
					return false;
				}
				return true;
				break;
			case "morethan" : 
				MIN = arguments[2];
				if (obj.value < MIN)		
				{	
					if (msg != "undefined" && msg != "")	alert(msg);
					else	alert("Please enter data more than "+MIN);
					obj.select(); 
					return false;
				}
				return true;
				break;
		}
	}
	//--------- Trim white space---------------//
	function TrimSpace(str)
	{
		try
		{
			if (str.length < 1)	return "";
			
			var newStr = "";
			var i = 0;
			for (i = 0; i < str.length; i++)
			{
				if (str.charAt(i) != " ")	newStr += str.charAt(i);
			}
			
			return newStr;
		}
		catch (err)
		{
			alert("Sorry : Web browser not support this web\nError message :"+err.message);
		}
	}
	//---------Right Trim space----------------//
	function RTrim(str)
	{
		try
		{
			var newStr = new Array();
			var flag = false;
			
			if (str.length < 1)	return "";
	
			for (i = str.length-1; i >= 0; i--)
			{
				if (str.charAt(i) == " " && ! flag)
				{
				}
				else
					{
						newStr.push(str.charAt(i));
						flag = true;
					}
			}
			
			var str = newStr.reverse().join("");
			
			return str;
		}
		catch (err)
		{
			alert("Sorry : Web browser not support this web\nError message :"+err.message);
		}
	}
	//---------Left Trim space-------------------//
	function LTrim(str)
	{
		try
		{
			var newStr = "";
			var flag = false;
			
			if (str.length < 1)	return "";
	
			for (i = 0; i < str.length; i++)
			{
				if (str.charAt(i) == " " && ! flag)
				{
				}
				else
					{
						newStr += str.charAt(i);
						flag = true;
					}
			}
			
			return newStr;
		}
		catch (err)
		{
			alert("Sorry : Web browser not support this web\nError message :"+err.message);
		}
	}
	//----------LRTrim space-------------------//
	function LRTrim(str)
	{
		try
		{
			str = LTrim(str);
			str = RTrim(str);
			return str;
		}
		catch (err)
		{
			alert("Sorry : Web browser not support this web\nError message :"+err.message);
		}
	}
	//------- Check E-Mail ------------------//
	function IsMail()
	{
		try
		{
			  objMail = arguments[0];
  			  if (arguments.length == 2)	msg = arguments[1];
			  
			  	var email = objMail.value;
			  	var splitted = email.match("^(.+)@(.+)$");
				if(splitted == null) 
				{
					if (msg != "undefined" && msg != "")	alert(msg);
					else	alert( "Email format invalid!!! \nExample: webmaster@bangkokhuho.com\n\nE-mail : "+objMail.value );
					objMail.value = "";
					objMail.focus();
					return false;
				}
				if(splitted[1] != null )
				{
				  var regexp_user=/^\"?[\w-_\.]*\"?$/;
				  if(splitted[1].match(regexp_user) == null) 
				  {
					if (msg != "undefined" && msg != "")	alert(msg);
					else	alert( "Email format invalid!!! \nExample: webmaster@bangkokhuho.com\n\nE-mail : "+objMail.value );
					objMail.value = "";
					objMail.focus();
					return false;
				  }
				}
				if(splitted[2] != null)
				{
				  var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
				  if(splitted[2].match(regexp_domain) == null) 
				  {
					var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
					if(splitted[2].match(regexp_ip) == null) 
					{
						if (msg != "undefined" && msg != "")	alert(msg);
						else	alert( "Email format invalid!!! \nExample: webmaster@bangkokhuho.com\n\nE-mail : "+objMail.value );
						objMail.value = "";
						objMail.focus();
						return false;
					}
				  }// if
				  return true;
				}
				
				if (msg != "undefined" && msg != "")	alert(msg);
				else	alert( "Email format invalid!!! \nExample: webmaster@bangkokhuho.com\n\nE-mail : "+objMail.value );
				objMail.value = "";
				objMail.focus();
				return false;

/*
			  if ( (/^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-\.]+\.[a-zA-Z\.]+$/gi).test( objMail.value) != true)
			  {
				if (msg != "undefined" && msg != "")	alert(msg);
				else	alert( "Email format invalid!!! \nExample: webmaster@bangkokhuho.com\n\nE-mail : "+objMail.value );
				objMail.value = "";
				objMail.focus();
				return false; 
			  } 
			  else 
			  {
				  return true;
			  }
*/			  
		}
		catch (err)
		{
			alert("Sorry : Web browser not support this web\nError message :"+err.message);
		}
	}
	//-------- Check SSID -------------------//
	function IsSSID(objSSID)
	{
		try
		{
			var ssid = objSSID.value;
			var number = 0;
			var sum = 0;
			
			if (isNaN(parseInt(ssid)) || ssid.length  != 13)
				{
					alert("???????????????????????????????????? 13 ???? ?????");
					objSSID.focus();
					return false;
				}
			for (i = 13; i > 1; i--)
			{
				number = parseInt(ssid.substr(13-i,1))*i;
				sum += number;
			}
			
			var bitCheck = sum % 11;
			
			bitCheck = 11 - bitCheck;
			
			if (bitCheck == 10 || bitCheck == 11)	bitCheck = bitCheck % 10;
			
			if (ssid.substr(13-i,1) == bitCheck)
				return true;
				else
					{
						alert("??????????????? ?????????????????????????????????????? 13 ???? ?????????????? ?????\n\n\t\t ?????????????????? ??? "+ssid);
						objSSID.select();
						return false;
					}
		}
		catch (err)
		{
			alert("Sorry : Web browser not support this web\nError message :"+err.message);
			return false;
		}
	}
	//-------Check Number ----------------//
	function IsNum(val)
	{
		try
		{
			if ( (val >= 48) && (val <= 57) )
				return true;
				else
					return false;
		}
		catch (err)
		{
			alert("Sorry : Web browser not support this web\nError message :"+err.message);
		}
	}
	//-------Check Text English inCasesentitive----------------//
	function IsIEng(val)
	{
		try
		{
			if ( ((val >= 65) && (val <= 90)) || ((val >= 97) && (val <= 122)) )
				return true;
				else
					return false;
		}
		catch (err)
		{
			alert("Sorry : Web browser not support this web\nError message :"+err.message);
		}
	}
	//-------Check Text English Casesentitive----------------//
	function IsEng(val)
	{
		try
		{
			if ( (val >= 97) && (val <= 122) )
				return true;
				else
					return false;
		}
		catch (err)
		{
			alert("Sorry : Web browser not support this web\nError message :"+err.message);
		}
	}
	//-------Check Format input on enter-------------//
	function CheckInput()
	{
		try
		{
			type = arguments[0];
			obj = arguments[1];
			if (arguments.length == 3)	msg = arguments[2];
			var flag = false;
			type = type.toLowerCase();
	
			if (type == "iengnum")
				{
					for ( i = 0; i < obj.value.length; i++ )
					{
						key = obj.value.charCodeAt(i);
	
						if ( !IsNum(key) && !IsIEng(key))		
						{
							flag = true;
							break;
						}
					}
					
					if (flag)	
						{
							if (msg != "undefined" && msg != "")	alert(msg);
							else	alert("Please enter Literal or English charector only ^-^");
							obj.value = "";
							obj.focus();
							return false;
						}
				}
				else if (type == "num")
					{
						for ( i = 0; i < obj.value.length; i++ )
						{
							key = obj.value.charCodeAt(i);
		
							if ( !IsNum(key) )
							{
								flag = true;
								break;
							}
						}
					
						if (flag)	
							{
								if (msg != "undefined" && msg != "")	alert(msg);
								else	alert("Please enter number only ^-^");
								obj.value = "";
								obj.focus();
								return false;
							}
					}
			return true;
		}
		catch (err)
		{
			alert("Sorry : Web browser not support this web\nError message :"+err.message);
			return false;
		}
	}
	//-------Check Format input KeyPress-------------//
	function CheckInputKeyPress(type,obj)
	{
		try
		{
			key = window.event.keyCode;
			if (key == 13)	return;
			type = type.toLowerCase();
			
			if (type == "iengnum")
				{
					if ( ! IsNum(key) && ! IsIEng(key))
					{
						window.event.returnValue = false;
						return false;
					}
				}
				else if (type == "num")
					{
						if ( ! IsNum(key) )
						{
							window.event.returnValue = false;
							return false;
						}
					}
			return true;
		}
		catch (err)
		{
			alert("Sorry : Web browser not support this web\nError message :"+err.message);
		}
	}
	
	//-------Show Flash send filename --->
	function DisplayFlash(filename,w,h)
	{
		try
		{
			document.write('\
									<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="' + w + '" height="' + h + '">\
									  <param name="movie" value="' + filename + '" />\
									  <param name="quality" value="high" />\
									  <param name="wmode" value="transparent" />\
									  <embed src="' + filename + '"  wmode="transparent" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + w + '" height="' + h + '"></embed>\
									</object>\
								');
		}
		catch (err)
		{
			alert("Sorry : Web browser not support this web\nError message :"+err.message);
		}
	}
	//--------Show Flash ---------//
	function ShowFlash(obj)
	{
		try
		{
			document.writeln(obj);
		}
		catch (err)
		{
			alert("Sorry : Web browser not support this web\nError message :"+err.message);
		}
	}
	
	//----show popup------------//
	function ShowPopup(url,target,option)
	{
		try
		{
			target = window.open(url,target,option);
			target.focus();
			return(false);
		}
		catch (err)
		{
			alert("????????????????????????? popup ?????????\nError message :"+err.message);
		}
	}
	
	//----show Message Box------------//
	function MsgBox(url,type,w,h,option)
	{
		try
		{
			if (type == "dialog")
			{
	//				if (option != "")
					option = "dialogHeight="+h+"px; dialogWidth="+w+"px; center=1; help=0; resizable=0; status=0;"
					dialog = showModalDialog(url,'',option);
					return false;
			}
			else if (type == "alway")
			{
					option = "dialogHeight="+h+"px; dialogWidth="+w+"px; center=1; help=0; resizable=0; status=0;"
					dialog = showModelessDialog(url,'',option);
					return false;
			}
			else if (type == "popup")
			{
				popup = window.open(url,"popup",option);
				popup.focus();
				return(false);
			}
		}
		catch (err)
		{
			alert("Browser ????????????????????????? ????????????????? IE5.0 ????????? ???? Browser ????????????????? Popup ???\n\nError : "+err.message+"\n\n????????????????????????????????????? HelpDesk ???");
		}
	}
	
	//---------- Check Serial -------------//
	function CheckSerial(obj)
	{
		obj.value = TrimSpace(obj.value).toUpperCase();
		
		var serial = obj.value;
		
		if (serial == "")
		{
			obj.focus();
			return false;
		}
		
		// create object Ajax
		var objAjax = GetObjAjax();
		
		// return if not create object
		if ( ! objAjax )	return false;
		
		var url = "/Files/ajax.php?function=CheckSerial&serial="+serial;
		var data = "error : ????????????????????????";
	
	// call url to check ID
		objAjax.open("GET",url,true);
		objAjax.onreadystatechange = function()
																	{ 
																		  if ( objAjax.readyState == 4 )
																		  {	
																			  if (objAjax.status == 200)
																			  {
																				result = objAjax.responseText;
	
																				if ( result == "fail")
																				{
																					alert("Serial = "+obj.value+" ??????????????????????????????????? \n\n?????????????????? future gamer ???? Golden Soft ???");
																					obj.select();
																					return false;
																				}
																				
																				if ( result == "ok" )
																				{
																					alert("Serial = "+obj.value+"  ??????????");
																					
																					frm.serial.value = obj.value;
																					document.getElementById("idDetail").style.display = "";
																					document.getElementById("idSerial").style.display = "none";
																					document.getElementById("idShowSerial").innerHTML = "<b>Serial : </b>"+frm.serial.value;
																					return true;
																				}
																				
																				alert("?????????????? ???????????????? serial ???");
																			  }
																			  else
																					alert("error : ????????????????????? serial ???");
																		  }
																	};
		objAjax.send(null);
	}
	
	//---------- Check SSID -------------//
	function CheckSSID(obj,tbl)
	{
		obj.value = TrimSpace(obj.value);
		
		var id = obj.value;
		
		if (id == "")
		{
			obj.focus();
			return false;
		}
		
		// create object Ajax
		var objAjax = GetObjAjax();
		
		// return if not create object
		if ( ! objAjax )	return false;
		
		var url = "/Files/ajax.php?function=CheckID&id="+id+"&tbl="+tbl;
		var data = "error : ????????????????????????????";
		
		// call url to check ID
		objAjax.open("GET",url,true);
		objAjax.onreadystatechange = function()
																	{ 
																		  if ( objAjax.readyState == 4 )
																		  {	
																			  if (objAjax.status == 200)
																			  {
																				result = objAjax.responseText;
																				
																				if ( result != "none")
																				{
																					alert("       ID = "+obj.value+"\n\n ???????????? ???????????? ID ???????");
																					obj.select();
																					return false;
																				}
																				
																				alert("ID ?????????????????????");
																				return true;
																			  }
																			  else
																					alert("error : ????????????????????????????");
																		  }
																	};
		objAjax.send(null);
	}
	
	//--------------------Check ID ----------------------------//
	function CheckID(objID,objResult,tbl,fieldName)
	{
		obj = new clsAjax();
		
		objResult.innerHTML = "<font color=#0055AA>??????????????????...</font>";
	//	msg = "<font color=#0055AA>??????????????????...</font>";
	//	BlinkMSG(objResult,msg)
		obj.create();
		obj.url = "/Files/ajax.php";
		obj.method = "get";
		
		var functionName = "CheckID";
		var id = objID.value;
		
		objText = objID
		obj.addParam("function", functionName);
		obj.addParam("tbl", tbl);
		obj.addParam("fieldName", fieldName);
		obj.addParam("id", id);
		obj.function_name = "ReturnCheckID("+objResult.id+")"; 
		obj.send();
	}
	
	//----------- function Return CheckID --------------------/./
	function ReturnCheckID(objResult)
	{
		var textResult = "";
	
		result = obj.responseText;
	
		if ( result == "duplicate")
		{
			textResult = "ID ??????????????? ???????????? ID ???????";
			objResult.innerHTML = "<font color=#FF0000>"+textResult+"</font>";
			alert(textResult);
			objText.select();
		}
		else if (result == "none")
		{
			textResult = "??????????????????";
			objResult.innerHTML = textResult;
		}
		else if (result.substr(0,4) == "fail")
		{
			textResult = result.substr(6);
			objResult.innerHTML = "<font color=#FF0000>"+textResult+"</font>";
			alert(textResult);
			objText.select();
		}
		
		obj = null;
		objText = null;
	}
	//----------- Write Message --------//
	function ShowMsg(msg)
	{
		document.writeln(msg);
	}
	//----------- Load New Flash -----//
	function LoadFlash(index)
	{
		if (index == 1)
		{
			idBannerMain(index-1).style.display = "";
			idBannerMain(index).style.display = "none";		
		}
		else if (index == 2)
		{
			idBannerMain(index-1).style.display = "";
			idBannerMain(index-2).style.display = "none";		
		}
	}
	//---------- Set StatusBar -------//
	function ShowStatusBar()
	{
		objDate = SetDate(d,m,y);
		objTime = SetTime(h,mi,s++);
		
		var date = ShowDate(objDate);
		var time = ShowTime(objTime);
		window.status = "::   "+date+"   "+time+"  ::                       :: ???????????????????????? : "+count+" ::";
	/*			for (i = 0; i < count.toString().length; i++)
		{
			var dt = new Date();
			var dtNow = dt.getDate();
			var msg = "????????????????????? ? ?????? "+dt+" ???? "+dtNow+" ";
			idTime = setInterval("SetStatus('"+msg+"')",1000);
		}*/
	}
	//--------- Set Time ---------------//
	function SetTime(h,m,s)
	{
		var objTime = new Date();
		
		objTime.setHours(h);
		objTime.setMinutes(m);
		objTime.setSeconds(s+1);
			
		return objTime;
	}
	//--------- Set Date ---------------//
	function SetDate(d,m,y)
	{
		var objDate = new Date();
		
		objDate.setDate(d);
		objDate.setMonth(m);
		objDate.setFullYear(y);
		
		return objDate;
	}
	//--------- Show Time ------------//
	function ShowTime(objTime)
	{
		var time   = (objTime.getHours() < 10) ? "0"+objTime.getHours() : objTime.getHours();
				time += ":";
				time += (objTime.getMinutes() < 10) ? "0"+objTime.getMinutes() : objTime.getMinutes();
				time += ":";
				time += (objTime.getSeconds() < 10) ? "0"+objTime.getSeconds() : objTime.getSeconds();
	
		return time;
	}
	//-------- Show  Date -----------//
	function ShowDate(objDate)
	{	
		var date   = (objDate.getDate() < 10) ? "0"+objDate.getDate() : objDate.getDate();
				date += "-";
				date += (objDate.getMonth() < 10) ? "0"+objDate.getMonth() : objDate.getMonth();
				date += "-";
				date += objDate.getFullYear();
	
		return date;
	}

//		extArray = new Array(".gif",".jpg",".jpeg",".bmp",".png");
/*		function LimitAttach(form, objFile) {
			allowSubmit = false;
			file = objFile.value;
			if (!file) return;
				while (file.indexOf("\\") != -1)
			file = file.slice(file.indexOf("\\") + 1);
			if(file.length > 25) {
				alert("Length of file exceed 25 character!!");
				objFile.value = "";
				objFile.focus();				
				return false;
			}
			ext = file.slice(file.indexOf(".")).toLowerCase();
			for (var i = 0; i < extArray.length; i++) {
				if (extArray[i] == ext) { allowSubmit = true; break; }
			}
			if (allowSubmit) return ext;//form.submit();
			else{
				alert("Please only upload files that end in types:  " 
					+ (extArray.join("  ")) + "\nPlease select a new "
					+ "file to upload and submit again.");
				objFile.value = "";
				objFile.focus();
				return false;
			}
		}
*/		
	
	//--------- Display Flash for By Javascript ---
	function DisplayFlashHeader(objDes,filename,w,h)
	{
			document.getElementById(objDes).innerHTML = '\
									<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="' + w + '" height="' + h + '">\
									  <param name="movie" value="' + filename + '" />\
									  <param name="quality" value="high" />\
									  <param name="wmode" value="transparent" />\
									  <embed src="' + filename + '"  wmode="transparent" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + w + '" height="' + h + '"></embed>\
									</object>';
	}	