var openTarget;
var menuSpd = "medium";

function openMenuItem(trg)
{
	if(openTarget != null)
	{
		$(openTarget).find("+ ul").slideToggle(menuSpd);
		$(openTarget.parentNode).removeClass("selected");
	}
	
	if(openTarget != trg && $(trg).find("+ ul").length > 0 )
	{
		openTarget = trg;
		//set this item it appear to be open
		$(trg.parentNode).addClass("selected");
		$(trg).find("+ ul").slideToggle(menuSpd);
	}
	else
	{
		openTarget = null;
	}
}

function switchToFlash()
{
	var swf = new SWFObject('app.swf', 'main_movie','100%', '100%', '8.0.0.0', '#2A2A2A');
	swf.addVariable('xmladdress', 'xml/flash-site.xml');
	swf.addParam('scale', 'noscale');
	swf.write('flash-content');
	
	//hide the html version of the website
	var hidecss = "<style type=\"text/css\">#html-content{display:none;}</style>";
	
	writeHtml("css-content", hidecss);
}

function writeHtml(elementId, htmlVal)
{
	var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId;
	n.innerHTML = htmlVal;
	return true;
}

function openPopUp(strUrl) 
{
	day = new Date();
	id = String(day.getTime());

	window.open(strUrl, id, 'toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=1,width=800,height=600,left = 200,top = 200');
}

//set up the collapseable menu
$(document).ready(function() {
	//set up the sIFR
	if(typeof sIFR == "function"){
		sIFR.replaceElement(named({sSelector:"h1", sFlashSrc:"flash/sifr.swf", sColor:"#000000", sLinkColor:"#000000", sWmode:"transparent", sBgColor:"#FFFFFF", sHoverColor:"#CCCCCC", nPaddingTop:0, nPaddingBottom:0, sFlashVars:"textalign=left&offsetTop=1"}))
	};
});

var dropDownIsOpen = false;
function switchDropDown()
{
	dropDownIsOpen = !dropDownIsOpen;
	
	if(dropDownIsOpen)
	{
		$(document).find('#dropdown').addClass('open');
		$(document).find('#dropdown').removeClass('closed');
	}
	else
	{
		$(document).find('#dropdown').addClass('closed');
		$(document).find('#dropdown').removeClass('open');
	}
}

var errorStyle = "errorInput";
var normalStyle = "normalInput";

function validateForm(frm, fldData)
{
	var flds = fldData.split(",");
	var valid = true;
	
	for(var i = 0; i < flds.length; i++)
	{
		var err = "";
		var type = "string";
		var len = 0;
		var ver = flds[i];
		
		if(ver.indexOf("(") > 0)
		{
			var condition = ver.substring(ver.indexOf("(") + 1, ver.indexOf(")"));
			ver = ver.substring(0, ver.indexOf("("));
			
			if(isNaN(Number(condition)))
			{
				type = condition;
			}
			else
			{
				len = Number(condition);
			}
		}
		
		switch(type)
		{
			case "email":
				err = validateEmail(frm[ver]);
			break;
			
			case "telephone":
				err = validatePhone(frm[ver]);
			break;
			
			case "string":
				err = validateEmpty(frm[ver], len);
			break;
		}
		
		writeHtml(ver + "_invalid", err);
		if(err != "")
			valid = false;
	}
	
	return valid;
}

function validateEmpty(fld, len) {
    var error = "";
 
	if(len == null)
		len = 0;
	
    if (fld.value.length < len) {
        fld.className = errorStyle; 
        //error = "The required field is not long enough."
        error = "required"
    }else {
        fld.className = normalStyle;
    }
    return error;  
}

function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
}

function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   
    if (fld.value == "") {
        fld.className = errorStyle; 
        //error = "You didn't enter an email address.";
		error = "required"
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.className = errorStyle; 
        //error = "Please enter a valid email address.";
		error = "required"
    } else if (fld.value.match(illegalChars)) {
        fld.className = errorStyle; 
        //error = "The email address contains illegal characters.";
		error = "required"
    } else {
        fld.className = normalStyle;
    }
    return error;
}

function validatePhone(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, ''); 
	
   if (fld.value == "") {
		error = "required"
       // error = "You didn't enter a phone number.";
        fld.className = errorStyle; 
    } else if (isNaN(Number(stripped))) {
		error = "required"
       // error = "The phone number contains illegal characters.";
        fld.className = errorStyle; 
    } else if (String(Number(stripped)).length < 9) {
        //error = "The phone number is the wrong length. Make sure you included an area code.\n";
		error = "required"
       // error = "The phone number is the wrong length." + stripped.length;
        fld.className = errorStyle; 
    }
	else
	{
		fld.className = normalStyle;
	}
    return error;
}