var numofplayers = 0;
var playerno = 0;
var cardno = 0;
var dealercardno = 0;
var cardimage = new Array();
var response;
var returnedcard = new Array();
var returnedcardctr = 0;
var returneddealercard = new Array();
var returneddealercardctr = 0;


/* hearts deck */
cardimage['2H'] = "images/large/heart/2.gif";
cardimage['3H'] = "images/large/heart/3.gif";
cardimage['4H'] = "images/large/heart/4.gif";
cardimage['5H'] = "images/large/heart/5.gif";
cardimage['6H'] = "images/large/heart/6.gif";
cardimage['7H'] = "images/large/heart/7.gif";
cardimage['8H'] = "images/large/heart/8.gif";
cardimage['9H'] = "images/large/heart/9.gif";
cardimage['TH'] = "images/large/heart/T.gif";
cardimage['JH'] = "images/large/heart/J.gif";
cardimage['QH'] = "images/large/heart/Q.gif";
cardimage['KH'] = "images/large/heart/K.gif";
cardimage['AH'] = "images/large/heart/A.gif";
/* spade deck */
cardimage['2S'] = "images/large/spade/2.gif";
cardimage['3S'] = "images/large/spade/3.gif";
cardimage['4S'] = "images/large/spade/4.gif";
cardimage['5S'] = "images/large/spade/5.gif";
cardimage['6S'] = "images/large/spade/6.gif";
cardimage['7S'] = "images/large/spade/7.gif";
cardimage['8S'] = "images/large/spade/8.gif";
cardimage['9S'] = "images/large/spade/9.gif";
cardimage['TS'] = "images/large/spade/T.gif";
cardimage['JS'] = "images/large/spade/J.gif";
cardimage['QS'] = "images/large/spade/Q.gif";
cardimage['KS'] = "images/large/spade/K.gif";
cardimage['AS'] = "images/large/spade/A.gif";
/* diamond deck */
cardimage['2D'] = "images/large/diamond/2.gif";
cardimage['3D'] = "images/large/diamond/3.gif";
cardimage['4D'] = "images/large/diamond/4.gif";
cardimage['5D'] = "images/large/diamond/5.gif";
cardimage['6D'] = "images/large/diamond/6.gif";
cardimage['7D'] = "images/large/diamond/7.gif";
cardimage['8D'] = "images/large/diamond/8.gif";
cardimage['9D'] = "images/large/diamond/9.gif";
cardimage['TD'] = "images/large/diamond/T.gif";
cardimage['JD'] = "images/large/diamond/J.gif";
cardimage['QD'] = "images/large/diamond/Q.gif";
cardimage['KD'] = "images/large/diamond/K.gif";
cardimage['AD'] = "images/large/diamond/A.gif";
/* club deck */
cardimage['2C'] = "images/large/club/2.gif";
cardimage['3C'] = "images/large/club/3.gif";
cardimage['4C'] = "images/large/club/4.gif";
cardimage['5C'] = "images/large/club/5.gif";
cardimage['6C'] = "images/large/club/6.gif";
cardimage['7C'] = "images/large/club/7.gif";
cardimage['8C'] = "images/large/club/8.gif";
cardimage['9C'] = "images/large/club/9.gif";
cardimage['TC'] = "images/large/club/T.gif";
cardimage['JC'] = "images/large/club/J.gif";
cardimage['QC'] = "images/large/club/Q.gif";
cardimage['KC'] = "images/large/club/K.gif";
cardimage['AC'] = "images/large/club/A.gif";

function initdeck() {	
	numofplayers = 0;
	document.getElementById("playernav").value = "0";
	
	document.getElementById('player1').style.visibility = "hidden";
	document.getElementById('player2').style.visibility = "hidden";
	document.getElementById('player3').style.visibility = "hidden";
	document.getElementById('player4').style.visibility = "hidden";
	document.getElementById('player5').style.visibility = "hidden";
	
	document.getElementById('card-container1').style.visibility = "hidden";
	document.getElementById('card-container2').style.visibility = "hidden";
	document.getElementById('card-container3').style.visibility = "hidden";
	document.getElementById('card-container4').style.visibility = "hidden";
	document.getElementById('card-container5').style.visibility = "hidden";
	
	document.getElementById('dealer-card123').style.visibility = "hidden";
	document.getElementById('dealer-card4').style.visibility = "hidden";
	
	resetdeck();
}

function resetdeck() {	
	playerno = 0;
	cardno = 0;
	dealercardno = 0;
	cardimage.length = 0;
	response = "";
	returnedcard.length = 0;
	returnedcardctr = 0;
	returneddealercard.length = 0;
	returneddealercardctr = 0;
	
	document.getElementById('inputplayercard11').value = "";
	document.getElementById('inputplayercard12').value = "";
	document.getElementById('inputplayercard21').value = "";
	document.getElementById('inputplayercard22').value = "";
	document.getElementById('inputplayercard31').value = "";
	document.getElementById('inputplayercard32').value = "";
	document.getElementById('inputplayercard41').value = "";
	document.getElementById('inputplayercard42').value = "";
	document.getElementById('inputplayercard51').value = "";
	document.getElementById('inputplayercard52').value = "";
	document.getElementById('inputdealercard1').value = "";
	document.getElementById('inputdealercard2').value = "";
	document.getElementById('inputdealercard3').value = "";
	document.getElementById('inputdealercard4').value = "";	
	
	document.getElementById('card11').src = "images/largedeckclose.png";
	document.getElementById('card12').src = "images/largedeckclose.png";
	document.getElementById('card21').src = "images/largedeckclose.png";
	document.getElementById('card22').src = "images/largedeckclose.png";
	document.getElementById('card31').src = "images/largedeckclose.png";
	document.getElementById('card32').src = "images/largedeckclose.png";
	document.getElementById('card41').src = "images/largedeckclose.png";
	document.getElementById('card42').src = "images/largedeckclose.png";
	document.getElementById('card51').src = "images/largedeckclose.png";
	document.getElementById('card52').src = "images/largedeckclose.png";
	
	document.getElementById('dealercard1').src = "images/largedeckclose.png";
	document.getElementById('dealercard2').src = "images/largedeckclose.png";
	document.getElementById('dealercard3').src = "images/largedeckclose.png";
	document.getElementById('dealercard4').src = "images/largedeckclose.png";
	
	document.getElementById('2H').style.visibility = "visible";
	document.getElementById('3H').style.visibility = "visible";
	document.getElementById('4H').style.visibility = "visible";
	document.getElementById('5H').style.visibility = "visible";
	document.getElementById('6H').style.visibility = "visible";
	document.getElementById('7H').style.visibility = "visible";
	document.getElementById('8H').style.visibility = "visible";
	document.getElementById('9H').style.visibility = "visible";
	document.getElementById('TH').style.visibility = "visible";
	document.getElementById('JH').style.visibility = "visible";
	document.getElementById('QH').style.visibility = "visible";
	document.getElementById('KH').style.visibility = "visible";
	document.getElementById('AH').style.visibility = "visible";
	document.getElementById('2S').style.visibility = "visible";
	document.getElementById('3S').style.visibility = "visible";
	document.getElementById('4S').style.visibility = "visible";
	document.getElementById('5S').style.visibility = "visible";
	document.getElementById('6S').style.visibility = "visible";
	document.getElementById('7S').style.visibility = "visible";
	document.getElementById('8S').style.visibility = "visible";
	document.getElementById('9S').style.visibility = "visible";
	document.getElementById('TS').style.visibility = "visible";
	document.getElementById('JS').style.visibility = "visible";
	document.getElementById('QS').style.visibility = "visible";
	document.getElementById('KS').style.visibility = "visible";
	document.getElementById('AS').style.visibility = "visible";
	document.getElementById('2C').style.visibility = "visible";
	document.getElementById('3C').style.visibility = "visible";
	document.getElementById('4C').style.visibility = "visible";
	document.getElementById('5C').style.visibility = "visible";
	document.getElementById('6C').style.visibility = "visible";
	document.getElementById('7C').style.visibility = "visible";
	document.getElementById('8C').style.visibility = "visible";
	document.getElementById('9C').style.visibility = "visible";
	document.getElementById('TC').style.visibility = "visible";
	document.getElementById('JC').style.visibility = "visible";
	document.getElementById('QC').style.visibility = "visible";
	document.getElementById('KC').style.visibility = "visible";
	document.getElementById('AC').style.visibility = "visible";
	document.getElementById('2D').style.visibility = "visible";
	document.getElementById('3D').style.visibility = "visible";
	document.getElementById('4D').style.visibility = "visible";
	document.getElementById('5D').style.visibility = "visible";
	document.getElementById('6D').style.visibility = "visible";
	document.getElementById('7D').style.visibility = "visible";
	document.getElementById('8D').style.visibility = "visible";
	document.getElementById('9D').style.visibility = "visible";
	document.getElementById('TD').style.visibility = "visible";
	document.getElementById('JD').style.visibility = "visible";
	document.getElementById('QD').style.visibility = "visible";
	document.getElementById('KD').style.visibility = "visible";
	document.getElementById('AD').style.visibility = "visible";
	
	document.getElementById('calc-result1').style.visibility = "hidden";
	document.getElementById("cal-result-win1").innerHTML = "";				
	document.getElementById("cal-result-tie1").innerHTML = "";
	document.getElementById('calc-result2').style.visibility = "hidden";
	document.getElementById("cal-result-win2").innerHTML = "";				
	document.getElementById("cal-result-tie2").innerHTML = "";
	document.getElementById('calc-result3').style.visibility = "hidden";
	document.getElementById("cal-result-win3").innerHTML = "";				
	document.getElementById("cal-result-tie3").innerHTML = "";
	document.getElementById('calc-result4').style.visibility = "hidden";
	document.getElementById("cal-result-win4").innerHTML = "";				
	document.getElementById("cal-result-tie4").innerHTML = "";
	document.getElementById('calc-result5').style.visibility = "hidden";
	document.getElementById("cal-result-win5").innerHTML = "";				
	document.getElementById("cal-result-tie5").innerHTML = "";
}

function gamesetup(num) {		
	resetdeck();
	
	numofplayers = num.value;
	document.getElementById("error-msg").innerHTML = "";
	
	for(i=1;i<=num.value;i++) {
		eval('document.getElementById(\'player' + i +'\').style.visibility = "visible"');
		eval('document.getElementById(\'card-container' + i +'\').style.visibility = "visible"');
		eval('document.getElementById(\'calc-result' + i +'\').style.visibility = "hidden"');		
	}
	
	for(;i<=5;i++) {
		eval('document.getElementById(\'player' + i +'\').style.visibility = "hidden"');
		eval('document.getElementById(\'card-container' + i +'\').style.visibility = "hidden"');
		eval('document.getElementById(\'calc-result' + i +'\').style.visibility = "hidden"');
	}
	
	if(num.value>0) {
		document.getElementById('dealer-card123').style.visibility = "visible";
		document.getElementById('dealer-card4').style.visibility = "visible";
	}
	else {
		document.getElementById('dealer-card123').style.visibility = "hidden";		
		document.getElementById('dealer-card4').style.visibility = "hidden";
	}
}

function addcardtodeck(card) {
	var selectedcardindeck;
	var tempselectedcardindeck;
		
	if(returnedcardctr>0) {		
		for(i=0;i<returnedcardctr;i++) {			
			if(returnedcard[i]) {				
				eval('selectedcardindeck = document.getElementById(\'card' + returnedcard[i] + '\').src');
				tempselectedcardindeck = selectedcardindeck.split("/");
				
				if(tempselectedcardindeck[tempselectedcardindeck.length - 1] == "largedeckclose.png") {
					eval('document.getElementById(\'card' + returnedcard[i] + '\').src = "' + cardimage[card] +'"');
					eval('document.getElementById(\'' + card + '\').style.visibility = "hidden"');
					eval('document.getElementById(\'inputplayercard' + returnedcard[i] + '\').value = "' + card + '"');
					
					returnedcard[i] = "";
					
					if(i+1 != returnedcardctr)
						return 0;
					else {
						dealercardno = 1;
						returnedcardctr = 0;
						returneddealercardctr = 0;	
					}
				}
			}
		}
	}	
	else if((numofplayers > 0) && (playerno <= numofplayers)) {			
		eval('document.getElementById(\'inputnumofplayers\').value = "' + numofplayers +'"');
		if(playerno == 0) {
			cardno = 1;
			playerno = 1;
		}
		
		if(cardno%2) {			
			selectedcardindeck = eval("document.getElementById('card" + playerno + cardno + "').src");
			tempselectedcardindeck = selectedcardindeck.split("/");
			
			if(tempselectedcardindeck[tempselectedcardindeck.length - 1] == "largedeckclose.png") {
				eval('document.getElementById(\'card' + playerno + cardno + '\').src = "' + cardimage[card] +'"');
				eval('document.getElementById(\'' + card + '\').style.visibility = "hidden"');
				eval('document.getElementById(\'inputplayercard' + playerno + cardno + '\').value = "' + card + '"');
			}
				cardno += 1;			
		}
		else {
			selectedcardindeck = eval("document.getElementById('card" + playerno + cardno + "').src");
			tempselectedcardindeck = selectedcardindeck.split("/");
			
			if(tempselectedcardindeck[tempselectedcardindeck.length - 1] == "largedeckclose.png") {
				eval('document.getElementById(\'card' + playerno + cardno + '\').src = "' + cardimage[card] +'"');
				eval('document.getElementById(\'' + card + '\').style.visibility = "hidden"');
				eval('document.getElementById(\'inputplayercard' + playerno + cardno + '\').value = "' + card + '"');
			}
			playerno += 1;
			cardno = 1;
			
			if(!(playerno <= numofplayers)) {
				dealercardno = 1;
			}
		}
	}	
	else if(numofplayers == 0) {
		document.getElementById("error-msg").innerHTML = 'ERRORE: Numero di giocatori pari a zero.';
	}	
	else if((dealercardno > 0) && (dealercardno <= 4) || (returneddealercardctr>0)) {		
		if(returneddealercardctr>0) {
			for(i=0;i<returneddealercardctr;i++) {
				if(returneddealercard[i] != "") {
					selectedcardindeck = eval('document.getElementById(\'dealer' + returneddealercard[i] + '\').src');
					tempselectedcardindeck = selectedcardindeck.split("/");
					
					if(tempselectedcardindeck[tempselectedcardindeck.length-1] == "largedeckclose.png") {
						
						eval('document.getElementById(\'dealer' + returneddealercard[i] + '\').src = "' + cardimage[card] +'"');
						eval('document.getElementById(\'' + card + '\').style.visibility = "hidden"');
						eval('document.getElementById(\'inputdealer' + returneddealercard[i] + '\').value = "' + card + '"');
						
						returneddealercard[i] = "";
						break;
					}
				}
				
				if(i+1 == returnedcardctr) {
					returneddealercardctr = 0;
					
					dealercardno = returneddealercard[i];					
				}
			}
		}
		else {			
			selectedcardindeck = eval("document.getElementById('dealercard" + dealercardno + "').src");
			tempselectedcardindeck = selectedcardindeck.split("/");
			
			if(tempselectedcardindeck[tempselectedcardindeck.length - 1] == "largedeckclose.png") {
				eval('document.getElementById(\'dealercard' + dealercardno + '\').src = "' + cardimage[card] +'"');
				eval('document.getElementById(\'' + card + '\').style.visibility = "hidden"');
				eval('document.getElementById(\'inputdealercard' + dealercardno + '\').value = "' + card + '"');
			}
			dealercardno += 1;
		}
	}
}

function removecardfromdeck(card,type) {
	var cardpile;
	var temp;
	var tempdealercard;
	var selectedcardindeck;
	var tempselectedcardindeck;
	
	if(type == "dealer") {		
		selectedcardindeck = eval("document.getElementById('dealer" + card + "').src");
		tempselectedcardindeck = selectedcardindeck.split("/");
	
		if(tempselectedcardindeck[tempselectedcardindeck.length - 1] != "largedeckclose.png") {			
			eval('document.getElementById(\'dealer' + card + '\').src = "images/largedeckclose.png"');
			eval('cardpile = document.getElementById(\'inputdealer' + card + '\').value;');
			eval('document.getElementById(\'inputdealer' + card + '\').value = ""');		
					
			returneddealercard[returneddealercardctr] = card;
			returneddealercardctr += 1;
			
			if(cardpile) {
				eval('document.getElementById(\'' + cardpile + '\').style.visibility = "visible"');	
			}		
		}
	}
	else {
		selectedcardindeck = eval("document.getElementById('" + card + "').src");
		tempselectedcardindeck = selectedcardindeck.split("/");
		
		if(tempselectedcardindeck[tempselectedcardindeck.length - 1] != "largedeckclose.png") {						
			eval('document.getElementById(\'' + card + '\').src = "images/largedeckclose.png"');
			eval('cardpile = document.getElementById(\'inputplayer' + card + '\').value;');
			eval('document.getElementById(\'inputplayer' + card + '\').value = ""');
			
			temp = card.replace("card", "");
			returnedcard[returnedcardctr] = temp;		
			returnedcardctr += 1;
			
			if(cardpile) {
				eval('document.getElementById(\'' + cardpile + '\').style.visibility = "visible"');	
			}
		}
	}
}

function makePOSTRequest(url, parameters) {
  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
	 http_request = new XMLHttpRequest();
	 if (http_request.overrideMimeType) {
		// set type accordingly to anticipated content type
		//http_request.overrideMimeType('text/xml');
		http_request.overrideMimeType('text/html');
	 }
  } else if (window.ActiveXObject) { // IE
	 try {
		http_request = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
		try {
		   http_request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
	 }
  }
  if (!http_request) {
	 alert('Cannot create XMLHTTP instance');
	 return false;
  }
  
  http_request.onreadystatechange = alertContents;
  http_request.open('POST', url, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", parameters.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(parameters);
}

function alertContents() {
  var result;
  var ctr;
  
  if (http_request.readyState == 4) {
	 if (http_request.status == 200) {
		//alert(http_request.responseText);
		result = http_request.responseText;
		response = result.split("|");		
		document.getElementById("loader").style.visibility = "hidden";
		
		if(response.length!=1) {				
			//for(ctr=1;ctr<=numofplayers;ctr++) {
			//	eval('document.getElementById(\'calc-result' + ctr +'\').style.visibility = "visible"');
			//}
			
			if(response[0]!=undefined) {
				document.getElementById('calc-result1').style.visibility = "visible";
				document.getElementById("cal-result-win1").innerHTML = "Vincita: " + response[0] + "%";				
			}
			if(response[1]!=undefined) {
				document.getElementById("cal-result-tie1").innerHTML = "Pareggio: " + response[1] + "%";
			}
			if(response[2]!=undefined) {
				document.getElementById('calc-result2').style.visibility = "visible";
				document.getElementById("cal-result-win2").innerHTML = "Vincita: " + response[2] + "%";
			}
			if(response[3]!=undefined) {
				document.getElementById("cal-result-tie2").innerHTML = "Pareggio: " + response[3] + "%";
			}
			if(response[4]!=undefined) {
				document.getElementById('calc-result3').style.visibility = "visible";
				document.getElementById("cal-result-win3").innerHTML = "Vincita: " + response[4] + "%";
			}
			if(response[5]!=undefined) {
				document.getElementById("cal-result-tie3").innerHTML = "Pareggio: " + response[5] + "%";
			}
			if(response[6]!=undefined) {			
				document.getElementById('calc-result4').style.visibility = "visible";
				document.getElementById("cal-result-win4").innerHTML = "Vincita: " + response[6] + "%";
			}
			if(response[7]!=undefined) {
				document.getElementById("cal-result-tie4").innerHTML = "Pareggio: " + response[7] + "%";
			}
			if(response[8]!=undefined) {
				document.getElementById('calc-result5').style.visibility = "visible";
				document.getElementById("cal-result-win5").innerHTML = "Vincita: " + response[8] + "%";
			}
			if(response[9]!=undefined) {				
				document.getElementById("cal-result-tie5").innerHTML = "Pareggio: " + response[9] + "%";
			}
			
			document.getElementById("error-msg").innerHTML = "";
		}
		else {
			document.getElementById("cal-result-win1").innerHTML = "";			
			document.getElementById("cal-result-tie1").innerHTML = "";
			document.getElementById("cal-result-win2").innerHTML = "";
			document.getElementById("cal-result-tie2").innerHTML = "";
			document.getElementById("cal-result-win3").innerHTML = "";
			document.getElementById("cal-result-tie3").innerHTML = "";	
			document.getElementById("cal-result-win4").innerHTML = "";
			document.getElementById("cal-result-tie4").innerHTML = "";	
			document.getElementById("cal-result-win5").innerHTML = "";
			document.getElementById("cal-result-tie5").innerHTML = "";
			
			document.getElementById('calc-result1').style.visibility = "hidden";
			document.getElementById('calc-result2').style.visibility = "hidden";
			document.getElementById('calc-result3').style.visibility = "hidden";
			document.getElementById('calc-result4').style.visibility = "hidden";
			document.getElementById('calc-result5').style.visibility = "hidden";			
				
			document.getElementById("error-msg").innerHTML = result;
		}
	 } else {
		alert('There was a problem with the request.');
	 }
  }
  else {
	document.getElementById("loader").style.visibility = "visible";
  }
}

function get(obj) {
  var poststr = "inputnumofplayers=" + encodeURI( document.getElementById("inputnumofplayers").value ) +
				"&inputplayercard11=" + encodeURI( document.getElementById("inputplayercard11").value ) +
				"&inputplayercard12=" + encodeURI( document.getElementById("inputplayercard12").value ) +
				"&inputplayercard21=" + encodeURI( document.getElementById("inputplayercard21").value ) +
				"&inputplayercard22=" + encodeURI( document.getElementById("inputplayercard22").value ) +
				"&inputplayercard31=" + encodeURI( document.getElementById("inputplayercard31").value ) +
				"&inputplayercard32=" + encodeURI( document.getElementById("inputplayercard32").value ) +
				"&inputplayercard41=" + encodeURI( document.getElementById("inputplayercard41").value ) +
				"&inputplayercard42=" + encodeURI( document.getElementById("inputplayercard42").value ) +
				"&inputplayercard51=" + encodeURI( document.getElementById("inputplayercard51").value ) +
				"&inputplayercard52=" + encodeURI( document.getElementById("inputplayercard52").value ) +
				"&inputdealercard1=" + encodeURI( document.getElementById("inputdealercard1").value ) +
				"&inputdealercard2=" + encodeURI( document.getElementById("inputdealercard2").value ) +
				"&inputdealercard3=" + encodeURI( document.getElementById("inputdealercard3").value ) +
				"&inputdealercard4=" + encodeURI( document.getElementById("inputdealercard4").value );
  
  makePOSTRequest('calculate.php', poststr);
}

