/*
 *	JoshuaStanton.com
 *	globals.js
 *	Functions used throughout the site.
 *
 */

/*********************************************
 *	Functions: Roll-overs
 *********************************************/
/*
 *	Apply a rollover effect to the given image
 *	Mouseover will show the onSrc
 *	Mouseout will show the current src
 *	Apply this script onload -- i.e. 
 *	(c) 2006 BoogieScripts.com - MIT style license
 */
var _rolloverPreloads = new Array();
function setRollover(img,onSrc) {
	// 1. get name/id for image element
	var name = img.src.replace(/[\W]/gi,"");
	
	// 2. preload the rollover state, and store a reference to the original state
	_rolloverPreloads[name] = new Image();
	_rolloverPreloads[name].src = onSrc;
	_rolloverPreloads[name].oldSrc = img.src;
	
	// 3. add the mousehanders
	img.onmouseover = function() {
		img.src = _rolloverPreloads[name].src;
	};
	
	img.onmouseout = function() {
		img.src = _rolloverPreloads[name].oldSrc;
	};
	
	// 4. turnoff onload, so we don't get called again
	img.onload = function() { return true; };
}


/************************************************************
Cart functions
*************************************************************/
function setCart(f) {
	// set cookie telling us to show the view cart button
	Set_Cookie("view_cart","true",1,"/","joshuastanton.com",false);
	setTimeout(function() {
		$("#cartButton").css("visibility","visible");
	},1000);
	return true;
}


/************************************************************
Cookie Functions
*************************************************************/
/*
Script Name: Javascript Cookie Script
Author: Public Domain, with some modifications
Script Source URI: http://techpatterns.com/downloads/javascript_cookies.php
Version 1.0.0
Last Update: 30 May 2004

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
*/

// this function gets the cookie, if it exists
function Get_Cookie( name ) {
	
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) )
	{
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

/*
only the first 2 parameters are required, the cookie name, the cookie
value. Cookie time is in milliseconds, so the below expires will make the 
number you pass in the Set_Cookie function call the number of days the cookie
lasts, if you want it to be hours or minutes, just get rid of 24 and 60.

Generally you don't need to worry about domain, path or secure for most applications
so unless you need that, leave those parameters blank in the function call.
*/
function Set_Cookie( name, value, expires, path, domain, secure ) {
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	// if the expires variable is set, make the correct expires time, the
	// current script below will set it for x number of days, to make it
	// for hours, delete * 24, for minutes, delete * 60 * 24
	if ( expires )
	{
		expires = expires * 1000 * 60 * 60 * 24;
	}
	//alert( 'today ' + today.toGMTString() );// this is for testing purpose only
	var expires_date = new Date( today.getTime() + (expires) );
	//alert('expires ' + expires_date.toGMTString());// this is for testing purposes only

	document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + //expires.toGMTString()
		( ( path ) ? ";path=" + path : "" ) + 
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}

// this deletes the cookie when called
function Delete_Cookie( name, path, domain ) {
	if ( Get_Cookie( name ) ) document.cookie = name + "=" +
			( ( path ) ? ";path=" + path : "") +
			( ( domain ) ? ";domain=" + domain : "" ) +
			";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
