function emailCheck(str) {
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1){
		if (emailCheck.arguments.length == 1) {
			alert("Invalid E-mail address");
	   	}
		else {
			alert(emailCheck.arguments[1]);
		}
	   return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		if (emailCheck.arguments.length == 1) {
			alert("Invalid E-mail address");
	   	}
		else {
			alert(emailCheck.arguments[1]);
		}
		return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		if (emailCheck.arguments.length == 1) {
			alert("Invalid E-mail address");
	   	}
		else {
			alert(emailCheck.arguments[1]);
		}
		return false;
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		if (emailCheck.arguments.length == 1) {
			alert("Invalid E-mail address");
	   	}
		else {
			alert(emailCheck.arguments[1]);
		}
		return false;
	}

	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		if (emailCheck.arguments.length == 1) {
			alert("Invalid E-mail address");
	   	}
		else {
			alert(emailCheck.arguments[1]);
		}
		return false;
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		if (emailCheck.arguments.length == 1) {
			alert("Invalid E-mail address");
	   	}
		else {
			alert(emailCheck.arguments[1]);
		}
		return false;
	 }
	
	 if (str.indexOf(" ")!=-1){
		if (emailCheck.arguments.length == 1) {
			alert("Invalid E-mail address");
	   	}
		else {
			alert(emailCheck.arguments[1]);
		}
		return false;
	 }

	return true;				
}

function creditcardCheck(str) {
	var digits = '';
	var number = '';

	for (var ccDigit=1;ccDigit<=str.length;ccDigit++) {
		var thisChar = str.charAt(ccDigit-1);
		var isNum = !isNaN(thisChar);
		if (isNum && thisChar != " ") {
			number = number + "" + str.charAt(ccDigit-1);
		}
	}
	
	var digitPosRight=0;
	for (var ccDigit=1;ccDigit<=number.length;ccDigit++) {
		digitPosRight++;
		var digitPos = number.length - ccDigit;
		digits = (digitPosRight % 2 == 0) ? ((number.charAt(digitPos)/1) * 2) + digits : number.charAt(digitPos) + digits;
	}
	
	digitPosRight=0;
	for (var ccDigit=0;ccDigit<digits.length;ccDigit++) {
		digitPosRight += (digits.charAt(ccDigit)/1);
	}
	
	var bReturn = ((digitPosRight % 10 == 0) || ((number.length == 15) && ((number.substr(0, 4) == '2014') || (number.substr(0, 4) == '2149'))));
	if (!bReturn) {
		alert(number + " is an invalid credit card number.");
	}
	return bReturn;
}	


function Move(sDir, objList, objOrder) {
	if (objList.selectedIndex != null) {
		nSelIndex = objList.selectedIndex;
		sSelValue = objList[nSelIndex].value;
		sSelText = objList[nSelIndex].text;
		if (sDir == "up" && nSelIndex > 0) {
			sSwitchValue = objList[nSelIndex -1].value;
			sSwitchText = objList[nSelIndex - 1].text;
			objList[nSelIndex].value = sSwitchValue;
			objList[nSelIndex].text = sSwitchText;
			objList[nSelIndex - 1].value = sSelValue;
			objList[nSelIndex - 1].text = sSelText;
			objList[nSelIndex - 1].selected = true;
		}
		else if (sDir == "dn" && nSelIndex < (objList.length - 1)) {
			sSwitchValue = objList[nSelIndex + 1].value;
			sSwitchText = objList[nSelIndex +  1].text;
			objList[nSelIndex].value = sSwitchValue;
			objList[nSelIndex].text = sSwitchText;
			objList[nSelIndex + 1].value = sSelValue;
			objList[nSelIndex + 1].text = sSelText;
			objList[nSelIndex + 1].selected = true;
		}
	}
	objOrder.value = "";
	for (i = 0; i < objList.length; i++) {
		objOrder.value = objOrder.value + objList[i].value;
		if (i < (objList.length - 1)) {
			objOrder.value = objOrder.value + ",";
		}
	}
}	

function checkInt(str)
    {
    if (str.length == 0)
        return true;

	var decimal_format = ".";
	var check_char;

	check_char = str.indexOf(decimal_format)

    if (check_char < 1)
		return checkNumber(str);
    else
		return false;
}

function numberRange(str, min_value, max_value) {
    // check minimum
    if (min_value != null) {
        if (str < min_value)
		return false;
	}

    // check maximum
    if (max_value != null) {
		if (str > max_value)
			return false;
		}
	    //All tests passed, so...
    	return true;
    }

function checkNumber(str) {
    if (str.length == 0)
        return true;

	var start_format = " .+-0123456789";
	var number_format = " .0123456789";
	var check_char;
	var decimal = false;
	var trailing_blank = false;
	var digits = false;

	check_char = start_format.indexOf(str.charAt(0))
	if (check_char == 1)
	    decimal = true;
	else if (check_char < 1)
		return false;
        
	for (var i = 1; i < str.length; i++) {
		check_char = number_format.indexOf(str.charAt(i))
		if (check_char < 0)
			return false;
		else if (check_char == 1) {
			if (decimal)
				return false;
			else
				decimal = true;
		}
		else if (check_char == 0) {
			if (decimal || digits)	
				trailing_blank = true;
		}
        else if (trailing_blank)
			return false;
		else
			digits = true;
	}	
    return true
}


function checkPhone(str, msg) {
    if (str.length == 0) {
		return true;
	}
    if (str.length != 10 || isNaN (str)) {
		alert(msg);
		return false;
	}
	return true
}
	
	
function checkZip(str, msg) {
    if (str.length == 0) {
		alert(msg);
        return false;
	}
		
    if (str.length != 5 && str.length != 10) {
		alert(msg);
        return false;
	}

	// make sure first 5 digits are a valid integer
	if (str.charAt(0) == "-" || str.charAt(0) == "+") {
		alert(msg);
        return false;
	}

	if (!checkInt(str.substring(0,5))) {
		alert(msg);
		return false;
	}
	
	if (str.length == 5)
		return true;
	
	// make sure

	// check if separator is either a'-' or ' '
	if (str.charAt(5) != "-" && str.charAt(5) != " ") {
		alert(msg);
        return false;
	}

	// check if last 4 digits are a valid integer
	if (str.charAt(6) == "-" || str.charAt(6) == "+") {
		alert(msg);
        return false;
	}

	if (!checkInt(str.substring(6,10))) {
		alert(msg);
        return false;
	}
	return true;
}

function checkRequired (str, msg) {
	if (str.length == 0) {
		alert(msg);
		return false;
	}
	else {
		return true;
	}
}

function getRealTop(imgElem){
	var exclude=1;
	var agt=navigator.userAgent.toLowerCase();
	var win=0;
	var mac=0;

	if(agt.indexOf('win')!=-1){ win=1; }
	if(agt.indexOf('mac')!=-1){ mac=1; }

	var ie=0; var ie4=0; var ns4=0;
	var ns6=0; var ns7=0; var mz7=0;

	if(agt.indexOf("netscape/6")!=-1||agt.indexOf("netscape6 ")!=-1){ ns6=1; }
	else if(agt.indexOf("netscape/7")!=-1||agt.indexOf("netscape7")!=-1){ ns6=1; ns7=1; }
	else if(agt.indexOf("gecko")!=-1) { ns6=1; mz7=1; }
	else if((agt.indexOf('mozilla')!=-1)&&(parseInt(navigator.appVersion)>=4)){
		exclude=0;
		ns4=1;
		if(typeof navigator.mimeTypes['*']=="undefined"){ exclude=1; ns4=0; }
	}
	if(agt.indexOf('escape')!=-1){ exclude=1; ns4=0; }
	if(typeof navigator.productSub!="undefined"&&navigator.productSub==20021225){ ns6=1;ns7=0;mz7=0;win=0;mac=1; }
	if(agt.indexOf('icab')!=-1){ exclude=1; ie=0; ie5=0; }
	if(ns4 || ns7){
		yPos=document.images[imgElem].y;
	}
	else if(mac&&ie5){
		yPos+=parseInt(document.body.topMargin);
	}
	else {
		yPos=document.images[imgElem].offsetTop;
		tempEl=document.images[imgElem].offsetParent;
		while(tempEl!=null){
			yPos+=tempEl.offsetTop;
			tempEl=tempEl.offsetParent;
		}
	}
	return yPos;
}

function getRealLeft(imgElem){
	var exclude=1;
	var agt=navigator.userAgent.toLowerCase();
	var win=0;
	var mac=0;

	if(agt.indexOf('win')!=-1){ win=1; }
	if(agt.indexOf('mac')!=-1){ mac=1; }

	var ie=0; var ie4=0; var ns4=0;
	var ns6=0; var ns7=0; var mz7=0;

	if(agt.indexOf("netscape/6")!=-1||agt.indexOf("netscape6 ")!=-1){ ns6=1; }
	else if(agt.indexOf("netscape/7")!=-1||agt.indexOf("netscape7")!=-1){ ns6=1; ns7=1; }
	else if(agt.indexOf("gecko")!=-1) { ns6=1; mz7=1; }
	else if((agt.indexOf('mozilla')!=-1)&&(parseInt(navigator.appVersion)>=4)){
		exclude=0;
		ns4=1;
		if(typeof navigator.mimeTypes['*']=="undefined"){ exclude=1; ns4=0; }
	}
	if(agt.indexOf('escape')!=-1){ exclude=1; ns4=0; }
	if(typeof navigator.productSub!="undefined"&&navigator.productSub==20021225){ ns6=1;ns7=0;mz7=0;win=0;mac=1; }
	if(agt.indexOf('icab')!=-1){ exclude=1; ie=0; ie5=0; }
	if(ns4 || ns7){
		xPos=document.images[imgElem].x;
	}
	else if(mac&&ie5){
		xPos+=parseInt(document.body.leftMargin);
	}
	else {
		xPos=document.images[imgElem].offsetLeft;
		tempEl=document.images[imgElem].offsetParent;
		while(tempEl!=null){
			xPos+=tempEl.offsetLeft;
			tempEl=tempEl.offsetParent;
		}
	}
	return xPos;
}

function showWindow(szImage, szTitle){
	szHTML = 			"<table border=0 cellspacing=0 cellpadding=1>";
	szHTML = szHTML + 	"<tr>";
	szHTML = szHTML + 	"<td valign=top>"
	szHTML = szHTML + 	"<table border=1 cellpadding=0 cellpadding=0>"
	szHTML = szHTML + 	"<tr bgcolor=" + imgBGColor +"><td><img src=";
	szHTML = szHTML + 	szImage;
	szHTML = szHTML + 	" width=90 height=68 border=0>";
	szHTML = szHTML + 	"</td></tr></table></td><td valign=top><table cellpadding=1 cellspacing=0> ";
	for (i=2; i< showWindow.arguments.length; i++) {
		thisLine = showWindow.arguments[i].split(",");
		if (thisLine[1].length) {
			szHTML = szHTML + "<tr><td class=" + fontClass + ">" + thisLine[0] + ":</td><td class=" + fontClass + ">" + thisLine[1] + "</td></tr>";
		}
	}
	szHTML = szHTML + 	"</table></td></tr></table>";
	drc(szHTML, szTitle);
}

function writeFlash (szObjName, nWidth, nHeight, sMovie, sAltImage) {
	if (pluginlist.indexOf("Flash")!=-1) {
		document.write("<OBJECT id=\"" + szObjName + "\" name=\"" + szObjName + "\" CLASSID=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" WIDTH=\"" + nWidth + "\" HEIGHT=\"" + nHeight + "\" CODEBASE=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab\"><PARAM NAME=\"MOVIE\" VALUE=\"" + sMovie + "\"> <PARAM NAME=\"PLAY\" VALUE=\"true\"> <PARAM NAME=\"LOOP\" VALUE=\"false\"> <PARAM NAME=\"QUALITY\" VALUE=\"high\"> <PARAM NAME=\"MENU\" VALUE=\"false\"> <EMBED SRC=\"" + sMovie + "\" WIDTH=\"" + nWidth + "\" HEIGHT=\"" + nHeight + "\" PLAY=\"true\" LOOP=\"false\" QUALITY=\"high\" MENU=\"false\" TYPE=\"application/x-shockwave-flash\" PLUGINSPAGE=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\"></EMBED></OBJECT>");
	
	}
	else {
		var alternateContent = "<img src=\"" + sAltImage + "\" alt=\"\" width=\"" + nWidth + "\" height=\"" + nHeight + "\" border=\"0\">";
		document.write(alternateContent);
	}
}