function validateField(objName, Type)
{
	var bolResult = false
	switch (object.constructor){
	   case 'A':
			bolResult = CheckRequired(objName);break;
	   case 'D':
			bolResult = CheckDate(objName);break;
	   case 'N':
			bolResult = CheckNumeric(objName);break;
	   case 'T':
			bolResult = CheckTime(objName);break;
	   case 'E':
			bolResult = CheckEmail(objName);break;
	   case 'S':
			bolResult = CheckSelected(objName);break;
	   default: 
			bolResult = CheckRequired(objName);break;
	}
}

//SETS A SELECT CONTROL TO A VALUE\\
function SetLookup(objName, intValue){
	
	var objLookup = MM_findObj(objName);
	if(!(intValue==0 || intValue=='')){
		for(i=0;i<objLookup.options.length;i++){
			objLookup.options(i).selected = objLookup.options(i).value==intValue?true:false
		}
	}
}

//CHECKING FUNCTIONS FOR REQUIRED FIELDS\\
function CheckRequired(objName)
{
  var formObj = MM_findObj(objName);
  var result = true;
  if ((formObj.value == null) || (formObj.value.length == 0))
  {
    result = false;
  }
  return result;
}

//CHECKING FUNCTIONS FOR DIFFERENT DATA TYPES\\
function CheckEmail(objName) {
  var formObj = MM_findObj(objName);
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (formObj.value.indexOf(".") > 2) && (formObj.value.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(formObj.value) && r2.test(formObj.value));
}

function CheckNumeric(objName)
{
  var formObj = MM_findObj(objName);	
  var result = true;
  var len= formObj.length;
  if (len==0 || formObj.value==''){
    result = false;
  }
  else{
	if(isNaN(formObj.value)){
		result = false;
	}
  }
  return result;
}

function CheckTime(objName)
{
	var formObj = MM_findObj(objName);	
	var strTestTime = new String(formObj.value);
	strTestTime.toUpperCase();

	var bolTime = false;

	if (strTestTime.indexOf("PM",1) != -1 || strTestTime.indexOf("AM",1))
		bolTime = true;

	if (bolTime && strTestTime.indexOf(":",0) == 0)
		bolTime = false;

	var nColonPlace = strTestTime.indexOf(":",1);
	if (bolTime && ((parseInt(nColonPlace) + 5) < (strTestTime.length - 1) || (parseInt(nColonPlace) + 4) > (strTestTime.length - 1)))
		bolTime = false;


	return bolTime;
}

function CheckDate(objName)
{
	var bolDate = true;
	var formObj = MM_findObj(objName);
	if (bolDate){
		var elems = formObj.value.split("/");
		bolDate = (elems.length == 3); // should be three components	     
		if (bolDate){
			var day = parseInt(elems[0]);
			var month = parseInt(elems[1],10);
			var year = parseInt(elems[2],10);
			bolDate = !isNaN(month) && (month > 0) && (month < 13) &&
			      !isNaN(day) && (day > 0) && (day < 32) &&
			      !isNaN(year) && (elems[2].length == 4);
		}
	}	     
	 return bolDate
} 
  
function CheckLength(objName, nLength)
{
	var formObj = MM_findObj(objName);
	if (formObj.length > nLength) {
		return false;
	} else
		return true;
}

function CheckRadio(objName){
	var result = false;
	var formObj = MM_findObj(objName);
	if (formObj.length == undefined){
		if (formObj.checked ==true){
				result = true;
		}
		else{
			for(var i=0; i<formObj.length; i++){
				if(formObj(i).checked){
					result = true;	
				}
			}
		}
	}
	else{
		result = true
	}	
	return result
}	
			
function CheckSelected(objName){
	var result = false;
	var formObj = MM_findObj(objName);
	if (formObj.checked ==true){
			result = true;
	}
	return result
}	
