/*	mysite.js	*/

/*	All cookie functions assume that cookies are set using set_cookie, and that
	the setting code does not use '; ' inside a field	*/

function set_cookie( name, value, expireDate, path, domain, isSecure )
{
	document.cookie = name + "=" + escape( value ) +
		(( expireDate ) ? "; expires=" + expireDate : "" ) +
		(( path ) ? "; path=" + path : "" ) +
		(( domain ) ? "; domain=" + domain : "" ) +
		(( isSecure ) ? "; secure" : "");
}

function get_value( name )
{
	var cookies = document.cookie.split('; ');
	for ( var i = 0; i < cookies.length; i++ )	{
		var cookieName = cookies[ i ].split('=')[ 0 ];
		if ( cookieName == name )	{
			return unescape( cookies[ i ].split('=')[ 1 ] );
		} 
	}
	return "";
}

function get_number( name )
{
	var c = parseInt( get_value( name ));
	if ( isNaN( c ))	{
		return 0;
	}
	return c;	
}

/*	functions to transmit info about visitor	*/

function send_data()
{
	var post_string = data_got();
	var request = false;
	if ( window.XMLHttpRequest )	// Firefox, Netscape, Opera, Safari - and IE7
		request = new XMLHttpRequest();
	else if ( window.ActiveXObject )	// IE6 and earlier
		request = new ActiveXObject( "Microsoft.XMLHTTP" );
	if ( !request )
		return false;
      
    request.open( 'POST', 'log.php', true );
	request.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' );
    request.send( post_string );
}

function data_got()	// get values - once per session
{
	var expiry_date = new Date;
	expiry_date.setFullYear( expiry_date.getFullYear() + 5 );

	var referrer = document.referrer;
	var browser_string = navigator.userAgent;
	var browser = navigator.appName;
	var version = parseFloat( navigator.appVersion );
	var startpoint;
	if ( browser_string.indexOf( "Opera" ) != -1 )
		browser = "Opera";
	else if ( browser_string.indexOf( "Firefox" ) != -1 )	{
		browser = "Firefox";
		version = browser_string.substring( browser_string.indexOf( "Firefox" ) + 8 );
	}
	else if ( browser_string.indexOf( "MSIE" ) != -1 )	{
		startpoint = browser_string.indexOf( "MSIE" ) + 5;
		version = browser_string.substring( startpoint, startpoint + 3 );
	}
	else if ( browser_string.indexOf( "Netscape" ) != -1 )	{
		startpoint = browser_string.indexOf( "Netscape" ) + 9;
		version = browser_string.substring( startpoint, startpoint + 3 );
	}
	else if ( browser_string.indexOf( "Safari" ) != -1 )	{
		browser = "Safari";
		version = browser_string.substring( browser_string.indexOf( "Safari" ) + 7 );
	}
	var opsys = navigator.platform;
	if ( opsys.indexOf( "Win" ) != -1 )	{
		startpoint = browser_string.indexOf( "Windows" );
		opsys = browser_string.substring( startpoint, startpoint + 14 );
	}

	var visits = get_number( "Visits" );
	visits++;	// only incremented once per session!
	set_cookie( "Visits", visits, expiry_date.toUTCString(), "/" );

	var rstr = "Ref=";
	rstr += referrer ? referrer : "direct+link";
	rstr += "&Browser=" + browser;
	rstr += "&Version=" + version;
	rstr += "&OS=" + opsys;
	rstr += "&Width=" + screen.width;
	rstr += "&Height=" + screen.height;
	rstr += "&Visit=" + visits;
	return rstr;
}

/*	utility functions	*/

function scramble( p6 )
{
	var p1,p2,p3,p4,p5;
	p1 = '<a href="mai';
	p2 = 'michael';
	p3 = '">';
	p1 += 'lto:';
	p2 += '@';
	p5 = '</a>';
	p2 += 'michael-scannell.com';
	p4 = p6;

	document.write( p1 + p2 + p3 + p4 + p5 );
}

function write_time()
{
	var day_name = new Array( "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" );
	var month_name = new Array( "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" );
	var cdate = new Date();
	var cday = cdate.getDate();
	var suffix = "th ";
	switch ( cday )	{
		case 1:
		case 21:
		case 31: 
			suffix = "st ";
			break;
		case 2:
		case 22:
			suffix = "nd ";
			break;
		case 3:
		case 23:
			suffix = "rd ";
			break;
	}
	var cwday = day_name[ cdate.getDay() ];
	var cmonth = month_name[ cdate.getMonth() ];

	document.write( cwday + ", " + cday + suffix + cmonth );
}
