/*

Porn Star Poker 09-26-99

*/

var bet = 1
var credit = 200
var savecredit = 0
var debt = 200
var gameon = false
var temp = 0
var besthand = 1
var handsplayed = 0
hold = new Array(5)
card = new Array(5)
newcard = new Array(5)
cardvalue = new Array(5)
cardsuit = new Array(5)
cardnumber = new Array(53)
number = new Array(10)
message = new Array(14)

for(x=0;x<5;x++) {
	hold[x] = true
	card[x] = 0
	newcard[x] = 0
	cardvalue[x] = 0
	cardsuit[x] = 0
}

cardnumber[0]=new Image(71,96)
cardnumber[0].src="cardback.gif"

for (x=1;x<53;x++) {
	cardnumber[x]=new Image(71,96)
	cardnumber[x].src= eval('"card' + x + '.gif"')
}

for (x=0;x<10;x++) {
	number[x]=new Image(23,25)
	number[x].src=eval('"number' + x + '.gif"')
}

numberblank=new Image(23,25)
numberblank.src="numberblank.gif"

for (x=1;x<14;x++) {
	message[x]=new Image(350,25)
	message[x].src=eval('"pmessage' + x + '.gif"')
}

function show(img, imgnum)  {
        document[img].src = cardnumber[card[imgnum]].src 
}

function draw()  {
	if (gameon) draw2()
	else draw1()
}

function draw1()  {

	handsplayed++
	hand = 12
	updatemessage('message')
	gameon=true
	credit -= bet
	updatecredit('credita', 'creditb', 'creditc', 'creditd')

	card[0] = Math.floor(52*(Math.random()) + 1)
	card[1] = Math.floor(52*(Math.random()) + 1)
	while (card[1] == card[0])  {
		card[1] = Math.floor(52*(Math.random()) + 1)
	}
	card[2] = Math.floor(52*(Math.random()) + 1)
	while (card[2] == card[0] || card[2] == card[1])  {
		card[2] = Math.floor(52*(Math.random()) + 1)
	}
	card[3] = Math.floor(52*(Math.random()) + 1)
	while (card[3] == card[2] || card[3] == card[1] || card[3] == card[0])  {
		card[3] = Math.floor(52*(Math.random()) + 1)
	}
	card[4] = Math.floor(52*(Math.random()) + 1)
	while (card[4] == card[3] || card[4] == card[2] || card[4] == card[1] || card[4] == card[0])  {
		card[4] = Math.floor(52*(Math.random()) + 1)
	}

	show('carda', 0)
	show('cardb', 1)
	show('cardc', 2)
	show('cardd', 3)
	show('carde', 4)
}

function draw2()  {
	gameon=false
	if (hold[0] == false)  {
		newcard[0] = Math.floor(52*(Math.random()) + 1)
		while (newcard[0] == card[0] || newcard[0] == card[1] || newcard[0] == card[2] || newcard[0] == card[3] || newcard[0] == card[4])  {
			newcard[0] = Math.floor(52*(Math.random()) + 1)
		}
	}
	else  {
		newcard[0] = card[0]
	}
	if (hold[1] == false)  {
		newcard[1] = Math.floor(52*(Math.random()) + 1)
		while (newcard[1] == newcard[0] || newcard[1] == card[0] || newcard[1] == card[1] || newcard[1] == card[2] || newcard[1] == card[3] || newcard[1] == card[4])  {
			newcard[1] = Math.floor(52*(Math.random()) + 1)
		}
	}
	else  {
		newcard[1] = card[1]
	}
	if (hold[2] == false)  {
		newcard[2] = Math.floor(52*(Math.random()) + 1)
		while (newcard[2] == newcard[1] || newcard[2] == newcard[0] || newcard[2] == card[0] || newcard[2] == card[1] || newcard[2] == card[2] || newcard[2] == card[3] || newcard[2] == card[4])  {
			newcard[2] = Math.floor(52*(Math.random()) + 1)
		}
	}
	else  {
		newcard[2] = card[2]
	}
	if (hold[3] == false)  {
		newcard[3] = Math.floor(52*(Math.random()) + 1)
		while (newcard[3] == newcard[2] || newcard[3] == newcard[1] || newcard[3] == newcard[0] || newcard[3] == card[0] || newcard[3] == card[1] || newcard[3] == card[2] || newcard[3] == card[3] || newcard[3] == card[4])  {
			newcard[3] = Math.floor(52*(Math.random()) + 1)
		}
	}
	else  {
		newcard[3] = card[3]
	}
	if (hold[4] == false)  {
		newcard[4] = Math.floor(52*(Math.random()) + 1)
		while (newcard[4] == newcard[3] || newcard[4] == newcard[2] || newcard[4] == newcard[1] || newcard[4] == newcard[0] || newcard[4] == card[0] || newcard[4] == card[1] || newcard[4] == card[2] || newcard[4] == card[3] || newcard[4] == card[4])  {
			newcard[4] = Math.floor(52*(Math.random()) + 1)
		}
	}
	else  {
		newcard[4] = card[4]
	}

	for (x=0;x<5;x++) {
		card[x] = newcard[x]
	}

	if (hold[0]==false)  {
		show('carda', 0)
	}
	if (hold[1]==false)  {
		show('cardb', 1)
	}
	if (hold[2]==false)  {
		show('cardc', 2)
	}
	if (hold[3]==false)  {
		show('cardd', 3)
	}
	if (hold[4]==false)  {
		show('carde', 4)
	}

	sort()
	checkhand()
	for (x=0;x<5;x++) {
		hold[x] = true
	}

	if (credit==0)  {
		bankmachine()
	}
	else if (bet > credit)  {
		bet = credit
		updatebet('beta', 'betb')
	}

}

function sort()  {

	for (x=0;x<5;x++)  {
		cardvalue[x] = card[x] - (13*(Math.floor((card[x]-1)/13)))
		cardsuit[x] = Math.floor((card[x]-1)/13) + 1
	}

	for (y=4; y>0; y--) {
		for (z=0; z<y; z++) {
			if (cardvalue[z] > cardvalue[z+1])  {
				temp = cardvalue[z+1]
				cardvalue[z+1] = cardvalue[z]
				cardvalue[z] = temp
			}
		}
	}
}

function checkhand()  {

	if (cardsuit[0] == cardsuit[1] && cardsuit[0] == cardsuit[2] && cardsuit[0] == cardsuit[3] && cardsuit[0] == cardsuit[4])  {
		hand=6
		if (cardvalue[0] == (cardvalue[1] - 1) && cardvalue[1] == (cardvalue[2] - 1) && cardvalue[2] == (cardvalue[3] - 1) && cardvalue[3] == (cardvalue[4] - 1))  {
			hand=9
		} 
		else if (cardvalue[0] == 1 && cardvalue[1] == 10 && cardvalue[2] == 11 && cardvalue[3] == 12 && cardvalue[4] == 13)  {
			hand=10
		}
	} 
	else if ((cardvalue[1] == cardvalue[2] && cardvalue[2] == cardvalue[3]) && (cardvalue[0] == cardvalue[1] || cardvalue[3] == cardvalue[4]))  {
		hand=8
	}
	else if ((cardvalue[0] == cardvalue[1] && cardvalue[1]==cardvalue[2] && cardvalue[3] == cardvalue[4]) || (cardvalue[0] == cardvalue[1] && cardvalue[2] == cardvalue[3] && cardvalue[3] == cardvalue[4]))  {
		hand=7
	}
	else if ((cardvalue[0] == (cardvalue[1] - 1) && cardvalue[1] == (cardvalue[2] - 1) && cardvalue[2] == (cardvalue[3] - 1) && cardvalue[3] == (cardvalue[4] - 1)) || (cardvalue[0] == 1 && cardvalue[1] == 10 && cardvalue[2] == 11 && cardvalue[3] == 12 && cardvalue[4] == 13))  {
		hand=5
	}
	else if ((cardvalue[0] == cardvalue[1] && cardvalue[1] == cardvalue[2]) || (cardvalue[1] == cardvalue[2] && cardvalue[2] == cardvalue[3]) || (cardvalue[2] == cardvalue[3] && cardvalue[3] == cardvalue[4]))  {
		hand=4
	}
	else if ((cardvalue[0] == cardvalue[1] && cardvalue[2] == cardvalue[3]) || (cardvalue[0] == cardvalue[1] && cardvalue[3] == cardvalue[4]) || (cardvalue[1] == cardvalue[2] && cardvalue[3] == cardvalue[4]))  {
		hand=3
	}
	else if ((cardvalue[0] == cardvalue[1] && (cardvalue[1] > 10 || cardvalue[1] == 1)) || (cardvalue[1] == cardvalue[2] && (cardvalue[2] > 10 || cardvalue[2] == 1)) || (cardvalue[2] == cardvalue[3] && (cardvalue[3] > 10 || cardvalue[3] == 1)) || (cardvalue[3] == cardvalue[4] && (cardvalue[4] > 10 || cardvalue[4] == 1)))  {
		hand=2 
	}
	else  {
		hand=13 
	}

	if (hand>besthand && hand < 12 && hand > 1) besthand=hand
	if (hand==2) credit += bet
	else if (hand==3) credit += bet*2
	else if (hand==4) credit += bet*3
	else if (hand==5) credit += bet*5
	else if (hand==6) credit += bet*6
	else if (hand==7) credit += bet*8
	else if (hand==8) credit += bet*15
	else if (hand==9) credit += bet*50
	else if (hand==10) credit += bet*250

	updatecredit('credita', 'creditb', 'creditc', 'creditd')
	updatemessage('message')

}

function h(image, holdnum)  {
	if (gameon)  {
		if (hold[holdnum-1]==false) {
			show(image, holdnum-1)
			hold[holdnum-1] = true			
		}
		else  {
			document [image].src=cardnumber[0].src
			hold[holdnum-1] = false
		}
	}
}

function updatebet(aaa, bbb)  {
	if (bet == 10)  {
		document [aaa].src = number[1].src
		document [bbb].src = number[0].src
	}
	else  {
		document [bbb].src = numberblank.src
		document [aaa].src = number[bet].src
	}
}

function updatecredit(aaa, bbb, ccc, ddd)  {
	savecredit = credit

	if (credit > 999)  {
		document [aaa].src = number[Math.floor(credit/1000)].src
		credit -= (Math.floor(credit/1000)*1000)
		document [bbb].src = number[Math.floor(credit/100)].src
		credit -= (Math.floor(credit/100)*100)
		document [ccc].src = number[Math.floor(credit/10)].src
		credit -= (Math.floor(credit/10)*10)
		document [ddd].src = number[credit].src
	}
	else if (credit > 99)  {
		document [ddd].src = numberblank.src
		document [aaa].src = number[Math.floor(credit/100)].src
		credit -= (Math.floor(credit/100)*100)
		document [bbb].src = number[Math.floor(credit/10)].src
		credit -= (Math.floor(credit/10)*10)
		document [ccc].src = number[credit].src
	}
	else if (credit > 9)  {
		document [ddd].src = numberblank.src
		document [ccc].src = numberblank.src
		document [aaa].src = number[Math.floor(credit/10)].src
		credit -= (Math.floor(credit/10)*10)
		document [bbb].src = number[credit].src
	}
	else  {
		document [ddd].src = numberblank.src
		document [ccc].src = numberblank.src
		document [bbb].src = numberblank.src
		document [aaa].src = number[credit].src
	}
	credit = savecredit
}

function updatemessage(aaa)  {
	document [aaa].src = message[hand].src
}

function odds()  {
	open("odds.html", "odds", "width=250,height=270,scrollbars,resizable"); 
}

function rules()  {
	open("rules.html", "rules", "width=500,height=225,scrollbars,resizable"); 
}

function about()  {
	alert("JScript Video Poker v2.01\n" +
		"Copyright (C) 1997-99 Robert Eisler\n" +
		"http://www.robplanet.com/js/poker\n" +
		"rob@robplanet.com")
}

function betup()  {
	if (!gameon && credit>bet && bet<10)  {
		bet++
		updatebet('beta', 'betb')
	}
}

function betdown()  {
	if (!gameon && bet>1)  {
		bet--
		updatebet('beta', 'betb')
	}
}

function betone()  {
	if (!gameon) {
		bet=1
		updatebet('beta', 'betb')
	}
}

function betten()  {
	if (!gameon && bet<10 && credit>9)  {
		bet=10
		updatebet('beta', 'betb')
	}
}

function bankmachine()  {
	debt += 200
//	hand = 11
//	updatemessage('message')
	for (x=0;x<201;x+=5)  {
		credit = x	
		updatecredit('credita', 'creditb', 'creditc', 'creditd')
	}
}

function total()  {
	if (credit > debt)  alert("You made $" + (credit-debt) + " today.  Congratulations!")
	else if (credit == debt)  alert("You broke even today.  Not bad.")
	else  alert("You lost $" + (debt-credit) + " today.  Better luck next time!")
	debt = 200
	credit = 200
	besthand = 1
	updatecredit('credita', 'creditb', 'creditc', 'creditd')
}