﻿//构造函数
function login(){};
//登录对象初始化
login.prototype.init=function()
{
	this.loginform.onsubmit=function(){ return false; }
	var This=this;
	this.loginform.onkeyup=function(evt)
	{
		evt = evt ? evt : (window.event ? window.event : null);
		if(evt.keyCode==13 )
		{
			This.signin();
		}		
	}
	this.loginBtn.className="loginBtn";
	this.loginBtn.innerHTML="";
	this.loginBtn.onclick=function(){This.signin();}

}
//绑定服务分类下拉框
login.prototype.BindServiceType=function()
{
	var drp=this.drpservicetype;
	drp.length=0;
	drp.options[drp.options.length]=new Option("Choose please","");
	for(var i=0;i<chatservice.length;i++)
	{
		drp.options[drp.options.length]=new Option( chatservice[i][2], chatservice[i][0]);
	}
	drp.selectedIndex=0;

	var This=this;
	drp.onchange=function()	{ This.BindServiceArea();}
	
	this.selectDefault();
}
//指定服务分类和服务区域
login.prototype.selectDefault=function()
{
	var selectInfo=unescape(Request.QueryString("selectInfo"));
	if(selectInfo=="") return;
	var selectarr=selectInfo.split(";");
	var defaultType=selectarr[0].trim();
	var defaultarea;
	if(typeof( selectarr[1] )=="undefined") defaultarea="";
	else defaultarea=selectarr[1].trim();
	for(var i=0;i<chatservice.length;i++)
	{
		if(chatservice[i][3]==defaultType) { this.drpservicetype.selectedIndex=i+1; break; }
	}
	this.BindServiceArea();
	var drp=this.drpservicearea;

		//if( drp.options[i].text.indexOf( defaultarea )!=-1 ) { drp.selectedIndex=i; break; }
		
		var selectedIdx=this.selectServiceIndex();
		var sarr=chatservice[selectedIdx][4];
		for(var i=0;i<sarr.length;i++)
		{
		if(sarr[i][2].indexOf( defaultarea )!=-1)
		{
		document.getElementById('keyword').value=sarr[i][2];
		document.getElementById('drpservicearea').value=sarr[i][0];
		}
		}
	
}
//绑定服务区域下拉框
login.prototype.BindServiceArea=function()
{
		var drp=this.drpservicearea;
		document.getElementById('keytext').innerHTML="";
		//drp.length=0;
		var selectedIdx=this.selectServiceIndex();
		if(selectedIdx==-1) return;
		if(chatservice[selectedIdx][4]==null)
		{
			//drp.options[drp.options.length]=new Option(chatservice[selectedIdx][2], chatservice[selectedIdx][0]);
			//drp.innerHTML += "<ul><li>"+chatservice[selectedIdx][2]+"</li></ul>";
			document.getElementById('keyword').value=chatservice[selectedIdx][2];
			document.getElementById('drpservicearea').value=chatservice[selectedIdx][0];
			document.getElementById('keytext').innerHTML += "<p onMouseOver=\"this.style.backgroundColor='#B4D7E9';\" onMouseOut=\"this.style.backgroundColor=''\" onClick=\"clickkey('"+chatservice[selectedIdx][2]+"',"+chatservice[selectedIdx][0]+")\" style=\"cursor:pointer\">"+chatservice[selectedIdx][2]+"</p>";
		}
		else
		{
		    if(selectedIdx!=0)
		    {
			var sarr=chatservice[selectedIdx][4];
			for(var i=0;i<sarr.length;i++)
			{
				//drp.options[drp.options.length]=new Option(sarr[i][2],sarr[i][0]);
				//drp.innerHTML += "<ul><li>"+sarr[i][2]+"</li></ul>";
                document.getElementById('keytext').className="text2";
				document.getElementById('keytext').innerHTML += "<p onMouseOver=\"this.style.backgroundColor='#B4D7E9';\" onMouseOut=\"this.style.backgroundColor=''\" onClick=\"clickkey('"+sarr[i][2]+"',"+sarr[i][0]+")\" style=\"cursor:pointer\">"+sarr[i][2]+"</p>";
              
			}
				document.getElementById('keyword').value=sarr[0][2];
				document.getElementById('drpservicearea').value=sarr[0][0];
			}
			else
			{
			var sarr=chatservice[selectedIdx][4];		
			document.getElementById('keyword').value=sarr[0][2];
			document.getElementById('drpservicearea').value=sarr[0][0];
			var sendData="key=";
			var result=postHTML("service/Chooserealm.aspx", sendData, function(result){receive_CallBack(result) });
			}

		}
		//drp.selectedIndex=0;
}
function keySelectHistory2()
{
var key=document.getElementById('keyword').value;
var sendData="key="+key+"";
var result=postHTML("service/Chooserealm.aspx", sendData, function(result){receive_CallBack(result) });
}
function receive_CallBack(result)
{
if(result==false) { return; }
 document.getElementById('keytext').className="text";
document.getElementById('keytext').innerHTML =result;
}
//获得选择的服务分类在服务数组中的下标位置,以绑定服务区域下拉框
login.prototype.selectServiceIndex=function()
{
	var svalue=this.drpservicetype.value;
	for(var i=0;i<chatservice.length;i++)
	{
		if( svalue==chatservice[i][0] ) return i;
	}
	return -1;
}
//获得服务名称
login.prototype.getservicename=function()
{
	var svalue=this.drpservicetype.value;
	var typename,typei;
	for(var i=0;i<chatservice.length;i++)
	{
		if( svalue==chatservice[i][0] ) { typei=i; typename=chatservice[i][3]; break; }
	}
	var selectvalue=this.drpservicearea2.value;
	if(svalue!=selectvalue)
	{
		var servicearea=chatservice[typei][4];
		for(var i=0;i<servicearea.length;i++)
		{
			if(selectvalue==servicearea[i][0]) { typename="("+typename+")"+servicearea[i][3]; break; }
		}
	}
	return typename;
}
//检查表单
login.prototype.checkform=function()
{
	if(this.drpservicetype.value=="") { this.drpservicetype.focus(); alert("Choose game please."); return false; }
	if(this.drpservicearea.value=="") { this.drpservicearea.focus(); alert("Choose realm please."); return false;}
	if(this.txtcharacter.value.trim()=="") { this.txtcharacter.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(this.txtemail.value.trim()) )
	{
		this.txtemail.focus();
		alert("It's error for your Email Address!");
		return false;
	}

	return true;
}
//提交表单
login.prototype.signin=function()
{
	var This=this;
	
	if(!(this.checkform())) return false;
	
	var username,userpwd,nickname,usertype;
		username=this.txtcharacter.value.trim();  
		nickname=username;
		usertype="Customer";
	var email=this.txtemail.value.trim();
	
	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="";
	}
	
	var website=Request.QueryString("WebName");
	if(website.length>0) { if(website.substr(website.length-1)==";")  { website=website.substring(0,website.length-1);}}
	
	var servicename=this.getservicename();
	var serviceid=this.drpservicearea2.value;
	var pageinfo=unescape(Request.QueryString("userfrom"));
	
	var character=this.txtcharacter.value.trim();

	this.loginBtn.className="waitfor";
	this.loginBtn.onclick=function(){}
	this.loginform.onkeyup=function(){}
	this.loginBtn.innerHTML="Waiting for... <img src='images/wait.gif' width='32' height='32' align='absmiddle'/>";
	
	var sendData="username="+escape(username)+"&userpwd="+escape(userpwd)+"&nickname="+escape(nickname)+"&usertype="+escape(usertype)+"&email="+escape(email)+"&area="+escape(area)+"&website="+escape(website)+"&servicename="+escape(servicename)+"&serviceid="+escape(serviceid)+"&character="+escape(character)+"&pageinfo="+escape(pageinfo);
	var result=postHTML("service/customer_login.aspx", sendData, This.callback);
}
//提交表单回调方法
login.prototype.callback=function(result)
{
	if(result===false) { this.init();alert("Connect Failed."); return false; }	
	if(result==false) { this.init(); alert("Connect remote server failed."); return false;}
	if(result=="Login Failed") {this.init(); alert("Your ID or Password Error."); return false;}
	if(result=="Assign Failed") { this.init();alert("Live Support is unavailable currently. Invites your message.");  return false; }
	if(result.substring(0,7)=="Connect")
	{
		var retarr=result.split("|");
		var connect=unescape(retarr[1]);
		var website=retarr[2];
		var logo=retarr[3];
		var banner=retarr[4];
		var bannerlink=retarr[5];
		var pagetype=retarr[6];
		
		window.opener=null;
		
		var url="livechat.html?connect="+connect+"&website="+website+"&logo="+logo+"&banner="+banner+"&bannerlink="+bannerlink+"&pagetype="+pagetype;
		
		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 );
		top.location.href= url;
	}	
}

var clientlogin=new login();
//初始化
function init()
{
    clientlogin.drpservicetype=$("drpServiceType");
    clientlogin.drpservicearea=$("keytext");
    clientlogin.drpservicearea2=$("drpservicearea");
    clientlogin.txtcharacter=$("txtCharacter");
    clientlogin.txtemail=$("txtEmail");
    clientlogin.loginBtn=$("loginBtn");
    clientlogin.loginnametitle=$("loginnametitle");
	clientlogin.loginform=$("loginform");
    clientlogin.init();
}

if(Request.QueryString("WebName")=="") 
{
	//document.body.innerHTML="";
	document.write("<div align='center' style='color:#000000; height:30px; line-height:30px;'>Please sign in from the website!</div>");
}
else
{
	window.onload=init;
}