
//To check whether the Textbox control is blank or not
function LibIsInputFilled(strControl)
{
	
	if(strControl.value=="")
	{
		return false;
	}
	else
	{
		return true;
	}
	
}

//To check whether the Dropdown control is selected or not
function LibIsSelectFilled(strControl)
{
	if(strControl[strControl.selectedIndex].value=="")
	{
		return false
	}
	else
	{
		return true;
	}
}

//To check whether the Radio control is selected or not
function LibIsRadioFilled(strControl)
{
	if(strControl.checked==false)
	{
		return false
	}
	else
	{
		return true;
	}
}

//To check whether the Checkbox control is checked or not
function LibIsCheckBoxFilled(strControl)
{
	if(strControl.checked==false)
	{
	
		return false
	}
	else
	{
		return true;
	}
}

//To check whether the value entered in Textbox control is valid string or not
function LibIsValidString(strControl)
{
	
	/*if((strControl.value.length==1)&&(strControl.value.indexOf(" ")!=-1))
	{
		return false;
	}*/
	if((strControl.value.indexOf("'")!=-1)||(strControl.value.indexOf("\"")!=-1)||(strControl.value.indexOf("/")!=-1)||(strControl.value.indexOf("\\")!=-1)||(strControl.value.indexOf(":")!=-1)||(strControl.value.indexOf("*")!=-1)||(strControl.value.indexOf("?")!=-1)||(strControl.value.indexOf("<")!=-1)||(strControl.value.indexOf(">")!=-1)||(strControl.value.indexOf("|")!=-1))
	{																																																													
		return false;
	}
	else
	{
		return true;
	}
}

//To check whether the value entered in Textbox control is valid integer or not
function LibIsValidInteger(strControl)
{
	/*if((isNaN(strControl.value))||(strControl.value.indexOf(".")!=-1))
	{
		return false;
	}
	else
	{
		return true;
	}*/
	
	var str = strControl.value
	//[^0-9] will match for strings other than 0 to 9.
	//^ symbol is used for Specifying not condition
	var filter=/[^0-9]/  
	if (filter.test(str)==true)
	{
		return false;
	}
	else
	{
		return true;
	}
}

//To check whether the value entered in Textbox control is valid float or not
function LibIsValidFloat(strControl)
{
	/*if((isNaN(strControl.value))||(strControl.value.indexOf(".").length > 1))
	{
		return false;
	}
	else
	{
		return true;
	}*/
	
	var str = strControl.value
	var filter=/[0-9]*[.][0-9]*[.][0-9]*/
	//[^0-9.] will match for strings other than 0 to 9 and dot.
	var filter1=/[^0-9.]/
	if ((filter.test(str)==true)||(filter1.test(str)==true))
	{
		return false;
	}
	else
	{
		return true;
	}
}

//To check whether the Email Id entered in Textbox control is valid Email Id or not
function LibIsValidEmail(strControl)
{	
	var str=strControl.value
	//var filter=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
	
	//var filter = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
	var filter = /^(([^<>()[\]\\.,;:\s@\!$#&%*?~`^{}'|+="]+(\.[^<>()[\]\\.,;:\s@\!$#&%*?~`^{}'|+="]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/

	if ((filter.test(str)==false)||(str.indexOf("/")!==-1))
	{
		return false;
	}
	else
	{
		return true;
	}
	
	
}

function LibIsValidDoubleEmail(strControl)
{	
	if(strControl.value.indexOf(",")==-1)
	{
		return false;
	}
	var val = strControl.value.split(",");
	var val1 = val[0];
	var val2 = val[1];
	
	var str=val1
	var str1 = val2
	//var filter=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
	
	//var filter = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
	var filter = /^(([^<>()[\]\\.,;:\s@\!$#&%*?~`^{}'|+="]+(\.[^<>()[\]\\.,;:\s@\!$#&%*?~`^{}'|+="]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/

	if ((filter.test(str)==false)||(str.indexOf("/")!==-1))
	{
		return false;
	}
	else if ((filter.test(str1)==false)||(str1.indexOf("/")!==-1))
	{
		return false;
	}
	else
	{
		return true;
	}
	
	
}

//This function autofills the date.ie if you have not entered month, year
//It will take the current month ,year
function LibAutoCompleteDate(strControl)
{
	
	if(!LibIsInputFilled(strControl))
	{
		return false;
	}
	if(LibIsInputFilled(strControl)&&strControl.value.indexOf("/")==-1)
	{
		strControl.value=strControl.value + "/";
	}
	var val = strControl.value.split("/");
	var val1 = val[0];
	var val2 = val[1];
	var val3 = val[2];
	var now = new Date();
	var month = now.getMonth() + 1;
	var year = now.getFullYear();
	
	month = PrefixZero(month);
	if((val1.length > 0)&& (val1.length==1))
	{
		val1 = PrefixZero(val1);
	}
	if((val2!="")&&(val2.length > 0) && (val2.length==1))
	{
		val2 = PrefixZero(val2);
	}
	
	
	if(val1.length > 0)//||(val2.length==0)||(val3.length==0))
	
	{
		strControl.value=val1 + "/" + month + "/" + year;
	}
	if((val1.length > 0)&&(val2.length > 0))//||(val3.length==0))
	{
		strControl.value=val1 + "/" + val2 + "/" + year;	
	}
	
	if((val1.length > 0)&&(val2.length > 0)&&(val3.length > 0))
	{
		if(val3.length==1)
		{
			val3 = 0 + val3;
			val3 = 20 + val3;
			strControl.value=val1 + "/" + val2 + "/" + val3;
		}
		else if((val3.length==2)&&(val3 > 70))
		{
			val3 = 19 + val3;
			strControl.value=val1 + "/" + val2 + "/" + val3;
		}
		else if((val3.length==2)&&(val3 <=70))
		{
			val3 = 20 + val3;
			strControl.value=val1 + "/" + val2 + "/" + val3;
		}
		else//if((val3.length==4)||(val3.length==3))
		{
			strControl.value=val1 + "/" + val2 + "/" + val3;
		}
		
	}
	
}

//This function is used inside the LibAutoCompleteDate function.
//It will add 0 to the existing value if it is less than 10
function PrefixZero(i)
{
	if(i < 10)
	{
		i = "0" + i;	
	}
	return i;
}

//It checks whether the date is in valid dd/mm/yy format or not
function LibIsValidDate(strControl)
{
	var dateSplit=strControl.value.split("/")
	var day = dateSplit[0];
	var month = dateSplit[1];
	var year = dateSplit[2];
	if((dateSplit.length < 3)||(dateSplit.length > 3))
	{
		return false;
	}
	
		
		/*else if(LibIsValidInteger(day)==false||LibIsValidInteger(month)==false||LibIsValidInteger(year)==false)
		{
			return false;
		}*/
		var filter=/[^0-9]/  
		if (filter.test(day)==true)
		{
			return false;
		}
		if (filter.test(month)==true)
		{
			return false;
		}
		if (filter.test(year)==true)
		{
			return false;
		}
		if((day <= 0)||(day > 31))
		{
			return false;
		}
		if((month <= 0)||(month > 12))
		{
			return false;
		}
		if(((month == 4)||(month == 6)||(month == 9)||(month == 11))&&(day == 31))
		{
			return false;
		}
		if(month==2)
		{
			var isLeapYear =(year % 4==0 &&(year % 100 !=0||year % 400 ==0));
			//alert(isLeapYear);
			if(day  > 29 || (day == 29 && !isLeapYear))
			{
				return false;
			}
		}
		if((year.length==3)||(year.length > 4)||(year.length==0))
		{
			return false
		}
		else
		{
			return true;
		}
		
}

function LibIsValidDateTime(strControl)
{
	if(strControl.value.indexOf(" ")==-1)
	{
		return false;
	}
	var space=strControl.value.split(" ");
	
	var date = space[0];
	/*if(LibIsValidDate(date)==false)
	{
		return false;
	}*/
	var dateSplit= date.split("/");
	var time = space[1]
	var timeSplit = time.split(":")
	
	if((dateSplit.length < 3)||(dateSplit.length > 3))
	{
		return false;
	}
	if((timeSplit.length < 3)||(timeSplit.length > 3))
	{
		return false;
	}
	
	
		var day = dateSplit[0];
		var month = dateSplit[1];
		var year = dateSplit[2];
		/*var now = new Date()
		var hour = now.getHours();
		var min = now.getMinutes();
		var sec = now.getSeconds();*/
		var hour = timeSplit[0];
		var min = timeSplit[1];
		var sec = timeSplit[2];
		if((day <= 0)||(day > 31))
		{
			return false;
		}
		if((month <= 0)||(month > 12))
		{
			return false;
		}
		if(((month == 4)||(month == 6)||(month == 9)||(month == 11))&&(day == 31))
		{
			return false;
		}
		if(month==2)
		{
			var isLeapYear =(year % 4==0 &&(year % 100 !=0||year % 400 ==0));
			//alert(isLeapYear);
			if(day  > 29 || (day == 29 && !isLeapYear))
			{
				return false;
			}
		}
		if((year.length==3)||(year.length > 4)||(year.length==0))
		{
			return false
		}
		if((hour < 0)||(hour >=24))
		{
			return false;
		}
		if((min < 0)||(min >=60)||(min==""))
		{
			return false;
		}
		if((sec < 0)||(sec >=60)||(sec==""))
		{
			return false;
		}
		/*else
		{
			strControl.value = day + "/" + month + "/" + year + " " + hour + ":" + min + ":" + sec
		}*/
}

function LibInputError(strControl,strMessage)
{
	alert(strMessage);
	strControl.focus();
	strControl.select();
}

function LibSelectError(strControl,strMessage)
{
	alert(strMessage);
	strControl.focus();	
}

//it checks whether the From date is less than or equal to To Date 
function LibDateComparison(strControl,strControl1)
{
	var fromDate=strControl.value;

	var toDate=strControl1.value;
	
	var testdate = new Date(fromDate.substring(6,10),fromDate.substring(3,5)-1,fromDate.substring(0,2));
	                                                          
	var testdate1 = new Date(toDate.substring(6,10),toDate.substring(3,5)-1,toDate.substring(0,2));
	
	if(testdate >=testdate1)
	{
		return false;
	}
	else
	{
		return true;
	}
	
}

//it checks whether the from Value is less than to Value
function LibValueComparison(strControl,strControl1)
{
	if(strControl.value >= strControl1.value)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function FieldHelp(strTable,strField,strHeight,strWidth)
{
		
	var helpWindow=window.open('Help/Field/'+strTable +'_' +strField +'.aspx','FieldHelp','height='+strHeight+',width='+strWidth+',left=660,top=205')
	helpWindow.focus();
}

			





