<!--
/* version 1.00 */
var ie;
ie = document.all;

function isblank(s){
  for(var i=0; i< s.length; i++){
    var c= s.charAt(i);
    if ((c != ' ') && (c != '\en') && (c != '\et'))
	return false;
  }
  return true;
}

function isemail(s) {
    if ((s.indexOf('@', 0) > 0) && (s.indexOf('.', 0) > 0))
	return true;
    else
	return false;
}

function isItFloat(floatVal){

	floatVal = parseFloat(floatVal);
	if (isNaN(floatVal)){
		return false;
	} else {
		return true;
	}
}

function isItInteger(intVal){

	intVal = parseInt(intVal);
	if (isNaN(intVal)){
		return false;
	} else {
		return true;
	}
}

function replaceChar(repVar,char1,char2){
	 var tmp, tmp2;
	 tmp = "";
	 tmp2 = "";
	  for(var j=0; j<repVar.length; j++) {
	      var tmp = repVar.substring(j,j+1)
	      if (tmp == char1){
	      	tmp2=tmp2+char2;
	      }else{
	 	tmp2=tmp2+tmp;
	      }
	  }
	  return tmp2;
}


function checkFormOld(formi2){

	var reqStr; // string for Required errors
	var valStr; // string for other errors
	var msg;

	reqStr = fieldCheck(formi2, 'req')
	if(formi2.val)
		valStr = fieldCheck(formi2, 'val')
	else
		valStr = "";
	msg = reqStr + valStr
	if(msg.length==0){
		return true;
	}else{
		alert(msg);
		return false;
	}


}

function checkForm(formi2){

	var reqStr=""; // string for Required errors
	var valStr=""; // string for other errors
	var lenStr=""; // string for length errors
	var msg, formMessage;
	if(formi2.errortitle){
			formMessage = formi2.errortitle.value;
	}else{
			formMessage = "";
	}

	if(formi2.req)
		reqStr = fieldCheck(formi2, 'req')
	else
		reqStr = "";

	if(formi2.val)
		valStr = fieldCheck(formi2, 'val')
	else
		valStr = "";

	if(formi2.len)
		lenStr = fieldCheck(formi2, 'len')
	else
		lenStr = "";

	msg = reqStr + valStr + lenStr
	if(msg.length==0){
		return true;
	}else{
		//Add title if formMessage is not empty
		if(formMessage.length != 0){
			msg = formMessage + '\n\n' + msg
			alert(msg);
			return false;
		}else{
			alert(msg);
			return false;
		}
	}
}


function fieldCheck(formi, hiddenFieldName){

	var msg;
	msg = "";
	// only one element
	if(formi.elements[hiddenFieldName] && isNaN(parseInt(formi.elements[hiddenFieldName].length))){
		msg = msg + validateInput(formi, formi.elements[hiddenFieldName], hiddenFieldName);
	} else {
	// multiple elements
		var formi2;
		for(i=0; i < formi.elements[hiddenFieldName].length;i++){
			
			formi2 = formi.elements[hiddenFieldName];
			msg = msg + validateInput(formi, formi2[i], hiddenFieldName);

		}
	}
	return msg;

}
function fieldcolor(obj, colorstr){

	if(ie)
		obj.style.color = colorstr;

}


function validateInput(formi, obj, hiddenFieldName){

	var msg;
	msg = "";

	var fieldtype, fieldname, fieldvalue, fielderror,  tmp, elementtype;
	var notemail, notinteger, notfloat, isempty, istooshort, notselected;
	var notchecked, checkedelement;

	elementtype = "";

		notemail = formi.notemail.value;
		notinteger = formi.notinteger.value;
		notfloat = formi.notfloat.value;
		isempty = formi.isempty.value;
		istooshort = formi.istooshort.value;
		notselected = formi.notselected.value;


	//alert(obj.

	fstr=obj.value;
	fieldname=fstr.substring(0,fstr.indexOf(":",0));
	if(formi.elements[fieldname].type!="select-one"){
		fieldvalue=trim(formi.elements[fieldname].value);
	}else{
		fieldvalue=trim(formi.elements[fieldname].options[formi.elements[fieldname].selectedIndex].value);
		elementtype = "selectbox";
	}

	fieldtype=fstr.substring(fstr.indexOf(":",0)+1);
	fieldtype=fieldtype.substring(0,fieldtype.indexOf(":",0))
	fielderror=fstr.substring(fstr.lastIndexOf(":")+1);


	if(hiddenFieldName == 'len'){
		if(fieldvalue.length!=0 && fieldvalue.length < parseInt(fieldtype)){
			msg = msg + fielderror + ' ' + istooshort + '\n';
		}
	}

	if(fieldtype == 'float'){

		if(fieldvalue.length!=0 && elementtype != "selectbox"){
			// CONVERT all ',' TO . FIRST
			fieldvalue = replaceChar(fieldvalue,',','.');
			fieldvalue = parseFloat(fieldvalue);
			if(isItFloat(fieldvalue)){
				formi.elements[fieldname].value = fieldvalue;
				fieldcolor(formi.elements[fieldname],"#000000")
			}else{
				fieldcolor(formi.elements[fieldname],"#FF0000")
				msg = msg + fielderror + ' ' + notfloat + '\n';
			}
		}else if(fieldvalue.length==0){

			if(hiddenFieldName=='req')
				msg = msg + fielderror + ' ' + isempty + '\n';
		}
	}

	if(fieldtype == 'checked'){

		notchecked = true;
		checkedelement = formi.elements[fieldname];
		// SINGLE CHECKBOX
		if(isNaN(parseInt(formi.elements[fieldname].length))){
			if(!checkedelement.checked){
				if(hiddenFieldName=='req')
					msg = msg + fielderror + ' ' + notselected + '\n';
			}
		} else {
		// MULTICHOICE CHECKBOX
			for(var k=0;k<checkedelement.length;k++){
				if(checkedelement[k].checked){
					notchecked = false;
					break;
				}
			}
			if(notchecked && hiddenFieldName=='req')
				msg = msg + fielderror + ' ' + notselected + '\n';
		}
	}

	if(fieldtype == 'string'){
		if(fieldvalue.length==0){
			if(hiddenFieldName=='req')
				msg = msg + fielderror + ' ' + isempty + '\n';
		}
	}
	if(fieldtype == 'integer'){
		if(fieldvalue.length!=0){
			fieldvalue = parseInt(fieldvalue);
			if(!isItInteger(fieldvalue)){
				fieldcolor(formi.elements[fieldname],"#FF0000")
				msg = msg + fielderror + ' ' + notinteger +  '\n';
			}else{
				fieldcolor(formi.elements[fieldname],"#000000")
				formi.elements[fieldname].value = fieldvalue;
			}
		}else if(fieldvalue.length==0){
			if(hiddenFieldName=='req')
				msg = msg + fielderror + ' ' + isempty +  '\n';
		}
	}
	if(fieldtype == 'email'){
		if(fieldvalue.length!=0){
			if(!isemail(fieldvalue)){
				fieldcolor(formi.elements[fieldname],"#FF0000")
				msg = msg + fieldvalue + ' ' + notemail +  '\n';
			}else{
				fieldcolor(formi.elements[fieldname],"#000000")
			}
		}else if(fieldvalue.length==0){
			if(hiddenFieldName=='req')
				msg = msg + fielderror + ' ' + isempty +  '\n';
		}
	}


	return msg;

}

function trim(inputString) {
   // Removes leading and trailing spaces from the passed string. Also removes
   // consecutive spaces and replaces it with one space. If something besides
   // a string is passed in (null, custom object, etc.) then return the input.
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { // Check for spaces at the beginning of the string
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { // Check for spaces at the end of the string
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
   }
   return retValue; // Return the trimmed string back to the user
} // Ends the "trim" function


//-->