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 MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

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_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function $(element) {
  if (arguments.length > 1) {
    for (var i = 0, elements = [], length = arguments.length; i < length; i++)
      elements.push($(arguments[i]));
    return elements;
  }
  if (typeof element == 'string')
    element = document.getElementById(element);
  return element;
}

function addEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}

function randomImage() {
	var randomNum = Math.floor(Math.random() * 5);
	$('headerImage').style.backgroundImage = "url(/pub-share/rsvp/installation5/images/landing_" + randomNum + ".jpg)";
}

function setNavState() {
	if (section) {		
		$(section).src = "/pub-share/rsvp/installation5/images/" + section + "_on.gif)";
	}
	else {
		return false;
	}
}

var currentArtist = "";

function setArtistPage() {
	var artistPage = window.location.hash;
	var artistHash = new Array();
	artistHash = artistPage.split('#');
	var artist = artistHash[1];
	if(artistPage != 0) {		
		$('artistsMainContent').innerHTML = "<iframe id='artistBioFrame' src='artists/" + artist + ".html' width='562' height='444' marginheight='0' marginwidth='0' frameborder='0' scrolling='auto'></iframe>";
		$(artist).className = "selected";
		currentArtist = artist;
	}
	else {		
		$('artistsMainContent').innerHTML = "<iframe id='artistBioFrame' src='artists/fosik.html' width='562' height='444' marginheight='0' marginwidth='0' frameborder='0' scrolling='auto'></iframe>";
		$('fosik').className = "selected";
		location.href = "#fosik";
		currentArtist = "fosik";
	}
}

function setArtistView(artist) {
	$(currentArtist).className = "";
	location.href = "#" + artist;
	$('artistsMainContent').innerHTML = "<iframe id='artistBioFrame' src='artists/" + artist + ".html' width='562' height='444' marginheight='0' marginwidth='0' frameborder='0' scrolling='auto'></iframe>";
	$(artist).className = "selected";
	currentArtist = artist;
}



addEvent(window, 'load', handleOnLoad);

// put required load scripts here
function handleOnLoad() {
	callOmniture();
}


// OMNITURE SUPPORT FUNCTIONS

/**
* callOmniture() sets the value for a campaign code when appropriate, and makes a standard call to the Omniture service.
* All other standard Omniture object values are set on a page-by-page basis, but this function must be called after they are
* set, in order to actually make the call to Omniture.
*
*/
function callOmniture()
{
	// look for the campaignCode ('scid') in the query string 
	// if it exists, and hasn't already been set earlier in the session, set it
	var qs = document.location.search.substring(1);
	
	var vars = qs.split("&"); 
	var campaignCode = "";
	
	// Look in the query string
	for (var i=0; i<vars.length; i++) 
	{
		var pair = vars[i].split("="); 
		if (pair[0] == 'scid') 
		{
			campaignCode = pair[1]; 
		} 
	}
	if(campaignCode == "")
	{
		// some redirects set prior query string params in a hash element, so we need to inspect that as well
		var hashElements = window.location.hash;
		hashElements = hashElements.substring( hashElements.indexOf('?')+1, hashElements.length );
		vars = hashElements.split("&"); 
		for (var j=0; j<vars.length; j++) 
		{
			pair = vars[j].split("="); 
			if (pair[0] == 'scid') 
			{
				campaignCode = pair[1]; 
			} 
		}
	}
	
	
	// check cookies to see if the campaign code was already set this session
	var presetCampaignCode = Get_Cookie('omnitureCampaignCode');
	
	if(presetCampaignCode == null && campaignCode != "")
	{
		// campaign code wasn't already set, but was passed in the query string, so we need to set it and store it as a cookie so we won't set it more than once
		
		// These are the possible parameters for Set_Cookie:
		// name, value, expires, path, domain, secure
		Set_Cookie( 'omnitureCampaignCode', campaignCode, '', '/', '', '' );
		s.campaign = campaignCode;
	} else {
		// campaign code was already set, or no code was passed, so set the omniture campaign code to an empty string
		s.campaign = "";
	}
	
	// all values are set so make the call to Omniture's server
	s.t();
}

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;
		}
		var expires_date = new Date( today.getTime() + (expires) );
		var cookieString = name + "=" + value  +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
		( ( path ) ? ";path=" + path : "" ) + 
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
		
		document.cookie = cookieString;
}

// with this test document.cookie.indexOf( name + "=" );
function Get_Cookie( check_name ) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f
	
	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );
		
		
		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
	
		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}			

// 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";
}

function Check_Cookie(name) 
{
	var cookie_val = Get_Cookie(name);
	//trace(name + " Cookie: " + cookie_val);
}
