/*
------------------------------	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="select server";
		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
				}
			}
		}
	}
	
	
	/*------------------------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="select quantity";
		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(hidP).value=qStr[1];
				    document.getElementById(hidPid).value=qStr[2];
				    document.getElementById(hidPic).value=qStr[3];
				}
			}
		}
		
	}
	
	//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_Total','txt_character','txt_confirm','txt_email','txt_phone','txt_name','GoldForm'); />";
	            }
	        }
	    }
    }
    
    
    /*------------------------------Choose Game List------------------------------*/
    
    /*----------------------add server info----------------------*/
	/*
	function choose_Games(gameID, serverID, quantity, total, txtPid, hidP, hidPid, hidPic, div, cDiv, tDiv, _gold, _level)
	{
		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='choose_check' onClick='alertInfo();'/>";
		document.getElementById(cDiv).style.display='none';
		document.getElementById(tDiv).style.display='none';
		
		if(gid>0)
		{
		    if(gid==80)
		    {
		        document.getElementById(_gold).style.display='none';
		        document.getElementById(_level).style.display='';
		    }
		    else
		    {
		        document.getElementById(_gold).style.display='';
		        document.getElementById(_level).style.display='none';
		    }
		}
		else
		{
		    document.getElementById(_gold).style.display='none';
		    document.getElementById(_level).style.display='none';
		}
		
		var objOption=document.createElement("OPTION");
		objOption.value=0;
		objOption.text="select server";
		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
				}
			}
		}
	}*/
	
	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)
	{
		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='choose_check' 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);
		
		//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(hidP).value=qStr[1];
				    document.getElementById(hidPid).value=qStr[2];
				    document.getElementById(hidPic).value=qStr[3];
				}
			}
		}
		document.getElementById(quantity).options[0].text="select quantity";
	}
	
	//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' 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];
		            document.getElementById(txtPid).value=pidStr[i];
		            document.getElementById(div).innerHTML="<input type='submit' name='payment' value='' class='choose_check'>";
	            }
	        }
	    }
    }
    
        
	/*-----------------------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_Total,txt_character,txt_confirm,txt_email,txt_phone,txt_name,fm)
{
	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(fm).submit();
	}
	else
	{
		alert(err);
	}
}


/*-------------------------------------Promotion Code-------------------------------------*/

//Get Code
function GetPromotionCode(code_id,pic,qty,div,total,isCode)
{
    var cid=document.getElementById(code_id).value;
    var price=parseFloat(document.getElementById(pic).value);
    var number=1;
    if(qty!="")
        number=parseInt(document.getElementById(qty).value);
    document.getElementById(div).style.display="none";
    document.getElementById(total).style.display="none";
    document.getElementById(isCode).style.display="none";
    
    if(cid!="")
    {
        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];
                        document.getElementById(total).cells[1].innerHTML="$"+roundNumber(price*number*(1+parseFloat(code[1])),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);
    }
}



