/*------------------------------------
*  General Javascript functions for stokefire.com
*  Version: November 26, 2007
*  Author:  webmeadow
*  Email:  aaron@webmeadow.com
*
*  Functions:
*	switchInput -- Shows and Hides Password input fields
*	validateForm -- Validates Contact Form
*	Hide and Show -- Hides and Shows sections of content
*
*-------------------------------------*/

// Switch Input box on main page from "password" to "password_text" when in use
function switchInput(inputID){
	if (inputID){
		document.getElementById('password_text').style.display="none";
		document.getElementById('password').style.display=  "block";
		document.getElementById('password').focus();
	} else {
		document.getElementById('password').style.display=  "none";
		document.getElementById('password_text').style.display="block";
	}
}

// Show and Hide content
function switchContent(content_label1, content_label2, content) {
	// Hide label1 and Show label2
	document.getElementById(content_label1).style.display = 'none';
	document.getElementById(content_label2).style.display = 'block';

	// If 'read_more', display content, Else hide content
	if (content_label1 == 'read_more') {
		document.getElementById(content).style.display = 'block';
	} else {
		document.getElementById(content).style.display = 'none';
	}
}

// Validate Contact Form
function validateContactForm(){
	// initialize variables
	var send = true;

	// reset error displays
	document.getElementById('first_name_error').style.display="none";
	document.getElementById('last_name_error').style.display="none";
	document.getElementById('email_error').style.display="none";

	// check input
	if (window.document.contact_form.first_name.value.length == 0) {
		document.getElementById('first_name_error').style.display="block";
		window.document.contact_form.first_name.focus();
		send = false;
	}
	if (window.document.contact_form.last_name.value.length == 0) {
		document.getElementById('last_name_error').style.display="block";
		window.document.contact_form.last_name.focus();
		send = false;	
	}
	
	// set email check variables
	email_value = window.document.contact_form.email_address.value;
	at_symbol = email_value.indexOf("@");
	dot_symbol = email_value.lastIndexOf(".");

	if (window.document.contact_form.email_address.value.length == 0) {
		document.getElementById('email_error').style.display="block";
		window.document.contact_form.email_address.focus();
		send = false;
	} else {
		if (at_symbol == -1 || dot_symbol == -1) {
			document.getElementById('email_error').style.display="block";
			window.document.contact_form.email_address.focus();
			send = false;
		}
		/* if (at_symbol < dot_symbol ) {
			document.getElementById('email_error').style.display="block";
			window.document.contact_form.email_address.focus();
			send = false;
		} */
		if (at_symbol - dot_symbol == 1 ) {
			document.getElementById('email_error').style.display="block";
			window.document.contact_form.email_address.focus();
			send = false;
		}		
	}
	return send;
}

// Validate Comment Form
function validateCommentForm(){
	// initialize variables
	var send = true;

	// reset error displays
	document.getElementById('name_error').style.display="none";
	document.getElementById('email_error').style.display="none";
	document.getElementById('comment_error').style.display="none";

	// check input
	if (window.document.comments_form.author.value.length == 0) {
		document.getElementById('name_error').style.display="block";
		window.document.comments_form.author.focus();
		send = false;
	}
	if (window.document.comments_form.text.value.length == 0) {
		document.getElementById('comment_error').style.display="block";
		window.document.comments_form.text.focus();
		send = false;	
	}
	
	// set email check variables
	email_value = window.document.comments_form.email.value;
	at_symbol = email_value.indexOf("@");
	dot_symbol = email_value.lastIndexOf(".");

	if (window.document.comments_form.email.value.length == 0) {
		document.getElementById('email_error').style.display="block";
		window.document.comments_form.email.focus();
		send = false;
	} else {
		if (at_symbol == -1 || dot_symbol == -1) {
			document.getElementById('email_error').style.display="block";
			window.document.comments_form.email.focus();
			send = false;
		}
		/* if (at_symbol < dot_symbol ) {
			document.getElementById('email_error').style.display="block";
			window.document.comments_form.email.focus();
			send = false;
		} */
		if (at_symbol - dot_symbol == 1 ) {
			document.getElementById('email_error').style.display="block";
			window.document.comments_form.email.focus();
			send = false;
		}		
	}
	return send;
}


/***********************************************
* Hide and Show - © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

	var enablepersist="off" //Enable saving state of content structure using session cookies? (on/off)
	var collapseprevious="yes" //Collapse previously open content when opening present? (yes/no)
	
	//var contractsymbol='Read Less -' //HTML for contract symbol. For image, use: <img src="whatever.gif">
	//var expandsymbol='Read More +' //HTML for expand symbol.

	var contractsymbol='&nbsp;<img src="/images/red_arrow_down.gif" alt="arrow" />'
	var expandsymbol='&nbsp;<img src="/images/red_arrow.gif" alt="arrow" />'

	if (document.getElementById){
		document.write('<style type="text/css">')
		document.write('.switchcontent{display:none;}')
		document.write('</style>')
	}
	
	function getElementbyClass(rootobj, classname){
		var temparray=new Array()
		var inc=0
		var rootlength=rootobj.length
		for (i=0; i<rootlength; i++){
			if (rootobj[i].className==classname)
			temparray[inc++]=rootobj[i]
		}
		return temparray
	}
	
	function sweeptoggle(ec){
		var thestate=(ec=="expand")? "block" : "none"
		var inc=0
		while (ccollect[inc]){
			ccollect[inc].style.display=thestate
			inc++
		}
		revivestatus()
	}
	
	function contractcontent(omit){
		var inc=0
		while (ccollect[inc]){
		if (ccollect[inc].id!=omit)
			ccollect[inc].style.display="none"
			inc++
		}
	}


	function expandcontent(curobj, cid, doc_path){
		var spantags=curobj.getElementsByTagName("SPAN")
		var showstateobj=getElementbyClass(spantags, "showstate")
		if (ccollect.length>0){
			if (collapseprevious=="yes")
			contractcontent(cid)
			document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none"
			if (showstateobj.length>0){ //if "showstate" span exists in header
				if (collapseprevious=="no")
				showstateobj[0].innerHTML=(document.getElementById(cid).style.display=="block")? contractsymbol : expandsymbol
				else
				revivestatus()
			}
		}
	}
	
	function revivecontent(){
		contractcontent("omitnothing")
		selectedItem=getselectedItem()
		selectedComponents=selectedItem.split("|")
		for (i=0; i<selectedComponents.length-1; i++)
		document.getElementById(selectedComponents[i]).style.display="block"
	}
	
	function revivestatus(){
		var inc=0
		while (statecollect[inc]){
			if (ccollect[inc].style.display=="block")
			statecollect[inc].innerHTML=contractsymbol
			else
			statecollect[inc].innerHTML=expandsymbol
		inc++
		}
	}
	
	function get_cookie(Name) { 
		var search = Name + "="
		var returnvalue = "";
		if (document.cookie.length > 0) {
			offset = document.cookie.indexOf(search)
			if (offset != -1) { 
				offset += search.length
				end = document.cookie.indexOf(";", offset);
				if (end == -1) end = document.cookie.length;
				returnvalue=unescape(document.cookie.substring(offset, end))
			}
		}
		return returnvalue;
	}
	
	function getselectedItem(){
		if (get_cookie(window.location.pathname) != ""){
			selectedItem=get_cookie(window.location.pathname)
			return selectedItem
		}
		else
		return ""
	}
	
	function saveswitchstate(){
		var inc=0, selectedItem=""
		while (ccollect[inc]){
			if (ccollect[inc].style.display=="block")
			selectedItem+=ccollect[inc].id+"|"
			inc++
		}
		document.cookie=window.location.pathname+"="+selectedItem
	}
	
	function do_onload(){
		uniqueidn=window.location.pathname+"firsttimeload"
		var alltags=document.all? document.all : document.getElementsByTagName("*")
		ccollect=getElementbyClass(alltags, "switchcontent")
		statecollect=getElementbyClass(alltags, "showstate")
		if (enablepersist=="on" && ccollect.length>0){
			document.cookie=(get_cookie(uniqueidn)=="")? uniqueidn+"=1" : uniqueidn+"=0" 
			firsttimeload=(get_cookie(uniqueidn)==1)? 1 : 0 //check if this is 1st page load
			if (!firsttimeload)
			revivecontent()
		}
		if (ccollect.length>0 && statecollect.length>0)
		revivestatus()
	}
	
	if (window.addEventListener)
		window.addEventListener("load", do_onload, false)
	else if (window.attachEvent)
		window.attachEvent("onload", do_onload)
	else if (document.getElementById)
		window.onload=do_onload
	
	if (enablepersist=="on" && document.getElementById)
		window.onunload=saveswitchstate
		