//only allow capital letter
function capital(cap)
{
		var rc = false;
		if (cap=='@' || cap=='.' || cap=='_' || cap=='-')
		rc = true;
		if (cap >= "A" && cap <= "Z")
		rc = true;
		return rc;
}

//only allow small letter
function small(sma)
{
		var rm = false;
		if (sma=='@' || sma=='.' || sma=='_' || sma=='-')
		rm = true;
		if (sma >= "a" && sma <= "z")
		rm = true;
		return rm;
}

function numeric(num)
{
		var rn = false;
		if (num=='@' || num=='.' || num=='_' || num=='-')
		rn = true;
		if (num >= "0" && num <= "9")
		rn = true;
		return rn;
}

//only number, character and @, dot, dash, underscore are allowed
function chk_ascii(x)
{
		if (capital(x)==true || small(x)==true || numeric(x)==true)
		return true;
		else
		return false;
}

//email validation function
function chk_email(email)
{
	var temp = "" + email;
	var m = temp.length;
	var i = 0;
	var n = 0;
	var j = false;
	var k =false;
	var ret = false;
	
	if (temp.charAt(0)!='-' && temp.charAt(0)!='_'&& temp.charAt(m-1)!='-' && temp.charAt(m-1)!='_')
	{
		while (i < temp.length )
		{
			if (temp.charAt(i)!='@' && temp.charAt(i)!='.')
			{
				if ((temp.charAt(i)==' ')||(chk_ascii(temp.charAt(i))==false))
				{
					j = true;
					break;
				}
			}
			i ++;
		}

		if ((temp.indexOf('@')>0) && (temp.indexOf('.')>0) && (temp.lastIndexOf('.') > temp.indexOf('@')))
		{
			if (((temp.indexOf('@')==temp.lastIndexOf('@')) && temp.charAt(0)!='@' && temp.charAt(m-1)!='@' && temp.charAt(0)!='.' && temp.charAt(m-1)!='.' && j==false))
				ret = true;
			else
			{
				ret = false;
			}
		}
		else
		{
			ret = false;
		}
	}
	else
	{
		ret = false;
		}
return ret;
}


//validate for blank.
function isBlank(varstr) 
{        
	if(varstr.length != 0)
	for(var i=0; i < varstr.length ; i++)            
	{ 
		var ch = varstr.substring(i, i+1);                
		if(ch != " ")                
		{                
			return true;                
			break;                
		}                
		else
		{                
			return false;                
			break;
		}
	}
	else  
	return false;
}

//validation of multiple selectbox
function getSelectedCombo(argCombox)
{
	var blankcnt;
	blankcnt=null;
}

//validate for multiple textbox blank.
function isBlank_Multiple(argtxtobj) 
{    
	var blankcnt;
	blankcnt=null;

	if (argtxtobj.length>0)
	{
		for (cnt=0; cnt<=argtxtobj.length-1; cnt++)
		{
			varstr=argtxtobj[cnt].value;
			if (varstr.length!=0)
			{
				if (blankcnt==null)
				{
					blankcnt=cnt;
				}
				else
				{
					blankcnt=blankcnt + ","+ cnt;
				}
				//blankcnt=blankcnt+1;
			}
			/*if(varstr.length != 0)
			{
				alert(varstr)
				for(var i=0; i < varstr.length; i++)
				{
					var ch = varstr.substring(i, i+1);
					if(ch == " ")
					{
						blankcnt=blankcnt+1;
						break;
					}                
				}
			}*/
		}
	}

	return blankcnt
	//alert(blankcnt)
}



//function used to check all the checkbox
function CheckAll(obj,obj1)
{
		if (obj1.length>=1){
			for (var i=0;i<obj.length;i++)
			{		
					var e = obj.elements[i];
					if ((e.name!='checkall')  && (e.type=='checkbox'))
					{
						e.checked = obj.checkall.checked;
					}
			}

		}else{
			if (obj1.checked==false){
				obj1.checked=true;
			}else if(obj1.checked==true){
				obj1.checked=false;
			}
		}
}

//function is used to uncheck all the checkbox
function UnSelectAll(obj,obj1)
{
		var len=obj1.length;
		if (len>=1){
			for (var i=0;i<obj.length;i++)
			{		
					var e = obj.elements[i];
					if ((e.name!='checkall')  && (e.type=='checkbox'))
					{
						e.checked = false;
					}
			}

		}else{
			if (obj1.checked==false){
				obj1.checked=true;
			}else if(obj1.checked==true){
				obj1.checked=false;
			}
		}
}


function SelectAll(obj,obj1)
{
		var len=obj1.length;
		if (len>=1){
			for (var i=0;i<obj.length;i++)
			{		
					var e = obj.elements[i];
					if ((e.name!='checkall')  && (e.type=='checkbox'))
					{
						e.checked = true;
					}
			}

		}else{
			if (obj1.checked==false){
				obj1.checked=true;
			}else if(obj1.checked==true){
				obj1.checked=false;
			}
		}
}


function check(obj,to,pos,formobj){
	if (!numeric(obj.value) || isNaN(obj.value)){
		obj.value="";
		var name=obj.name;
		name=name.substring(eval(pos),name.length);
		name=to+""+name;
		formobj.elements[name].value="";
		obj.focus();
	}
}

function isGreater(val1,val2,message,obj,pos,to,formobj){
	if (val !="")	{
		if (eval(val1)>eval(val2))
		{
			alert(message);
			obj.focus();
		}else{
			var name=obj.name;
			name=name.substring(eval(pos),name.length);
			name=to+""+name;
			var balance=eval(val2)-eval(val1);
			formobj.elements[name].value=balance;
		}
	}
}


//function to allow only integer value
function IsInteger(argvalue)
{
	var thisint = parseInt(argvalue, 10)
	var thisfloat = parseFloat(argvalue, 10)

	if (thisint != thisfloat) 
	{
		return false
	}
	else
	{
			return true
	}
}

//function to allow only floating value
/*function IsFloating(argvalue)
{
	var thisfloat = argvalue;

	for (i=0; i < thisfloat.length; i++)
	{
		var ch = thisfloat.substring(i,i+1)
		if ( (ch < "0" || "9" < ch) && ch !=".") 
		{
			return false
		}
	}	
}*/

function openwindow(filepath,width,height,left,top,mresizable)
{
	var url = filepath;

	if(left==""){	 left=30	}
	if(top==""){	 top=30	}

	var hWnd = window.open(url,"","left="+left+",width="+width+",top="+top+",height="+height+",resizable="+mresizable+",scrollbars=yes,menubar=no");
	if (!hWnd.opener) hWnd.opener = self;
	if (hWnd.focus != null) hWnd.focus();
}

function openblankwindow(filepath,width,height)
{
	var leftpos = 0;
	leftpos =  0;
	var url = filepath;
	var hWnd = window.open(url,"openwindow","left="+leftpos+",top=0,width="+width+",height="+height+",resizable=yes,scrollbars=yes,menubar=yes");
	if (!hWnd.opener) hWnd.opener = self;
	if (hWnd.focus != null) hWnd.focus();
}

function trim(str){
	var newstr = "";
	for (var i=0;i<str.length;i++)
	{
		if (str.charAt(i) != ' '){
			newstr = newstr + "" + str.charAt(i);
		}
	}
	return newstr;
}


function Round(value, precision)
{
        value = "" + value //convert value to string
		if (eval(value) >=1){
			precision = parseInt(precision);
			var whole = "" + Math.round(value * Math.pow(10, precision));
		    var decPoint = whole.length - precision;
	//		alert("entered"+decPoint);
			if(decPoint != 0)
			{
					result = whole.substring(0, decPoint);
					result += ".";
					result += whole.substring(decPoint, whole.length);
			}
			else
			{
					result = whole;
			}
		} else {
			result = value;
		}
        return result;
}

//function will check for specified file extension
function checkfileextension(file1) {
	//var str="doc,xls,pdf,htm,html,txt,ppt,pps,jpeg,jpg,gif,bmp,rtf";
	var str="jpeg,jpg,gif";
//	alert(file1);

	var extenstion = trim(file1.substring(file1.lastIndexOf('.')+1,file1.length));
	extenstion=extenstion.toLowerCase(extenstion);
//	alert("extenstion="+extenstion)
//	alert(str.indexOf(extenstion))
	
	if (str.indexOf(extenstion) < 0 )
	{
			return false;
	}else {
			return true;
	}
}

function numbercheck(num)
{
	//only allow number and dot to be entered
	 var flag
	 str=new String(num)                   
	 len=str.length
		
	for(i=0;i<=len-1;i++)
	{
		char1=str.charAt(i)
		if (char1==0 || char1==1  ||  char1==2 ||  char1==3 || char1==4 ||  char1==5 ||  char1==6 || char1==7 ||  char1==8 ||  char1==9 ||  char1==".")
		{
			flag=true                  
		}
		else
		{
			flag=false  
			break;
		}
	}
	 return flag;
}


//function will check for specified special character.
function isSpecial(val){
	var ret=true;
	//var str="@!#$%^&*()~?";
	var str="\\/:*?<>|";

	for (var i=0;i<val.length;i++)
	{
		for(var j=0;j<str.length;j++)
		{
				//alert(val.charAt(i) +"  "+ str.charAt(j))
			if (val.charAt(i)==str.charAt(j)){
				ret=false;
				break;
			}
		}
	}
	return ret;
}


function isRatio(val){
	var ret=true;
	var str="0123456789,";
	for (var i=0;i<val.length;i++)
	{
		for(var j=0;j<str.length;j++)
		{
			if (val.charAt(i)!=str.charAt(j)){
				ret=false;
				break;
			}
		}
	}
	return ret;
}

function isTelephone(str)
	{
			var flag1=true;
			for (var i=0;i<str.length;i++)
			{
				var ch=str.charAt(i);
				switch (ch)
				{
					case '0':
						flag1=true;
						break;
					case '1':
						flag1=true;
						break;
					case '2':
						flag1=true;
						break;
					case '3':
						flag1=true;
						break;
					case '4':
						flag1=true;
						break;
					case '5':
						flag1=true;
						break;
					case '6':
						flag1=true;
						break;
					case '7':
						flag1=true;
						break;
					case '8':
						flag1=true;
						break;
					case '9':
						flag1=true;
						break;
					case ' ':
						flag1=true;
						break;
					case '-':
						flag1=true;
						break;
					case ' ':
						flag1=true;
						break;
					case '+':
						flag1=true;
						break;

					default : flag1=false;
				}
				if (flag1==false)
				{
					break;
				}
			}
		return flag1;
	}	
	function navigate(url,obj){
		obj.action=url;
		obj.submit();
	}

function isSelected (obj,obj1) 
{
	var len=obj1.length;
	var flag=false;
	var flag1=false;
	for (var i=0;i<len;i++){
		flag1=true;
		if (obj1[i].checked){
			flag=true;
			break;
		}
	}
	if (!flag1){
		if (obj1.checked){
			flag=true;
		}
	}
	return flag;
}




function checkfile(file1,file2) {
	var file = file1.substring(file1.lastIndexOf('\\')+1,file1.length);

	if (file != file2) {
		return false;
	} else {
		return true;
	}
	//if (){
	//}
}


//capital the first letter
function ProperCase(argObj)
{
	if (argObj.value!="")
	{
		argObj.value=argObj.value.substring(0,1).toUpperCase()+argObj.value.substring(1,argObj.value.length)
	}	
}

//capital all the letter of word
function UpperCase(argObj)
{
	if (argObj.value!="")
	{
		argObj.value=argObj.value.toUpperCase();
	}	
}

//clear the form content using javascript
function clear(argthis)
{
	//var obj=document.frmcountry
	argthis.reset();
}


function checkbox_checker(aControls)
{
	var chkcount;
	chkcount=0;

	if (aControls)
	{
		for (var i=0; i< aControls.length; i++)
		{
			if (aControls[i].checked)
			{
			}
			else
			{
				chkcount=chkcount+1;
			}
		}

		if (aControls.length==chkcount){
			return false;
		}else{
			return true;
		}


	} 
}


//validation for single/multiple radio button, 
//if selected then return selected value or return null
function radiobtn(btn)
{
	var cnt = -1;
	var selectedValue=""
	if (isNaN(btn.length))
	{
			if (btn.checked) return btn.value;
			else return null
	} 
	else
	{
		for (var i=0; i < btn.length; i++) 
		{
			if (btn[i].checked) 
			{
					
					if (selectedValue=="") 
					{
						cnt=i;
						selectedValue=btn[i].value
					}
					else selectedValue=selectedValue+","+btn[i].value
			}
		}
		if (cnt > -1) return selectedValue;
		else return null;
	}
}


//validation for single/multiple radio button, 
//if selected then return selected index or return null
function getSelectedRadioIndex(argradio)
{
	var selectedValue;
	selectedValue=-1;
	//alert(argradio.length)

	if (isNaN(argradio.length))
	{
			if (argradio.checked) return argradio.value;
			else return null
	} 
	else
	{
		for (var i=0; i < argradio.length; i++) 
		{
			if (argradio[i].checked)
			{
					if (selectedValue==-1){	selectedValue=i	}
					else {selectedValue=selectedValue+","+i}
			}
		}
		//alert("selectedValue"+selectedValue)
		if (selectedValue==-1) return null;
		else return selectedValue;
	}
}


//date comparison function.
//if both date are equal return 0
//first date is greater then second date ====> 1
//second date is greater then first date ====> -1
function datecompare(firstdate, seconddate)
{
	var firstDate=firstdate;
	var secondDate=seconddate;

	firstDate_arr=firstDate.split("/")
	secondDate_arr=secondDate.split("/")

	firstDate= new Date(firstDate_arr[1]+"/"+firstDate_arr[0]+"/"+firstDate_arr[2]);
	secondDate= new Date(secondDate_arr[1]+"/"+secondDate_arr[0]+"/"+secondDate_arr[2]);
	
	var daysDiff= (secondDate.valueOf() - firstDate.valueOf());
	daysDiff=((((daysDiff / 1000) / 60) / 60) / 24)
	//daysDiff = Math.floor(Math.abs((((daysDiff / 1000) / 60) / 60) / 24));
	//alert(daysDiff)

	//alert(daysDiff)

	if (daysDiff<0)	{
			return -1;
	}else {
			return daysDiff;
	}
}


//firsttime - Hr:Min
//secondtime - Hr:Min
function timecompare(firsttime, secondtime)
{
	firsttime_arr=firsttime.split(":");
	secondtime_arr=secondtime.split(":");
	//
	firsttime_arr[0]=eval(firsttime_arr[0]*60)
	if (isNaN(firsttime_arr[1])) {	firsttime_arr[1]=0; }
	firstvalue=eval(firsttime_arr[0]) + eval(firsttime_arr[1]);
	//
	secondtime_arr[0]=eval(secondtime_arr[0]*60);
	secondvalue=eval(secondtime_arr[0]) + eval(secondtime_arr[1]);

	var timeDiff=(secondvalue.valueOf()- firstvalue.valueOf());
	
//alert(timeDiff)

	return timeDiff;

	/*if (timeDiff>0)	{
		return true;
	}else{
		return false;
	}*/
}


//Sort the number in Ascending order.
function numOrdA(a, b){ return (a-b); }

//Sort the number in Descending order.
function numOrdD(a, b){ return (b-a); }

//number and decimal are allowed
function numeralsOnly(evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
    ((evt.which) ? evt.which : 0));

    if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46) {
        alert("Enter numerals only in this field.");
        return false;
    }
    return true;
}

//only number are allowed, decimal are not allowed.
function WholeNumber(evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
    ((evt.which) ? evt.which : 0));

    if (charCode > 31 && (charCode < 48 || charCode > 57) || charCode == 46) {
        alert("Only numerals are allowed field. Without decimal.");
        return false;
    }
    return true;
}

//only number and Character A to Z are allowed, decimal are not allowed.
function NumberAndAtoZ(evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
    ((evt.which) ? evt.which : 0));

    if (charCode > 31 && (charCode < 48 || charCode > 57) || charCode == 46)
	{
		if((charCode<65 || charCode>90) && (charCode<97 || charCode>122))
		{
			alert("Only numerals and A-Z Characters are allowed. Without decimal.");
			return false;
		}
    }
    return true;
}

//only number and space are allowed, decimal are not allowed.
function WholeNumberWithhiphen(evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
    ((evt.which) ? evt.which : 0));

	if (charCode > 31 && charCode != 45 && (charCode < 48 || charCode > 57) || charCode == 46) {
        alert("Only numerals & '-' are allowed field. Without decimal.");
        return false;
    }
    return true;
}

//only number and space are allowed, / allowed.
function WholeNumberWithSPSLA(evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
    ((evt.which) ? evt.which : 0));

	if (charCode > 32 && charCode != 45 && charCode != 47 && (charCode < 48 || charCode > 57) || charCode == 46) {
        alert("Only numerals are allowed field. Without decimal.");
        return false;
    }
    return true;
}

//only number and dot(.) are allowed.
function WholeNumberWithDot(evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
    ((evt.which) ? evt.which : 0));

	if (charCode > 31 && charCode != 45 && charCode != 46 && (charCode < 48 || charCode > 57) || charCode == 45) {
        alert("Only numerals/decimal are allowed in this field.");
        return false;
    }
    return true;
}

function tottimechk(firsttime, secondtime)
{
	firsttime_arr=firsttime.split(":");
	secondtime_arr=secondtime.split(":");
	//
	firsttime_arr[0]=eval(firsttime_arr[0]*60)
	if (isNaN(firsttime_arr[1])) {	firsttime_arr[1]=0; }
	firstvalue=eval(firsttime_arr[0]) + eval(firsttime_arr[1]);
	//
	secondtime_arr[0]=eval(secondtime_arr[0]*60);
	secondvalue=eval(secondtime_arr[0]) + eval(secondtime_arr[1]);

	var tottime=(secondvalue.valueOf()+firstvalue.valueOf());
	
//alert(timeDiff)

	return tottime;

	/*if (timeDiff>0)	{
		return true;
	}else{
		return false;
	}*/
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}

function checkfileextension(file1) {
//	var str="doc,xls,pdf,htm,html,txt,ppt,pps,jpeg,jpg,gif,bmp,rtf";
var str="gif,jpg,jpeg";
//	alert(file1);

	var extenstion = trim(file1.substring(file1.lastIndexOf('.')+1,file1.length));
	extenstion=extenstion.toLowerCase(extenstion);
//	alert("extenstion="+extenstion)
//	alert(str.indexOf(extenstion))
	
	if (str.indexOf(extenstion) < 0 )
	{
			return false;
	}else {
			return true;
	}
}