ns4 = false;
ie4 = false;
ns6 = false;
ns = false;

top10v = 0;

if (document.all) {
	ie4 = true;
} else if (document.layers) {  
	ns4 = true;
	ns = true;
} else if (document.getElementById) { 
 	ns6 = true;
	ns = true;
}

MM_preloadImages('Images/bg4.gif',
				 'Images/bg5.gif',
				 'Images/header2wide.gif',
				 'Images/header1.gif',
				 'Images/header2.gif',
				 'Images/header3.gif',
				 'Images/header4.gif',
				 'Images/header5.gif',
				 'Images/snlogo.jpg',	
				 'Images/snlogowide.jpg',				 				 
				 'Images/navigation.gif',
				 'Images/navigation1.gif',
				 'Images/navigation2.gif',
				 'Images/navigation3.gif',
				 'Images/solitairenews.gif'				 
				 );

numPlayersStart(0, 0);

function MM_preloadImages() 
{ //v3.0
  	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 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 GetXmlHttpObject()
{
	var xmlHttp=null;
	
	try {xmlHttp=new XMLHttpRequest();}	// Firefox, Opera 8.0+, Safari
	catch (e) 
	{		
		try {xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");} // Internet Explorer
		catch (e) {xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
	}
	
	return xmlHttp;
}

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 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;}
					}
			  }
		}
		
		if (fromGamePage == 1)
			xmlHttp.open("GET", "rules/stats.asp?g=" + game, true);
		else
			xmlHttp.open("GET", "stats.asp?g=" + game, true);
		xmlHttp.send(null); 
	}		
}

function top10(type) 
{  	
	if (top10v != type)
	{
		top10v = type;
		var xmlHttp = GetXmlHttpObject();
		if (xmlHttp != null) 
		{		
			xmlHttp.onreadystatechange = function()
			{
				  if (xmlHttp.readyState == 4)
				  {		
						var top10array = xmlHttp.responseText.split("&"); 
						
						try 
						{
							document.getElementById('topheader').innerHTML = top10array[0];
							for (i = 1; i <= 10; i++)
							{
								document.getElementById('top' + i).innerHTML = top10array[i]; 
							}
						}
						catch (e) {return false;}
				  }
			}
			
			xmlHttp.open("GET", "topgames.asp?type=" + top10v, true);
			xmlHttp.send(null); 
		}	
	}
}

function MM_findObj(n, d) { //v4.01
  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) 
{ //v6.0
  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 myopen(url) 
{
    newwindow = window.open(url);
}

function addToFavorites() 
{	
	window.external.AddFavorite('http://www.SolitaireNetwork.com/', document.title);
}
