/*
+---------------------------------------------------------------+
|        dice thrower
|
+---------------------------------------------------------------+
*/

var xmlHttp
var betplaced=0
function ThrowDice()
{
	xmlHttp=GetXmlHttpObject()
	// holdit will be built up for each checkbox that's ticked
	var holdit="0"
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request")
 		return
 	}
	// the url of the script that dows the throwing
	var bet=parseInt(document.getElementById("gold_pdicebet").value)
	switch(betplaced){
		case 0:
			// place bet
			if(bet > curbalance)
			{
				alert(gpdice_nobal);
			}
			else if(bet > maxbet)
			{
				alert(gpdice_nomax)
			}
			else if(bet>0 )
			{
				document.getElementById("gold_pdice_throw").disabled=true
				document.getElementById("loader").src= "images/loader.gif"
				document.getElementById("gold_pdiceplace").innerHTML=gpdice_betplaced + " " + bet
				document.getElementById("gold_pdice_throw").value=gpdice_throwagain
				betplaced=1
				var url=  "throws.php"
				url=url+"?holdit=000000"
				url=url+"&bet="+bet
				url=url+"&played=1"
				document.getElementById("gold_pdicebet").style.display="none"
				document.getElementById("pdice_result").innerHTML="&nbsp;"
				document.getElementById("check1").style.display=""
				document.getElementById("check2").style.display=""
				document.getElementById("check3").style.display=""
				document.getElementById("check4").style.display=""
				document.getElementById("check5").style.display=""
				xmlHttp.onreadystatechange=stateChangeddie
				xmlHttp.open("GET",url,true)
				xmlHttp.send(null)
			}
			else
			{
				// bet must be greater than 0
				alert(gpdice_beterror)
			}
			break;
		case 1:
			for (ic=1;ic<6;ic++)
			{
				// build up holdit string
				document.getElementById("gold_pdice_throw").disabled=true
				document.getElementById("loader").src= "images/loader.gif"
				if(document.getElementById("check"+ic).checked==true)
				{
		 			holdit=holdit+"1"
				}
				else
				{
		 			holdit=holdit+"0"
				}
			}
			betplaced=2
			document.getElementById("gold_pdiceplace").innerHTML=gpdice_betplaced+" "+bet
			document.getElementById("gold_pdice_throw").value=gpdice_throwok
			var url="throws.php"
			url=url+"?holdit="+holdit
			url=url+"&played=2"
			document.getElementById("gold_pdicebet").style.display="none"
			document.getElementById("gold_pdicebet").value=bet
			document.getElementById("check1").disabled=true
			document.getElementById("check2").disabled=true
			document.getElementById("check3").disabled=true
			document.getElementById("check4").disabled=true
			document.getElementById("check5").disabled=true
			xmlHttp.onreadystatechange=stateChangeddie
			xmlHttp.open("GET",url,true)
			xmlHttp.send(null)
			break;
		case 2:
			betplaced=0
			document.getElementById("gold_pdiceplace").innerHTML=gpdice_placebet
			document.getElementById("gold_pdice_throw").value=gpdice_throwfirst
			document.getElementById("gold_pdicebet").style.display=""
			document.getElementById("gold_pdicebet").value=bet
			document.getElementById("check1").checked=false
			document.getElementById("check2").checked=false
			document.getElementById("check3").checked=false
			document.getElementById("check4").checked=false
			document.getElementById("check5").checked=false
			document.getElementById("check1").style.display="none"
			document.getElementById("check2").style.display="none"
			document.getElementById("check3").style.display="none"
			document.getElementById("check4").style.display="none"
			document.getElementById("check5").style.display="none"
			document.getElementById("check1").disabled=false
			document.getElementById("check2").disabled=false
			document.getElementById("check3").disabled=false
			document.getElementById("check4").disabled=false
			document.getElementById("check5").disabled=false
			document.getElementById("dice1").src= "images/dice0.png"
			document.getElementById("dice2").src= "images/dice0.png"
			document.getElementById("dice3").src= "images/dice0.png"
			document.getElementById("dice4").src= "images/dice0.png"
			document.getElementById("dice5").src= "images/dice0.png"
			document.getElementById("dealer1").src= "images/dice0.png"
			document.getElementById("dealer2").src= "images/dice0.png"
			document.getElementById("dealer3").src= "images/dice0.png"
			document.getElementById("dealer4").src= "images/dice0.png"
			document.getElementById("dealer5").src= "images/dice0.png"
			document.getElementById("pdice_result").innerHTML="&nbsp;"
			document.getElementById("pdice_dresult").innerHTML="&nbsp;"
			break;
	} // switch
}

function stateChangeddie()
{
	// when the result is returned
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 	{
 		// get the response
 		// this is the response from throw.php

		 var fred=xmlHttp.responseText
		if(betplaced==1)
		{
			// first results
			// split the string up on # for each dice position
			var die_array=fred.split("#")
			for (var j=0;j<5;j++)
			{
				// for each die position
				// 0 is die number
				// 1 is the value
				// 2 is image
				// 3 is hold
				//
				// Split each die position into its parts
				var die_row=die_array[j].split("~~")
				//alert(die_row)
				dir_id=parseInt(die_row[0])
				// set the image source for the dice

				document.getElementById("dice"+dir_id).src= die_row[2]
				if(die_row[3]==1)
				{
					// set or not the hold position
					document.getElementById("check"+dir_id).checked=true
				}
				else
				{
					document.getElementById("check"+dir_id).checked=false
				}
			}
			document.getElementById("gold_pdice_throw").disabled=false
			document.getElementById("loader").src= "images/blank.gif"
			// check if gold menu active, if so then update the balance in there too
			var die_res=die_array[5].split("~~")
			if(gpdice_Ele2=document.getElementById("gold_mybalance"))
			{
				gpdice_Ele2.innerHTML=die_res[5]
			}
			//alert(die_res[5])
			document.getElementById("gpdice_bal").innerHTML=gpdice_yb+" "+die_res[5]
			curbalance=die_res[5]
	 	}
	 	else if(betplaced==2)
	 	{
	 		// get the results for player and dealer
			// split the string up on # for each dice position
			var die_array=fred.split("#")
			// do the players hand
			for (var j=0;j<5;j++)
			{
				// for each die position
				// 0 is die number
				// 1 is the value
				// 2 is image
				// 3 is hold
				// 4 is result
				// Split each die position into its parts
				var die_row=die_array[j].split("~~")

				dir_id=parseInt(die_row[0])
				// set the image source for the dice
				document.getElementById("dice"+dir_id).src= die_row[2]
				if(die_row[3]==1)
				{
					// set or not the hold position
					document.getElementById("check"+dir_id).checked=true
				}
				else
				{
					document.getElementById("check"+dir_id).checked=false
				}
			}
			// do the dealers hand
			for (var j=5;j<10;j++)
			{
				// for each die position
				// 0 is die number
				// 1 is the value
				// 2 is image
				// 3 is hold
				// 4 is result
				// Split each die position into its parts
				var die_row=die_array[j].split("~~")
				dir_id=parseInt(die_row[0])

				// set the image source for the dice
				document.getElementById("dealer"+dir_id).src= die_row[2]

			}
			var die_res=die_array[10].split("~~")
			// do the result
						//	alert(die_res)
			if(die_res[1]=="win")
			{
				document.getElementById("pdice_result").innerHTML=gpdice_youhave+" "+die_res[2]+" "+gpdice_won+" "+die_res[4]
				document.getElementById("pdice_dresult").innerHTML=gpdice_dealerhas+" "+die_res[3]

			}
			else if(die_res[1]=="draw")
			{
				document.getElementById("pdice_result").innerHTML=gpdice_youhave+" "+die_res[2]+" "+gpdice_draw
				document.getElementById("pdice_dresult").innerHTML=gpdice_dealerhas+" "+die_res[3]
			}
			else
			{
				document.getElementById("pdice_result").innerHTML=gpdice_youhave+" "+die_res[2]+" "+gpdice_lost
				document.getElementById("pdice_dresult").innerHTML=gpdice_dealerhas+" "+die_res[3]
			}
			document.getElementById("gold_pdice_throw").disabled=false
			document.getElementById("loader").src= "images/blank.gif"
			// check if gold menu active, if so then update the balance in there too
			if(gpdice_Ele2=document.getElementById("gold_mybalance"))
			{
				gpdice_Ele2.innerHTML=die_res[5]
			}
			document.getElementById("gpdice_bal").innerHTML=gpdice_yb+" "+die_res[5]
			curbalance=die_res[5]

		}
	}
}
function GetXmlHttpObject()
{
	// make an object for the ajax stuff to suit the browser
	var xmlHttp=null;
	try
 	{
 		// Firefox, Opera 8.0+, Safari
 		xmlHttp=new XMLHttpRequest();
 	}
	catch (e)
 	{
 		//Internet Explorer
 	try
  	{
  		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  	}
 	catch (e)
  	{
  		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  	}
 	}
	return xmlHttp;
}