/* #########################################
This file contains JavaScript components 
that are used in several (or all) pages
within the site.
######################################### */

/*  Use to display browser name and version for testing */
//alert (BrowserDetect.OS + " " +BrowserDetect.browser + " " + BrowserDetect.version);


// BEGIN: Add appropriate style sheets for Windows browsers.
if (BrowserDetect.OS == "Windows") {

	// BEGIN Explorer includes
	if (BrowserDetect.browser == "Explorer") {
		document.write('<link rel="stylesheet" href="/media/css/screen/browserFixes/pc/ieCommon.css" type="text/css" />');
		if (BrowserDetect.version <= "6") {
			document.write('<link rel="stylesheet" href="/media/css/screen/browserFixes/pc/ielte6.css" type="text/css" />');
		}
		if (BrowserDetect.version == "7") {
			document.write('<link rel="stylesheet" href="/media/css/screen/browserFixes/pc/ie7.css" type="text/css" />');
		}
		if (BrowserDetect.version == "8") {
			document.write('<link rel="stylesheet" href="/media/css/screen/browserFixes/pc/ie8.css" type="text/css" />');
		}
	}
	// END Explorer includes

	if ((BrowserDetect.browser == "Firefox") && (BrowserDetect.version <= "2")) {
		// Also fixes Netscape 9, which uses the FF 2 engine
		document.write('<link rel="stylesheet" href="/media/css/screen/browserFixes/pc/firefox_v2.css" type="text/css" />');
	}
	if (BrowserDetect.browser == "Safari") {
		document.write('<link rel="stylesheet" href="/media/css/screen/browserFixes/pc/safari.css" type="text/css" />');
	}
	if (BrowserDetect.browser == "Opera") {
		document.write('<link rel="stylesheet" href="/media/css/screen/browserFixes/pc/opera.css" type="text/css" />');
	}
	if (BrowserDetect.browser == "Chrome" && BrowserDetect.version >= "1") // For Google Chrome
	{
		document.write('<link rel="stylesheet" href="/media/css/screen/browserFixes/pc/chrome.css" type="text/css" />');
	}
}
// END: Add appropriate style sheets for Windows browsers.


// BEGIN: Add appropriate style sheets for Mac browsers.
if (BrowserDetect.OS == "Mac") {
	document.write('<link rel="stylesheet" href="/media/css/screen/browserFixes/mac/common.css" type="text/css" />');
	if (BrowserDetect.browser == "Safari") {
		document.write('<link rel="stylesheet" href="/media/css/screen/browserFixes/mac/safari.css" type="text/css" />');
	}

	// BEGIN Firefox includes
	if (BrowserDetect.browser == "Firefox") {
		if (BrowserDetect.version <= "2") {
			document.write('<link rel="stylesheet" href="/media/css/screen/browserFixes/mac/firefox_v2.css" type="text/css" />');
		}
		if (BrowserDetect.version == "3") {
			document.write('<link rel="stylesheet" href="/media/css/screen/browserFixes/mac/firefox_v3.css" type="text/css" />');
		}
	}
	// END Firefox includes
}
// END: Add appropriate style sheets for Mac browsers.


// BEGIN: Add appropriate style sheets for iPhone browsers.
if (BrowserDetect.OS == "an unknown OS") {
	if (BrowserDetect.browser == "Safari") {
		if (BrowserDetect.version >= "500") {
			document.write('<link rel="stylesheet" href="/media/css/screen/browserFixes/mac/iPhone.css" type="text/css" />');
		}
	}
}
// END: Add appropriate style sheets for iPhone browsers.



// Changes the class for button hover effects
function buttonHover(itemID, classNames) {
	if (itemID != "") {
		var thisButton = document.getElementById(itemID);
		thisButton.className = classNames;
	}
}


// Sets and resets the main menu to be in the "active" state
//  when the sub-menu is being hovered over.
function setHoverClass(tagID) {
	var currTabElem = document.getElementById(tagID);

	currTabElem.setAttribute("class", "menuHover");
	currTabElem.setAttribute("className", "menuHover");

	return;
}

function resetHoverClass(tagID) {
	var currTabElem = document.getElementById(tagID);

	currTabElem.setAttribute("class", "");
	currTabElem.setAttribute("className", "");

	return;
}



// Reverses strings
function reverseString(myString)
{
  var i = myString.length;
  i = i-1;
  var resultString = "";
  for (var x = i; x >=0; x--)
  {
    resultString += myString.charAt(x);
  }
  return resultString;
}



// Sets the current page menu item to the "active" style
function selectMenuItem(itemID)
{
  if (itemID != "")
  {
    var thisButton = document.getElementById(itemID);
    thisButton.className = "active";
  }
}



// Switches images based on the image ID
function swapImage(id, img)
{
  var thisImg = document.getElementById(id);
  thisImg.src = img;
}

// Controls the Hit Me contact form inputs
function emailFormFills(input, id) {
	var thisInput = input;
	var thisElement = document.getElementById(id);
	//alert (thisInput + " " + thisElement.id);
	switch (thisInput) {
	    case 'name':
	        {
	            if (thisElement.value == 'Enter your name') {
	                thisElement.value = '';
	                thisElement.className = 'blackText';
	            }
	            break;
	        }
		case 'email':
			{
				if (thisElement.value == 'Enter your email address') {
					thisElement.value = '';
					thisElement.className = 'blackText';
				}
				else if (thisElement.value == '') {
					thisElement.value = 'Enter your email address';
					thisElement.className = 'ltGrayText';
				}
				break;
			}
		case 'subject':
			{
				if (thisElement.value == 'Enter a subject') {
					thisElement.value = '';
					thisElement.className = 'blackText';
				}
				break;
			}
		case 'message':
			{
				if (thisElement.value == 'Enter your message') {
					thisElement.value = '';
					thisElement.className = 'blackText';
				}
				break;
			}
	}
}



// Initializes the email form on the HitMe page
function emailFormInit(input, id) {
	var thisInput = input;
	var thisElement = document.getElementById(id);
	switch (thisInput) {
	    case 'name':
	        if (thisElement.value == 'Enter your name') {
	            thisElement.className = 'ltGrayText';
	        }
	        break;
		case 'email':
			if (thisElement.value == 'Enter your email address') {
				thisElement.className = 'ltGrayText';
			}
			break;
		case 'subject':
			if (thisElement.value == 'Enter a subject') {
				thisElement.className = 'ltGrayText';
			}
			break;
		case 'message':
			if (thisElement.value == 'Enter your message') {
				thisElement.className = 'ltGrayText';
			}
			break;
	}
}


