/************************************************************
* @version 1.0
*/
function ZZ_swapImage(imgName, layerName, imgSrcFilename) {
    // Determine browser
	var browserName = navigator.appName;
	var version = parseFloat(navigator.appVersion);
    
    if(layerName != "null") { // We have layers
	    if(browserName == "Microsoft Internet Explorer") {
		    imgName = "document." + imgName;
	    } else if(browserName == "Netscape") {
		    if(version >= 4 && version < 5)
			    imgName = "document.layers['" + layerName + "'].document." + imgName;
		    else if(version == 5)
			    imgName = "document." + imgName;
		    else {
			    alert("Unsupported Netscape Browser.");
			    return false;
			}
	    } else {
		    alert("Unsupported Browser.");
		    return false;
	    }
    } else {
        imgName = "document." + imgName;   
    }

    var imgObj = eval(imgName);
    if(imgObj != null) {
        imgObj.src = imgSrcFilename;
    }
}

/************************************************************
* @version 1.1
*/
function ZZ_openWin(url, winName, decorations)
{
	var sw = window.open(url, winName, decorations);
	sw.focus();
}
/************************************************************
* @version 1.01
* Mod Local
*/
function ZZ_wbsrch(frms) {
	var eng;
	var engSearchUrl;
	var qry;
	var frm = eval("document." + frms);
	qry = frm.qry.value;
	if (qry.length == 0)
		return false;
	
	/*
	eng = frm.engineSelect.options[frm.engineSelect.selectedIndex].value;
	if (eng == "Yahoo") {
	engSearchUrl = "http://search.yahoo.com/bin/search?p=" + qry;     
	} else if (eng == "Alta Vista") {
	engSearchUrl = "http://www.altavista.digital.com/cgi-bin/query?pg=q&what=web&fmt=.&q=" + qry;
	} else if (eng == "Infoseek") {
	engSearchUrl = "http://www.infoseek.com/Titles?qt=" + qry + "&col=WW&sv=IS&lk=noframes&nh=10";
	} else if (eng == "Excite") {
	engSearchUrl = "http://www.excite.com/search.gw?trace=a&search=" + qry;
	}
	*/
	engSearchUrl = "http://search.yahoo.com/bin/search?p=" + qry;
	newWindow = window.open(engSearchUrl, "y","width=640,height=480,top=125px,left=150px,toolbar,location,directories,status,menubar,scrollbars,resizable=1");
}

/************************************************************
* @version 1.0
*/
function ZZ_doSubmit(formName, valFunction, layerName) {
    // Determine browser
	var browserName = navigator.appName;
	var version = parseFloat(navigator.appVersion);
    
    if(layerName != "null") { // We have layers
	    if(browserName == "Microsoft Internet Explorer") {
		    formName = "document." + formName;
	    } else if(browserName == "Netscape") {
		    if(version >= 4 && version < 5)
			    formName = "document.layers['" + layerName + "'].document." + formName;
		    else if(version == 5)
			    formName = "document." + formName;
		    else {
			    alert("Unsupported Netscape Browser.");
			    return false;
			}
	    } else {
		    alert("Unsupported Browser.");
		    return false;
	    }
    } else {
        formName = "document." + formName;   
    }
    
	if(valFunction != "null") {	
		if(eval(valFunction + "('" + layerName +"')") == true) {
			eval(formName + ".submit()");
		} else {
			return false;
		}
	} else {
		eval(formName + ".submit()");
	}
	return true;	
}
/************************************************************
* @version 1.0
*/
function ZZ_ieOrNet() {
	var browserName = navigator.appName;
	if(browserName == "Microsoft Internet Explorer") {
		return "ie";
	} else if(browserName == "Netscape") {
		return "net";
	}
	return "?";
}


/************************************************************
* @vrsion 1.0
*/
function ZZ_removeBlanks(str) {
    var reg = /\s/gi;
    return str.replace(reg, "");
}
/************************************************************
* @version 1.0
*/
function ZZ_trimBlanks_str(str) {
    var result = str;
    var reg1 = /^\s/gi;
    var reg2 = /\s$/gi;
    for(var i = 0; i < str.length; i++) {
        result = result.replace(reg1, "");
        result = result.replace(reg2, "");
    }
    return result;
}
/************************************************************
* @version 1.0
*/
function ZZ_trimBlanks_it(aTextField) {
    aTextField.value = ZZ_trimBlanks_str(aTextField.value);
}

/************************************************************
* @version 1.01
*/
function ZZ_isValidEmail(s) {
    var invalidChars = " \\/:*?\"',<>|[]{}+=()&^%$#!~`";
    if(s == "") {
        return false;
    }
    for(var i = 0; i < invalidChars.length; i++) {
        badChar = invalidChars.charAt(i);
        if(s.indexOf(badChar,0) != -1) {
            return false;
        }
    }
    var atPos = s.indexOf ("@",1);
    if(atPos == -1) {
        return false;
    }
    if(s.indexOf ("@", atPos+1) != -1) {
            return false;
    }
    var periodPos = s.indexOf (".", atPos);
    if(periodPos == -1) {
        return false;
    }
    if(periodPos + 3 > s.length) { // Longer domains are comming
        return false;
    }
    return true;
}

/************************************************************
* @version 1.03
*/
function ZZ_validateEmail(aTextField) {    
    aTextField.value = ZZ_trimBlanks_str(aTextField.value);
    if(aTextField.value.length == 0)
        return;
    if(!ZZ_isValidEmail(aTextField.value)) {
	    alert("The email address you entered does not appear to be valid.\nPlease enter a valid email address.");
		aTextField.value = "";
		aTextField.focus();
		aTextField.select();
    }
}
