function IsNumeric(strString)
//  check for valid numeric strings	
   {
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}

function IsEmail(Email) {

var AlaPost;
var DotPost;
var LastAla;
var LastDot;

AlaPost = Email.indexOf("@");
DotPost = Email.indexOf(".");
LastAla = Email.lastIndexOf("@");

if((AlaPost != "-1") && (DotPost != "-1")){

    if ((LastAla == AlaPost) && (AlaPost > 1) && ((Email.length-Email.lastIndexOf(".")==4) || (Email.length-Email.lastIndexOf(".")==3)))
       
          return true;
    else
         {return false;}
    }
          
else{

   return false;

}

}

function IsDate(DateToCheck){
if(DateToCheck==""){return true;}
var m_strDate = FormatDate(DateToCheck);
if(m_strDate==""){
return false;
}
var m_arrDate = m_strDate.split("/");
var m_DAY = m_arrDate[0];
var m_MONTH = m_arrDate[1];
var m_YEAR = m_arrDate[2];
if(m_YEAR.length > 4){return false;}
m_strDate = m_MONTH + "/" + m_DAY + "/" + m_YEAR;
var testDate=new Date(m_strDate);
if(testDate.getMonth()+1==m_MONTH){
return true;
} 
else{
return false;
}
}//end function


function FormatDate(DateToFormat,FormatAs){
if(DateToFormat==""){return"";}
if(!FormatAs){FormatAs="dd/mm/yyyy";}

var strReturnDate;
FormatAs = FormatAs.toLowerCase();
DateToFormat = DateToFormat.toLowerCase();
var arrDate
var arrMonths = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
var strMONTH;
var Separator;

while(DateToFormat.indexOf("st")>-1){
DateToFormat = DateToFormat.replace("st","");
}

while(DateToFormat.indexOf("nd")>-1){
DateToFormat = DateToFormat.replace("nd","");
}

while(DateToFormat.indexOf("rd")>-1){
DateToFormat = DateToFormat.replace("rd","");
}

while(DateToFormat.indexOf("th")>-1){
DateToFormat = DateToFormat.replace("th","");
}

if(DateToFormat.indexOf(".")>-1){
Separator = ".";
}

if(DateToFormat.indexOf("-")>-1){
Separator = "-";
}


if(DateToFormat.indexOf("/")>-1){
Separator = "/";
}

if(DateToFormat.indexOf(" ")>-1){
Separator = " ";
}

arrDate = DateToFormat.split(Separator);
DateToFormat = "";
	for(var iSD = 0;iSD < arrDate.length;iSD++){
		if(arrDate[iSD]!=""){
		DateToFormat += arrDate[iSD] + Separator;
		}
	}
DateToFormat = DateToFormat.substring(0,DateToFormat.length-1);
arrDate = DateToFormat.split(Separator);

if(arrDate.length < 3){
return "";
}

var DAY = arrDate[0];
var MONTH = arrDate[1];
var YEAR = arrDate[2];




if(parseFloat(arrDate[1]) > 12){
DAY = arrDate[1];
MONTH = arrDate[0];
}

if(parseFloat(DAY) && DAY.toString().length==4){
YEAR = arrDate[0];
DAY = arrDate[2];
MONTH = arrDate[1];
}


for(var iSD = 0;iSD < arrMonths.length;iSD++){
var ShortMonth = arrMonths[iSD].substring(0,3).toLowerCase();
var MonthPosition = DateToFormat.indexOf(ShortMonth);
	if(MonthPosition > -1){
	MONTH = iSD + 1;
		if(MonthPosition == 0){
		DAY = arrDate[1];
		YEAR = arrDate[2];
		}
	break;
	}
}

var strTemp = YEAR.toString();
if(strTemp.length==2){

	if(parseFloat(YEAR)>40){
	YEAR = "19" + YEAR;
	}
	else{
	YEAR = "20" + YEAR;
	}

}


	if(parseInt(MONTH)< 10 && MONTH.toString().length < 2){
	MONTH = "0" + MONTH;
	}
	if(parseInt(DAY)< 10 && DAY.toString().length < 2){
	DAY = "0" + DAY;
	}
	switch (FormatAs){
	case "dd/mm/yyyy":
	return DAY + "/" + MONTH + "/" + YEAR;
	case "mm/dd/yyyy":
	return MONTH + "/" + DAY + "/" + YEAR;
	case "dd/mmm/yyyy":
	return DAY + " " + arrMonths[MONTH -1].substring(0,3) + " " + YEAR;
	case "mmm/dd/yyyy":
	return arrMonths[MONTH -1].substring(0,3) + " " + DAY + " " + YEAR;
	case "dd/mmmm/yyyy":
	return DAY + " " + arrMonths[MONTH -1] + " " + YEAR;	
	case "mmmm/dd/yyyy":
	return arrMonths[MONTH -1] + " " + DAY + " " + YEAR;
	}

return DAY + "/" + strMONTH + "/" + YEAR;;

} //End Function




function IsTime(strTime) {
    	var strTime1 = /^(\d{1,2})(\:)(\d{2})\2(\d{2})(\ )\w[AM|PM|am|pm]$/;
    	var strTime2 = /^(\d{1,2})(\:)(\d{2})(\ )\w[A|P|a|p]\w[M|m]$/;
    	var strTime3 = /^(\d{1,2})(\:)(\d{1,2})$/;
    	
    	var strFormat1 = strTime.match(strTime1);
    	var strFormat2 = strTime.match(strTime2);
    	var strFormat3 = strTime.match(strTime3);
    // Check to see if it matches one of the
    //     3 Format Strings.


        	if (strFormat1 == null && strFormat2 == null && strFormat3 == null) {
        		return false;
        	}


            	else if (strFormat1 != null) {
            		// Validate for this format: 3:48:01 PM


                		if (strFormat1[1] > 12 || strFormat1[1] < 00) {
                			return false;
                		}


                    		if (strFormat1[3] > 59 || strFormat1[3] < 00) {
                    			return false;	
                    		}


                        		if (strFormat1[4] > 59 || strFormat1[4] < 00) {
                        			return false;	
                        		}
                        	}


                            	else if (strFormat2 != null) {
                            		// Validate for this format: 3:48 PM


                                		if (strFormat2[1] > 12 || strFormat2[1] < 00) {
                                			return false;
                                		}


                                    		if (strFormat2[3] > 59 || strFormat2[3] < 00) {
                                    			return false;	
                                    		}
                                    	}


                                        	else if (strFormat3 != null) {
                                        		// Validate for this format: 15:48


                                            		if (strFormat3[1] > 23 || strFormat3[1] < 00) {
                                            			return false;
                                            		}


                                                		if (strFormat3[3] > 59 || strFormat3[3] < 00) {
                                                			return false;	
                                                		}
                                                	}
                                                	return true;
                                            }

