/* -- Adobe GoLive JavaScript Library */

CSStopExecution=false;
function CSAction(array) {return CSAction2(CSAct, array);}
function CSAction2(fct, array) { 
	var result;
	for (var i=0;i<array.length;i++) {
		if(CSStopExecution) return false; 
		var aa = fct[array[i]];
		if (aa == null) return false;
		var ta = new Array;
		for(var j=1;j<aa.length;j++) {
			if((aa[j]!=null)&&(typeof(aa[j])=="object")&&(aa[j].length==2)){
				if(aa[j][0]=="VAR"){ta[j]=CSStateArray[aa[j][1]];}
				else{if(aa[j][0]=="ACT"){ta[j]=CSAction(new Array(new String(aa[j][1])));}
				else ta[j]=aa[j];}
			} else ta[j]=aa[j];
		}			
		result=aa[0](ta);
	}
	return result;
}
CSAct = new Object;

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}


userAgent = window.navigator.userAgent;
browserVers = parseInt(userAgent.charAt(userAgent.indexOf("/")+1),10);
mustInitImg = true;
function initImgID() {var di = document.images; if (mustInitImg && di) { for (var i=0; i<di.length; i++) { if (!di[i].id) di[i].id=di[i].name; } mustInitImg = false;}}

function findElement(n,ly) {
	var d = document;
	if (browserVers < 4)		return d[n];
	if ((browserVers >= 6) && (d.getElementById)) {initImgID; return(d.getElementById(n))}; 
	var cd = ly ? ly.document : d;
	var elem = cd[n];
	if (!elem) {
		for (var i=0;i<cd.layers.length;i++) {
			elem = findElement(n,cd.layers[i]);
			if (elem) return elem;
		}
	}
	return elem;
}

function changeImagesArray(array) {
	if (preloadFlag == true) {
		var d = document; var img;
		for (i=0;i<array.length;i+=2) {
			img = null; var n = array[i];
			if (d.images) {
				if (d.layers) {img = findElement(n,0);}
				else {img = d.images[n];}
			}
			if (!img && d.getElementById) {img = d.getElementById(n);}
			if (!img && d.getElementsByName) {
				var elms = d.getElementsByName(n);
				if (elms) {
					for (j=0;j<elms.length;j++) {
						if (elms[j].src) {img = elms[j]; break;}
					}
				}
			}
			if (img) {img.src = array[i+1];}
		}
	}
}


function changeImages() {
	changeImagesArray(changeImages.arguments);
}


function toggleImages() {
	for (var i=0; i<toggleImages.arguments.length; i+=2) {
		if (selected == toggleImages.arguments[i])
			changeImagesArray(toggleImages.arguments[i+1]);
	}
}

function CSClickReturn () {
	var bAgent = window.navigator.userAgent; 
	var bAppName = window.navigator.appName;
	if ((bAppName.indexOf("Explorer") >= 0) && (bAgent.indexOf("Mozilla/3") >= 0) && (bAgent.indexOf("Mac") >= 0))
		return true; /* dont follow link */
	else return false; /* dont follow link */
}

function CSFieldValidate(action) { 
var form = action[1];
var elem = action[2];
var theEntry  = document.forms[form].elements[elem].value
var theFormElem = document.forms[form].elements[elem]
var badEntry = ""

	function theAlert () { 
	alert(action[6]);
	theFormElem.select();
	theFormElem.focus();
	}  	

	function isEmpty() { 
		if (theEntry == "") { 
		theAlert()
		} 	
	}

	function isNumber() { 
			if (theEntry == "") { 
			theAlert()
			} 		
		for (i=0; i<theEntry.length; i++) {  
			if (theEntry.charAt(i) < "0" || theEntry.charAt(i) > "9") {  
				badEntry = "notnumber"
				} 
			}  		
		if (badEntry == "notnumber") {
		theAlert()	
		}	
	} 
		
	function isAlpha() { 
			if (theEntry == "") { 
			theAlert()
			} 		
		for (i=0; i<theEntry.length; i++) {  
			if (theEntry.charAt(i) >= "0" && theEntry.charAt(i) <= "9") {  
				badEntry = "notalpha"
				} 
			}  		
		if (badEntry == "notalpha") {
		theAlert()	
		}	
	} 
				
	function requiredChars() {
	numofChars = theEntry.length
		if (numofChars != action[4]) {
			theAlert()
		} 
	}	

	function exactString() {
		if (theEntry != action[5]) {
			theAlert()
		} 
	}	
	
	function validEmail() {
		invalidChars = " /:,;"		
		if (theEntry == "") { 
			badEntry = "badEmail"
			}
		for (i=0; i < 5; i++)  {
			badChar = invalidChars.charAt(i)
				if (theEntry.indexOf(badChar,0) > -1) {
				badEntry = "badEmail"
				}
		}	
	atsignLoc = theEntry.indexOf("@",1)
		if (atsignLoc == -1) {
			badEntry = "badEmail"
		}		
		if (theEntry.indexOf("@",atsignLoc+1) > -1) {
		badEntry = "badEmail"
		}
	dotLoc = theEntry.indexOf(".",atsignLoc)
		if (dotLoc == -1) {
		badEntry = "badEmail"
		}
		if (dotLoc+3 > theEntry.length) {
		badEntry = "badEmail"
		}
		if (badEntry == "badEmail") {
		theAlert()
		}
	}

	function validCC() { 
	var theNumber = new Array(theEntry.length);
	var i = 0
	var total = 0
		for (i = 0; i < theEntry.length; ++i) {
		theNumber[i] = parseInt(theEntry.charAt(i))
		}
		for (i = theNumber.length -2; i >= 0; i-=2) {  
		theNumber[i] *= 2;							 
		if (theNumber[i] > 9) theNumber[i]-=9;			 
		}										 
		for (i = 0; i < theNumber.length; ++i) {
		total += theNumber[i];						 
		}	
		isinteger = total/10
		if(parseInt(isinteger)!=isinteger) {
		theAlert()
		}
	}
	
var type=action[3];
if(type==0) isEmpty()
else if(type==1) isNumber()
else if(type==2) isAlpha()
else if(type==3) requiredChars()
else if(type==4) exactString()
else if(type==5) validEmail()
else if(type==6) validCC()
}

		

// START FORM CALCULATOR 1.0.1 FUNCTIONS (www.mindpalette.com)
if (typeof MPFormCalcStoredVars == "undefined") var MPFormCalcStoredVars = new Array();
MPFormCalcStoredVars['val1var'] = 2000;
MPFormCalcStoredVars['val2var'] = 6000;
function MPFormCalcMain(action) {
	var formName = action[1];
	var field1 = MPFormCalcTrim(action[2]);
	var static1 = action[3];
	var var1 = action[4];
	var operation = action[5];
	var field2 = MPFormCalcTrim(action[6]);
	var static2 = action[7];
	var var2 = action[8];
	var roundOff = action[9];
	var forceDec = action[10];
	var absVal = action[11];
	var result_field = action[12];
	var result_id = action[13];
	var result_var = action[14];
	var round_type = action[15];
	var commas = action[16];
	var minSet = action[17];
	var minVal = parseFloat(action[18]);
	var maxSet = action[19];
	var maxVal = parseFloat(action[20]);
	var go = true;
	var numVal1 = 0;
	var numVal2 = 0;
	if (typeof document.forms[formName] == 'undefined') formName = 0;
	if (typeof document.forms[formName] == 'undefined') go = false;
	if (go) {
		var thisForm = document.forms[formName];
		numVal1 += MPFormCalcBuildNum(thisForm, field1, static1, var1);
		if (action[6] != '' || static2 != '' || var2 != '') {
			numVal2 += MPFormCalcBuildNum(thisForm, field2, static2, var2);
			numVal1 = MPFormCalcDoOp(numVal1, operation, numVal2);
			}
		if (minSet && numVal1 < minVal) numVal1 = minVal;
		if (maxSet && numVal1 > maxVal) numVal1 = maxVal;
		if (roundOff != '') numVal1 = MPFormCalcRound(numVal1, roundOff, round_type);
		if (absVal == true) numVal1 = Math.abs(numVal1);
		if (commas == true || forceDec > 0) numVal1 = MPFormCalcFormatString(numVal1, forceDec, commas);
		if (result_id != '') MPFormCalcDivText(result_id, numVal1);
		if (result_var != '') MPFormCalcStoredVars[result_var] = numVal1;
		if (result_field != '') thisForm.elements[result_field].value = numVal1;
		}
	}
function MPFormCalcVarType(thisField) {
	var fieldType = false;
	if (typeof thisField.type != 'undefined') fieldType = thisField.type;
	if (!fieldType) if (thisField[0].type != 'undefined') fieldType = 'group';
	if (!fieldType) fieldType = 'undefined';
	return fieldType;
	}
function MPFormCalcInArray(needle, haystack) {
	results = false;
	for (var n=0; n<haystack.length; n++) {
		if (haystack[n] == needle) {
			results = true;
			break;
			}
		}
	return results;
	}
function MPFormCalcTrim(inString) {
	var frontIndex = 0;
	var backIndex = inString.length - 1;
	var trimList = new Array(" ", "\t", "\n", "\r");
	while (MPFormCalcInArray(inString.charAt(frontIndex), trimList)) frontIndex++;
	while (MPFormCalcInArray(inString.charAt(backIndex), trimList)) backIndex--;
	return inString.substring(frontIndex, (backIndex + 1));
	}
function MPFormCalcTrimArray(thisArray) {
	var results = new Array();
	var count = 0;
	for (var n=0; n<thisArray.length; n++) {
		var thisVal = MPFormCalcTrim(thisArray[n]);
		if (thisVal != '') {
			results[count] = MPFormCalcTrim(thisArray[n]);
			count++;
			}
		}
	return results;
	}
function MPFormCalcDoOp(num1, operation, num2) {
	results = 0;
	if (operation == 1) results = num1 - num2;
		else if (operation == 2) results = num1 * num2;
		else if (operation == 3) results = num1 / num2;
		else if (operation == 4) results = num1 + ((num2 / 100) * num1);
		else if (operation == 5) results = num1 - ((num2 / 100) * num1);
		else results = num1 + num2;
	return results;
	}
function MPFormCalcGetNum(thisString) {
	thisString = thisString+"";
	var result = "";
	var regEx =  /^[0-9.]/;
	for (var n=0; n<thisString.length; n++) {
		var thisChar = thisString.charAt(n);
		if (regEx.test(thisChar)) result += thisChar;
		}
	if (result == '.' || result == 'NaN') result = 0;
	result = (result == '') ? 0 : parseFloat(result);
	if (result == "NaN") result = 0;
	return result;
	}
function MPFormCalcBuildNum(thisForm, fields, staticVal, varVal) {
	var numVal = 0;
	numVal += MPFormCalcGetNum(staticVal);
	if (varVal != '') {
		if (typeof MPFormCalcStoredVars[varVal] != "undefined") numVal += MPFormCalcGetNum(MPFormCalcStoredVars[varVal]);
		}
	if (fields != '') {
		fieldList = MPFormCalcTrimArray(fields.split(','));
		for (var n=0; n<fieldList.length; n++) {
			thisField = fieldList[n];
			if (thisField != '' && typeof thisForm.elements[thisField] != 'undefined') thisField = thisForm.elements[thisField];
			numVal += MPFormCalcFlatten(thisField);
			}
		}
	return numVal;
	}
function MPFormCalcFlatten(passedField) {
	var numVal = 0;
	fieldArray = (MPFormCalcVarType(passedField) != "group") ? new Array(passedField) : passedField;
	for (var n=0; n<fieldArray.length; n++) {
		var thisField = fieldArray[n];
		var fieldType = MPFormCalcVarType(thisField);
		if (fieldType == "text" || fieldType == "textarea" || fieldType == "hidden" || fieldType == "password") {
			numVal = MPFormCalcDoOp(numVal, 0, MPFormCalcGetNum(thisField.value));
			} else if (fieldType == "select-one")
			numVal = MPFormCalcDoOp(numVal, 0, MPFormCalcGetNum(thisField.options[thisField.options.selectedIndex].value));
			else if (fieldType == "select-multiple") {
			var thisSum = 0;
			for (var i=0; i<thisField.length; i++) {
				if (thisField.options[i].selected) {
					var selection = MPFormCalcGetNum(thisField.options[i].value);
					thisSum += selection;
					}
				}
			numVal = MPFormCalcDoOp(numVal, 0, thisSum);
			}
			else if (fieldType == "checkbox" || fieldType == "radio") {
			if (typeof thisField.length != "undefined") {
				var thisSum = 0;
				for (var i=0; i<thisField.length; i++) {
					if (thisField[i].checked) thisSum += MPFormCalcGetNum(thisField[i].value);
					}
				numVal = MPFormCalcDoOp(numVal, 0, thisSum);
				} else if (thisField.checked) {
				numVal = MPFormCalcDoOp(numVal, 0, MPFormCalcGetNum(thisField.value));
				}
			}
		}
	return numVal;
	}
function MPFormCalcRound(number, places, type) {
	var precision = (places != 0) ? Math.pow(10, Math.abs(places)) : 0;
	if (places > 0) number = number * precision;
		else if (places < 0) number = number / precision;
	if (type == 2) number = Math.ceil(number);
		else if (type == 1) number = Math.floor(number);
		else number = Math.round(number);
	if (places > 0) number = number / precision;
		else if (places < 0) number = number * precision;
	return number;
	}
function MPFormCalcSplitIntDec(number) {
	string = number+'';
	if (string.indexOf('.') > -1) var results = string.split('.');
		else results = new Array(string, '');
	return results;
	}
function MPFormCalcFormatString(number, force, commas) {
	var string = number+"";
	if (force > 0) {
		var temp = MPFormCalcSplitIntDec(string);
		var integer = temp[0];
		var decimal = temp[1];
		while (decimal.length < force) { decimal+="0" };
		string = integer+'.'+decimal;
		}
	if (commas) {
		var temp = MPFormCalcSplitIntDec(string);
		var integer = temp[0];
		var decimal = '.'+temp[1];
		var last = (integer.length - 1);
		if (last > 2) {
			var results = "";
			var n = last;
			while (n>-1) {
				x = 1;
				while (x<4 && n>-1) {
					results = string.charAt(n) + results;
					n--;
					x++;
					}
				if (n>-1) results = ','+results;
				}
			string = results+decimal;
			}
		}
	return string;
	}
function MPFormCalcDivText(div, text) {
	if (document.layers) {
		if (typeof eval("document."+div+".document") != "undefined") {
			with (eval("document."+div+".document")) {
				open();
				write("<"+"HTML"+"><"+"HEAD"+"><"+"/HEAD"+"><"+"BODY"+">"+text+"<"+"/BODY"+"><"+"/HTML"+">");
				close();
				}
			}
		} else if (document.all && typeof document.all[div] != "undefined") {
		document.all[div].innerHTML = text;
		} else if (document.getElementById && !document.all && typeof document.getElementById(div) != "undefined") {
		document.getElementById(div).innerHTML = text;
		}
	}
// END FORM CALCULATOR 1.0 FUNCTIONS
//-->


