/*
this is the javascript file made by hardik soni 
for the general purpose of javascript functions
can be included in any project
if you found any error or any commnet related with this,
please mail me at hardik112@yahoo.com
*/

var dtCh= "/";
var minYear=1900;
var maxYear=2100;
function Trim(s)
{
while(s.substring(0,1)==' ')
        {
        s=s.substring(1,s.length)
        }

while(s.substring(s.length-1,s.length)==' ')
        {
        s=s.substring(0,s.length-1)
        }
return s;
}

function isInteger(s){
        var i;
    for (i = 0; i < s.length; i++){
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
        var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
        // February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
        for (var i = 1; i <= n; i++) {
                this[i] = 31
                if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
                if (i==2) {this[i] = 29}
   }
   return this
}

function IsDate(dtStr){
        var daysInMonth = DaysArray(12)
        var pos1=dtStr.indexOf(dtCh)
        var pos2=dtStr.indexOf(dtCh,pos1+1)
        var strMonth=dtStr.substring(0,pos1)
        var strDay=dtStr.substring(pos1+1,pos2)
        var strYear=dtStr.substring(pos2+1)
        strYr=strYear
        if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
        if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
        for (var i = 1; i <= 3; i++) {
                if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
        }
        month=parseInt(strMonth)
        day=parseInt(strDay)
        year=parseInt(strYr)
        if (pos1==-1 || pos2==-1){
                alert("The date format should be : mm/dd/yyyy")
                return false
        }
        if (strMonth.length<1 || month<1 || month>12){
                alert("Please enter a valid month")
                return false
        }
        if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
                alert("Please enter a valid date")
                return false
        }
        if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
                alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
                return false
        }
        if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
                alert("Please enter a valid date")
                return false
        }
return true
}




function SetChecked(chkName,chkFlag)
{
for(j=0;j<document.forms.length;j++)
        {
        len = document.forms[j].elements.length;
        for( i=0 ; i<len ; i++)
                {
                if(document.forms[j].elements[i].name==chkName)
                        {
                        if(chkFlag=='Check') document.forms[j].elements[i].checked=true;
                        if(chkFlag=='Uncheck') document.forms[j].elements[i].checked=false;
                        }
                }
        }

}

function CheckboxSelected(chkName)
{
var i=0;
var j=0;
for(j=0;j<document.forms.length;j++)
        {
        len = document.forms[j].elements.length;
        for( i=0 ; i<len ; i++)
                {
                if(document.forms[j].elements[i].name==chkName && (document.forms[j].elements[i].checked==1)) return true
                }
        }
alert("Please select atleast one record")
return false;
}

function CheckedValues(chkName)
{
var i=0;
var j=0;
var str="";
for(j=0;j<document.forms.length;j++)
        {
        len = document.forms[j].elements.length;
        for( i=0 ; i<len ; i++)
                {
                if(document.forms[j].elements[i].name==chkName && (document.forms[j].elements[i].checked==1)) str+= document.forms[j].elements[i].value + ",";
                }
        }
str=str.substr(0,str.length-1);
return str;
}

//fucntion to check the email validation
//parameter str as email address
function IsEmail(str)
        {

                var at="@"
                var dot="."
                var lat=str.indexOf(at)
                var lstr=str.length
                var ldot=str.indexOf(dot)
                if (str.indexOf(at)==-1){
                   //alert("Invalid E-mail ID")
                   return false
                }

                if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
                   //alert("Invalid E-mail ID")
                   return false
                }

                if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
                    //alert("Invalid E-mail ID")
                    return false
                }

                 if (str.indexOf(at,(lat+1))!=-1){
                    //alert("Invalid E-mail ID")
                    return false
                 }

                 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
                    //alert("Invalid E-mail ID")
                    return false
                 }

                 if (str.indexOf(dot,(lat+2))==-1){
                    //alert("Invalid E-mail ID")
                    return false
                 }

                 if (str.indexOf(" ")!=-1){
                    //alert("Invalid E-mail ID")
                    return false
                 }

                  return true
        }

//function for entring only numeric values
//parameter e for event

function IsNumeric(e)
{
         if(e.keyCode>=48 && e.keyCode<=57)
            {

            }
         else
             {
                     e.keyCode=0;
             }
}
//function for entring only numeric values with point(0 to 9 and .(only once))
//parameter e for event, t for control
function IsNumericPoint(e,t)
{

         if(e.keyCode>=48 && e.keyCode<=57)
            {

            }
         else
             {
             if(e.keyCode==46)
                 {
                      if(t.value.indexOf(".")!=-1)
                      e.keyCode=0;
                  }
                  else
                  {
                     e.keyCode=0;
                     }
             }

}

//a fucntion for max length of text area
//para mxlen for maximum length
//t for the control 
//e for event
function max_length(mxlen,t,e)
{
if(t.value.length>=mxlen)
{
e.keyCode=0;
}
}

