/*
Created: 4/16/08
Collection of functions and scripts for FCHM website.
*/
/***** Cookie *****/
// Cookie expiration date
var the_date = new Date("December 31, 2023");
var expire_date = the_date.toGMTString();

// Sets simple cookie with passed name and value.
function setCookie(cName,value) {
	document.cookie = cName + "=" + value + ";expires=" + the_date.toGMTString() +"; path=/";
}

// Set Cookie based on link selection.
function setLink(track, trackStep, showTrack) {
	if (!showTrack) { showTrack = true; }

	var cookie_data = "show_track:"+showTrack+"|track:"+ track +"|track_step:"+ trackStep ;
	setCookie('track',cookie_data);
	//document.cookie="track=" + escape(the_cookie);
}

function setInfo() {
	var cookie_data = "first_name:Jay|last_name:St. John|coop:fc3|username:admin|password:admin";
	setCookie('info', cookie_data);
	//document.cookie="info=" + escape(the_cookie);
}

// Reads cookie and loads it into global array.
function readCookie(cookieName) {
	if (cookieData = cookieVal(cookieName)) {
		cArr = cookieArray(cookieData);
		return true;
	} else {
		return false;
	}
}

// Reads cookie and returns value based on passed cookie name.
function cookieVal(cookieName) {
	var thisCookie = document.cookie.split("; ");

	for (var i=0; i<thisCookie.length; i++) {
		if (cookieName == thisCookie[i].split("=")[0]) {
			var thisData = thisCookie[i].split("=")[1];
			return thisData;
		}
	}
	return false;
}

function cookieArray(data) {
	var thisData = data.split("|");
	var data = new Array();
	for (var i=0; i<thisData.length; i++) {
		var key = thisData[i].split(":")[0];
		data[key] = thisData[i].split(":")[1];  
	}
	return data;
}

function cookieDelete() {
	var cookieCt = 0;

	if (document.cookie != "" && confirm("Do you want to delete the cookies?")) {
		var thisCookie = document.cookie.split("; ");
		cookieCt = thisCookie.length;
		
		var expireDate = new Date();
		expireDate.setDate(expireDate.getDate()-1);
						   
		for (var i=0; i<cookieCt; i++) {
			var cookieName = thisCookie[i].split("=")[0];
			document.cookie = cookieName + "=;expires=" + expireDate.toGMTString();
		}
	}
	//document.getElementById("cookieData").innerHTML = "Number of cookies deleted: " + cookieCt;
}

function delCookie(name) {
document.cookie = name + "=; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/";
}

/****** Set up tracks *******/

function showTabs() {
	numLinks = tTracks.length;
	allTabs = '<ul id="TrackTabs">';
	for (e=0; e < numLinks; e++) {
		allTabs += '<li id="'+tTracks[e] +'"><a href="'+tLinks[tTracks[e]][0][0]+'?track='+tTracks[e]+'"><span>'+tLinkTab[tTracks[e]]+'</span><\/a></li>';
	}
	allTabs += '</ul>';
	
	// Show track tabs.	
	document.getElementById('TrackTabsDiv').innerHTML = allTabs;
}

function showLinks(track) {
	/***** Assemble Track Links *****/
	var allLinks = '';
	
	var num = 0;
	numLinks = tLinks[track].length;
	for (e=0; e < numLinks; e++) {
		lastLink =  (e == (numLinks-1))? 'false' : 'true';
		allLinks += '<span id="'+track +''+ num +'"><a href="'+tLinks[track][num][0]+'?track='+track+'&step='+num+'&show_track='+lastLink+'">'+tLinks[track][num][1]+'<\/a></span><br />';
		//allLinks += '<span id="'+track +''+ num +'"><a href="'+tLinks[track][num][0]+'" onClick="setLink(\''+track+'\',\''+num+'\',\''+lastLink+'\')">'+tLinks[track][num][1]+'<\/a>'+num+'</span><br />';		
		num++;	
	}

	// Show links for this track.	
	allLinks = tLinkTitle[track] + allLinks;
	document.getElementById('TrackMenuDiv').innerHTML = allLinks;
	
	var tText = tInfo[track];
	
	// Show info for this track.
	document.getElementById('HorizInfo').innerHTML = tText;
	
}


function setTrack(track,step,showTrack) {

	if (!showTrack) { showTrack = true; }
	
	// Save new link to cookie.
	setLink(track, step, showTrack);

	// Refresh data from cookie
	readCookie('track');
	
	selTrack();
}

// Show selected track and info.
function selTrack() {
	
	if (cArr['show_track']=='true') {
		showLinks(cArr['track']);
		// Set active step on screen.
		selectActiveStep();
	} else {
		//switchMenu();
		
		// Link to show track.
		cText = '<a href="#" onClick="setTrack(\''+cArr['track']+'\',\''+cArr['track_step']+'\',\'true\')">Show Track Menu</a>';
		document.getElementById('TrackMenuDiv').innerHTML = cText;
	}
/*
	// Track has changed, reset all rollovers.
	eTrack = new Array('parents','pastors','discover','members','leaders');
	for (var i=0; i < eTrack.length; i++) {
		clearActiveTab(eTrack[i]);
	}
*/	
	// Set Active Tab.
	selectActiveTab(cArr['track']);
}	

// Show selected track and info.
function selStep(track,step,showTrack) {

	if (!showTrack) { showTrack = true; }
	
	// Save new link to cookie.
	setLink(track,step,showTrack);

	// Refresh data from cookie
	readCookie('track');
}

function selectActiveTab(track) {
	// Track Tab Selected
	tId = document.getElementById(track).getElementsByTagName('a');
	tId[0].style.backgroundPosition = '0 -30px';
	tId[0].style.color = '#ffffff';
    
    document.getElementById(track).getElementsByTagName('span')[0].style.backgroundPosition = '100% -30px';
}

function clearActiveTab(track) {
	// Track Tab Selected
	tId = document.getElementById(track).getElementsByTagName('a');
	tId[0].style.backgroundPosition = '0 0';
	tId[0].style.color = '#003366';
    
    document.getElementById(track).getElementsByTagName('span')[0].style.backgroundPosition = '100% 0';
}

// Set current track location on track step menu.
function selectActiveStep(step) {
	if (step) {
		// Active select, first clear background of all links.
		eachSpan = document.getElementById('TrackMenuDiv').getElementsByTagName('span');
		for (var i = 0; i < eachSpan.length; i++) {
			eachSpan[i].style.backgroundColor = 'transparent';
		}
		var tLink = step;

	} else {
		var tLink = cArr['track'] +''+ cArr['track_step'];
	}	
	
	// Track Menu Style Changes
	document.getElementById(tLink).style.backgroundColor = '#ff3333';
	thisLink = document.getElementById(tLink).getElementsByTagName('a');	
	thisLink[0].style.color = "#ffffff";
	thisLink[0].style.textDecoration = "none";	
}

// Track navigation
function showTrackNavLinks() {
	// Show previous, next buttons if showing tracks and not the last step (home page).
	if (cArr['show_track'] && cArr['track_step'] != tLinks[cArr['track']].length-1) {
		var tText = '';
		if (cArr['track_step'] > 0) {
			prevStep = cArr['track_step'];
			prevStep--;
			tText += '<span id="TrackPrev">&lt; <a href="'+tLinks[cArr['track']][prevStep][0]+'?track='+cArr['track']+'&step='+prevStep+'" >PREVIOUS</a></span>';
		}
		if (cArr['track_step'] < tLinks[cArr['track']].length-1) {
			var numLinks = tLinks[cArr['track']].length;
			var showLink =  (cArr['track_step'] == (numLinks-2))? 'false' : 'true';
			nextStep = cArr['track_step'];
			nextStep++;
			tText += '<span id="TrackNext"><a href="'+tLinks[cArr['track']][nextStep][0]+'?track='+cArr['track']+'&step='+nextStep+'&show_track='+showLink+'" >NEXT</a> &gt;</span>';
		}
		document.getElementById('TrackNavDivTop').innerHTML = tText;
		document.getElementById('TrackNavDivBottom').innerHTML = tText;
	}
}

// Show welcome screen
function showWelcome() {
	setCookie("welcome", "skip");
	window.location.href="http://www.firstclasshomeschool.org/Welcome.html";
}

// Insert welcome select into page.
function showWelcomeSelect() {
	var text = '<p><input type="checkbox" value="Welcome" onClick="toggleWelcome()" /> View welcome movie on next visit.</p>';
	document.getElementById('ShowWelcome').innerHTML = text;
}

function toggleWelcome() {
	if (readCookie("welcome") == "show") {
		setCookie("welcome", "skip");
	} else {
		setCookie("welcome", "show");
	}
}

ImgSwitch = (cookieVal('hide_menu')=='true')? true : false ;

function setMenu() {
	if (!ImgSwitch) {
		setCookie('hide_menu',false);
		switchMenu();
	} else {
		setCookie('hide_menu',true);		
		switchMenu();
	}
}

// Site menu switch
function switchMenu() {
	if (!ImgSwitch) {
		document.getElementById('ShowMenu').innerHTML = '<img src="/pages/uploads/images2/menuon.gif" id="ShowImg" /> Hide Menu';
		document.getElementById('MenuDiv').style.display = 'block';
		ImgSwitch = true;
	} else {
		document.getElementById('ShowMenu').innerHTML = '<img src="/pages/uploads/images2/menuoff.gif" id="ShowImg" /> Site Menu';
		document.getElementById('MenuDiv').style.display = 'none';
		ImgSwitch = false;
	}
}

// Extract URI info.
function getParameter(name) {
   var url = window.location.href;
   var paramsStart = url.indexOf("?");

   if(paramsStart != -1){

      var paramString = url.substr(paramsStart + 1);
      var tokenStart = paramString.indexOf(name);

      if(tokenStart != -1){

         paramToEnd = paramString.substr(tokenStart + name.length + 1);
         var delimiterPos = paramToEnd.indexOf("&");

         if(delimiterPos == -1){
            return paramToEnd;
         }
         else {
            return paramToEnd.substr(0, delimiterPos);
         }
      }
   } else {
   	return false;
   }
}

/****** Page load control ******/

// Check get data before page loads. If so, set cookie.
if (getParameter('track')) {

	var selectedStep = (getParameter('step'))? getParameter('step') : 0 ;
	var showTracks = (getParameter('show_track'))? getParameter('show_track') : true ;
	
	var selectedTrack = getParameter('track');
	selStep(selectedTrack, selectedStep, showTracks);	

}

// If no welcome cookie or cookie set to view welcome again...show welcome page.
if (getParameter('welcome')) {
	setCookie("welcome", "skip");
} else if (readCookie('welcome') == false || cookieVal("welcome") == "show") {
	showWelcome();
}

// Once page is loaded, initialize settings.
function init() {
	
	// Check if track cookie exists.
	if (readCookie('track')!=false) {
	
		// Exists. Show appropriate track.
		showTabs();
		selTrack();
		showWelcomeSelect();
		if (!cookieVal('hide_menu') || cookieVal('hide_menu')=='true') {	switchMenu(); }

		// Check if on the right page
		if (window.location.pathname == tLinks[cArr['track']][cArr['track_step']][0]) {
			// Correct page. Set up page.
			showTrackNavLinks();
		}
	} else {
		showTabs();
		if (cookieVal('hide_menu')=='true') {	switchMenu(); }
		// Encourage user to select a track.
		document.getElementById('HorizInfo').innerHTML = tInfo['NoTrack'];
		showWelcomeSelect();
	}	

	// random numbers for changing background image.
	randImg = Math.floor(Math.random()*3+1);
	document.getElementById('HeaderChangingBackImage').style.backgroundImage = "url('uploads/images2/headerside"+randImg+".gif')";
}

//****** Popup Overlay *********/
function popup(name) {
	  check=document.getElementById('pop_overlay').style.display;
	  if (check=='block') {
		document.getElementById('pop_overlay').style.display='none';
		document.getElementById('pop_container').style.display='none';
		document.getElementById(name).style.display='none';				
	  } else {
		document.getElementById('pop_overlay').style.display='block';
		document.getElementById('pop_container').style.display='block';
		document.getElementById(name).style.display='block';
		document.getElementById(name).style.borderColor='#ffffff';		
		document.getElementById('popup_close').innerHTML = '<a href="javascript:popup(\''+name+'\');">close</a>'; 
	  }
}


/****** IE Menu rollover fix *******/

<!--//--><![CDATA[//><!--
sfHover = function() {
	//For Main menu class udm
	var sfEls = document.getElementById("MenuList").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" menuparenth";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" menuparenth\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

//--><!]]>
