﻿function validateEmail(email)
{
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}

function validateDate(fld) 
{
    if(fld.value != "" && fld.value !=null)
    {
        alert(fld.value);
        var RegExPattern = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;
        if ((fld.value.match(RegExPattern))) 
        {
            return true;
        } 
        else 
        {
            return false;
        }
    } 
}
function TestEqual(objValue,chkValue,strError)
{
     var ret = true;
     var val1 = objValue.value;
     var val2 = chkValue;
     val1 = val1.replace(/^\s+|\s+$/g,"");//trim
     val2 = val2.replace(/^\s+|\s+$/g,"");//trim
        if(eval(val1.length) != 0 && eval(val2.length) != 0) 
        { 
            if (val1 != val2)
                ret=false; 
        }//if 
    return ret;
    
}
function IsCheckSelected(objValue,chkValue)
{
    var selected=false;
	var objcheck = objValue.form.elements[objValue.name];
    if(objcheck.length)
	{
		var idxchk=-1;
		for(var c=0;c < objcheck.length;c++)
		{
		   if(objcheck[c].value == chkValue)
		   {
		     idxchk=c;
			 break;
		   }//if
		}//for
		if(idxchk>= 0)
		{
		  if(objcheck[idxchk].checked=="1")
		  {
		    selected=true;
		  }
		}//if
	}
	else
	{
		if(objValue.checked == "1")
		{
			selected=true;
		}//if
	}//else	

	return selected;
}

function TestDontSelectChk(objValue,chkValue,strError)
{
	var pass = true;
	pass = IsCheckSelected(objValue,chkValue)?false:true;
    return pass;
}
function TestShouldSelectChk(objValue,chkValue,strError)
{
	var pass = true;

	pass = IsCheckSelected(objValue,chkValue)?true:false;
    return pass;
}
function TestRequiredInput(objValue,strError)
{
 var ret = true;
 var val = objValue.value;
 val = val.replace(/^\s+|\s+$/g,"");//trim
    if(eval(val.length) == 0) 
    { 
       ret=false; 
    }//if 
return ret;
}
function CheckForFutureDate (objValue, strError) 
{
    var ret = true;
	var chkDate = new Date (objValue.value);
	var currentdt=new Date;
    if(chkDate > Date.parse(currentdt))
    {
        ret = false;
    }
    return ret;
}


//to generate a preview of uploaded image
function DoPreview()
{
  var filename = document.form1.filesent.value;
  var Img = new Image();
  if (navigator.appName == "Netscape")
  {
    alert("Previews do not work in Netscape.");
  }
  else
  {
    Img.src = filename;
    document.images[0].src = Img.src;
  }
}

function filterFileType(objValue, ext) 
{
    var retVal = true;
    var testval = trim(objValue.value); 
    if (testval.length > 0)
    {
        retVal = false;
        var arrTypes = "";
        arrTypes = ext.split(" ");
        for ( ct = 0; ct < arrTypes.length; ct++)
         {
            if (testval.indexOf('.' + arrTypes[ct]) != -1)
             {
                retVal = true;
             }
         }
     }
   return retVal;
}
// Removes leading whitespaces
function LTrim( value ) {
	
	var re = "/\s*((\S+\s*)*)/";
	return value.replace(re, "");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = "/((\s*\S+)*)\s*/";
	return value.replace(re, "");
	
}

// Removes leading and ending whitespaces
function trim( value ) 
{
	
	return LTrim(RTrim(value));
	
}
 

//function typefile() {
//var form = document.forms[0];
//var file = form.what.value;
//var fold = file.substr(0,file.lastIndexOf("\\"));
//window.status = file + " : " + fold;
//var oFSO = new ActiveXObject("Scripting.FileSystemObject")
//if (!oFSO.FolderExists(fold)) {
//alert("Folder does not exist!");
//} else if (!oFSO.FileExists(file)) {
//alert("File does not exist!");
//}
//}

// check for required on select box
function TestRequiredSelect(objValue,strError)
{
 var ret = true;
 var val = objValue.value;
if(val == "0") 
{ 
   ret=false; 
}//if 
return ret;
}

function TestMaxLen(objValue,strMaxLen,strError)
{
 var ret = true;
    if(eval(objValue.value.length) > eval(strMaxLen)) 
    { 
      ret = false; 
    }//if 
return ret;
}
function TestMinLen(objValue,strMinLen,strError)
{
 var ret = true;
    if(eval(objValue.value.length) <  eval(strMinLen)) 
    { 
      ret = false;   
    }//if 
return ret;
}
function TestInputType(objValue,strRegExp,strError,strDefaultError)
{
   var ret = true;

    var charpos = objValue.value.search(strRegExp); 
    if(objValue.value.length > 0 &&  charpos >= 0) 
    { 
      ret = false; 
    }//if 
 return ret;
}
function TestEmail(objValue,strError)
{
    var ret = true;
     if(objValue.value.length > 0 && !validateEmail(objValue.value)) 
     { 
       ret = false;
     }//if 
return ret;
}
function TestLessThan(objValue,strLessThan,strError)
{
var ret = true;
	  if(isNaN(objValue.value)) 
	  { 
	    ret = false; 
	  }//if 
	  else
	  if(eval(objValue.value) >=  eval(strLessThan)) 
	  { 
	    ret = false;                 
	   }//if   
return ret;          
}
function TestGreaterThan(objValue,strGreaterThan,strError)
{
var ret = true;
     if(isNaN(objValue.value)) 
     { 
       ret = false; 
     }//if 
	 else
     if(eval(objValue.value) <=  eval(strGreaterThan)) 
      { 
        ret = false;
      }//if  
return ret;           
}
function TestRegExp(objValue,strRegExp,strError)
{
var ret = true;
    if( objValue.value.length > 0 && 
        !objValue.value.match(strRegExp) ) 
    { 
      ret = false;                   
    }//if 
return ret;
}
function TestDontSelect(objValue,dont_sel_index,strError)
{
var ret = true;
    if(objValue.selectedIndex == null) 
    { 
      ret =  false; 
    } 
    if(objValue.selectedIndex == eval(dont_sel_index)) 
    { 
      ret =  false;                                   
     } 
return ret;
}
function TestSelectOneRadio(objValue,strError)
{
	var objradio = objValue.form.elements[objValue.name];
	var one_selected=false;
	for(var r=0;r < objradio.length;r++)
	{
	  if(objradio[r].checked)
	  {
	  	one_selected=true;
		break;
	  }
	}
return one_selected;
}
