//-------------------------------------------------------------------------------
//	jw_scripts.js
//	Copyright 2006 JANWebs, LLC. All rights reserved.
//	LMOD: 9/23/2006
//-------------------------------------------------------------------------------

//*******************************************************************************
//  IE hover class replacement functions
//*******************************************************************************
hoverIE = function() {
	var ddmLI = document.getElementById("ddm").getElementsByTagName("LI");
	for (var i=0; i<ddmLI.length; i++) {
		ddmLI[i].onmouseover=function() {
			this.className+=" hoverIE";
		}
		ddmLI[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" hoverIE\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", hoverIE);

/******************************************************************************** 
	CSS switching functions
	Insert additional media type styles by replacing the word 'media' 
	as found throughout this script with one of the following media types:
		all - All Devices (defaultALL, jw_allStyle)
		aural - Speech synthesizers (defaultAural, jw_auralStyle)
		braille - Braille tactile feedback devices (defaultBraille, jw_brailleStyle)
		embossed - Braille printers (defaultEmbossed, jw_embossedStyle)
		handheld - handheld devices [pda's, blackberry] (defaultHandheld, jw_handheldStyle)
		print - printed copy and screen print previews (defaultPrint, jw_printStyle)
		projection - projected presentations (defaultProjection, jw_projectionStyle)
		screen - primarily for color computer screens (defaultScreen, jw_screenStyle)
		tty - fixed-pitch character grids [teletypes, terminals, protable devices
			with limited display capabilities] (defaultTTY, jw_ttyStyle)
		tv - television-type devices (defaultTV, jw_tvStyle)
********************************************************************************/
function initalizeCSS() {	// If user has style cookies, set the appropriate media stylesheets
	var screenStyle=readCookie("jw_screenStyle");
	var printStyle=readCookie("jw_printStyle");
	//	var mediaStyle=readCookie("jw_mediaStyle");
	if (!screenStyle) {
		screenStyle="The Clipboard";
	}
	if (!printStyle) {
		printStyle="Standard Print";
	}
	//	if (!mediaStyle) {
	//		mediaStyle="defaultMedia";
	//  }
	activateCSS(screenStyle, printStyle);	//insert additional mediaStyle as parameters
}

// activateCSS: Set active stylesheets
function activateCSS(screenStyles, printStyles) {
	var i, oneLink;
	for (i=0;(oneLink = document.getElementsByTagName("link")[i]); i++) {
		if (oneLink.getAttribute("title") && findWord("stylesheet", oneLink.getAttribute("rel"))) {
			oneLink.disabled = true;	//make sure all stylesheets start off disabled
		}
		if (oneLink.getAttribute("title") == screenStyles) {
			oneLink.disabled = false;	//media=screen, enable this screenStyle if match
		}
		if (oneLink.getAttribute("title") == printStyles) {
			oneLink.disabled = false;	//media=print, enable this printStyle if match
		}
		//	if (oneLink.getAttribute("title") == mediaStyles) {
		//		oneLink.disabled = false;	//media=????, enable this mediaStyle if match
		//	}
	}
}

// findword: Locate whole word (key) in string (theString)
function findWord(key, theString) {
	var init = key + "\\b";
	return theString.match(init);
}

/******************************
	Theme Switcher Functions
******************************/

function changeTheme() {
	//var oCSSRules=document.styleSheets[0].cssRules || document.styleSheets[0].rules;
	document.getElementById("styles").style.backgroundColor="red";
}

/*********************
	Cookie functions
**********************/

// Set a cookie
function setCookie(name, value, days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = ";expires="+date.toGMTString();
	} else {
		expires = " ";
	}
	document.cookie = name+"="+value+expires+";";
}

// Read a cookie
function readCookie(name) {
	var key = name + "=";
	var cookieArray = document.cookie.split(';');
	for(var i=0; i < cookieArray.length; i++) {
		var pair = cookieArray[i];
		while (pair.charAt(0)==' ') {
			pair = pair.substring(1, pair.length);
		}
		if (pair.indexOf(key) == 0) {
			return pair.substring(key.length, pair.length);
		}
	}
	return null;
}

/****************************
	Form Related Functions
*****************************/

// First Control Focus
function FocusOnFirst() {
    if (document.forms.length>0) {
		for (var i=0; i<document.forms(0).elements.length; i++) {
			var oField=document.forms(0).elements[i];
			if (oField.type != 'hidden' && oField.type != null) {
				oField.focus();
				return; 
			}
		}
	}
	return;
}