
/** 
 * faster access to some oft-used functions
 */

var imgPath_spacer = "../images/global/spacer.gif";

/* element names */

var elName_button = "button";
var elName_filler = "filler";
var elName_error = "error";
var elName_dropdown = "dropdown";
var elName_png = "pngFix";

var elName_tabCurrent = "tabNavCurrent";
var elName_tabShow = "tabShow";
var elName_tabHide = "tabHide";

/* flash tour parameters */

var flashPath_flashTour = "tour.swf";

var elId_flashTourDiv = "boxTour";
var elId_tourButton = "tourButton";

var imgPath_showTourButton = "../images/btn_showtour_up.gif";
var imgPath_hideTourButton = "../images/btn_hidetour_up.gif";

var altText_showTourButton = "SHOW VIDEO";
var altText_hideTourButton = "HIDE VIDEO";

/* button parameters */

var buttonExt_up = "up";
var buttonExt_over = "ov";
var buttonExt_down = "dn";


/* utility functions */

function getScrollY() {
	if(typeof window.pageYOffset != 'undefined')
		return window.pageYOffset;					
	else if(document.documentElement.scrollTop)	
		return document.documentElement.scrollTop;				
	else if(document.body.scrollTop)	
		return document.body.scrollTop;
	else
		return 0;
}

function initFaq(el) {
	
	index = el.id.substr(1);

	el.href = "javascript:;"
	eval("el.onclick = function() {toggleElement('a"+index+"');}");
}

function initButton(el) {
	var buttonSrc = el.src.substr(0,el.src.length-6);
	var buttonExt = el.src.substr(el.src.length-4);
	eval("el.onmouseover = function() {this.src = '"+buttonSrc+buttonExt_over+buttonExt+"';}");
	eval("el.onmouseout = function() {this.src = '"+buttonSrc+buttonExt_up+buttonExt+"';};");
	eval("el.onmouseup = function() {this.src = '"+buttonSrc+buttonExt_up+buttonExt+"';};");
	eval("el.onmousedown = function() {this.src = '"+buttonSrc+buttonExt_down+buttonExt+"';};");
}

/**
 * fix PNG images for IE
 */

function initPNG(el) {
	var pngSrc = el.src;
	el.src = imgPath_spacer;
	el.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+pngSrc+"', sizingMethod='scale')";
}

/**
 * form field filler
 */

function initFiller(el) {
	if(el.type == "text") {
		var fillerText = el.value;
		if(fillerText != null && fillerText != "") {
			eval("el.onfocus = function() {if(this.value == '"+fillerText+"') this.value = '';}");
			eval("el.onblur = function() {if(this.value == '') this.value = '"+fillerText+"';}");
		}
	}
}

/**
 * form field error states
 */

function initError(el) {
	if(el.tagName == "SELECT" || (el.tagName == "INPUT" && el.type == "text") || (el.tagName == "INPUT" && el.type == "file"))
		eval("el.onfocus = function() {this.style.backgroundColor = '#fff'; this.style.color = '#666';}");
}

/**
 * hide/show flash tour
 */

function toggleTour(file,label) {
	var tourButton = document.getElementById(elId_tourButton);
	if(document.getElementById(elId_flashTourDiv).style.display != "block") {
		if(tourButton) {
			tourButton.src = imgPath_hideTourButton;
			tourButton.altText = altText_hideTourButton;
			tourButton.title = altText_hideTourButton;
			initButton(tourButton);
		}
		var flashTour = new SWFObject(flashPath_flashTour, "flashTour", "204", "204", "7", "#efefef");
		flashTour.addVariable("videoFile",file);
		flashTour.addVariable("videoLabel",label);
		flashTour.write(elId_flashTourDiv);
		document.getElementById(elId_flashTourDiv).style.display = "block";
	} else {
		if(tourButton) {
			tourButton.src = imgPath_showTourButton;
			tourButton.altText = altText_showTourButton;
			tourButton.title = altText_showTourButton;
			initButton(tourButton);
		}
		document.getElementById(elId_flashTourDiv).style.display = "none";
		document.getElementById(elId_flashTourDiv).innerHTML = "&nbsp;";
	}
}

function hideTour() {
	
	document.getElementById(elId_flashTourDiv).style.display = "none";
	document.getElementById(elId_flashTourDiv).innerHTML = "&nbsp;";
}

/**
 * hide/show a page element
 */

function toggleElement(elId) {
	if($D.get(elId).style.display == "block")
		$D.get(elId).style.display = "none";
	else
		$D.get(elId).style.display = "block";
}

/**
 * hide/show two page elements 
 */

function toggleElements(elOne,elTwo) {
	if($D.get(elOne).style.display == "block" || $D.get(elOne).style.display == "") {
		$D.get(elOne).style.display = "none";
		$D.get(elTwo).style.display = "block";
	} else {
		$D.get(elOne).style.display = "block";
		$D.get(elTwo).style.display = "none";
	}
}


/**
 * tabbed elements
 */

function openTab(tab,el) {
    var ul = el.parentNode.parentNode;
    var lis = ul.getElementsByTagName('li');
	for(i=0; i<lis.length; i++) {
		var content = lis[i].firstChild.innerHTML;
		if(lis[i].innerHTML == '<P id='+lis[i].firstChild.id+'>'+lis[i].firstChild.innerHTML+'</P>')
			lis[i].innerHTML = '<a href="javascript:;" onclick="openTabLock(this);" id="'+lis[i].firstChild.id+'">'+content+'</a>'
	}
    $D.removeClass(lis,elName_tabCurrent);
    $D.addClass(el.parentNode,elName_tabCurrent);
    el.blur();
    var tabContents = $D.getElementsByClassName(elName_tabShow);
    $D.removeClass(tabContents,elName_tabShow);
    $D.addClass(tabContents,elName_tabHide);
    $D.addClass(tab,elName_tabShow);

	for(i=0; i<lis.length; i++) {
		sname = lis[i].firstChild.id.substr(0,lis[i].firstChild.id.length-3);
		if(document.getElementById(sname+"Intro"))
			document.getElementById(sname+"Intro").style.display = "none";
	}
	var sname = el.id.substr(0,el.id.length-3);
	if(document.getElementById(sname+"Intro"))
		document.getElementById(sname+"Intro").style.display = "block";
}

function openTabLock(el) {
	var tab = el.id.substr(0,el.id.length-3);
	var form = document.getElementById(tab);
	var inputs = form.getElementsByTagName('input');
	var selects = form.getElementsByTagName('select');
	for(i=0; i < inputs.length; i++) {
		if(inputs[i].tagName == "SELECT" || (inputs[i].tagName == "INPUT" && (inputs[i].type == "text" || inputs[i].type == "password"))) {
			eval("inputs[i].onkeydown = function() {lockTabs('"+el.id+"');}");
		}
		if(inputs[i].tagName == "INPUT" && (inputs[i].type == "checkbox" || inputs[i].type == "radio")) {
			eval("inputs[i].onclick = function() {if((this.checked && !this.defaultChecked) || (!this.checked && this.defaultChecked)) lockTabs('"+el.id+"');}");
		}
	}

	for(i=0; i < selects.length; i++)
		eval("selects[i].onchange = function() {lockTabs('"+el.id+"');}");

	openTab(tab,el);
}

function lockTabs(elId) {
	var el = document.getElementById(elId);
	var ul = el.parentNode.parentNode;
    var lis = ul.getElementsByTagName('li');
	for(i=0; i<lis.length; i++) {
		if(lis[i].firstChild.innerHTML != el.innerHTML) {
			lis[i].innerHTML = '<P id="'+lis[i].firstChild.id+'">'+lis[i].firstChild.innerHTML+'</P>';
		}
	}
}

function unlockTabs(elId) {
	var sname = elId.substr(0,elId.length-6);
	document.getElementById(sname+"Form").reset();
	var el = document.getElementById(sname+"Tab");
	var tab = el.id.substr(0,el.id.length-3);
	openTab(tab,el);
}




/**
 * Done
 */
