//pattern.js

var pat1 = /(^\d+$)/;							//check for quantity.arrange
var pat2 = /(^\d+$)|(^\d+\.\d+$)/;				//check for decimal. 
var pat3 = /(^[a-zA-Z0-9]+$)/;				//check for alpha numeric.	
var pat4 = /^[a-zA-Z ]+[a-zA-Z.0-9 ]*$/;
var pat5 = /(^[\d\.]\d+$)|(^\d+\.\d+$)/;		//if no may start with decimal.
												//ex : .23,0.25,1.25,25 etc	
var pat6 = /(^[\d\.\-]\d+$)|(^\d+\.\d+$)|(^\-[\d\.]\d+$)|(^\-\d+\.\d+$)/;  
												//both +/- numbers	
												//ex : +/-1.23,+/-0.3,+/-.4
var pat7 = /(^[a-zA-Z]+[ a-zA-Z]+$)/;
var pat_phone = /(^\d+)[-/ ]*(\d+$)/;
var pat_pin = /(^\d+ *\d+$)/;

var pat_name = /(^[a-zA-Z]+[ a-zA-Z .]*$)/;
var pat_branch = /(^[a-zA-Z0-9]+[ 0-9a-zA-Z .]*$)/;

// To Check whether E-mail ID is Valid or Not

function validateCheckBox(chkArr)
{
	var chkBoxLen = chkArr.length;
	var chkCount=0;
	var msg="Please Check the Following\n";
	var chkCount1=0;

	if(chkBoxLen >1)
	
	{
		//alert("within if");
		for(i=0;i<chkBoxLen;i++)
		{
			if(chkArr[i].checked)
			{
				//alert("if first if");
				chkCount++;
				//alert("chkArr["+i+"].checked " + chkArr[i].checked);
			}
		}
		
		if(chkCount == 0)
		{
			//alert("if second if");
			//alert("Please Check Atleast One Raw Material For Deletion");
			msg+="Please Select Atleast One Record \n";
		}
	}
	else
	{
	
		//alert("within else");
		if(chkArr.checked)
		{	
			//alert("else first if");
			chkCount1++;
		} 
		//alert("chkCount1 : " + chkCount1);
		if(chkCount1 == 0)
		{
			msg+="Please Select Atleast One Record \n";
		}
	}
	//return msg;
	if(msg == "Please Check the Following\n")
    {
    	return true;
    }
    else
    {
	    alert(msg);
	    return false;
	}	
}


function is_valid_emailid(email,errmsg)
{
	var flag = true;
	var msg = "";
	var idx=email.indexOf("@");
	var iot=email.indexOf(".");
	if((idx<2)||(iot<5)||(idx > iot)) 
 	{
 	 	flag = false;
 	 	msg+= errmsg;
 	}
	else
	{
		flag = true;
	}
	if(flag)
	{
		msg = "";
		return msg;
	}
	else
	{
		return msg;
	}
}

// To Check whether checkbox is Selected or not.
function validateChkBox(chkArr,errmsg)
{
	var chkBoxLen = chkArr.length;
	var chkCount = 0;
	var msg = "";
	var flag = true;
	var chkCount1 = 0;
	if(chkBoxLen >1)
	{
		for(i=0;i<chkBoxLen;i++)
		{
			if(chkArr[i].checked)
			{
				chkCount++;
			}
		}
		if(chkCount == 0)
		{
			msg+=errmsg;
			flag = false;
		}
	}
	else
	{
		if(chkArr.checked)
		{	
			chkCount1++;
		} 
		if(chkCount1 == 0)
		{
			msg+=errmsg;
			flag = false;
		}
	}
	if(flag)
	{
		msg = "";
	   	return msg;
	}
	else
	{
	    return msg;
	}	
}		

function trimExtra(z)
{   
	var after=".";
	var deci="";
	var intp="";
	var x =new String(z); 
	var dotidx=x.indexOf(".");
	if(dotidx<0)
	{
		deci=x+".00";
		return deci;
	}
	deci=x.substring((dotidx+1));   
	intp=x.substring(0,dotidx);
	if(deci.length>2) 
	{
		var resval=parseInt(deci.substring(2,3));
		var fval=parseInt(deci.substring(0,2));
		if(resval>=5)
			fval++;
		if(fval<10)
			after=after+"0"+fval;
		else
			after=after+fval;  						  
	}
			
	if(deci.length==1) 
		after=after+deci+"0";
		  
	if(deci.length==0) 
		after=after+"00";
		 	
	if(deci.length==2) 
		after=after+deci;		
			
	intp=intp+after;
	return intp;
}

// To Check whether RadioButton is Selected or Not.
function validateRadioButton(chkRadio,errmsg)
{
	var count=0;
	var flag = true;
	var msg = "";
	if(!(chkRadio.length))
	{
		if(chkRadio.checked)
		{
			count=1;
			flag=true;
		}
	}
	else
	{
		for(i=0;i<chkRadio.length;i++)
		{
			if(chkRadio[i].checked)
			{
				count=1;
				flag=true;
			}
		}
	}
	if(count == 0)
	{
	 	flag=false;
	 	msg+=errmsg;
	}
	if(flag)
	{
		msg="";
		return msg;
	}
	else
	{
		return msg;
	}
}

// To Validate a TextBox
function validateTextField(value,type,errMsg)	
{
	var flag = true;
	var msg = "";
	if(value=="")
	{
		flag=false;
		msg+=errMsg;					
	}
	else
	{
		if(type == "no")
		{
			if(isNaN(value))
			{
				flag=false;
				msg+=errMsg;	
			}
			if(value<=0)
			{
				flag=false;
				msg+=errMsg;				
			}
		}
		if(type == "date")
		{
			if(value=="Click Here")
			{
				flag=false;
				msg+=errMsg;			
			}	
		}
		if(type == "sel")
		{
			if(value==""||value==0)
			{
				flag=false;
				msg+=errMsg;
			}
		}
		if(type=="per")
		{
		
		if(isNaN(value))
		{
				flag=false;
				msg+=errMsg;	
		}
		if(value<=10)
			{
				flag=false;
				msg+=errMsg;				
			}
		if(value>100)
			{
				flag=false;
				msg+=errMsg;				
			}
		}	
		
		if(type == "num")
		{
			if(isNaN(value))
			{
				flag=false;
				msg+=errMsg;	
			}
			if(value<0)
			{
				flag=false;
				msg+=errMsg;				
			}
			var flo = value.split(".");
 			if(flo.length>1)
			{
				flag=false;
				msg+=errMsg;				
			}
		

		}	
			if(type == "age")
		{
			if(isNaN(value))
			{
				flag=false;
				msg+=errMsg;	
			}
			if(value<0)
			{
				flag=false;
				msg+=errMsg;				
			}
			var flo = value.split(".");
 			if(flo.length>1)
			{
				flag=false;
				msg+=errMsg;				
			}
			if(value<=10)
			{
				flag=false;
				msg+=errMsg;				
			}
		 if(value>50)
			{
				flag=false;
				msg+=errMsg;				
			}
	
		}	
		
		
	}
	if(flag)
	{
		msg="";
		return msg;
	}
	else
	{
	
		return msg;
	}	
}

function validateTextFieldForNum(value,type,errMsg)	
{
    //alert("in pattern js");
	var flag = true;
	var msg = "";
	if(value=="")
	{
		flag=false;
		msg+=errMsg;					
	}
	else
	{
		if(type == "no")
		{
			if(isNaN(value))
			{
				flag=false;
				msg+=errMsg;	
			}
			if(value<0)
			{
				flag=false;
				msg+=errMsg;				
			}
		}
		if(type == "date")
		{
			if(value=="Click Here")
			{
				flag=false;
				msg+=errMsg;			
			}	
		}
		if(type == "sel")
		{
			if(value==""||value==0)
			{
				flag=false;
				msg+=errMsg;
			}
		}
	}
	if(flag)
	{
		msg="";
		return msg;
	}
	else
	{
		return msg;
	}	
}

//--------------------------------------------------------------------------------------------
//considering date format should be mm/dd/yyyy
//this function will first count the no of days since 1st Jan 1900 to year-1,then no of
//days in that year for that date and add them to find out diff from ref date. 
//the diff of these two sums will be diff b/w the dates.
	
	var daytab = new Array();
	daytab[0] = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
	daytab[1] = new Array(0,31,29,31,30,31,30,31,31,30,31,30,31);
	
	// To Find the Difference between 2 dates.
	function caldays_vb(fromd,tod)
	{
		var fr = fromd.split("/");
		var td = tod.split("/");
		var d1 = parseInt((fr[0])),m1 = parseInt(fr[1]),y1 = parseInt(fr[2]);	//date1
		var d2 = parseInt((td[0])),m2 = parseInt(td[1]),y2 = parseInt(td[2]);	//date2
		var diff11 = diff_from_1900(y1);				// diff from 1900
		var diff21 = diff_from_1900(y2);
		var diff12 = diff_this_year(y1,d1,m1);			// no of days in this year
		var diff22 = diff_this_year(y2,d2,m2);
		if(diff11 == -1 || diff21 == -1)
		return -1;
		var diff1  = diff11 + diff12;
		var diff2  = diff21 + diff22;
		return diff2 - diff1;
	}
	
	function diff_from_1900(y)
	{
		var nd1 = 365;
		var nd2 = 366;
		var days = 0;
		if(y<1900) return -1;
		for(var i = 1900;i < y;i++)
		{
			if( i%4 == 0 && i%100 != 0 || i%400 == 0)
				days += nd2;
			else
				days += nd1;	
		}	
		return days;
	}
	
	function diff_this_year(y,d,m)
	{
		var leap;
		if(y%4 == 0 && y%100 != 0 || y%400 == 0)		// if leap year.
			leap = 1;
		else
			leap = 0;
		for(var i=1;i<m;i++)
				d+= daytab[leap][i];
		return d;		

	}
	
	
	
	// To validate two dates.
	function valdates_vb(fromd,tod,errMsg)
	{
	    //alert("fromd"+fromd);
	    // alert("tod"+tod);
	    
	     var flag = true;
	     var msg = "";
	     
		var fr = fromd.split("/");
		var td = tod.split("/");
	    var mon= parseInt(fr[1]);
		var d1 = parseInt(fr[0]),m1 = parseInt(fr[1]),y1 = parseInt(fr[2]);	//date1
		var d2 = parseInt(td[0]),m2 = parseInt(td[1]),y2 = parseInt(td[2]);	//date2
		var diff11 = diff_from_1900(y1);				// diff from 1900
		var diff21 = diff_from_1900(y2);
		var diff12 = diff_this_year(y1,d1,m1);			// no of days in this year
		var diff22 = diff_this_year(y2,d2,m2);
		
		if(diff11 == -1 || diff21 == -1)
		{
		
		return -1;
		}
		var diff1  = diff11 + diff12;
		var diff2  = diff21 + diff22;
	
		var diff = diff2-diff1;
	
		if(diff2 - diff1 >0)
		{
		msg="";
		   return msg;
		}
		else
		{
		//alert("in else");
		return errMsg;
		alert(errMsg);
		}
	}
		
		
		function initRequest(url) 
		{
	    if (window.XMLHttpRequest) {
	    //alert("XMLHttpRequest");
	        return new XMLHttpRequest();
	        } else if (window.ActiveXObject) {
	   // alert("ActiveXObject");
	        isIE = true;
	        //return new ActiveXObject("Microsoft.XMLHTTP");
	        return new ActiveXObject("Msxml2.XMLHTTP");
         }
        }	 
		
function validateChkBox(chkArr)
{
	var chkBoxLen = chkArr.length;
	var chkCount=0;
	var msg="Please Check the Following\n";
	//alert("chkArr : " + chkArr.checked);
	var chkCount1=0;
	

	if(chkBoxLen >1)
	
	{
		//alert("within if");
		for(i=0;i<chkBoxLen;i++)
		{
			if(chkArr[i].checked)
			{
				//alert("if first if");
				chkCount++;
				//alert("chkArr["+i+"].checked " + chkArr[i].checked);
			}
		}
		
		if(chkCount == 0)
		{
			//alert("if second if");
			//alert("Please Check Atleast One Raw Material For Deletion");
			msg+="Please Select Atleast One Record \n";
		}
	}
	else
	{
	
		//alert("within else");
		if(chkArr.checked)
		{	
			//alert("else first if");
			chkCount1++;
		} 
		//alert("chkCount1 : " + chkCount1);
		if(chkCount1 == 0)
		{
			msg+="Please Select Atleast One Record \n";
		}
	}
	//return msg;
	if(msg == "Please Check the Following\n")
    {
    	return true;
    }
    else
    {
	    alert(msg);
	    return false;
	}	
	
	
}		

function validateInnerHtmlFields(innerFields,errMsg)
	{
	var formObj = innerFields;
	var len = formObj.length;
	var msg="";
	if(!(formObj.length))
	{
		if((formObj.value) == '' || (formObj.value) == 'Click Here'  )
		{
			msg +=  "Sl No -- 1  " + errMsg;
		}
	}
	else
	{
		for(i=0;i<len;i++)
		{
			//alert("with in loop formObj["+i+"] : " + formObj[i].value);
			if((formObj[i].value) == '' || (formObj[i].value) == 'Click Here'  )
			{
				msg +=  "Sl No -- "+ (i+1) +"  " + errMsg;
			}	
		}
	}
	//alert(msg);	
	return msg;
	
	
}	

function validateInnerHtmlSelectFields(innerFields,errMsg)
	{
	var formObj = innerFields;
	var len = formObj.length;
	var msg="";
	if(!(formObj.size))
	{
		if((formObj.value) == '0'  )
		{
			msg +=  "Sl No -- 1  " + errMsg;
			alert("inside1111");
		}
	}
	else
	{
		for(i=0;i<len;i++)
		{
			//alert("with in loop formObj["+i+"] : " + formObj[i].value);
			if((formObj[i].value) == '0'  )
			{
				msg +=  "Sl No -- "+ (i+1) +"  " + errMsg;
			}	
		}
	}
	//alert(msg);	
	return msg;
	
	
}			

