/*
------------------------------	JavaScript	---------------------------------
Description:Select Golds
-------------- ADD:	2008-01-03 --------------
---------------------------------------------------------------
*/

	function alertInfo()
	{
		alert("Please choose Server and Quantity .");
	}
		
	function InitAjax()
	{
		var ajax=false;
		try
		{
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				ajax = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(E)
			{
				ajax = false;
			}
		}
	
		if (!ajax && typeof XMLHttpRequest!='undefined')
		{
			ajax = new XMLHttpRequest();
		}
		
		return ajax;
	}


/*----------------------onload----------------------*/
    function gameLoad(gameID)
    {
        if(document.getElementById(gameID)!=null)
        {
            var url = "Servers.aspx";
	        var postStr = "games=ALL";
        	
	        var ajax = InitAjax();
	        ajax.open("POST", url, true);
	        ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
	        ajax.send(postStr);
	        ajax.onreadystatechange = function()
	        {
		        if (ajax.readyState == 4 && ajax.status == 200)
		        {
			        var str=ajax.responseText;
			        addOPTION(document.getElementById(gameID), str);	//get game list
		        }
	        }
	        
	        //default 
	        
	    }
    }


/*----------------------add server info----------------------*/
	function sel_Games(gameID, serverID, quantity, total, txtPid, hidP, hidPid, hidPic, div)
	{
		var gid=document.getElementById(gameID).value;
		
		document.getElementById(serverID).innerHTML="";
		document.getElementById(quantity).innerHTML="";
		document.getElementById(total).value="";
		document.getElementById(txtPid).value="";
		document.getElementById(hidP).value="";
		document.getElementById(hidPid).value="";
		document.getElementById(hidPic).value="";
		document.getElementById(div).innerHTML="<input type='button' class='gold_paypal' onClick='alertInfo();'/>";
		
		var objOption=document.createElement("OPTION");
		objOption.value=0;
		objOption.text="Loading...";
		document.getElementById(serverID).options.add(objOption);
		var objOpt=document.createElement("OPTION");
		objOpt.value=0;
		objOpt.text="select quantity";
		document.getElementById(quantity).options.add(objOpt);
		
		//request server
		if(gid>0)
		{
			var url = "Servers.aspx";
			var postStr = "gameid="+gid;
			
			var ajax = InitAjax();
			ajax.open("POST", url, true);
			ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
			ajax.send(postStr);
			ajax.onreadystatechange = function() 
			{
				if (ajax.readyState == 4 && ajax.status == 200)
				{
				    var str=ajax.responseText;
					addOPTION(document.getElementById(serverID), str);	//get server list
					document.getElementById(serverID).options[0].text="select server";
				}
			}
		}
		else
		{
			document.getElementById(serverID).options[0].text="select server";
		}
	}
	
	
	/*------------------------add quantity info-----------------------*/
	function sel_Servers(gameID, serverID, quantity, total, txtPid, hidP, hidPid, hidPic, div)
	{
		var gid=document.getElementById(gameID).value;
		var sid=document.getElementById(serverID).value;
		
		document.getElementById(quantity).innerHTML="";
		document.getElementById(total).value="";
		document.getElementById(txtPid).value="";
		document.getElementById(hidP).value="";
		document.getElementById(hidPid).value="";
		document.getElementById(hidPic).value="";
		document.getElementById(div).innerHTML="<input type='button' class='gold_paypal' onClick='alertInfo();'/>";
		
		var objOption=document.createElement("OPTION");
		objOption.value=0;
		objOption.text="Loading...";
		document.getElementById(quantity).options.add(objOption);
		
		//request quantity
		if(gid>0 & sid>0)
		{
			var url = "Servers.aspx";
			var postStr = "gameid="+gid+"&serverid="+sid;
			
			var ajax = InitAjax();
			ajax.open("POST", url, true);
			ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
			ajax.send(postStr);
			ajax.onreadystatechange = function()
			{
				if (ajax.readyState == 4 && ajax.status == 200)
				{
					var str=ajax.responseText;
					var qStr=str.split("|");
					addOPTION(document.getElementById(quantity), qStr[0]);
					document.getElementById(quantity).options[0].text="select quantity";
					
				    document.getElementById(hidP).value=qStr[1];
				    document.getElementById(hidPid).value=qStr[2];
				    document.getElementById(hidPic).value=qStr[3];
				}
			}
		}
		else
		{
			
			document.getElementById(quantity).options[0].text="select quantity";
		}
	}
	
	//select Quantity and show price
    function sel_Price(sel_Game, sel_Server, sel_Quantity, total, txtPid, hidP, hidPid, hidPic, div)
    {
        var gid=document.getElementById(sel_Game).value;
	    var sid=document.getElementById(sel_Server).value;
	    var fid=document.getElementById(sel_Quantity).value;
	    
	    document.getElementById(total).value="";
	    document.getElementById(div).innerHTML="<input type='button' class='gold_paypal' onClick='alertInfo();'/>";
    	
	    if(typeof(sid)=="undefined" | typeof(fid)=="undefined")
	    {
		    return false;
	    }
	    
	    if(gid>0 && sid>0 && fid>0)
	    {
	        var s=gid+"-"+sid+"-"+fid;
	        var pStr=document.getElementById(hidP).value.split(",");
	        var pidStr=document.getElementById(hidPid).value.split(",");
	        var picStr=document.getElementById(hidPic).value.split(",");
	        for(i=0;i<pStr.length-1;i++)
	        {
	            if(s==pStr[i])
	            {
	                document.getElementById(total).value=picStr[i];
		            document.getElementById(txtPid).value=pidStr[i];
		            document.getElementById(div).innerHTML="<input type=\"button\" id=\"buygold\" name=\"buygold\" class=\"gold_paypal\" onClick=\"returnInfo('sel_Game','sel_Server','sel_Quantity','txt_pid','txt_Total','txt_character','txt_confirm','txt_email','txt_phone','txt_name');\" />";
	            }
	        }
	    }
    }
    
    
    /*------------------------------Choose Game List------------------------------*/
    function choose_Games(gameID, serverID, quantity, total, txtPid, hidP, hidPid, hidPic, div, cDiv, tDiv, gds)
	{
	    var gid=document.getElementById(gameID).value;
	    var sN=document.getElementById("sel_Sev").value;
	    
	    document.getElementById(serverID).innerHTML="";
		document.getElementById(quantity).innerHTML="";
	    addOPTION(document.getElementById(quantity),"0, --Please select the product-- :");
		document.getElementById(total).value="";
		document.getElementById(txtPid).value="";
		document.getElementById(hidP).value="";
		document.getElementById(hidPid).value="";
		document.getElementById(hidPic).value="";
		document.getElementById(div).innerHTML="<input type=\"button\" value=\"\" class=\"gold_paypal\" onClick=\"alertInfo();\"/>";
		document.getElementById(cDiv).style.display='none';
		document.getElementById(tDiv).style.display='none';
		document.getElementById(gds).innerHTML="";
		document.getElementById("goldPic_Div").innerHTML="";
	    //request server
		if(gid>0)
		{
			var url = "Servers.aspx";
			var postStr = "gameid="+gid+"&sname="+sN;
			
			var ajax = InitAjax();
			ajax.open("POST", url, true);
			ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
			ajax.send(postStr);
			ajax.onreadystatechange = function() 
			{
				if (ajax.readyState == 4 && ajax.status == 200)
				{
					addOPTION(document.getElementById(serverID),"0, --Please select the server-- :");
				    var str=ajax.responseText;
					addOPTION(document.getElementById(serverID), str);	//get server list
				}
			}
		}
	}
	/*
	function choose_Games(gameID, serverID)
	{
	    var gid=document.getElementById(gameID).value;
	    
	    //request server
		if(gid>0)
		{
			var url = "Servers.aspx";
			var postStr = "gameid="+gid;
			
			var ajax = InitAjax();
			ajax.open("POST", url, true);
			ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
			ajax.send(postStr);
			ajax.onreadystatechange = function() 
			{
				if (ajax.readyState == 4 && ajax.status == 200)
				{
				    var str=ajax.responseText;
					addOPTION(document.getElementById(serverID), str);	//get server list
				}
			}
		}
	}*/
	
	/*------------------------add quantity info-----------------------*/
	function choose_Servers(gameID, serverID, quantity, total, txtPid, hidP, hidPid, hidPic, div, cDiv, tDiv, gds)
	{
		var gid=document.getElementById(gameID).value;
		var sid=document.getElementById(serverID).value;
		
		document.getElementById(quantity).innerHTML="";
		document.getElementById(total).value="";
		document.getElementById(txtPid).value="";
		document.getElementById(hidP).value="";
		document.getElementById(hidPid).value="";
		document.getElementById(hidPic).value="";
		document.getElementById(div).innerHTML="<input type=\"button\" value=\"\" class=\"gold_paypal\" onClick=\"alertInfo();\"/>";
		document.getElementById(cDiv).style.display='none';
		document.getElementById(tDiv).style.display='none';
		
		var objOption=document.createElement("OPTION");
		objOption.value=0;
		objOption.text="Loading...";
		document.getElementById(quantity).options.add(objOption);
		document.getElementById("goldPic_Div").innerHTML="<div class=\"gding\"></div>";
		
		//request quantity
		if(gid>0 & sid>0)
		{
			var url = "Servers.aspx";
			var postStr = "gameid="+gid+"&serverid="+sid+"&URL="+location.href.substr(location.href.lastIndexOf("/")+1);
			
			var ajax = InitAjax();
			ajax.open("POST", url, true);
			ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
			ajax.send(postStr);
			ajax.onreadystatechange = function()
			{
				if (ajax.readyState == 4 && ajax.status == 200)
				{
					var str=ajax.responseText;
					var qStr=str.split("|");
					addOPTION(document.getElementById(quantity), qStr[0]);
					document.getElementById(quantity).options[0].text=" --Please select the product-- ";
					
				    document.getElementById(hidP).value=qStr[1];
				    document.getElementById(hidPid).value=qStr[2];
				    document.getElementById(hidPic).value=qStr[3];
				    var spStr=showProducts(qStr[0],qStr[3]);
				    if(spStr=="")
						document.getElementById("goldPic_Div").innerHTML="";
				    else
						document.getElementById("goldPic_Div").innerHTML=spStr;
				    
					if(qStr[4]!="" && document.getElementById(gds)!=null)
					{
						document.getElementById(gds).innerHTML=qStr[4];
					}
				}
			}
		}
		else
		{
			document.getElementById(quantity).options[0].text=" --Please select the product-- ";
			document.getElementById(gds).innerHTML="";
			document.getElementById("goldPic_Div").innerHTML="";
		}
	}
	
	//select Quantity and show price
    function choose_Price(sel_Game, sel_Server, sel_Quantity, total, txtPid, hidP, hidPid, hidPic, div, cDiv, tDiv)
    {
        var gid=document.getElementById(sel_Game).value;
	    var sid=document.getElementById(sel_Server).value;
	    var fid=document.getElementById(sel_Quantity).value;
	    
	    document.getElementById(total).value="";
	    document.getElementById(div).innerHTML="<input type=\"button\" value=\"\" class=\"gold_paypal\" onClick=\"alertInfo();\"/>";
    	document.getElementById(cDiv).style.display='none';
		document.getElementById(tDiv).style.display='none';
		
	    if(typeof(sid)=="undefined" | typeof(fid)=="undefined")
	    {
		    return false;
	    }
	    
	    if(gid>0 && sid>0 && fid>0)
	    {
	        var s=gid+"-"+sid+"-"+fid;
	        var pStr=document.getElementById(hidP).value.split(",");
	        var pidStr=document.getElementById(hidPid).value.split(",");
	        var picStr=document.getElementById(hidPic).value.split(",");
	        for(i=0;i<pStr.length-1;i++)
	        {
	            if(s==pStr[i])
	            {
	                //document.getElementById(total).value=picStr[i];
		            getCurrencyRate(picStr[i],1,total,total);
		            document.getElementById(txtPid).value=pidStr[i];
		            document.getElementById(div).innerHTML="<input type=\"hidden\" id=\"ECPaypal\" name=\"ECPaypal\"> <input type=\"button\" id=\"buygold\" name=\"buygold\" value=\"\" class=\"gold_paypal\" onClick=\"return exCheckout();\"> <input type=\"hidden\" id=\"hidPrice\" name=\"hidPrice\" value=\""+picStr[i]+"\">";
		            break;
	            }
	        }
	    }
    }
    function exCheckout()
    {
        if(document.getElementById("rb_paypal").checked==true)
        {
        document.getElementById("ECPaypal").value="ExpressCheckout";
        }
        else
        {
        document.getElementById("ECPaypal").value="";
        }
        MM_validateForm('customer_name','','R','customer_email','','RisEmail','customer_phone','','R','customer_phone','','','character','','R');
        checkTrade();
        if(document.MM_returnValue)
        document.getElementById("Form1").submit();
    }
    
    function showProducts(pname,pic)
    {
		var cl=6;
		var rw=1;
		var st=0;
		var sStr="";
		if(pname!=null)
		{
			var ary=pname.split(":");
			var pAry=pic.split(",");
			if(ary.length%cl==0)
				rw=ary.length/cl;
			else
				rw=Math.ceil(ary.length/cl);
			
			for(r=0;r<rw;r++)
			{
				var gStr="";
				var pStr="";
				var cn=0;
				st=r*cl;
				for(i=st;i<(st+cl) && i<ary.length-1;i++)
				{
					var array=ary[i].split(",");
					var gl=array[1];
					var pc;
					var _rate=getCookie("CurrencyRate");
					if(_rate!=null && _rate>0)
						pc=(pAry[i]*_rate).toFixed(2);
					else
						pc=(pAry[i]*1).toFixed(2);
					
					gStr=gStr+"<td class=\"tBB\">"+gl+"</td>";
					pStr=pStr+"<td class=\"tBW\">"+pc+"</td>";
					cn++;
					if(i==ary.length-2&&cn<cl)
					{
						gStr=gStr+"<td colspan=\""+(cl-cn)+"\"></td>";
						pStr=pStr+"<td colspan=\""+(cl-cn)+"\"></td>";
					}
				}
				
				gStr="<tr>"+gStr+"</tr>";
				pStr="<tr>"+pStr+"</tr>";
				sStr=sStr+gStr+pStr;
			}
		}
		sStr="<table class=\"tblGold\">"+sStr+"</table>";
		return sStr;
    }
	/*-----------------------add options--------------------*/
		
	function addOPTION(obj, str)
	{
		if(str!=null)
		{
			var ary=str.split(":");
			for(i=0;i<ary.length-1;i++)
			{
				var array=ary[i].split(",");
				var objOption=document.createElement("OPTION");
				objOption.value=array[0];
				objOption.text=array[1];
				obj.options.add(objOption);
			}
		}
	}


//check text
function returnInfo(sel_Game,sel_Server,sel_Quantity,txt_pid,txt_Total,txt_character,txt_confirm,txt_email,txt_phone,txt_name)
{
	var err="";
	if(document.getElementById(sel_Game).value==0)
	{
		err+="- game name is required.\n";
	}
	if(document.getElementById(sel_Server).value==0)
	{
		err+="- server name is required.\n";
	}
	if(document.getElementById(sel_Quantity).value==0)
	{
		err+="- gold quantity is required.\n";
	}
	if(document.getElementById(txt_Total).value=="")
	{
		err+="- total price is required.\n";
	}
	if(document.getElementById(txt_character).value=="")
	{
		err+="- character name is required.\n";
	}
	if(document.getElementById(txt_confirm).value=="")
	{
		err+="- confirm character name is required.\n";
	}
	if(document.getElementById(txt_email).value=="")
	{
		err+="- email is required.\n";
	}
	if(document.getElementById(txt_phone).value=="")
	{
		err+="- phone is required.\n";
	}
	if(document.getElementById(txt_name).value=="")
	{
		err+="- full name is required.\n";
	}
	if(document.getElementById(txt_character).value!="" && document.getElementById(txt_confirm).value!="" && document.getElementById(txt_confirm).value!=document.getElementById(txt_character).value)
	{
		err+="- The character name must be the same!";
	}
	
	if(err=="")
	{
		document.getElementById("GoldForm").submit();
	}
	else
	{
		alert(err);
	}
}

/*-------------------------------------Promotion Code-------------------------------------*/

//Get Code
function GetPromotionCode(code_id,pic,qty,div,total,isCode)
{
    var cid=document.getElementById(code_id).value;
    document.getElementById(div).style.display="none";
	document.getElementById(total).style.display="none";
	document.getElementById(isCode).style.display="none";
	
    if(cid!="" && document.getElementById(pic)!=null)
    {
		var price=parseFloat(document.getElementById(pic).value);
		var number=1;
		if(qty!="")
			number=parseInt(document.getElementById(qty).value);
		
        if(price>0)
        {
            var url = "servers.aspx";
	        var postStr = "PCodeID="+cid;
        	
	        var ajax = InitAjax();
	        ajax.open("POST", url, true);
	        ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
	        ajax.send(postStr);
	        ajax.onreadystatechange = function() 
	        {
		        if (ajax.readyState == 4 && ajax.status == 200) 
		        { 
			        var _returnStr=ajax.responseText;
			        if(_returnStr!="")
			        {
			            var code=_returnStr.split("|");
                        document.getElementById(div).style.display='';
                        document.getElementById(total).style.display='';
                        
                        document.getElementById(div).cells[1].innerHTML=code[0]+"<input type=\"hidden\" id=\"hidCode\" name=\"hidCode\" value=\""+code[1]+"\">";
                        
                        var _name=getCookie("CurrencyName");
						var _rate=getCookie("CurrencyRate");
					    
						if(_name!='' && _rate>0)
						{
							document.getElementById(total).cells[1].innerHTML=_name+(price*number*(1+parseFloat(code[1]))*_rate).toFixed(2);
                        }
                        else
                        {
							document.getElementById(total).cells[1].innerHTML="USD$ "+(price*number*(1+parseFloat(code[1]))).toFixed(2);
                        }
			        }
			        else
			        {
			            document.getElementById(isCode).style.display='';
			        }
	            }
	        }
	    }
    }
    else
	{
	    alert("Please choose product .");
	}
}


/*---------------------------------------------Profession-------------------------------------------------*/

//onload Level
function ProfessionLoad(type)
{
    if(document.getElementById(type)!=null)
    {
        var obj=document.createElement("OPTION");
		obj.value=i;
		obj.text=i;
		document.getElementById(type).options.add(obj);
    }
}


//start select profession type
function getProfession(pTab, pTd, pType, pPrice, pDays, pName, pPic, pRemark)
{
    var pid=document.getElementById(pType).value;
    var pname=document.getElementById(pType).options[document.getElementById(pType).selectedIndex].text;
    
    document.getElementById(pName).value="";
    document.getElementById(pPic).value="";
    document.getElementById(pPrice).innerHTML="&nbsp;";
    document.getElementById(pDays).innerHTML="&nbsp;";
    document.getElementById(pRemark).cells[0].innerHTML="&nbsp;";
    document.getElementById(pRemark).style.display="none";
    
    //request server by parent_id
	if(pid>0)
	{
        var url = "servers.aspx";
	    var postStr = "ProfessionTypeID="+pid;
    	
	    var ajax = InitAjax();
	    ajax.open("POST", url, true);
	    ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
	    ajax.send(postStr);
	    ajax.onreadystatechange = function() 
	    {
		    if (ajax.readyState == 4 && ajax.status == 200) 
		    { 
			    var _returnStr=ajax.responseText;
			    addTableElement(pTab, pTd, pid, pname, _returnStr, pPrice, pDays, pName, pPic, pRemark);
	        }
	    }
	}
	else
	{
	    //show profession type
	    addTableElement(pTab, pTd, pid, pname, '', pPrice, pDays, pName, pPic, pRemark);
	}
}

//show profession type and price
function addTableElement(pTab, pTd, pId, cName, returnStr, pPrice, pDays, pName, pPic, pRemark)
{
    var tab=document.getElementById(pTab);
    var _pfinfo="";
    if(returnStr.indexOf("|")>0)
    {
        var ary=returnStr.split("|");
        _pfinfo=ary[0];
    }
    
    if(_pfinfo=="")
    {
        //round select profession type
        for(var i=0;i<tab.rows.length;i++)
        {
            if(tab.rows[i].cells[0].id==pTd)
            {
                if(returnStr=="")
                {
                    tab.rows[i].cells[2].innerHTML="&nbsp;";
                    tab.rows[i].cells[3].innerHTML="&nbsp;";
                }
                else
                {
                    tab.rows[i].cells[2].innerHTML=cName;
                    tab.rows[i].cells[2].id="pf_"+pId;
                    tab.rows[i].cells[3].innerHTML="<select id=\"_"+cName+"\" name=\"_"+cName+"\" onchange=\"return getProfession('"+pTab+"','"+tab.rows[i].cells[2].id+"','_"+cName+"','"+pPrice+"','"+pDays+"','"+pName+"','"+pPic+"','"+pRemark+"');\"><option value=\"0\">--Select--</option></select>";
                    addOPTION(document.getElementById("_"+cName), returnStr);
                }
                
                DelTableCell(tab, i);
                return;
            }
            else if(tab.rows[i].cells[2]!=null && tab.rows[i].cells[2].id==pTd)
            {
                DelTableCell(tab, i);
                
                if(returnStr!="")
                {
                    var row=tab.insertRow(i+1);
                    for(j=0;j<tab.rows[i].cells.length;j++)
                    {
                        var cell=row.insertCell(j);
                        cell.innerHTML="&nbsp;";
                    }
                    
                    tab.rows[parseInt(i+1)].cells[0].innerHTML=cName;
                    tab.rows[parseInt(i+1)].cells[0].id="pf_"+pId;
                    tab.rows[parseInt(i+1)].cells[1].innerHTML="<select id=\"_"+cName+"\" name=\"_"+cName+"\" onchange=\"return getProfession('"+pTab+"','"+tab.rows[parseInt(i+1)].cells[0].id+"','_"+cName+"','"+pPrice+"','"+pDays+"','"+pName+"','"+pPic+"','"+pRemark+"');\"><option value=\"0\">--Select--</option></select>";
                    addOPTION(document.getElementById("_"+cName), returnStr);
                }
                return;
            }
        }
    }
    else
    {
        //end info
        var aryStr=_pfinfo.split(",");
        document.getElementById(pName).value=aryStr[0];
        document.getElementById(pPic).value=aryStr[1];
        document.getElementById(pPrice).innerHTML="$"+aryStr[1];
        document.getElementById(pDays).innerHTML=aryStr[2];
        
        //add remark info
        if(aryStr[3]!="")
        {
            document.getElementById(pRemark).cells[0].innerHTML=aryStr[3];
            document.getElementById(pRemark).style.display='';
        }
    }
}

//delete cell from table
function DelTableCell(tab, n)
{
    for(var k=parseInt(tab.rows.length-4);k>n;k--)
    {
        tab.deleteRow(k);
    }
}

