/*
	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 Show alert
function ShowMsg(strMsg)
{ 
	alert(strMsg);
}
function IsOnlyNumeric(sText)
{
	var ValidChars = "0123456789";
	var IsNumber=true;
	var Char;

	 
	for (i = 0; i < sText.length; i++) 
	{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
			IsNumber = false;
			break;
		}
	}
	return IsNumber;		   
}

function IsDecimal(sText)
{
    var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;

	 
	for (i = 0; i < sText.length; i++) 
	{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
			IsNumber = false;
			break;
		}
	}
	return IsNumber;

}

//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
{
	 /******************************************************************************
		DESCRIPTION: Validates that a string contains only valid numbers.

		PARAMETERS:
		   strValue - String to be tested for validity

		RETURNS:
		   True if valid, otherwise false.
	 ******************************************************************************/
	var strString = document.getElementById(objName).value;
	var objRegExp  =  /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
	return objRegExp.test(strString);	
/*
	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));
}

 //Function to Open a confirmation box for adding the parts which is out of stock
        function openConfirmationBox(partObjectID, partNumber, lineCode, txtQtyName, minMult,txtlocation,qtyOnHand)
        {
            var qtyRequested=document.getElementById(txtQtyName).value;
            var confirmed=true;  
            if(qtyRequested > qtyOnHand)
            {   
                var url="/catalog/overpurchaseconfirmationdialog.htm" ;
                confirmed = window.showModalDialog(url,"dialogHeight:80px;dialogWidth:100px;status:no;help:no;resizable:yes;scroll:no;");	       
            }
            if(confirmed)
                return BuySinglePart(partObjectID, partNumber, lineCode, txtQtyName, minMult,txtlocation);
            else
                return false;
        }




//Function to set Focus on particular Field
function SetFocusToObj(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 AlertnRedirectOnPendingDealerLogin(redirectUrl)
{
    var answer = confirm('Your account has not been approved yet. You can browse and shop from site with this account but you have to pay through Credit card. You would be assigned the Cash customer also. \n\nClick OK if you wish to browse the site otherwise click Cancel.');
    if(answer)
        window.location.href=redirectUrl;
    else
        window.location.href = "/logout.aspx";
}
// THIS FUNCTION USED FOR CAPTCHA IMAGE 
function getNewCaptchaImage()
{
    var CaptchaImageTag = document.getElementById("imgCaptcha");
       if (CaptchaImageTag != null)
    {
       CaptchaImageTag.src = "";
       
       CaptchaImageTag.src = "/Captcha/CallCaptcha.aspx?"+Math.random()*10000;
       //alert(CaptchaImageTag.src);
    }
    else
    {
        CaptchaImageTag.src = "";
    }
}
