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","blank","blank","blank","blank","7-High","8-High","9-High","10-High","Jack-High","Queen-High","King-High","Ace-High","Pair","Two-Pair","Straight","Flush","3-of-a-Kind","Straight Flush!","4-of-a-Kind!"];var player,dealer,unsorted_player,unsorted_dealer,player_four,dealer_four,player_val,dealer_val,player_hand_val;var player_cards,dealer_cards,player_card_not_used,dealer_card_not_used,folded,winner,bet_amount,queens_amt,net_win,triple_down,game_result;var speed=0.7;var folded_speed=0.2;preload_images();function deal_me(){if($("#deal").hasClass("buttonDis2")){return}if(bet_check()){folded=false;reset();$("#start_here").hide();$("#deal").attr("class","buttonDis2");$("#raise").val("");$("#queens_up").attr("readonly",true);$("#queens_up_bg").attr("class","bet_input_disabled");$("#ante").attr("readonly",true);$("#ante_bg").attr("class","bet_input_disabled");$("#bonus").attr("readonly",true);$("#super_bonus_bg").attr("class","bet_input_disabled");$("#raise").attr("readonly",true);$("#raise_bg").attr("class","bet_input_disabled");setTimeout("show_card(0, 'player');",700*speed)}}function deal_player(){player=generate_hand(new Array());unsorted_player=copy_array(player);player.sort(card_sort_fn);player_four=calc_hand(player);player_val=eval_hand(player_four);player_cards=generate_images(unsorted_player);player_card_not_used=cardMissing(player,player_four)}function deal_dealer(){dealer=generate_hand(player);unsorted_dealer=copy_array(dealer);dealer.sort(card_sort_fn);dealer_four=calc_hand(dealer);dealer_val=eval_hand(dealer_four);dealer_cards=generate_images(unsorted_dealer);dealer_card_not_used=cardMissing(dealer,dealer_four)}function reset(){if(player_cards==null){return}$("#p").hide();$("#d").hide();$("#w").html(" ");$("#win").hide();$("#lose").hide();$("#payout").hide();$("#Qup").attr("src",CORE.CLOUD_URL+"images/crazy4/Q-up0.gif");$("#SuperB").attr("src",CORE.CLOUD_URL+"images/crazy4/Super-b0.gif");for(var a=0;a<player_cards.length;a++){player_cards[a]=getImage(0);dealer_cards[a]=getImage(0);$("#p"+a).attr("src",player_cards[a]).css("border","solid 3px white");$("#d"+a).attr("src",dealer_cards[a]).css("border","solid 3px white")}}function show_dealer(){$("#play").attr("class","buttonDis2");$("#triple").attr("class","buttonDis3");$("#fold").attr("class","buttonDis2");var a=speed;if(folded){a=folded_speed}setTimeout("show_card(0, 'dealer');",200*a)}function fold(){if($("#fold").hasClass("buttonDis2")){return}if($("#queens_up").val()==""||$("#queens_up").val().charAt(0)==" "){queens_amt=0}else{queens_amt=parseInt($("#queens_up").val())}net_win=0;net_win=net_win-queens_amt;net_win=net_win-parseInt($("#ante").val());net_win=net_win-parseInt($("#bonus").val());PLAYER.bank_roll=PLAYER.bank_roll+net_win;triple_down=false;folded=true;show_dealer()}function play_hand(a){if(a==1&&$("#play").hasClass("buttonDis2")){return}if(a==3&&$("#triple").hasClass("buttonDis3")){return}net_win=0;if(a==3){triple_down=true}else{triple_down=false}if($("#queens_up").val()==""||$("#queens_up").val().charAt(0)==" "){queens_amt=0}else{queens_amt=parseInt($("#queens_up").val())}net_win=net_win-queens_amt;net_win=net_win-parseInt($("#ante").val());net_win=net_win-parseInt($("#bonus").val());if((parseInt($("#ante").val())*a)>PLAYER.bank_roll){$("#raise").val(PLAYER.bank_roll)}else{$("#raise").val(parseInt($("#ante").val())*a)}net_win=net_win-parseInt($("#raise").val());bet_amount=Math.abs(net_win);PLAYER.bank_roll=PLAYER.bank_roll+net_win;$("#m").html(formatTotalAmount(PLAYER.bank_roll));folded=false;show_dealer()}function bet_check(){var c=$("#ante").val();var b=$("#bonus").val();var a=$("#queens_up").val();if(isNaN(c)||isNaN(a)||isNaN(b)||c.charAt(0)==" "||a.charAt(0)==" "||b.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(c!=b){$("#w").html("Ante must equal Super Bonus");$("#w").hide().fadeIn("slow");return false}if(a==""){a=0}c=parseInt(c);b=parseInt(b);a=parseInt(a);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(a<0){$("#w").html("Queens Up must be > 0");$("#w").hide().fadeIn("slow");return false}if(a>100000000){$("#w").html("Max Queens Up bet is $100,000,000");$("#w").hide().fadeIn("slow");return false}if((c*3)+a>PLAYER.bank_roll){$("#w").html('<p style="color:red; font-size:0.85em;">Not Enough Money!<br>[ <a href=# onclick="reset_money();">reset bank</a> ]</p>');$("#w").hide().fadeIn("slow");return false}$("#w").html(" ");return true}function calc_winner(){winner="It's a Draw";game_result="D";if(player_val>dealer_val){winner="You Win!";game_result="W"}else{if(player_val<dealer_val){winner="You Lose!";game_result="L"}else{var c=break_tie(player_four,dealer_four,player_val);if(c>0){winner="You Win!";game_result="W"}else{if(c<0){winner="You Lose!";game_result="L"}}}}if(folded){winner=((game_result=="L"&&dealerQualifies())?"Good Fold!":"You folded.");game_result="F";if(queens_amt==0){$("#queens_up_payout").html("$0")}else{$("#queens_up_payout").html(formatTotalAmount(-queens_amt))}$("#ante_payout").html(formatTotalAmount(-parseInt($("#ante").val())));$("#play_payout").html("Folded");$("#super_bonus_payout").html(formatTotalAmount(-parseInt($("#bonus").val())));$("#total_payout").html(formatTotalAmount(net_win));$("#total_payout").css("color","red");$("#m").html(formatTotalAmount(PLAYER.bank_roll));if($("#rules").css("display")=="block"){$("#rules").delay(100).hide("drop",{},350)}$("#payout").delay(150).show("drop",{},350);var a="";for(var d=0;d<player.length;d++){a+=player[d]+" "}var b="";for(var d=0;d<dealer.length;d++){b+=dealer[d]+" "}update_stats($("#ante").val(),0,$("#queens_up").val(),triple_down,isQueensUpWin(),game_result,net_win,PLAYER.bank_roll,a,b,player_val)}else{pay_bets()}}function pay_bets(){net_win=0;var f=-parseInt($("#ante").val());var b=-parseInt($("#raise").val());if(dealerQualifies()){if(winner=="You Win!"){net_win=net_win+(parseInt($("#ante").val())*2);f=parseInt($("#ante").val());net_win=net_win+(parseInt($("#raise").val())*2);b=parseInt($("#raise").val())}else{if(winner=="Draw"){net_win=net_win+parseInt($("#ante").val());f=0;net_win=net_win+parseInt($("#raise").val());b=0}}}else{winner="Dealer doesn't qualify";net_win=net_win+parseInt($("#ante").val());f=0;net_win=net_win+(parseInt($("#raise").val())*2);b=parseInt($("#raise").val())}var e=pay_queens_up();var g=pay_super_bonus();if((net_win-bet_amount)<0){$("#total_payout").html(formatTotalAmount((net_win-bet_amount)));$("#total_payout").css("color","#d23838")}else{$("#total_payout").html("+$"+formatTotalNumber(net_win-bet_amount));$("#total_payout").css("color","#029666")}if($("#rules").css("display")=="block"){$("#rules").delay(100).hide("drop",{},350)}$("#payout").delay(150).show("drop",{},350);PLAYER.bank_roll=PLAYER.bank_roll+net_win;$("#m").html(formatTotalAmount(PLAYER.bank_roll));var a="";for(var d=0;d<player.length;d++){a+=player[d]+" "}var c="";for(var d=0;d<dealer.length;d++){c+=dealer[d]+" "}update_stats($("#ante").val(),$("#raise").val(),$("#queens_up").val(),triple_down,isQueensUpWin(),game_result,(net_win-bet_amount),PLAYER.bank_roll,a,c,player_hand_val);$("#queens_up_payout").html(formatTotalAmount(e));$("#ante_payout").html(formatTotalAmount(f));$("#play_payout").html(formatTotalAmount(b));$("#super_bonus_payout").html(formatTotalAmount(g))}function pay_queens_up(){if(queens_amt==0){return 0}var a=net_win;switch(player_val){case 21:net_win=net_win+(parseInt($("#queens_up").val())*51);$("#Qup").attr("src",CORE.CLOUD_URL+"images/crazy4/Q-up7.gif");break;case 20:net_win=net_win+(parseInt($("#queens_up").val())*41);$("#Qup").attr("src",CORE.CLOUD_URL+"images/crazy4/Q-up6.gif");break;case 19:net_win=net_win+(parseInt($("#queens_up").val())*9);$("#Qup").attr("src",CORE.CLOUD_URL+"images/crazy4/Q-up5.gif");break;case 18:net_win=net_win+(parseInt($("#queens_up").val())*5);$("#Qup").attr("src",CORE.CLOUD_URL+"images/crazy4/Q-up4.gif");break;case 17:net_win=net_win+(parseInt($("#queens_up").val())*4);$("#Qup").attr("src",CORE.CLOUD_URL+"images/crazy4/Q-up3.gif");break;case 16:net_win=net_win+(parseInt($("#queens_up").val())*3);$("#Qup").attr("src",CORE.CLOUD_URL+"images/crazy4/Q-up2.gif");break;case 15:if(isPair(player_four)>120000){net_win=net_win+(parseInt($("#queens_up").val())*2);$("#Qup").attr("src",CORE.CLOUD_URL+"images/crazy4/Q-up1.gif")}break;default:break}return(net_win-a-parseInt($("#queens_up").val()))}function pay_super_bonus(){var a=net_win;if(player_val>=17&&game_result=="L"){net_win=net_win+parseInt($("#bonus").val())}else{if(game_result=="W"||game_result=="D"||!dealerQualifies()){net_win=net_win+parseInt($("#bonus").val())}}player_hand_val=player_val;switch(player_val){case 21:if(isFourOfKind(player_four)==14){player_hand_val+=1;net_win=net_win+(parseInt($("#bonus").val())*200);$("#SuperB").attr("src",CORE.CLOUD_URL+"images/crazy4/Super-b6.gif")}else{net_win=net_win+(parseInt($("#bonus").val())*30);$("#SuperB").attr("src",CORE.CLOUD_URL+"images/crazy4/Super-b5.gif")}break;case 20:net_win=net_win+(parseInt($("#bonus").val())*15);$("#SuperB").attr("src",CORE.CLOUD_URL+"images/crazy4/Super-b4.gif");break;case 19:net_win=net_win+(parseInt($("#bonus").val())*2);$("#SuperB").attr("src",CORE.CLOUD_URL+"images/crazy4/Super-b3.gif");break;case 18:net_win=net_win+Math.floor((parseInt($("#bonus").val())*1.5));$("#SuperB").attr("src",CORE.CLOUD_URL+"images/crazy4/Super-b2.gif");break;case 17:net_win=net_win+(parseInt($("#bonus").val())*1);$("#SuperB").attr("src",CORE.CLOUD_URL+"images/crazy4/Super-b1.gif");break;default:break}return(net_win-a-parseInt($("#bonus").val()))}function show_card(b,c){if(c=="player"){if(b==0){deal_player()}$("#p"+b).attr("src",player_cards[b])}else{if(b==0){deal_dealer()}$("#d"+b).attr("src",dealer_cards[b])}if(b==4){if(c=="player"){$("#play").attr("class","button2");$("#fold").attr("class","button2");if(canTriple()){$("#triple").attr("class","button3")}setTimeout("show_eval('player');",800*speed)}else{setTimeout("show_eval('dealer');",600*speed)}}else{var a=speed;if(folded&&c=="dealer"){a=folded_speed}setTimeout("show_card("+(b+1)+", '"+c+"');",500*a)}if(folded==false){play_sound("deal")}}function show_eval(b){if(b=="player"){for(var a=0;a<unsorted_player.length;a++){if(player_card_not_used==unsorted_player[a]){$("#p"+a).css("border","solid 3px #F5933B")}else{$("#p"+a).css("border","solid 3px #3BA4F5")}}$("#p").html(hand_names[player_val]);$("#p").show();if(canTriple()){play_sound("big_win")}}else{for(var a=0;a<unsorted_dealer.length;a++){if(dealer_card_not_used==unsorted_dealer[a]){$("#d"+a).css("border","solid 3px #F5933B")}else{$("#d"+a).css("border","solid 3px #3BA4F5")}}$("#d").html(hand_names[dealer_val]);$("#d").show();setTimeout("show_winner();",350*speed)}}function show_winner(){calc_winner();$("#w").html(winner);$("#queens_up").removeAttr("readonly");$("#ante").removeAttr("readonly");$("#bonus").removeAttr("readonly");$("#raise").removeAttr("readonly");$("#play").attr("class","buttonDis2");$("#triple").attr("class","buttonDis3");$("#fold").attr("class","buttonDis2");$("#deal").attr("class","button2");$("#queens_up_bg").attr("class","bet_input");$("#super_bonus_bg").attr("class","bet_input");$("#ante_bg").attr("class","bet_input")}function calc_hand(c){var b=0;var f=0;var a=0;var k=4;var e=0,d=0;for(e=0;e<c.length;e++){var h=new Array(4);var g=0;for(d=0;d<c.length;d++){if(d!=k){h[g]=c[d];g++}}a=eval_hand(h);if(a>f){f=a;b=h}k--}return b}function eval_hand(a){if(isFourOfKind(a)>0){return 21}if(isStraightFlush(a)>0){return 20}if(isThreeOfKind(a)>0){return 19}if(isFlush(a)>0){return 18}if(isStraight(a)>0){return 17}if(isTwoPair(a)>0){return 16}if(isPair(a)>0){return 15}return highCard(a)}function break_tie(c,b,a){switch(a){case 21:return isFourOfKind(c)-isFourOfKind(b);case 20:return isStraightFlush(c)-isStraightFlush(b);case 19:return isThreeOfKind(c)-isThreeOfKind(b);case 18:return isFlush(c)-isFlush(b);case 17:return isStraight(c)-isStraight(b);case 16:return isTwoPair(c)-isTwoPair(b);case 15:return isPair(c)-isPair(b);default:return isHighCard(c)-isHighCard(b)}}function isFourOfKind(a){var c=get_rank(a[0]);var b=get_rank(a[3]);if(c!=b){return -1}return c}function isStraightFlush(b){var a=isFlush(b);var c=isStraight(b);if(a>0&&c>0){return c}return -1}function isThreeOfKind(a){if(get_rank(a[0])==get_rank(a[2])){return get_rank(a[0])}if(get_rank(a[1])==get_rank(a[3])){return get_rank(a[1])}return -1}function isFlush(c){var e=get_suit(c[0]);var b=get_rank(c[0])*1000000;var a=10000;var d=0;for(d=1;d<4;d++){if(e!=get_suit(c[d])){return -1}b=b+(a*get_rank(c[d]));a=a/100}return b}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<4;c++){if(d&&c==1&&get_rank(b[c])==4){a=4}else{if(e!=get_rank(b[c])+1){return -1}}e=get_rank(b[c])}return a}function isTwoPair(a){if(get_rank(a[0])==get_rank(a[1])&&get_rank(a[2])==get_rank(a[3])){return(get_rank(a[0])*100)+get_rank(a[2])}return -1}function isPair(a){if(get_rank(a[0])==get_rank(a[1])){return(get_rank(a[0])*10000)+(get_rank(a[2])*100)+get_rank(a[3])}if(get_rank(a[1])==get_rank(a[2])){return(get_rank(a[1])*10000)+(get_rank(a[0])*100)+get_rank(a[3])}if(get_rank(a[2])==get_rank(a[3])){return(get_rank(a[2])*10000)+(get_rank(a[0])*100)+get_rank(a[1])}return -1}function isHighCard(c){var b=0;var a=1000000;var d=0;for(d=0;d<4;d++){b=b+(a*get_rank(c[d]));a=a/100}return b}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(5);var d=0;var e=0,c=0;var f=false;for(e=0;e<5;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}function cardMissing(b,c){var a=0;for(a=0;a<b.length;a++){if(!cardIn(c,b[a])){return b[a]}}return -1}function dealerQualifies(){if(dealer_val>=15){return true}if(highCard(dealer_four)>=13){return true}return false}function isQueensUpWin(){if(player_val>=16){return true}if(player_val==15){if(isPair(player_four)>120000){return true}}return false}function canTriple(){if(player_val>=16){return true}if(player_val==15){if(isPair(player_four)>140000){return true}}return false}function makeFaster(){if($("#faster").attr("checked")){speed=0.2;folded_speed=0.1}else{speed=1;folded_speed=0.4}};
