﻿function TestRequiredInput(objValue,strError)
{
    var objValue = document.getElementById(objValue);
    var val = objValue.value;
    val = val.replace(/^\s+|\s+$/g,"");
    if(eval(val.length) == 0) 
    { 
       if(!strError || strError.length ==0) 
       { 
         strError = objValue.name + " : Required Field \n"; 
         return strError;
       }
    }
    else
    {
    strError = "";
    } 
return strError;
}
function TestFCKEditor(objValue,strError)
{
    var oEditor = FCKeditorAPI.GetInstance(objValue) ;
    var objValue = document.getElementById(objValue);
    var val = oEditor.GetHTML();
    val = val.replace(/^\s+|\s+$/g,"");
    if(eval(val.length) == 0) 
    { 
       if(!strError || strError.length ==0) 
       { 
         strError = objValue.name + " : Required Field \n"; 
         return strError;
       }
    }
    else
    {
    strError = "";
    } 
return strError;
}
function TestLessThan(objValue,strLessThan,strError)
{
    var objValue = document.getElementById(objValue);
    if(objValue.value != "")
    {
        if(isNaN(objValue.value)) 
        { 
            strError = objValue.name +": Should be a number \n"; 
            return strError;
        }
        else if(eval(objValue.value) >=  eval(strLessThan)) 
        { 
            if(!strError || strError.length ==0) 
            { 
                strError = objValue.name + " : value should be less than "+ strLessThan+"\n"; 
                return strError;
            }                         
        }
        else
        {
            strError = "";
        }  
    } 
    else
    {
        strError = "";
    } 
    return strError;          
}
function TestGreaterThan(objValue,strGreaterThan,strError)
{
    var objValue = document.getElementById(objValue);
    if(objValue.value != "")
    {
        if(isNaN(objValue.value)) 
        { 
            strError = objValue.name+": Should be a number \n"; 
            return strError;
        }
        else if(eval(objValue.value) <=  eval(strGreaterThan)) 
        { 
            if(!strError || strError.length ==0) 
            { 
                strError = objValue.name + " : value should be greater than "+ strGreaterThan+"\n"; 
                return strError;
            }              
        }
        else
        {
            strError = "";
        }   
    }
    else
    {
        strError = "";
    }   
    return strError;           
}
function TestEmail(objValue,strError)
{
    var objValue = document.getElementById(objValue);
    if(objValue.value != "")
    {
        if(objValue.value.length > 0 && !validateEmail(objValue.value)	 ) 
        { 
            if(!strError || strError.length ==0) 
            { 
                strError = objValue.name+": Enter a valid Email address "+"\n"; 
                return strError;
            }                                             
        }
        else
        {
            strError = "";
        }
    }
    else
    {
        strError = "";
    }
    return strError;
}
function TestNumber(objValue,strError)
{
    var objValue = document.getElementById(objValue);
    if(objValue.value != "")
    {
        if(isNaN(objValue.value)) 
        { 
            strError = objValue.name+": Should be a number \n"; 
            return strError;
        }
        else
        {
            strError = "";
        }
    }
    else
    {
        strError = "";
    }
    return strError;
}
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 TestSelectOneOption(objValue,strError)
{
    var objValue = document.getElementById(objValue);
    if(objValue.value == -1)
    {
        strError = "Please select one option from "+objValue.name +"\n";
        return strError;
    }
    else
    {
        strError = "";
    }
    return strError;
}
function TestSelectOneOption(objValue,defaultValue,strError)
{
    var objValue = document.getElementById(objValue);
    if(objValue.value == defaultValue)
    {
        strError = "Please select one option from "+objValue.name +"\n";
        return strError;
    }
    else
    {
        strError = "";
    }
    return strError;
}
function TestSelectOneOption_Others(objValue,strError,objOther)
{
    var objValue = document.getElementById(objValue);
    if(objValue.value == '-1')
    {
        var objOther = document.getElementById(objOther);
        if(objOther.value == "")
        {
        strError = "Please select one option from "+objValue.name +"\n";
        }
        else
        {
        strError = "";
        }
        return strError;
    }
    else
    {
        strError = "";
    }
    return strError;
}
function TestCharsCount(objValue,maxChars,strError)
{
    var objValue = document.getElementById(objValue);
    if(objValue.value != "")
    {
        if(objValue.value.length > maxChars)
        {
            strError = objValue.name+": has "+objValue.value.length+" characters, maximum characters is "+maxChars+" \n"; 
            return strError;
        }
        else
        {
            strError = "";
        }
    }
    else
    {
        strError = "";
    }
    return strError;
}
function TestSelectOneRadio(objValue,strError)
{
    var objValue = document.getElementById(objValue);
	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;
	  }
	}
	if(false == one_selected)
	{
      if(!strError || strError.length ==0) 
       {
	    strError = "Please select one option from "+objValue.name +"\n";
	    return strError;
	   }	
	}
	else
	{
	strError ="";
	}
return strError;
}
function TestSelectOneCheckbox(objValue,strError)
{
    var objValue = document.getElementById(objValue);
    if(!strError || strError.length ==0) 
    {
    strError = "Please select one option from "+objValue.name +"\n";
    }	
	for(var i= 0; i < document.aspnetForm.elements.length; i ++)
    {
        if(document.aspnetForm.elements[i].id == objValue.id)
        {
            if(document.aspnetForm.elements[i].checked)
            {
                strError ="";
                return strError;
            }
        }
    }
    return strError;
}
function TestInputType(objValue,strRegExp,strError,strDefaultError)
{
   var objValue = document.getElementById(objValue);
    var charpos = objValue.value.search(strRegExp); 
    if(objValue.value.length > 0 &&  charpos >= 0) 
    { 
     if(!strError || strError.length ==0) 
      { 
        strError = strDefaultError+"\n";
        return strError;
      }
      else
      {
      strError ="";
      }
    }
    else
    {
    strError ="";
    }
 return strError;
}

function sfm_show_error_msg(strError,objValue)
{
    alert(strError);
}


function TestDateTime(objValue,strError)
{
    var objValue = document.getElementById(objValue);
    var val = objValue.value;
    if(objValue.value != "")
    {
        if(eval(val.length) == 0) 
        { 
            if(!strError || strError.length ==0) 
            { 
                strError = objValue.name + " : Required Field \n"; 
                return strError;
            }
        }
        else
        {
            try
            {
                var myDate = new Date(val);
                strError = "";
                if(myDate == "Invalid Date")
                {
                    strError = objValue.name + " : Invalid Datetime Expression \n"; 
                }
                else
                {
                    strError = ""; 
                }
            }
            catch(er)
            {
                strError = objValue.name + " : Invalid Datetime Expression \n"; 
                return strError;
            }
        } 
    }
    else
    {
        strError = ""; 
    }
    return strError;
}