

function Trim(s) {
  var temp = " ";
  var i = 0;
  while ((temp == " ") && (i <= s.length)) {
    temp = s.charAt(i);
    i++;
  }
  s = s.substring(i - 1, s.length);
  return(s);
}

function replaceAll(str, from, to) {
  var idx;
  idx = -1;
  if ((str != null) && (str != "")) {idx = str.indexOf(from);}
  while (idx > -1) {
  	str = str.replace(from, to);
		idx = str.indexOf(from);
  }
  return str;
}


function RequiredField(val) {
   if (typeof(val) == 'undefined'){
      return false;
   }
   if (Trim(val) == ''){
        return false;
   }
   return true;
}

function PhoneValidate(val){
   if (typeof(val) == 'undefined'){
      return false;
   }
return true;

}
function EmailValidate(val) {
   if (typeof(val) == 'undefined'){
      return false;
   }
   if(val==""){
        return false;
   }
   var value = Trim(val);
   var emailPat=/^(.+)@(.+)$/;
   var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
   var validChars="\[^\\s" + specialChars + "\]";
   var quotedUser="(\"[^\"]*\")";
   var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
   var atom=validChars + '+';
   var word="(" + atom + "|" + quotedUser + ")";
   var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
   var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
   var matchArray=value.match(emailPat);
   if (matchArray==null) {
       return false;
   }
   var user=matchArray[1];
   var domain=matchArray[2];
   if (user.match(userPat)==null){
       return false;
   }
   return true;
}


function RangeNumber(val,op,std1,std2){
	if(val==""){
		return true ;
	}
	if((op=="=") && (val==std1)){
		return true ;
	}
	if((op==">=") && (val>=std1)){
		return true ;
	}
	if((op==">") && (val>std1)){
		return true ;
	}
	if((op=="<=") && (val<=std1)){
		return true ;
	}
	if((op=="<") && (val<std1)){
		return true ;
	}
	if((op=="!=") && (val!=std1)){
		return true ;
	}
	if((op=="><") && (val>=std1)&& (val<=std2)){
		return true ;
	}
	return false ;
}


function NumberValidate(val) {
    if(val==""){
        return true;
    }
    var value = val;
    value = replaceAll(value, ',','');
    if (!isFinite(value)) {
        return  false;
    }
    return true;
}


function IntValidate(val) {
    if(val==""){
        return true;
    }
    var value = val;
    value = replaceAll(value, ',','');
    if (!isFinite(value)) {
        return  false;
    }
    value = value.split('.').length-1 ;
    if (value>0) {
        return false;
    }
    return true;
}


function LengthStr(val,op,size1,size2) {
  if(val==""){
    return true;
  }
  var value = Trim(val);
  if((op==">") && (value.length>size1)) {
    return true;
  }
  if((op==">=") && (value.length>=size1)) {
    return true;
  }
  if((op=="<") && (value.length<size1)) {
    return true;
  }
  if((op=="<=") && (value.length<=size1)) {
    return true;
  }
  if((op=="=") && (value.length==size1)) {
    return true;
  }
  if((op=="!=") && (value.length!=size1)) {
    return true;
  }
  if((op=="><") && (value.length>=size1) && (value.length<=size2)) {
    return true;
  }
    return false;
}

function getElementsByClass(strClass){
   var allElements = new Array;
   var returnArr = new Array;
   var allElements=document.getElementsByTagName("*");
   for (i=0; i<allElements.length; i++) {
      if (allElements[i].className.indexOf(strClass) > -1) {
         returnArr.push(allElements[i]);
      }
   }   
return returnArr;
}

function prependTextByClass(strClass, strHTML){
   if (typeof strHTML == 'undefined' ){
      strHTML = '<span class="req-label" style="color:red;">*</span>';
   }
   var elems = new Array;
   elems = getElementsByClass(strClass);
   for(i=0; i<elems.length; i++){
      elems[i].innerHTML = strHTML + elems[i].innerHTML;
   }
   return true;
}
