ÿþ<HTML> <HEAD><TITLE> Another RA Bridge Club Story </TITLE> <script type="text/javascript"><!-- /////////////////////////////////////////////////////////////////////////////////////////////// var hand = "KJ98742.Q7.53.AQ,A5.A8542.AJ7.KJ2,T3.KT6.Q982.T943,Q6.J93.KT64.8765"; // S,W,N,E in order, a period between each suit, a comma between each hand // Aj62.kqj.aq4.ak7,t4.95432.kt873.2,q75.a6.j92.qt543,k983.t87.65.j986 // SAQJHK5DAQ9CQJ654,SK654H876DKT87C87,S2HAQ432DJ432CA32,ST9873HJT9D65CKT9 // 0012132123121003200303232100123332202101020321311133 /////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////// var auction = "Dealer:S,Vul:N,ScoreMethod:M,Auction:1s2hpp2s2n3sppp"; /////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////// var title = "Replace This Title"; /////////////////////////////////////////////////////////////////////////////////////////////// var auctionNote = new Array(); var nameArray = new Array("South","West","North","East"); var suitArray = new Array("Spades","Hearts","Diamonds","Clubs"); var suitGifArray = new Array("s","h","d","c"); var note = ""; var lead = "" var code = ""; function dealCheck(x){ //code += ( x[1][0].length); //code += ( "<br>" + x[1][0]); /* for (a=0;a<4;a++){ var suitLength = 13; for (b=0;b<4;b++){ suitLength = suitLength - x[b][a].length; code += x[b][a].length; } if (suitLength!=0) { code += "<big><big><big>Error</big></big></big>"; } } */ } // FUNCTION THAT SORTS STRINGS// function sorter(a) { var aArray = new Array(a.length); for (b=0;b<a.length;b++) { aArray[b]= a.charAt(b); } aArray.sort(); c = ""; for (b=0;b<aArray.length;b++) { c+= aArray[b]; } return (c); } // END STRING SORT FUNCTION// // FUNCTION THAT DEVELOPS THE HAND STRING function Hand(HandString) { { HandString = HandString.replace("..",". .") HandString = HandString.replace("..",". .") HandString = HandString.replace("..",". .") HandString = HandString.replace("..",". .") HandString = HandString.replace("..",". .") HandString = HandString.replace("..",". .") HandString = HandString.replace(".,",". ,") HandString = HandString + " "; var handsArray = HandString.split(","); for (var i=0;i<handsArray.length;i++) { re1= /\./; handsArray[i] = handsArray[i].split(re1); } for (var a=0;a<4;a++) { for (var b=0;b<4;b++) { if (handsArray[a][b]=="undefined") { handsArray[a][b]=""; } } } dealCheck (handsArray); } var spades=""; var hearts=""; var diamonds=""; var clubs=""; for (a=0;a<4;a++) { spades+=handsArray[a][0] hearts+=handsArray[a][1] diamonds+=handsArray[a][2] clubs+=handsArray[a][3] } for (a=0;a<4;a++) { spades=sorter(spades); hearts=sorter(hearts); diamonds=sorter(diamonds); clubs=sorter(clubs); } // Error testing and reporting // if (spades!="23456789AJKQT" && spades!=" 23456789AJKQT") { document.write ("spade error : <br>" + spades + " are not <br>23456789AJKQT<br>"); } if (hearts!="23456789AJKQT" && hearts!=" 23456789AJKQT") { document.write ("heart error : <br>" + hearts + " are not <br>23456789AJKQT<br>"); } if (diamonds!="23456789AJKQT" && diamonds!=" 23456789AJKQT") { document.write ("diamond error : <br>" + diamonds + " are not <br>23456789AJKQT<br>"); } if (clubs!="23456789AJKQT" && clubs!=" 23456789AJKQT") { document.write ("club error : <br>" + clubs + " are not <br>23456789AJKQT<br>"); } // Error testing and reporting // document.write("23456789AJKQT" + "&nbsp;&nbsp;&nbsp;&nbsp;" + "23456789AJKQT" + "&nbsp;&nbsp;&nbsp;&nbsp;" + "23456789AJKQT" + "&nbsp;&nbsp;" + "23456789AJKQT" + "<br>"); document.write(spades + "&nbsp;&nbsp;&nbsp;&nbsp;" + hearts + "&nbsp;&nbsp;&nbsp;&nbsp;" + diamonds + "&nbsp;&nbsp;" + clubs + "<br>"); code += "<table border=0>"; // NORTH hand row if(handsArray.length>1) { code += "<tr><td width=60></td><td colspan=2><font size=3><strong><u><b>NORTH</b></u></strong>"; for(suit=0;suit<4;suit++) { code += "<br><img src=./images/" +suitGifArray[suit]+ ".gif>&nbsp;" + handsArray[2][suit]; } code += "</font></td><td width=60></td></tr>"; } // EW Hand Row // WEST Data if(handsArray.length>2) { code += "<tr><td colspan=2><font size=3>"; for(suit=0;suit<4;suit++) { code += ("<img src=./images/" +suitGifArray[suit]+ ".gif>&nbsp;" + handsArray[1][suit] + "<br>"); } code += ("</font></td>"); // EAST Data code += ("<td>&nbsp;</td><td colspan=2><font size=3>"); for(suit=0;suit<4;suit++) { code += ("<img src=./images/" +suitGifArray[suit]+ ".gif>&nbsp;" + handsArray[3][suit] + "<br>"); } code += ("</font></td></tr>"); } // SOUTH Hand Row code += ("<tr><td>&nbsp;</td><td colspan=2><font size=3>"); for(suit=0;suit<4;suit++) { code += ("<img src=./images/" +suitGifArray[suit]+ ".gif>&nbsp;" + handsArray[0][suit] + "<br>"); } code += ("</font></td><td width=60></td></tr></table>"); } // END HAND FUNCTION function digitsToString(digits){ hand = digits; character = ""; hand2 = ""; cardArray = new Array("0","1","2","3"); cardNameArray = new Array("A","K","Q","J","T","9","8","7","6","5","4","3","2"); // setting up an Array for the deck, eventually to be recognized as cardArray[direction][suit] // for format akq.akq.akq.akq2,jt9.jt9.jt9.jt93,876.876.876.8764,5432.5432.5432.5 for (a=0;a<4;a++){ cardArray[a] = new Array("","","",""); } for (suit=0;suit<4;suit++){ for (rank=0;rank<13;rank++){ cardArray[hand.charAt(suit*13 + rank)][suit]+=cardNameArray[rank]; } } for (direction=0;direction<4;direction++){ switch(direction) { case 0: temp=1; break; case 2: temp=0; break; case 3: temp=2; break; case 1: temp=3; break; } for (suit=0;suit<4;suit++){ hand2+=cardArray[temp][suit] if (suit<3){ hand2+="."; } } if (direction<3){ hand2+=","; } } return hand2; } // AUCTION FUNCTION function Auction(auctionString) { var auctionArray = auctionString.split(","); for (var i=0;i<auctionArray.length;i++) { auctionArray[i] = auctionArray[i].split(":"); } re = /(\d*)(\D)/g; var auction31Array = auctionArray[3][1].match(re); var dealer; // AUCTION HEADER code += ("<table align=center><tr><td><font size=2>"); code += (" <u>Dealer</u>: <b>"); switch(auctionArray[0][1]) { case "S": code += ("South");dealer=1;break; case "N": code += ("North");dealer=3;break; case "E": code += ("East");dealer=2;break; case "W": code += ("West");dealer=4;break; } code += ("</b> &nbsp;&nbsp;&nbsp;<u>Vul</u>: "); switch(auctionArray[1][1]) { case "N": code += ("<font color=red>NS</font color>");break; case "E": code += ("<font color=red>EW</font color>");break; case "0": code += ("<font color=green>None</font color>");break; case "B": code += ("<font color=red>Both</font color>");break; } code += ("&nbsp;&nbsp;&nbsp;<b><i>"); switch(auctionArray[2][1]) { case "M": code += ("<u>MP");break; case "I": code += ("<u>IMP");break; } code += (" Scoring</u></i></b>"); code += ("</font></td></tr></table>"); footNumber=0; foot = 0; // RESETS auction31 ARRAY with formatted bids for (loop=0;auction31Array.length>(loop+foot);loop++) { auction31Array[loop]=auction31Array[loop+foot]; switch(auction31Array[loop]) { case "F": auction31Array[loop-1]+= "<small><small><font color=red>" + (foot+1) + "</font color></small></small>";foot++;auction31Array[loop]=auction31Array[loop+foot]; case "P": auction31Array[loop]= "<font color=green>Pass</font color>"; break; case "X": auction31Array[loop]= "<font color=red>X</font color>"; break; case "R": auction31Array[loop]= "<font color=blue>XX</font color>"; break; case "?": auction31Array[loop]= "???"; break; default: var temp= auction31Array[loop].charAt(1).toLowerCase(); if(temp=="n") { auction31Array[loop]= auction31Array[loop].charAt(0) + "N"; } else { auction31Array[loop]= auction31Array[loop].charAt(0) + "<img src=./images/" + auction31Array[loop].charAt(1).toLowerCase() + ".gif>" };break; } } code += ("<table border=0 width=\"220\" align=center><tr><td valign=top width=\"25%\" height=\"89\"><p><font size=3><b><big>West</big></b>"); // West if (dealer<4){ code += ("<br>"); } for (loop=0;(loop*4+dealer%4)<auction31Array.length-foot;loop++) { code += ("<br><b>" + auction31Array[loop*4+dealer%4] + "</b>"); } code += ("</font></p></td><td valign=top width=\"25%\" height=\"89\"><font size=3><b><big>North</big></b>"); // North if (dealer<3){ code += ("<br>"); } for (loop=0;(loop*4+(dealer+1)%4)<auction31Array.length-foot;loop++) { code += ("<br><b>" + auction31Array[loop*4+(dealer+1)%4] + "</b>"); } code += ("</font></td><td valign=top width=\"25%\" height=\"89\"><p><font size=3><b><big>East</big></b>"); // East if (dealer<2) { code += ("<br>"); } for (loop=0;(loop*4+(dealer+2)%4)<auction31Array.length-foot;loop++) { code += ("<br><b>" + auction31Array[loop*4+(dealer+2)%4] + "</b>"); } code += ("</font></td><td valign=top width=\"25%\" height=\"89\"><p><font size=3><b><big>South</big></b>"); // South for (loop=0;(loop*4+(dealer+3)%4)<auction31Array.length-foot;loop++) { code += ("<br><b>" + auction31Array[loop*4+(dealer+3)%4] + "</b>"); } code += ("</font></p></td></tr></table>"); } // END AUCTION // NOTES Row function Lead(noteString) { code += ("<table align=\"center\" border=.5 bordercolorlight bgcolor=yellow><tr><td align=\"center\"><big><big><big><b><center>&nbsp;"); code += (noteString); code += ("&nbsp;</center></b></big></big></big></td></tr></table>"); } // Lead Row function Lead(leadString) { code += ("<table align=\"center\" border=.5 bordercolorlight bgcolor=yellow><tr><td align=\"center\"><big><big><big><b><center>&nbsp;"); code += (leadString); code += ("&nbsp;</center></b></big></big></big></td></tr></table>"); } // Title Box function Title(titleString) { code += ("<table align=\"center\" border=.5 bordercolorlight bgcolor=yellow><tr><td align=\"center\"><big><big><big><b><center>&nbsp;"); code += (titleString); code += ("&nbsp;</center></b></big></big></big></td></tr></table>"); } function make() { window.document.calendar_form.source_code.value = code; window.document.calendar_form.source_code.select() } //--></script> </HEAD> <BODY> <script type="text/javascript"><!-- code += ("<table align=left border=1 cellpadding=0 cellspacing=0><tr><td>"); hand = hand.toUpperCase(); character = ""; if (hand.charAt(0)=="S"){ hand2 = ""; for (a=0;a<hand.length;a++) { if (hand.charAt(a)=="S") { character=""; } else if (hand.charAt(a)=="H" || hand.charAt(a)=="D" || hand.charAt(a)=="C") { character="."; } else { character=hand.charAt(a) } hand2+= character; } hand = hand2; } else if (hand.charAt(0)<4 && hand.charAt(0)<4 && hand.charAt(0)<4) { hand = digitsToString("0012132123121003200303232100123332202101020321311133"); } Hand(hand); code += ("</td></tr><tr><td>"); auction = auction.toUpperCase(); Auction(auction); code += ("</td></tr><tr><td>"); //Notes("");code += ("</td></tr><tr><td>"); //Lead("");code += ("</td></tr><tr><td>"); code += ("</td></tr></table>"); Title(title); for (loop=0;loop<foot;loop++){ code += "<b><small><small><font color=red>" + (loop+1) + "</font color></small></small></b>\n\n<br>"; } code += "\n<p>\n<p>\n<p>\n<p>\n"; /* code += '<CENTER><TABLE align=center border=0 cellPadding=2 cellSpacing=11><TBODY><TR><TD><A href="http://members.rogers.com/murraygw/ra.htm"><IMG src=./images/rabutton.gif></A></TD><TD><A href="mailto:murraygw@rogers.com"><img src=./images/email2.gif></A></TD><TD><A href="http://members.rogers.com/murraygw/sch.htm"><img src=./images/sched.gif></A></TD></TR></TBODY></TABLE></CENTER>'; */ document.write(code); //window.open(code); //--></script> <body> <form name="calendar_form"> <center> <textarea rows="18" cols=50" name="source_code"> The source code should have appeared here </textarea><hr> <script type="text/javascript"><!-- make() //--></script> </form> <!--Story Text--> <p> </BODY> </HTML>