var ranks=["Card","blank","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Jack","Queen","King","Ace"];var suits=["BackRed","Clubs","Diamonds","Hearts","Spades"];var hand_names=["blank","blank","blank","3-High","4-High","5-High","6-High","7-High","8-High","9-High","10-High","Jack-High","Queen-High","King-High","Ace-High","Low-Pair","Pair of Tens","Pair of Jacks","Pair of Queens","Pair of Kings","Pair of Aces","Two-Pair","3-of-a-Kind","Straight","Flush","Full House","4-of-a-Kind!","Straight Flush!","Royal Flush!!!"];var pre_hands={23:"1",24:"1",27:"1",28:"1"};var player,unsorted_player,player_val,player_hand_val;var player_cards,turn,winner,bet_amount,net_win,game_result,bonus3_bet,bonus3_net;var speed=0.7;preload_images();function deal_me(){if($("#deal").hasClass("buttonDis2")){return}if(bet_check()){turn=0;reset();$("#start_here").hide();$("#deal").attr("class","buttonDis2");$("#bonus").attr("disabled",true);$("#ante").attr("readonly",true);$("#ante_bg").attr("class","bet_input_disabled");$("#raise2").attr("readonly",true);$("#raise2_bg").attr("class","bet_input_disabled");$("#raise1").attr("readonly",true);$("#raise1_bg").attr("class","bet_input_disabled");$("#bonus3").attr("readonly",true);$("#bonus3_bg").attr("class","bet_input_disabled");$("#payout_outline").hide();$("#bonus_payout_outline").hide();$("#bonus3_payout_outline").hide();setTimeout("show_player_card(0);",700*speed)}}function deal_player(){player=generate_hand(new Array());unsorted_player=copy_array(player);player.sort(card_sort_fn);player_val=eval_hand(player);player_cards=generate_images(unsorted_player)}function reset(){if(player_cards==null){return}$("#p").hide();$("#d").hide();$("#w").html(" ");$("#win").hide();$("#lose").hide();$("#payout").hide();for(var a=0;a<player_cards.length;a++){player_cards[a]=getImage(0);$("#p"+a).attr("src",player_cards[a]).css("border","solid 3px white")}for(a=0;a<2;a++){$("#c"+a).attr("src",getImage(0)).css("border","solid 3px white")}}function show_community_card(){card=generate_card();while(cardIn(player,card)){card=generate_card()}player.push(card);unsorted_player=copy_array(player);player.sort(card_sort_fn);player_val=eval_hand(player);player_cards.push(getImage(card));setTimeout("flip_community_card();",350*speed)}function flip_community_card(){show_eval();$("#c"+turn).attr("src",player_cards[3+turn]);if(turn==0){$("#ride").attr("class","button2");$("#pull").attr("class","button2")}else{if(turn==1){setTimeout("show_winner();",600*speed)}}turn+=1;play_sound("deal")}function show_player_card(b){if(b==0){deal_player()}$("#p"+b).attr("src",player_cards[b]);if(b==2){$("#ride").attr("class","button2");$("#pull").attr("class","button2");if(bonus3_bet>0){bonus3_net=pay_bonus3(bonus3_bet);if(player_val>26){$("#bonus3_payout_outline").css("top",(494+((28-player_val)*19))+"px").show();$("#bonus3_payout_outline").fadeToggle(125).fadeToggle(150).fadeToggle(125).fadeToggle(150).fadeToggle(125).fadeToggle(150).fadeToggle(125).fadeToggle(150)}else{if(player_val>21){$("#bonus3_payout_outline").css("top",(494+((player_val-20)*19))+"px").show();$("#bonus3_payout_outline").fadeToggle(125).fadeToggle(150).fadeToggle(125).fadeToggle(150).fadeToggle(125).fadeToggle(150)}else{if(player_val>14){$("#bonus3_payout_outline").css("top",(494+(5*19))+"px").show();$("#bonus3_payout_outline").fadeToggle(125).fadeToggle(150).fadeToggle(125).fadeToggle(150)}}}}else{bonus3_net=0}setTimeout("show_eval();",800*speed)}else{var a=speed;setTimeout("show_player_card("+(b+1)+");",500*a)}play_sound("deal")}function pull(){if($("#pull").hasClass("buttonDis2")){return}$("#ride").attr("class","buttonDis2");$("#pull").attr("class","buttonDis2");if(turn==0){$("#raise1_bg").fadeOut(350,function(){PLAYER.bank_roll+=parseInt($("#raise1").val());$("#raise1").val("0")})}else{if(turn==1){$("#raise2_bg").fadeOut(350,function(){PLAYER.bank_roll+=parseInt($("#raise2").val());$("#raise2").val("0")})}}$("#m").html(formatTotalAmount(PLAYER.bank_roll));show_community_card()}function let_it_ride(){if($("#ride").hasClass("buttonDis2")){return}$("#ride").attr("class","buttonDis2");$("#pull").attr("class","buttonDis2");show_community_card()}function bet_check(){var a=$("#raise1").val();var d=$("#raise2").val();var c=$("#ante").val();bonus3_bet=$("#bonus3").val();var b=$("#bonus").attr("checked")?1:0;if(isNaN(c)||c.charAt(0)==" "||isNaN(bonus3_bet)||bonus3_bet.charAt(0)==" "){$("#w").html("Bets must be a number");$("#w").hide().fadeIn("slow");return false}if(c==""){$("#w").html("Ante cannot be blank");$("#w").hide().fadeIn("slow");return false}if(bonus3_bet==""){bonus3_bet=0}if(b==""){b=0}a=parseInt(a);d=parseInt(d);c=parseInt(c);bonus3_bet=parseInt(bonus3_bet);b=parseInt(b);if(c<1){$("#w").html("Ante must be at least $1");$("#w").hide().fadeIn("slow");return false}if(c>100000000){$("#w").html("Max bet is $100,000,000");$("#w").hide().fadeIn("slow");return false}if(bonus3_bet>100000000){$("#w").html("Max 3-card bonus bet is $100,000,000");$("#w").hide().fadeIn("slow");return false}if((c*3)+bonus3_bet+b>PLAYER.bank_roll){$("#w").html('<p style="color:red; font-size:0.85em;">Not Enough Money! [ <a href=# onclick="reset_money();">reset bank</a> ]</p>');$("#w").hide().fadeIn("slow");return false}$("#w").html(" ");PLAYER.bank_roll-=(a+d+c+bonus3_bet+b);$("#m").html(formatTotalAmount(PLAYER.bank_roll));return true}function calc_winner(){winner="";game_result="";if(player_val>15){winner="You Win!";game_result="W"}else{winner="You Lose!";game_result="L"}pay_bets()}function pay_bets(){net_win=0;var b=parseInt($("#raise1").val());var f=parseInt($("#raise2").val());var e=parseInt($("#ante").val());if(game_result=="L"){b*=-1;f*=-1;e*=-1}else{PLAYER.bank_roll+=(b+f+e);b=pay_hand(b);f=pay_hand(f);e=pay_hand(e);PLAYER.bank_roll+=(b+f+e)}net_win+=b;net_win+=f;net_win+=e;var g=$("#bonus").attr("checked")?1:0;var d=pay_bonus(g);net_win+=d;if(d>0){PLAYER.bank_roll+=(g+d)}if(bonus3_bet>0){net_win+=bonus3_net}if(bonus3_net>0){PLAYER.bank_roll+=(bonus3_bet+bonus3_net)}if(net_win<0){$("#total_payout").html(formatTotalAmount(net_win));$("#total_payout").css("color","#d23838")}else{$("#total_payout").html("+$"+formatTotalNumber(net_win));$("#total_payout").css("color","#029666")}$("#payout").delay(150).show("drop",{},350);$("#m").html(formatTotalAmount(PLAYER.bank_roll));var a="";for(var c=0;c<player.length;c++){a+=player[c]+" "}update_stats($("#raise1").val(),$("#raise2").val(),$("#ante").val(),g,bonus3_bet,game_result,net_win,PLAYER.bank_roll,a,player_val);if(player_val>15){$("#payout_outline").css("top",(437+(Math.min(28-player_val,8)*19))+"px").show()}if(player_val>21){$("#bonus_payout_outline").css("top",(475+((28-player_val)*19))+"px").show()}$("#1_payout").html(formatTotalAmount(b));$("#2_payout").html(formatTotalAmount(f));$("#ante_payout").html(formatTotalAmount(e));$("#bonus3_payout").html(bonus3_net==0?"--":formatTotalAmount(bonus3_net));$("#bonus_payout").html(formatTotalAmount(d))}function pay_hand(b){var a=0;switch(player_val){case 28:a=(b*1000);break;case 27:a=(b*200);break;case 26:a=(b*50);break;case 25:a=(b*11);break;case 24:a=(b*8);break;case 23:a=(b*5);break;case 22:a=(b*3);break;case 21:a=(b*2);break;case 20:case 19:case 18:case 17:case 16:a=(b*1);break;default:a=-b;break}return a}function pay_bonus(b){var a=0;switch(player_val){case 28:a=(b*20000);break;case 27:a=(b*2000);break;case 26:a=(b*400);break;case 25:a=(b*200);break;case 24:a=(b*50);break;case 23:a=(b*25);break;case 22:a=(b*5);break;default:a=-b;break}return a}function pay_bonus3(b){var a=0;switch(player_val){case 28:a=(b*50);break;case 27:a=(b*40);break;case 22:a=(b*30);break;case 23:a=(b*6);break;case 24:a=(b*4);break;case 20:case 19:case 18:case 17:case 16:case 15:a=(b*1);break;default:a=-b;break}return a}function show_eval(){show_advice();var a="";if(pre_hands[player_val]&&player.length<5){a='<span style="font-size:0.625em;">'+player.length+"-card </span>"}$("#p").html(a+hand_names[player_val]);$("#p").show();if(player.length==5&&player_val>21){play_sound("big_win")}}function show_advice(){if($("#advice").attr("checked")){$("div[id^=advice_box]").hide();if(player&&(player.length==3||player.length==4)){if(getAdvice()==-1){$("div[id^=advice_box_pull]").show()}else{$("div[id^=advice_box_ride]").show()}}}}function show_winner(){calc_winner();$("#w").html(winner);$("#bonus").removeAttr("disabled");$("#bonus3").removeAttr("readonly");$("#ante").removeAttr("readonly");$("#raise2").removeAttr("readonly");$("#raise1").removeAttr("readonly");$("#ride").attr("class","buttonDis2");$("#pull").attr("class","buttonDis2");$("#deal").attr("class","button2");$("#raise2").val($("#ante").val());$("#raise1").val($("#ante").val());setTimeout("delayRebet();",1000)}function delayRebet(){$("#bonus3_bg").attr("class","bet_input");$("#ante_bg").attr("class","bet_input");$("#raise2_bg").attr("class","bet_input");$("#raise1_bg").attr("class","bet_input");$("#raise1_bg").show();$("#raise2_bg").show()}function getAdvice(){if(player.length==3){if(player_val>15&&!pre_hands[player_val]){return 1}var d=get_rank(player[0]);var c=get_rank(player[1]);var b=get_rank(player[2]);if(player_val>26&&b!=2){return 2}if(player_val>23&&b>9){return 3}if(isPair(player)==-1&&(d-b)==3&&isFlush(player)!=-1&&d>9){return 4}if(isPair(player)==-1&&(d-b)==4&&isFlush(player)!=-1&&c>9){return 5}}else{if(player.length==4){if(player_val>15&&!pre_hands[player_val]){return 1}var d=get_rank(player[0]);var c=get_rank(player[1]);var b=get_rank(player[2]);var a=get_rank(player[3]);if(player_val>23){return 6}if(isPair(player)==-1&&(d-a)==3){return 7}if(isPair(player)==-1&&(d-a)==4&&a>9){return 8}}}return -1}function eval_hand(a){if(isRoyalFlush(a)>0){return 28}if(isStraightFlush(a)>0){return 27}if(isFourOfKind(a)>0){return 26}if(isFullHouse(a)>0){return 25}if(isFlush(a)>0){return 24}if(isStraight(a)>0){return 23}if(isThreeOfKind(a)>0){return 22}if(isTwoPair(a)>0){return 21}if(isPair(a)>9){return 6+isPair(a)}if(isPair(a)>0){return 15}return highCard(a)}function isRoyalFlush(a){var b=isStraightFlush(a);if(b==14){return 1}return -1}function isStraightFlush(b){var a=isFlush(b);var c=isStraight(b);if(a>0&&c>0){return c}return -1}function isFourOfKind(a){if(a.length<4){return -1}if(get_rank(a[0])==get_rank(a[3])){return get_rank(a[0])}if(get_rank(a[1])==get_rank(a[4])){return get_rank(a[1])}return -1}function isFullHouse(a){if(a.length<5){return -1}var f=get_rank(a[0]);var e=get_rank(a[1]);var d=get_rank(a[2]);var c=get_rank(a[3]);var b=get_rank(a[4]);if(f==d&&c==b){return f}if(d==b&&f==e){return d}return -1}function isFlush(a){var c=get_suit(a[0]);for(var b=1;b<a.length;b++){if(c!=get_suit(a[b])){return -1}}return 1}function isStraight(b){var e=get_rank(b[0]);var a=e;var d=false;if(e==14){d=true}var c=0;for(c=1;c<b.length;c++){if(d&&c==1&&get_rank(b[c])==b.length){a=b.length}else{if(e!=get_rank(b[c])+1){return -1}}e=get_rank(b[c])}return a}function isThreeOfKind(a){if(get_rank(a[0])==get_rank(a[2])){return get_rank(a[0])}if(a.length>3&&get_rank(a[1])==get_rank(a[3])){return get_rank(a[1])}if(a.length>4&&get_rank(a[2])==get_rank(a[4])){return get_rank(a[2])}return -1}function isTwoPair(a){if(a.length<4){return -1}var f=get_rank(a[0]);var e=get_rank(a[1]);var d=get_rank(a[2]);var c=get_rank(a[3]);if(f==e&&d==c){return f}if(a.length==5){var b=get_rank(a[4]);if(f==e&&c==b){return f}if(e==d&&c==b){return e}}return -1}function isPair(a){var c=get_rank(a[0]);for(var b=1;b<a.length;b++){if(c==get_rank(a[b])){return c}c=get_rank(a[b])}return -1}function highCard(a){return get_rank(a[0])}function get_suit(a){return Math.floor(a/100)}function get_rank(a){return a%100}function generate_hand(b){var a=new Array(3);var d=0;var e=0,c=0;var f=false;for(e=0;e<3;e++){f=false;d=generate_card();if(cardIn(b,d)){f=true}else{for(c=0;c<e;c++){if(a[c]==d){f=true;break}}}if(f){e--}else{a[e]=d}}return a};
