﻿function Trim()
{
	return this.replace(/\s+$|^\s+/g,"");
}
String.prototype.Trim=Trim;
function CheckString(string,content)
{
	var count=0;
	var CheckArray=new Array("<",">","##","$","&");
	for(i=0;i<string.length;i++)
	{
		for(j=0;j<CheckArray.length;j++)
		{
			if(string.substring(i,i+1)==CheckArray[j])
			{
				count++;
				break;
			}
		}
	}
	if(count>0)
	{
		//alert("在"+content+"中包含了非法字符，请重新设置");
		alert("Contains illegal characters in the "+content+",please re-instated")
		return false;
	}
	else
	{
		return true;
	}
}

function CheckPassword(string,content)
{
	var count=0;
	var CheckArray=new Array("<",">","##","$","&"); 
	for(i=0;i<string.length;i++)
	{
		for(j=0;j<CheckArray.length;j++)
		{
			if(string.substring(i,i+1)==CheckArray[j])
			{
				count++;
				break;
			}
		}
	}
	if(count>0)
	{
		//alert("在"+content+"中包含了非法字符，请重新设置");
		alert("Contains illegal characters in the "+content+",please re-instated")
		return false;
	}
	else
	{ 
		return true;
	}
}
// url地址的js替换规则
function rep(str)
{
	str = str.replace(/\./g,"*");
	str = str.replace(/ - /g,",");
	str = str.replace(/_/g,".");
	str = str.replace(/-/g,"_");
	str = str.replace(/ /g,"-");	
	return str;
}
  
function  ChanageStrLaction(GameShortName,ProductTypeName,ProductName,ServerObj,Curc,dis,code)
{
	if(document.getElementById(ServerObj))
	{
		var ServerName = document.getElementById(ServerObj).options[document.getElementById(ServerObj).selectedIndex].text;
	}
	else
	{
		var ServerName = "allserver";
	}
	
	Currency = document.getElementById(Curc).options[document.getElementById(Curc).selectedIndex].text;
	Currency = Currency.toUpperCase(); 
	
	var backname = ".html";
	if(typeof dis != 'undefined' && dis == '0'){
		if(typeof code != 'undefined' && code != '')
		backname = "-MMOXESales-" + code;	
	}
	var StrUrl = "/" + 	rep(GameShortName) + "/" +rep(ProductTypeName) + "/" + rep(ProductName) + "/cheap-" + rep(ServerName) + "-" + Currency + backname;	 
	
	window.location = StrUrl;
}


function  CreateUrl(GameShortName,ProductTypeName,ProductName,Serverid,Curc)
{
	var ServerName = "";
	
	var servers = document.getElementById("server").options;
	
	for(var i = 0;i<servers.length;i++)
	{
		if(servers[i].value == Serverid)
		{
			ServerName = servers[i].text;
			break;
		}
	}
	
	var Currency = Curc;
	Currency = Currency.toUpperCase(); 
	
	var StrUrl = "/" + 	rep(GameShortName) + "/" +rep(ProductTypeName) + "/" + rep(ProductName) + "/cheap-" + rep(ServerName) + "-" + Currency +".html";	 
	
	window.location = StrUrl;
}

 
function onkeyPressNumbers(e)
{ 
	var key = window.event ? e.keyCode : e.which;
	if(key == 8)	// 如果按退格，直接返回，否则验证为数字
	{
		return;
	}
	var keyChars = String.fromCharCode(key);
	reg = /^\d{1}$|^\d{2}$/; 
	return reg.test(keyChars);  
}

function NextObj(obj,NextObj)
{ 
	var objLength = document.getElementById(obj).value.length; 
	if(objLength == 3)
	{ 
		document.getElementById(NextObj).focus();
	}
}

function NonUSPhone(obj,NextObj)
{
	var objLength = document.getElementById(obj).value.length; 
	if(objLength == 4)
	{ 
		document.getElementById(NextObj).focus();
	}
}



function ChanageCurrency(CurcObj,tagObj,ServerObj)
{
	var CurrencyID = document.getElementById(CurcObj).value;
	var tagID = document.getElementById(tagObj).value;
	var sid = document.getElementById(ServerObj).value;
	var StrURL = "?action=cmd&&Curc="+CurrencyID;
	if(tagID > 0)
	{
	 	StrURL =  "?action=cmd&Curc="+CurrencyID+"&tagNameID="+tagID;
	}
	if(sid > 0)
	{
		StrURL =  "?action=cmd&Curc="+CurrencyID+"&sid="+sid;
	}
	if(tagID > 0 && tagID > 0)
	{
		StrURL = "?action=cmd&&Curc="+CurrencyID+"&sid="+sid+"&tagNameID="+tagID;
	} 	
	window.location = StrURL;
}

function  LocationURL(tagObj,ServerObj)
{
	var CurrencyID = document.getElementById("Currency").value;
	var tagID = document.getElementById(tagObj).value;
	var sid = document.getElementById(ServerObj).value;
	if(tagID == 0)
	{
		alert("Please select the product!");	
		return false;
	}
	var StrURL = "?action=cmd&Curc="+CurrencyID+"&sid="+sid+"&tagNameID="+tagID;
	window.location = StrURL;
}


var ProductResult = ""; 
function  LoadProductList(gameid,serverObj)
{ 
	var CurrencyID = document.getElementById("Currency").value;
	var sid = document.getElementById(serverObj).value;
	if(sid == 0)
	{
		alert("Please select a server!");	
		return false;
	}
	
	//var StrURL = "?action=cmd&Curc="+CurrencyID+"&sid="+sid;
	//window.location = StrURL;
	ProductResult = ReAjax.prototype.LoadUrl2("/ajax/getProductList.cfm?gameid="+gameid+"&serverid="+sid);  
	BoandProductList();
}

function BoandProductList()
{
	while(document.getElementById("ProductNameListID").options.length > 0)
	{
		document.getElementById("ProductNameListID").remove(0)
	}
	document.getElementById("ProductNameListID").selectedIndex=-1;
	var opt = document.createElement("OPTION");
	opt.text = "---Loading...---";
	opt.value = "0";
	document.getElementById("ProductNameListID").options.add(opt);
	opt.selected = true;
	if (ProductResult != "") 
	{ 
		var str = ProductResult;
		while(document.getElementById("ProductNameListID").options.length>0)
		{
			document.getElementById("ProductNameListID").remove(0)
		}
		document.getElementById("ProductNameListID").selectedIndex = -1;
		var rightstr = str.split("$$$");
		var arrayStr = rightstr[0].split("|");
		var i;
		var opt = document.createElement("OPTION");
		opt.text = "---Please select the product---";
		opt.value = "0";
		document.getElementById("ProductNameListID").options.add(opt);
		opt.selected = true;
		if(arrayStr.length-1 > 0)
		{
			for(i = 0;i < arrayStr.length - 1;i++)
			{
				var arrayName = new Array(1);
				arrayName = arrayStr[i].split("@");
				var opt = document.createElement("OPTION");
				opt.text = arrayName[1];
				opt.value = arrayName[0];
				document.getElementById("ProductNameListID").options.add(opt);
			}
		} 
		showShop(arrayStr);
	}	
}
function showerror(){alert(document.getElementById("errorshow").innerHTML);return false;}
var gamePrice = 
{	
	EVE:1000,WOW:5000,WOW_EU:1000,AOC:100,AOC_EU:100,FFXI:1000,KALONLINE:5,
	AION:5,DOFUS:1000,SWG:100,EQ:100,EQ2:100,EQ3:100,WARHAMMER:1000,WO_EU:1000,
	POTBS:1000,DDO:1000,LINEAGE2:100,GUILDWARS:100,GW_GLOBS:50,LOTRO:30,LOTRO_EU:10,
	COV:200,COH:200,AIONEU:5,ARCHLORD:200,TWELVESKY2:100,TWELVESKY:100,DAOC:100,
	DAOCEU:100,REQUIEM_ONLINE:300,HABBO:100,RAPPELZ_ONLINE:100,MXO:800,MOONS:100,
	FIESTA:1000,CABAL:200,CABALEU:200,PERFECTWORLD:20,PERFECTWORLD_EU:20,
	SHAIYA:100,TIBIA:100,ATLANTICAONLINE:200,SRD:200,LUNA:10,LATALE:10,VC:50,
	DRAGONICA:100,MS:100,MS_EU:20,RF:50,DRAGONS:100,LC:500,RO:20,SECONDLIFE:10,
	SNW:100,TOP:10,KNIGHTONLINE:100,FLYFF:300,MABINOGI:1000,METIN2:100,AO:100,
	ROHANONLINE:50,TCOS:10,TCOSEU:5,ROM:1000,JADEDYNASTY:10	
};
var url=top.location.href;
function gamePriceOther(arg){
	if(arg=="2MOONS"){return 100;}
	else if(arg=="9DRAGONS"){return 100;}
	else return 0;
	}
function getAVGPrice(){
	try{
		url=url.replace("http://www.mmoxe.com/","");
		url=url.substring(0,url.indexOf("/")).toUpperCase();	
	 return eval("gamePrice."+url);
	}catch(e){return gamePriceOther(url);}
	}	
	
function deliveryPriority(me,fid){
	if(CurrencyArray[0]==0){return false;}
	if(me.checked){
		var fm=document.getElementById(fid);
		for(i=1;i<=fm.countCurrency.value;i++){
		   try{
			var divstr=document.getElementById("ShowPrice_"+i).innerHTML.split(" "); 
			var curstr=divstr[0];
			var price=Currency2Array[i-1];
			document.getElementById("ShowPrice_"+i).innerHTML=curstr+" "+price;
		   }catch(e){
		    document.getElementById("errorshow").innerHTML+="\n\n deliveryPriority() \n\n"+e.toString();	
		   }
		}
	}else{
	   var fm=document.getElementById(fid);
		for(i=1;i<=fm.countCurrency.value;i++){
		   try{
			var divstr=document.getElementById("ShowPrice_"+i).innerHTML.split(" "); 
			var curstr=divstr[0];
			document.getElementById("ShowPrice_"+i).innerHTML=curstr+" "+CurrencyArray[i-1];
		   }catch(e){
		    document.getElementById("errorshow").innerHTML+="\n\n deliveryPriority() \n\n"+e.toString();	
		   }
		}
	}
}
function showShop(arrayStr){
	try
	{
		var first=parseInt(arrayStr[0].split("@")[1].split(" ")[0].replace(",",""));
		var arrayStrL=arrayStr.length-2;
		var last=parseInt(arrayStr[arrayStrL].split("@")[1].split(" ")[0].replace(",",""));
		if(first<last){
		   var temparr=new Array();
		   var templength=0;
		   for(i=arrayStr.length-2;i>=0;i--){
			  temparr[templength]=arrayStr[i];
			  templength++;
		   }
		   arrayStr=temparr;
		}
	}catch(e)
	{
		document.getElementById("errorshow").innerHTML+="\n\n"+e.toString();	
	}//alert(first);alert(last);alert(arrayStr);
    var GameServer=document.getElementById("GameServer");
	var i=0;
	try{
		var avg=getAVGPrice();
		if(url=="AION"){
			for(k in arrayStr){
				if(arrayStr[k].split(" - ")[1].split("M")[0].replace(",","")==avg){
				i=k;
				break;
				}
			}
			document.getElementById("priceDiv").innerHTML=arrayStr[i].split(" - ")[1].split("M")[0].replace(",","");
			document.getElementById("maxPriceDiv").innerHTML=arrayStr[0].split(" - ")[1].split("M")[0].replace(",","");
			document.getElementById("maxPriceDiv2").innerHTML=document.getElementById("maxPriceDiv").innerHTML;
			document.getElementById("serverDiv").innerHTML=GameServer[GameServer.selectedIndex].text;
			document.getElementById("orderDiv").innerHTML="0";
			showTabStyle(document.getElementById("maxPriceDiv").innerHTML,document.getElementById("priceDiv").innerHTML,"tbtr","#00FF00");
			return;
		}
		else{
			for(k in arrayStr){
				if(arrayStr[k].split("@")[1].split(" ")[0].replace(",","").replace("M","")==avg){
				i=k;
				break;
				}
			}
		}
	}catch(ee){document.getElementById("errorshow").innerHTML+="\n\n"+ee.toString();	}
	if(i==0){
	i=Math.ceil((arrayStr.length-1)/2)-1;
	}
	document.getElementById("priceDiv").innerHTML=arrayStr[i].split("@")[1].split(" ")[0];
	document.getElementById("maxPriceDiv").innerHTML=arrayStr[0].split("@")[1].split(" ")[0];
	document.getElementById("maxPriceDiv2").innerHTML=document.getElementById("maxPriceDiv").innerHTML;
	document.getElementById("serverDiv").innerHTML=GameServer[GameServer.selectedIndex].text;
	document.getElementById("orderDiv").innerHTML="0";
	showTabStyle(document.getElementById("maxPriceDiv").innerHTML,document.getElementById("priceDiv").innerHTML,"tbtr","#00FF00");
}

function initShop(){
    var GameServer=document.getElementById("GameServer");
	if(GameServer.selectedIndex>0){
	var product=document.getElementById("ProductNameListID");
	var i=0;
	try{
		var avg=getAVGPrice();
		if(url=="AION")
		{
			for(k=1;k<product.length;k++){
				if(product[k].text.split(" - ")[1].split("M")[0].replace(",","")==avg){
				i=k;
				break;
				}
			}
				if(parseInt(product[1].text.split(" - ")[1].split("M")[0].replace(",",""))>parseInt(product[product.length-1].text.split(" - ")[1].split("M")[0].replace(",","")))
			{
				document.getElementById("maxPriceDiv").innerHTML=product[1].text.split(" - ")[1].split("M")[0].replace(",","");
				document.getElementById("priceDiv").innerHTML=product[i].text.split(" - ")[1].split("M")[0].replace(",","");
			}else
			{
				document.getElementById("maxPriceDiv").innerHTML=product[product.length-1].text.split(" - ")[1].split("M")[0].replace(",","");
				document.getElementById("priceDiv").innerHTML=product[i].text.split(" - ")[1].split("M")[0].replace(",","");
			}
			document.getElementById("orderDiv").innerHTML=product[product.selectedIndex].text.split(" - ")[1].split("M")[0].replace(",","");
			document.getElementById("maxPriceDiv2").innerHTML=document.getElementById("maxPriceDiv").innerHTML;
			showTabStyle(document.getElementById("maxPriceDiv").innerHTML,document.getElementById("priceDiv").innerHTML,"tbtr","#00FF00");
	showTabStyle(document.getElementById("maxPriceDiv2").innerHTML,document.getElementById("orderDiv").innerHTML,"tb2tr","#0099FF");
			return;
		}
		else
		{	for(k=1;k<product.length;k++){
				if(product[k].text.split(" ")[0].replace(",","").replace("M","")==avg){
				i=k;
				break;
				}
			}
		}
	}catch(ee){document.getElementById("errorshow").innerHTML+="\n\n"+e.toString();	}
	if(i==0){
	i=Math.ceil((product.length-1)/2);
	}
	try{
		if(parseInt(product[1].text.split(" ")[0].replace(",",""))>parseInt(product[product.length-1].text.split(" ")[0].replace(",","")))
		{
			document.getElementById("maxPriceDiv").innerHTML=product[1].text.split(" ")[0];
			document.getElementById("priceDiv").innerHTML=product[i].text.split(" ")[0];
		}else
		{
			document.getElementById("maxPriceDiv").innerHTML=product[product.length-1].text.split(" ")[0];
			document.getElementById("priceDiv").innerHTML=product[i].text.split(" ")[0];
		}
	}catch(e){
	document.getElementById("errorshow").innerHTML+="\n\n"+e.toString();	
	document.getElementById("maxPriceDiv").innerHTML="0";
	}
	document.getElementById("maxPriceDiv2").innerHTML=document.getElementById("maxPriceDiv").innerHTML;	
	document.getElementById("orderDiv").innerHTML=product[product.selectedIndex].text.split(" ")[0];
	}
	else{
	  	document.getElementById("priceDiv").innerHTML="0";
	}
	showTabStyle(document.getElementById("maxPriceDiv").innerHTML,document.getElementById("priceDiv").innerHTML,"tbtr","#00FF00");
	showTabStyle(document.getElementById("maxPriceDiv2").innerHTML,document.getElementById("orderDiv").innerHTML,"tb2tr","#0099FF");
}

function showTabStyle(maxv,showv,tabid,color){
	maxv=maxv.replace(",","");
	showv=showv.replace(",","");
   	try{
		var avgv=parseInt(maxv)/10;
		showv=parseInt(showv);
		var priceV=parseInt(document.getElementById("priceDiv").innerHTML.replace(",",""));
		var orderV=parseInt(document.getElementById("orderDiv").innerHTML.replace(",",""));
	}catch(e){
	    var avgv=0;
		var priceV,orderV;
	}
	var temp=0;
	if(avgv==0){
	   for(i=11;i<=20;i++){
		   if(i<=15){ 
		   document.getElementById(tabid+""+i).style.backgroundColor=color; 
		   }else{
			document.getElementById(tabid+""+i).style.backgroundColor="#CCCCCC"; 
		   }
	   }
	}
	else{
		temp=Math.ceil(showv/avgv)+10;
		var winkimg=document.getElementById("winkimg");
		var piccent=orderV/priceV;
		if(orderV<(priceV/2))
		{winkimg.src="/images/icon_wink1.gif";}
		else if(orderV<priceV)
		{winkimg.src="/images/icon_wink2.gif";}
		else if(orderV<((maxv-priceV)/2))
		{winkimg.src="/images/icon_wink3.gif";}
		else
		{winkimg.src="/images/icon_wink4.gif";}
	   for(i=11;i<=20;i++){
		  if(i<=temp)
		  {
			document.getElementById(tabid+""+i).style.backgroundColor=color;
		  }
		  else
		  {
			document.getElementById(tabid+""+i).style.backgroundColor="#CCCCCC";   
			/*document.getElementById(tabid+""+(i+10)).innerHTML="";  */
		  }
	   }
	}
}

function VerifyPaymode(CurcID,M)
{
	if(CurcID > 0)
	{	
		for(j=1;j<20; j++)
		{
			var obj = document.getElementById("PayMode_"+j);
			if(obj)
			{ 
				obj.disabled = "disabled";
			}
		}
		var PaymodeResult = ReAjax.prototype.LoadUrl2("/ajax/verifyPaymode.cfm?curc="+CurcID+"&m="+M); 
		if(PaymodeResult != "")
		{
			 
			var ArrayPay = PaymodeResult.split(",");
			for(i=0; i<ArrayPay.length; i++)
			{ 
				var PayObj = document.getElementById("PayMode_"+ArrayPay[i]);
				if(PayObj)
				{ 
					PayObj.disabled = false;
				}
			} 
		}
	}
}


/******************************product js**************************/
function  ChanageRowBg(id)
	{
		var obj = document.getElementById("Tag_" + id);
		if(obj.checked)
		{ 
			document.getElementById("TagPriceRow_" + id).style.backgroundColor = "##CCCCCC"; 
			document.getElementById("TagPriceRow_" + id).style.borderBottom = "##0000FF 1px solid";
		}
		else
		{
			document.getElementById("TagPriceRow_" + id).style.backgroundColor = "";
			document.getElementById("TagPriceRow_" + id).style.borderBottom = "";
		}
	}
	var currentpage = 1;
	function goPage(page){
		if(currentpage==page)return false;
		document.getElementById("page_"+currentpage).style.display="none";
		document.getElementById("page_"+page).style.display="";
		document.getElementById("href_"+page).innerHTML="<span class='pagenow'>"+page+"</span>";
		document.getElementById("href_"+currentpage).innerHTML="<span>"+currentpage+"</span>";
		currentpage = page;
	}
	function check(flag,ptid)
	{
		var ok = 1;
		var qty_pattern = /^\d{1,3}$/;
		if(!qty_pattern.test(document.getElementById("qty_"+ptid).value))
		{
			alert("The Quantity is invalid.");
			ok = 0;
		}
		else
		{
			if(flag == 1)
			{
				if(!confirm('Different type of products cannot be purchased together, or your product in shopping cart will be replaced. Are you sure you want to do this?'))
				{  
					ok = 0;
				} 	
			}
		}
		
		if(ok == 1)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	
	function priorityToggle(obj)
	{
		var hids = document.getElementsByName("priority");
		for(var i = 0;i<hids.length;i++)
		{
			hids[i].value = Math.abs(parseInt(hids[i].value)-1);	
		}
		if(obj.checked)
			document.getElementById("priorityDiv").style.color = 'red';
		else
			document.getElementById("priorityDiv").style.color = 'gray';
	}
	
	
	
	/************************server  JS *******************/
	
	function changeServerList(name)
{
	var tables = document.getElementById("serverlist").getElementsByTagName("div");
	for(var i = 0;i<tables.length;i++)
	{
		if(tables[i].id&&tables[i].id!="serverlist")
		{
			if(name == "All")
			{
				if(tables[i].style.display != "block")
				{
					tables[i].style.display = "block";
				}
			}
			else
			{
				if(tables[i].id == name)
				{
					if(tables[i].style.display != "block")
					{
						tables[i].style.display = "block";
					}
				}
				else
				{
					if(tables[i].style.display != "none")
					{
						tables[i].style.display = "none";	
					}
				}
			}
		}
	}
}

function toGoProduct(sid)
{
	location = http + sid + ".html";	
}
	
function verifyTip(obj,n){
	n = parseInt(n);
	var allObj = jQuery(".needVerify");
	var allTip = jQuery(".verifyTip");
	for(var i=0; i<n; i++){
		if(i == 1){
			if(!isEmail(jQuery.trim(allObj[i].value))){
				allTip[i].innerHTML = "<font color='red'>×</font>";
			}
			else{
				allTip[i].innerHTML = "<font color='green'>√</font>";	
			}
		}
		else if(i==2 || i==3){
			if(jQuery.trim(allObj[2].value) == "" && jQuery.trim(allObj[3].value) == "")
				allTip[i].innerHTML = "<font color='red'>×</font>";
			else
				allTip[i].innerHTML = "<font color='green'>√</font>";
		}
		else{
			if(jQuery.trim(allObj[i].value) == ""){
				allTip[i].innerHTML = "<font color='red'>×</font>";
			}
			else{
				allTip[i].innerHTML = "<font color='green'>√</font>";
			}
		}
	}
}

function changeTelType(showObj,hidObj){
	document.getElementById(showObj).style.display = '';
	document.getElementById(hidObj).style.display = 'none';
}
function TRequire(start,end,type)
{
	var url = "/ajax/getRangeRequie.cfm?start="+start+"&end="+end+"&skillType="+type;
	var result = ReAjax.prototype.LoadUrl2(url); 
	if(result!="")
	{
		var arr = result.split('|||');
		document.getElementById("viewRequire").innerHTML=arr[1];
		document.getElementById("hiddenSkillType").value=arr[0];
	}
}
