numPlayersStart(0,0);
function gameStart(num){numPlayersStart(num, 1);numTimesPlayedStart(num, 1);stats(num, 1);}
function testPuzzleOffset(num,offset){var cookiename='game'+num+'offset';var cookieval=getCookie(cookiename);if (cookieval!=offset){setCookie(cookiename,offset,365);setCookie('game'+num,0,365);}}
function MM_preloadImages(){var d=document;if(d.images){if(!d.MM_p)
d.MM_p=new Array();var i,j=d.MM_p.length,a=MM_preloadImages.arguments;for(i=0;i<a.length;i++){if(a[i].indexOf("#")!=0){d.MM_p[j]=new Image;d.MM_p[j++].src=a[i];}}}}
function numPlayersStart(game,calledFromHTML){var str;str="numPlayers(\'ActiveNum.asp\', "+game+", "+calledFromHTML+")";if(game<=0){if(calledFromHTML==0)numPlayers("ActiveNum.asp",game,calledFromHTML);}
if(calledFromHTML==1)setInterval(str,30000);}
function numPlayers(funcName,game,calledFromHTML){var xmlHttp=GetXmlHttpObject();if(xmlHttp!=null){xmlHttp.onreadystatechange=function(){if(xmlHttp.readyState==4){try{if(xmlHttp.responseText.charAt(0)=='0')
document.getElementById('numPlayers').innerHTML=" ";else document.getElementById('numPlayers').innerHTML=xmlHttp.responseText;}
catch(e){return false;}}}
xmlHttp.open("GET",funcName+"?g="+game+"&calledFromHTML="+calledFromHTML,true);xmlHttp.send(null);}
else{try{document.getElementById('numPlayers').innerHTML=" ";}
catch(e){}}}
function GetXmlHttpObject(){var xmlHttp=null;try{xmlHttp=new XMLHttpRequest();}
catch(e){try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
catch(e){xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}}
return xmlHttp;}
function setCookie(name,value,expiredays){var exdate=new Date();exdate.setDate(exdate.getDate()+expiredays);document.cookie=name+"="+escape(value)+((expiredays==null)?"":";expires="+exdate.toGMTString());}
function getCookie(name){if(document.cookie.length>0){var start=document.cookie.indexOf(name+"=");if(start!=-1){start=start+name.length+1;var end=document.cookie.indexOf(";",start);if(end==-1)
end=document.cookie.length;return unescape(document.cookie.substring(start,end));}}
return 0;}
function checkCookie(name){var value=getCookie(name);if(value==0)
setCookie(name,1,365);}
function initSettings(){changeGameSize();changeGameSize();changeSounds();changeSounds();changeBackgrounds();changeBackgrounds();changeAutoPlay();changeAutoPlay();}
function changeGameSize(){checkCookie('gamesize');var size=getCookie('gamesize');if((size<1)||(size>2))size=2;setCookie('gamesize',3-size,365);document.getElementById('changesize').innerHTML=(size==2)?"Game Size: LARGE":"Game Size: SMALL";document.getElementById('changesize').blur();}
function changeSounds(){checkCookie('soundon');var sounds=getCookie('soundon');if((sounds<1)||(sounds>2))sounds=2;setCookie('soundon',3-sounds,365);document.getElementById('changesounds').innerHTML=(sounds==2)?"Sound Effects: ON":"Sound Effects: OFF";document.getElementById('changesounds').blur();}
function changeBackgrounds(){checkCookie('green');var green=getCookie('green');if((green<1)||(green>2))green=1;setCookie('green',3-green,365);document.getElementById('changebackgrounds').innerHTML=(green==2)?"Backgrounds: STANDARD":"Backgrounds: GREEN";document.getElementById('changebackgrounds').blur();}
function changeAutoPlay(){checkCookie('autoplay');var autoplay=getCookie('autoplay');if((autoplay<1)||(autoplay>2))autoplay=1;setCookie('autoplay',3-autoplay,365);document.getElementById('changeautoplay').innerHTML=(autoplay==2)?"Auto Play: ON":"Auto Play: OFF";document.getElementById('changeautoplay').blur();}
var bitflags=0;function numTimesPlayedStart(game,fromGamePage){var str;str="numTimesPlayed(\'statsGamesPlayed.asp\', "+game+")";setInterval(str,30000);}
function numTimesPlayed(funcName,game){var xmlHttp=GetXmlHttpObject();if(xmlHttp!=null){xmlHttp.onreadystatechange=function(){if(xmlHttp.readyState==4){try{if(xmlHttp.responseText.length<=30)
document.getElementById('timesplayed').innerHTML=xmlHttp.responseText;else
document.getElementById('timesplayed').innerHTML='---';}
catch(e){return false;}}}
xmlHttp.open("GET",funcName+"?g="+game,true);xmlHttp.send(null);}
else{try{document.getElementById('timesplayed').innerHTML=' ';}
catch(e){}}}
function stats(game,fromGamePage){var xmlHttp=GetXmlHttpObject();if(xmlHttp!=null){xmlHttp.onreadystatechange=function(){if(xmlHttp.readyState==4){if(xmlHttp.responseText.charAt(0)!='0'){var statsArray=xmlHttp.responseText.split("&");try{if(statsArray[0].length<=80)
document.getElementById('winpercentage').innerHTML=statsArray[0];else document.getElementById('winpercentage').innerHTML='---';document.getElementById('winratio').innerHTML=statsArray[1];document.getElementById('fastesttime').innerHTML=statsArray[3];document.getElementById('highscore').innerHTML=statsArray[4];document.getElementById('averagetime').innerHTML=statsArray[5];if(statsArray[2].length<=30)
document.getElementById('timesPlayed').innerHTML=statsArray[2];else
document.getElementById('timesPlayed').innerHTML='---';}
catch(e){return false;}}}}
xmlHttp.open("GET","stats.asp?g="+game,true);xmlHttp.send(null);}}
function MM_findObj(n,d){var p,i,x;if(!d)d=document;if((p=n.indexOf("?"))>0&&parent.frames.length){d=parent.frames[n.substring(p+1)].document;n=n.substring(0,p);}
if(!(x=d[n])&&d.all)x=d.all[n];for(i=0;!x&&i<d.forms.length;i++)x=d.forms[i][n];for(i=0;!x&&d.layers&&i<d.layers.length;i++)x=MM_findObj(n,d.layers[i].document);if(!x&&d.getElementById)x=d.getElementById(n);return x;}
function MM_nbGroup(event,grpName){var i,img,nbArr,args=MM_nbGroup.arguments;if(event=="init"&&args.length>2){if((img=MM_findObj(args[2]))!=null&&!img.MM_init){img.MM_init=true;img.MM_up=args[3];img.MM_dn=img.src;if((nbArr=document[grpName])==null)
nbArr=document[grpName]=new Array();nbArr[nbArr.length]=img;for(i=4;i<args.length-1;i+=2)
if((img=MM_findObj(args[i]))!=null){if(!img.MM_up)
img.MM_up=img.src;img.src=img.MM_dn=args[i+1];nbArr[nbArr.length]=img;}}}
else if(event=="over"){document.MM_nbOver=nbArr=new Array();for(i=1;i<args.length-1;i+=3)if((img=MM_findObj(args[i]))!=null){if(!img.MM_up)
img.MM_up=img.src;img.src=(img.MM_dn&&args[i+2])?args[i+2]:((args[i+1])?args[i+1]:img.MM_up);nbArr[nbArr.length]=img;}}
else if(event=="out"){for(i=0;i<document.MM_nbOver.length;i++){img=document.MM_nbOver[i];img.src=(img.MM_dn)?img.MM_dn:img.MM_up;}}
else if(event=="down"){nbArr=document[grpName];if(nbArr)
for(i=0;i<nbArr.length;i++){img=nbArr[i];img.src=img.MM_up;img.MM_dn=0;}
document[grpName]=nbArr=new Array();for(i=2;i<args.length-1;i+=2)
if((img=MM_findObj(args[i]))!=null){if(!img.MM_up)
img.MM_up=img.src;img.src=img.MM_dn=(args[i+1])?args[i+1]:img.MM_up;nbArr[nbArr.length]=img;}}}
function WonPuzzle(){setBitwiseCookie(arguments[0],arguments[1],1);}
function JSToAppletTest(){document.solapp.showStatus("JavaScript to Java Applet");}

function setBitwiseCookie(cookiename,bitnum,value){
if((bitnum>=1)&&(bitnum<=32)){
var cookieval=getCookie(cookiename);
var bitval=1;
bitval<<=(bitnum-1);
if(value==0)
cookieval&=bitval;
else
cookieval|=bitval;setCookie(cookiename,cookieval,365);}}

function getBitwiseCookie(cookiename,bitnum){if((bitnum>=1)&&(bitnum<=32)){var cookieval=getCookie(cookiename);var bitval=1;bitval<<=(bitnum-1);var ret=cookieval&=bitval;return ret;}}
function parseParam(name){name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(window.location.href);if(results==null)
return"";else
return results[1];}
var sounds=0;var green=0;var size=0;var autoplay=0;var archiveName='';var cabbase='';var configname='';var appletW=0;var appletH=0;var activityH=0;var dimensionsArrayL=[0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,4,4,4,2,1,4,4,4,1,3,3,2,1,2,1,3,1,4,4,1,1,3,3];var dimensionsArray=[0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,4,4,4,1,1,4,4,4,1,3,3,2,1,2,1,3,1,4,4,1,1,3,3];var appletHeightsL=[0,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,603,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,515,683,515,515,515,515,515,515,515,515,515,603,515,515,515,515,515,515,515,515,603,515,515,515,515,515,683,683,603,515,603,603,683,515,515,515,603,515,683,683];var appletHeights=[0,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,600,425,425,425,425,425,425,425,425,425,529,425,425,425,425,425,425,425,425,425,425,425,425,425,425,599,600,530,425,530,530,600,425,425,425,530,425,599,599];var activityHeightsL=[0,475,475,475,475,475,475,475,475,475,475,475,475,475,475,475,475,475,475,563,475,475,475,475,475,475,475,475,475,475,475,475,475,475,475,475,643,475,475,475,475,475,475,475,475,475,563,475,475,475,475,475,475,475,475,563,475,475,475,475,475,643,643,530,475,563,563,643,475,475,475,563,475,643,643];var activityHeights=[0,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,385,560,385,385,385,385,385,385,385,385,385,490,385,385,385,385,385,385,385,385,385,385,385,385,385,385,560,560,490,385,490,490,560,385,385,385,490,385,560,560];

function doApplet(gameNum, puzzleNum, offset){
checkCookie('soundon');	   	   	  	        	  	   	  	        
sounds = getCookie('soundon');
checkCookie('green'); 	  	        	  	   	  	        
green = getCookie('green');	
checkCookie('gamesize');	   	   	  	        	  	   	  	        
size = getCookie('gamesize');
checkCookie('autoplay');	   	   	  	        	  	   	  	        
autoplay = getCookie('autoplay');
setGameVariables(gameNum, size);  	
if (gameNum < 10)
gameNum = "00" + gameNum;
else if (gameNum < 100)
gameNum = "0" + gameNum;		
document.write("<applet archive='");document.write(archiveName);document.write("' code='a.lobby.webtop.Lobby' width='");document.write(appletW);document.write("' height='");document.write(appletH);document.write("' align='TOP'> \
<param name='CABBASE' value='");document.write(cabbase);document.write("'> \
<param name='CONFIG' value='");document.write(configname);document.write("'> \
<param name='VARIANT' value='");document.write(gameNum);document.write("'> \
<param name='VENDOR' value='999'> \
<param name='ACTIVITYWIDTH' value='");document.write(appletW);document.write("'> \
<param name='ACTIVITYHEIGHT' value='");document.write(activityH);document.write("'>");
if (puzzleNum > 0){
document.write("<param name='GUAR' value='1'> \
<param name='PUZZLE' value='1'> \
<param name='SHUFOFFSET' value='");document.write(offset);document.write("'> \
<param name='SHUF' value='");document.write(puzzleNum);document.write("'>");}
document.write("<param name='GREEN' value='");document.write(green);document.write("'> \
<param name='SOUNDS' value='");document.write(sounds);document.write("'> \
<param name='AUTOPLAY' value='");document.write(autoplay);document.write("'> \
<p class='style9'>SoliTaire! Network's Free Solitaire Games require Java technology.</p> \
<p class='style9'>Please click the 'Get Java Software' Button to install the Java Runtime Environment before refreshing this page.</p><br> \
<a href='http://java.com/java/download/index.jsp?cid=jdp117692' target='_blank' > <img width='170' height='100' border='0' style='margin: 8px;' \
alt='GetJava Download Button' title='GetJava' \
src='http://java.com/en/img/everywhere/getjava_lg.gif?cid=jdp117692'> </a> <br> \
</applet>");}

function setGameVariables(gameNum,size){var dimensionsType=0;if(size==1){dimensionsType=dimensionsArrayL[gameNum];appletW=677;archiveName='solitlarge.jar';cabbase='solitlarge.cab';appletH=appletHeightsL[gameNum];activityH=activityHeightsL[gameNum];switch(dimensionsType){case 1:configname='solitairelarge.txt';break;case 2:configname='solitairelargemed.txt';break
case 3:configname='solitairelargetall.txt';break;case 4:configname='solitairelargewide.txt';appletW=920;break;}}else{dimensionsType=dimensionsArray[gameNum];appletW=550;archiveName='solit.jar';cabbase='solit.cab';appletH=appletHeights[gameNum];activityH=activityHeights[gameNum];switch(dimensionsType){case 1:configname='solitaire.txt';break;case 2:configname='solitairemed.txt';break;case 3:configname='solitairetall.txt';break;case 4:configname='solitairewide.txt';appletW=748;break;}}}
function insertStats(width){document.write("<table align='center' width='");document.write(width);document.write("' border='0' cellpadding='0' cellspacing='0'> \
<tr valign='top'><td width='49%' class='style21'>Win Percentage:</td><td width='2%'></td><td width='49%' align='left'><span class='style19' id='winpercentage'>Getting Stat...</span></td></tr> \
<tr valign='top'><td class='style21'>Win Ratio:</td><td></td><td align='left'><span class='style19' id='winratio'>Getting Stat...</span></td></tr> \
<tr valign='top'><td class='style21'>Fastest Win Time:</td><td></td><td align='left'><span class='style19' id='fastesttime'>Getting Stat...</span></td></tr> \
<tr valign='top'><td class='style21'>Average Win Time:</td><td></td><td align='left'><span class='style19' id='averagetime'>Getting Stat...</span></td></tr> \
<tr valign='top'><td class='style21'>Highest Score:</td><td></td><td align='left'><span class='style19' id='highscore'>Getting Stat...</span></td></tr> \
</table>");}
function changeSizeText(gamename){checkCookie('gamesize');var size = getCookie('gamesize');
if (size==1) {document.write("<span class='style9'><a href='");document.write(gamename);document.write("' onClick=\"javascript:setCookie(\'gamesize\',2,365);\">Change to Small Games</a><span class='style19'> - This page will reload when size is changed.</span></span>");										                            }
else {document.write("<span class='style9'><a href='");document.write(gamename);document.write("' onClick=\"javascript:setCookie(\'gamesize\',1,365);\">Change to Large Games</a><span class='style19'> - This page will reload when size is changed.</span></span>");}}

