<!--

// detect os and store in a variable
// This script sets OSName variable as follows:
// "Windows"    for all versions of Windows
// "MacOS"      for all versions of Macintosh OS
// "Linux"      for all versions of Linux
// "UNIX"       for all other UNIX flavors 
// "Unknown OS" indicates failure to detect the OS

var OSName="Unknown OS";

if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";

function setFldDisabled(fld,enableFlag){
	//alert (fld+' '+enableFlag)
	eval("document.forms[0]."+fld+".disabled = "+enableFlag)
}

function compArr2Fld(val2Comp, array, compValIdx){
	var alen = eval(array + ".length");
	var retVal = 0;

	for (var i=0; i<alen; i++){
		if (eval(array + "[i]["+compValIdx+"]") == val2Comp){
			retVal = i;
			break;
		}
	}
	return retVal;
}


function validateForm(){
	var fldType = '';
	var valid = true;
	var fld2Sel = "";
	var fldName = "";

	//alert(formObj.name);
	for (var i=0; i<arrReqFlds.length; i++) {
		fldType = arrReqFldTypes[i];
		//alert(arrReqFlds[i] );
		if ( (fldType == "text") && (eval("document.forms[0]."+arrReqFlds[i]+".value") == "") ) {
			if (arrReqFlds[i] == "product") {fld2Sel = "product_id"};
			if (arrReqFlds[i] == "where_heard") {fld2Sel = "where_heard_id"};
			if (arrReqFlds[i] == "feedback_type") {fld2Sel = "feedback_type_id"};
			if (arrReqFlds[i] == "business_type") {fld2Sel = "business_type_id"};
			valid = false;
			break;
		}
		if ( (fldType == "text") && (arrReqFlds[i] == "email") ){
			//alert(isEmail(eval("document.forms[0]."+arrReqFlds[i]+".value")));
			if ( isEmail(eval("document.forms[0]."+arrReqFlds[i]+".value")) == false ) {
				valid = false;
				break;
			}
		}
		if ( (arrReqFlds[i] == "product_selected") ){
			//alert(document.forms[0].product_selected.value);
			if (document.forms[0].product_selected.value == "false" ) {
				valid = false;
				break;
			}
		}
		if ( (arrReqFlds[i] == "comments") ){
			//alert(document.forms[0].comments.value);
			if (document.forms[0].comments.value == "" ) {
				valid = false;
				break;
			}
		}	
		if ( (fldType == "select") && (eval("document.forms[0]."+arrReqFlds[i]+".options[document.forms[0]."+arrReqFlds[i]+".selectedIndex].value") == "??") ) {
			//alert(arrReqFlds[i]);
			if (arrReqFlds[i] == "country_id") {fldName = "COUNTRY"; fld2Sel = arrReqFlds[i]};
			valid = false;
			break;
		}
	}

	//alert("valid="+valid);
	if (valid == false){
		if (arrReqFlds[i] != "product_selected"){
			if (fld2Sel == "") {fld2Sel = arrReqFlds[i];}
			if (fldName == "") {fldName = arrReqFlds[i].toUpperCase();}
			alert("Please ensure you enter a valid "+fldName); 
		} else {
			fld2Sel = "product_id1";
			alert("Please ensure you select a PRODUCT");
		}
		eval("document.forms[0]."+fld2Sel).focus();
	} else {
		document.forms[0].submit();
	};
}

// Check email address: look for [@] and [.] 
function isEmail(val) {
    // there must be >= 1 character before @, so we
    // start looking at character position 1 
    // (i.e. second character)
    var i = 1;
    var sLength = val.length;

    // look for @
    while ((i < sLength) && (val.charAt(i) != "@"))
    { i++
    }

    if ((i >= sLength) || (val.charAt(i) != "@")) return false;
    else i += 2;

    // look for .
    while ((i < sLength) && (val.charAt(i) != "."))
    { i++
    }

    // there must be at least one character after the .
    if ((i >= sLength - 1) || (val.charAt(i) != ".")) return false;
    else return true;
}

// returns the text from a specific dropdown/select field
function dDownText2Fld(selFld,targFld){
	var dDownTxt = eval(selFld+".options["+selFld+".selectedIndex].text");
	//alert (dDownTxt);
	eval(targFld).value=dDownTxt;
}


function getFlashMovieObject(movieName)
//alert(navigator.appName);
{
	if ((navigator.userAgent).indexOf("Opera")!=-1) { // sniff for opera
		//alert("OPERA")
 		return document.getElementById(movieName);
	}

	if (window.document[movieName]) 
	{
		//alert (window.document[movieName]);
		return window.document[movieName];
	}
	if (navigator.appName.indexOf("Microsoft Internet")==-1)
	{
	if (document.embeds && document.embeds[movieName])
	  return document.embeds[movieName]; 
	}
	else if (navigator.appName.indexOf("Microsoft Internet")!=-1)
	{
		return document.getElementById(movieName);
	}
}


function flashPassVar(val){
	if (OSName != "MacOS") { // call flash dynamically if not mac
	 	var flashMovie=getFlashMovieObject("dynFlash");
	   	flashMovie.SetVariable("dynVar", val);
	} else { // targets the flash correctly for macs - bit sketchy but it works
		var urlStr = new String(document.URL);
		if (urlStr.indexOf("?dynVar") > -1) {urlStr = urlStr.substr(0,urlStr.indexOf("?dynVar"))}
		//alert (urlStr);
		document.location.href = urlStr + "?dynVar="+val;
	}
}


//-->