String.prototype.Trim = function(){ return this.replace(/(^\s*)|(\s*$)/g, "");}
Request = { QueryString : function(item){ var svalue = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)","i")); var Qvalue = svalue ? svalue[1] : svalue; if(Qvalue==null) { return ""; } else { return Qvalue.Trim(); } } }
var $ =function(ID){return document.getElementById(ID);};

document.onkeyup = function(event)
{
	event = event || window.event;
	var key = event.keyCode || event.which;
	if(key==13)
	{
		Login();
	}
}

function GetArea()
{
	var area = "";
	try
	{
		if(geoip_city() != "" && geoip_city() != null)
		{
			area += geoip_city()+", ";
		}
		if(geoip_region_name() != "" && geoip_region_name() != null)
		{
			area += geoip_region_name()+", ";
		}
		if(geoip_country_name() != "" && geoip_country_name() != null)
		{
			area += geoip_country_name();
		}
	}
	catch(err)
	{
		area="";
	}
	return area;
}

function GetWebSite()
{
	var website = "";
	if(Request.QueryString("WebName")!="")
	{
		website = Request.QueryString("WebName");
	}	
	if(website=="")
	{
		website = "livechat";
	}
	return website;
}

function Login()
{
	if($("drpServiceType").value=="")
	{
		$("drpServiceType").focus();
		alert("Choose game please."); 
		return false;
	}
	
	if($("txtNickname").value.Trim()=="")
	{
		$("txtNickname").focus();
		alert("What's your character name in game?"); 
		return false;
	}

	var Regex=new RegExp("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$","gi");
	if( !Regex.test( $("txtEmail").value.Trim() ) )
	{
		$("txtEmail").focus();
		alert("It's error for your Email Address!");
		return false;
	}	
	
	var servicename=$("drpServiceType").value;
	var nickname = $("txtNickname").value.Trim();
	var email = $("txtEmail").value.Trim();
	
	var website = GetWebSite();
	var area = GetArea();
	var pageinfo=unescape(Request.QueryString("userfrom"));
	
	var time = new Date();
	time = time.getFullYear() + "" + time.getMonth() + "" + time.getDate() + "" + time.getHours() + "" + time.getMinutes() + "" + time.getSeconds() + "" + time.getMilliseconds();
	var url="JsInterface/customerlogin.ashx?website="+escape(website)+"&servicename="+escape(servicename)+"&nickname="+escape(nickname)+"&email="+escape(email)+"&area="+escape(area)+"&pageinfo="+escape(pageinfo)+"&time=" + time;
	$("LoginBtn").innerHTML="Waiting for... <img src='images/wait.gif' width='32' height='32' align='absmiddle'/>";
	JsLoad(url);
}

function LoginCompleted(result)
{
	$("LoginBtn").innerHTML = "<img src=\"Images/loginbtn.jpg\" width=\"156\" height=\"47\" onclick=\"Login();\" />";
	
	if( result.status=="OK" && result.chatno!="0")
	{
		window.opener=null;
		var url="chat.html?chatno="+result.chatno;
		
		window.resizeTo(700,600);
		var wleft=parseInt( (window.screen.availWidth-650)/2);
		wleft=wleft<0?0:wleft;
		var wtop=parseInt( (window.screen.availHeight-500)/2);
		wtop=wtop<0?0:wtop;
		window.moveTo( wleft,wtop );
		
		location.href= url;
	}
	else if(result.status=="OK" && result.chatno=="0")
	{
	    alert("Live Support is unavailable currently.");
	    /****
		var servicename=escape($("drpServiceType").value);
		var nickname = escape($("txtNickname").value.Trim());
		var email = escape($("txtEmail").value.Trim());	
		var time = new Date();
		time = time.getFullYear() + "" + time.getMonth() + "" + time.getDate() + "" + time.getHours() + "" + time.getMinutes() + "" + time.getSeconds() + "" + time.getMilliseconds();
		location.href = "leaveword.html?servicename="+servicename+"&nickname="+nickname+"&email="+email+"&time="+time;
		****/
	}
	else
	{
		alert("An error occurred, please try again later!");
	}
}

function JsLoad(url)
{
	var node = document.createElement("script");
	node.type="text/javascript";
	node.src=url;
	
	var callback = false;
	
	node.onload = function()
	{
		window.setTimeout( function(){ 
										callback=true; 
										if(node && node.parentNode) 
										{ 
											node.parentNode.removeChild(node); 
										} 
									}, 
							10
						 );
	}
	
	node.onreadystatechange = function()
	{
		try{
		if(node.readyState=="loaded")
		{
			window.setTimeout( function(){ try{
											if(node && node.parentNode) 
											{ 
												node.parentNode.removeChild(node); 
											} 
											}catch(err){}
										}, 
								10
							 );			
		}
		}catch(err){}
	}	
	
	window.setTimeout( function(){
									$("LoginBtn").innerHTML = "<img src=\"Images/loginbtn.jpg\" width=\"156\" height=\"47\" onclick=\"Login();\" />";
									
									if(node && node.parentNode)
									{
										node.parentNode.removeChild(node); 
										if(!callback)
										{
											alert("Connection timeout.");
										}
									}
								 }
						,30000
					  );
	
	document.getElementsByTagName("head")[0].appendChild(node);
}

function SelectDefaultService()
{
	var selectInfo=unescape(Request.QueryString("selectInfo"));
	if(selectInfo=="") return;
	var selectarr=selectInfo.split(";");
	var defaultType=selectarr[0].Trim();
	var drpservicetype = $("drpServiceType");
	for(var i=0;i<drpservicetype.options.length;i++)
	{
		if(drpservicetype.options[i].value==defaultType)
		{
			drpservicetype.selectedIndex=i; 
			break;
		}
	}
}

SelectDefaultService();