/*
	Script Contains generic functions such as:
	//Function to Show alert
	//Function to check for Empty Field
	//Function to check for Numeric Value
	//Function to check for Valid Email
	//Function to set Focus on particular Field
	//Function to check for String Value
	//Function to format Phone Numbers as xxx-xxx-xxxx
	//Function to Show Current Date in particular TextBox
	//Functions for Calender Popup
	//Function to call all other Validation functions
	
	//Function to Input only numeric characters
	//Function To validate URL 
*/

//Function to Show alert
function ShowMsg(strMsg)
{ 
	alert(strMsg);
}

//Function to check for Empty Field
function IsEmpty(ObjName) 
{
	var inputStr;
	inputStr=trim(document.getElementById(ObjName).value);
	if ((inputStr == "") || (inputStr == null)) 
		return true;
	else	
		return false;
}

//Function to check for Numeric Value

function IsNumeric(ObjName)
// check for valid numeric strings
{	
	var strString = document.getElementById(ObjName).value;
	var strValidChars = "0123456789.-";
	var strChar;
	var blnResult = true;
	for (i = 0; i < strString.length; i++)
	{
	strChar = strString.charAt(i);
	if (strValidChars.indexOf(strChar) == -1)
	{
	return false;
	}
	}
return true;
} 
/*function IsNumeric(ObjName) 
{
	
	var inputStr;
	inputStr=document.getElementById(ObjName).value;	
	//if (!checkSpaces(inputStr))
	//	return false;
	var oneChar;
	var blnDecimal = false;
	for (var i = 0; i < inputStr.length; i++) 
	{
		oneChar = inputStr.substring(i, i + 1);		
		if (oneChar != ".") 
		{
			alert(oneChar < "0" || oneChar > "9");
			if (oneChar < 0 || oneChar > 9) 
			return false;	
			else
			return true;		
		}
		else 
		{
			if (!blnDecimal) 
				blnDecimal = true;
			else 
				return false;
		}
	}
	return true;
}*/

//Function to check for Valid EMail
function IsValidEmail(ObjName) 
{
	var inputStr;
	inputStr=document.getElementById(ObjName).value;
	/*if (inputStr.indexOf('@') < 1 || inputStr.indexOf('.') < 3 || inputStr.indexOf(',') != -1 || inputStr.indexOf(' ') != -1 || inputStr.indexOf('"') != -1 || inputStr.indexOf('/') != -1 || inputStr.indexOf('|') != -1 || inputStr.indexOf('?') != -1 || inputStr.indexOf('<') != -1 || inputStr.indexOf('>') != -1 || inputStr.indexOf('=') != -1 || inputStr.indexOf('+') != -1 || inputStr.indexOf('(') != -1 || inputStr.indexOf(')') != -1 || inputStr.indexOf('*') != -1 || inputStr.indexOf('&') != -1 || inputStr.indexOf('^') != -1 || inputStr.indexOf('%') != -1 || inputStr.indexOf('$') != -1 || inputStr.indexOf('#') != -1 || inputStr.indexOf('!') != -1 || inputStr.indexOf('`') != -1 || inputStr.indexOf('~') != -1 || inputStr.indexOf(';') != -1 || inputStr.indexOf(':') != -1 || inputStr.indexOf('aapkaindore') != -1 || inputStr.indexOf('@.') != -1) 
		return false;
	else
		return true;
	*/	
	var supported = 0; 
	if (window.RegExp) 
	{
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr)) supported = 1;
	}
	if (!supported) 
		return (inputStr.indexOf(".") > 2) && (inputStr.indexOf("@") > 0);
		var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
		var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
		return (!r1.test(inputStr) && r2.test(inputStr));
//        var r3  = new RegExp("^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$");
//        return(!r3.test(inputStr));
}

//Function to set Focus on particular Field
function SetFocus(ObjName)
{
	document.getElementById(ObjName).focus();
	document.getElementById(ObjName).select();
}

//Function to check for String Value
function IsChar(ObjName) 
{
	var inputStr;
	var oneChar;
	inputStr=document.getElementById(ObjName).value;
	for (var i = 0; i < inputStr.length; i++) 
	{
		oneChar = inputStr.substring(i, i + 1);
		if (oneChar >= "0" && oneChar <= "9") 
			return false;		
	}
	return true;
}

//Function to format Phone Numbers as xxx-xxx-xxxx
function PhoneFormat(TxtName)
{
	var strPhone=new String();
	strPhone=document.getElementById(TxtName).value;
	if(strPhone.length==3)
	strPhone=strPhone+"-";
	if(strPhone.length==7)
	strPhone=strPhone+"-";
	//alert(isNumeric(strPhone));
	if(isNumeric(strPhone))
	{
		document.getElementById(TxtName).value=strPhone;		
	}
	else
	{
		document.getElementById(TxtName).value="";		
	}
}

//Function to Show Current Date in particular TextBox
function ShowDate(TxtObject)
{
	var now=new Date();	
	var strdate;	
	strdate=(now.getMonth()+1)+"/"+now.getDate()+"/"+now.getFullYear();
	document.getElementById(TxtObject).value=strdate;
}

//Functions for Calender Popup

/*1*/
function CallCalendar(datefield)
{
	alert(datefield);
	var strDate, strTempDate;
	strDate=new Array();
	prevdate=document.getElementById(datefield).value;
	if (!empty(document.getElementById(datefield).value))
	{
		strTempDate=new String(prevdate)
		strDate=strTempDate.split("/")
		month = strDate[0];
		day = strDate[1];
		year = strDate[2];
		month=month-1	  
	}
	else
	{
		today = new Date();
		month= today.getMonth() ;
		day = today.getDate();
		year=parseInt(today.getYear());
	}
	year=padoutYear(year);
	oCalendar=window.open('../../Script/PICKDATE.htm','Calendar','maximize=false,resizable=YES,top=400px,left=330px,width=130px,height=165px');
	if (oCalendar.opener == null) {oCalendar.opener = self};
	datefld = document.getElementById(datefield);
}

/*2*/
function padoutYear(number) 
{ 
	return (number < 100) ? '19' + number : number; 
}

/*3*/
function padout(number) 
{ 
	return (number < 10) ? '0' + number : number; 
}
function trim(inputStr) {
	if (inputStr == null) { 
		return inputStr;
	}
	var strLTrimmedString="";
	for (var i = 0; i < inputStr.length; i++) {
		if (inputStr.substring(i, i + 1) != " ") {
			strLTrimmedString = inputStr.substring(i, inputStr.length);
			break;
		}
	}
	var strTrimmedString="";
	for (var i = strLTrimmedString.length; i > 0; i--) {
		if (strLTrimmedString.substring(i, i - 1) != " ") {
			strTrimmedString = strLTrimmedString.substring(0, i);
			break;
		}
	}
	return strTrimmedString;
}
function ShowHideModule(mDivName,mArrowSrc)
{
	if (document.all){
		if(document.all[mDivName].style.display == 'none'){
			document.all[mDivName].style.display = '';
			document.images[mArrowSrc].src = "../../images/minus.gif";
 			//alert(document.images[mArrowSrc].src);
		} 
		else {
			document.all[mDivName].style.display = 'none';
			document.images[mArrowSrc].src = "../../images/plus.gif";
			//alert(document.images[mArrowSrc].src);
		}
	}
	else if (document.getElementById){
		if(document.getElementById(mDivName).style.display == 'none'){
			document.getElementById(mDivName).style.display = '';
			document.images(mArrowSrc).src = "../../images/minus.gif";
		}
		else {
			document.getElementById(mDivName).style.display = 'none';
			document.images(mArrowSrc).src = "../../images/plus.gif";
			}
		} 
}

function setFlashAsBackground(tableID,tableFlash)
{
    //alert(document.getElementById(tableID));
	var table = document.getElementById(tableID);
	var Top = 0;
	var Left = 0;
	var parent = table;
	while (parent.tagName !="BODY")
	{
	
		if(parent.tagName !="TR")
		{
		
			Top += parent.offsetTop;
			Left += parent.offsetLeft;	
		}
		
		parent = parent.offsetParent;
		
	}
	
	var tableFlash = document.getElementById(tableFlash);
	tableFlash.style.position="absolute";
	tableFlash.style.top = Top;
	tableFlash.style.left = Left;
	tableFlash.style.display="block";
}


//function to numeric validation from keypress
function numbersonly(myfield, e, dec)
	{
	var key;
	var keychar;

	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);

	// control keys
	if ((key==null) || (key==0) || (key==8) || 
	    (key==9) || (key==13) || (key==27) )
	   return true;

	// numbers
	else if ((("0123456789").indexOf(keychar) > -1))
	   return true;
	   //This part is commented as nowhere we need -ve numbers
/*	else if (keychar == "-")
	{
		lcValue = myfield.value;
		//alert(lcValue.lastIndexOf(keychar));
		if(lcValue.lastIndexOf(keychar)>-1)
		return false;
		else return true;
	}	*/
	
	// decimal point jump

	else if (dec && (keychar == "."))
	   {
		   //myfield.form.elements[dec].focus();
		   //var fieldvalue=myfield.form.elements[dec].value;
		   var fieldvalue=myfield.value;
		   if(((fieldvalue).lastIndexOf(keychar)>-1))
			   return false;
		   else		   
			   return true;  
	   }
	
	else
	   return false;
	}
    function checkURL(strURL) { 
    var v = new RegExp(); 
    v.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$"); 
    if (!v.test(strURL)) { 
        
        return false; 
    } 
    else
        return true;
} 
