<!-- Hide
function sValidateInt()
{
	var smRegExpr = new RegExp('[^0-9.-]');
	if (arguments.length != 1)
	{
		return('ValidateInt : Invalid No. of arguments'); 
	}
	if (smRegExpr.test(arguments[0]))
	{	
		return ('Invalid Integer'); 
	}
	if ((isNaN(arguments[0])) | (isNaN(parseInt(arguments[0],10))))
	{ 
		return ('Invalid Integer'); 
	}
	return ("");
}
function sValidateInteger()
{
	var smRegExpr = new RegExp('[^0-9]');
	if (arguments.length != 1)
	{	
		return('ValidateInt : Invalid No. of arguments'); 
	}
	if (smRegExpr.test(arguments[0]))
	{
		return ('Invalid Integer');
	}
	if ((isNaN(arguments[0])) | (isNaN(parseInt(arguments[0],10))))
	{
		return ('Invalid Integer');
	}
	return ("");
}
function sValidateStr()
{
	var smInStr;
	var smRegExp = new RegExp('^\\s\*$');
	if ((arguments.length < 1) | (arguments.length > 2))
	{
		return('ValidateStr : Invalid No. of Arguments');
	}
	smInStr = arguments[0];
	if (smInStr == "")
	{
		return ('Invalid String ');
	}
	if (smRegExp.test(smInStr))
	{
		return ('Invalid String ');
	}
	if (arguments.length == 2)
	{
		if (smInStr.length > arguments[1])
		{
			return ('Invalid String : Maximum ' + arguments[1] + ' Characters allowed');
		}
	}
	return ("");
}
function sValidateDate()
{
	var smDtStr, amRes, nmDD, nmMM, nmYY, dmDate;
	var smRegExpr = new RegExp('^\\d{1,2}[/-]\\d{1,2}[/-]\\d{4}$');
	if (arguments.length == 2)
	{
		smDtStr = arguments[0];
		if (smRegExpr.test(smDtStr))
		{
			amRes = smDtStr.split(new RegExp('[/-]'));
			if ((amRes == null) || (amRes.length != 3))
			{
				return ('Invalid Date ');
			}
			else
			{
				if (arguments[1] == 'dmy')
				{
					nmDD = amRes[0];
					nmMM = amRes[1];
				}
				else if (arguments[1] == 'mdy')
				{
					nmDD = amRes[1];
					nmMM = amRes[0];
				}
				else
				{
					return ('Invalid Argument : ' + arguments[1]);
				}
				nmYY = amRes[2];
			}
		}
		else
		{
			return ('Invalid Date ');
		}
	}
	else if (arguments.length == 4) 
	{
		if (arguments[3] == 'dmy')
		{
			nmDD = arguments[0];
			nmMM = arguments[1];
		}
		else if (arguments[3] == 'mdy')
		{
			nmDD = arguments[1];
			nmMM = arguments[0];
		}
		else
		{
			return ('Invalid Argument : ' + arguments[3]);
		}
		nmYY = arguments[2];
		if (sValidateInt(nmDD) != "")
		{
			return('Invalid Day ');
		}
		if (sValidateInt(nmMM) != "")
		{
			return('Invalid Month ');
		}
		if ((sValidateInt(nmYY) != "") || (parseInt(nmYY,10) < 1900))
		{
			return('Invalid Year. Enter the year after 1899 ');
		}
	}
	else
	{
		return('ValidateDate : Invalid N0. of Arguments ');
	}
	if ((nmDD > 31) || (nmDD < 1))
	{
		return ('Invalid Day ');
	}
	if ((nmMM > 12) || (nmMM < 1))
	{
		return ('Invalid Month ');
	}
	if (nmYY < 1900)
	{
		return ('Invalid Year. Enter the year after 1899 ');
	}
	dmDate = new Date(nmMM + '/' + nmDD + '/' + nmYY);
	if ((dmDate.getDate() != parseInt(nmDD,10)) || ((dmDate.getMonth()+1) != parseInt(nmMM,10)) || (dmDate.getFullYear() != (parseInt(nmYY,10))))
	{
		return('Invalid Date ');
	}
	return("");
}
function sValidateDateDMY()
{

	if (arguments.length == 1) 

		return(sValidateDate(arguments[0],'dmy'));

	else if (arguments.length == 3) 

		return(sValidateDate(arguments[0],arguments[1],arguments[2],'dmy'));

	else

		return('ValidateDateDMY : Invalid No. of arguments');

}
function sValidateDateMDY()
{

	if (arguments.length == 1) 

		return(sValidateDate(arguments[0],'mdy'));

	else if (arguments.length == 3) 

		return(sValidateDate(arguments[0],arguments[1],arguments[2],'mdy'));

	else

		return('ValidateDateMDY : Invalid No. of arguments');

}
function bCheckWhiteSpace()
{

	var smRegExpr = new RegExp('\\s');
	if (arguments.length != 1)
	{
		alert ('CheckWhiteSpace : Invalid Arguments');
		return 0;
	}
	return(smRegExpr.test(arguments[0]));
}
function sValidatePhoneNumbers()
{
	var amPhNos, nmCounter, smMsgStr, smInStr;
	var smRegExp = new RegExp('^(\\d{1,15}|\\d{1,4}-\\d{1,4}-\\d{1,7}|\\(\\d{1,4}\\)\\d{1,4}-\\d{1,7})$');
	if (arguments.length != 1)
		return('ValidatePhoneNumbers : Invalid No. of Arguments');
	smInStr = arguments[0];
	amPhNos = smInStr.split(';');
	smMsgStr = ' : Invalid Phone No. \n Valid formats \n  999999999999999 \n  (9999)9999-9999999 \n  9999-9999-9999999 \n ';
	for (nmCounter = 0; nmCounter < amPhNos.length; nmCounter++)
	if ((!(smRegExp.test(amPhNos[nmCounter]))) && (amPhNos[nmCounter] != ""))
		return (amPhNos[nmCounter] + smMsgStr);
	return("");
}
function bCheckPunctuationSymbols()
{
	var smRegExp = new RegExp('[^0-9A-Za-z]');
	if (arguments.length != 1)
	{
		alert ('CheckPunctuationSymbols : Invalid Arguments');
		return 0;
	}
	return (smRegExp.test(arguments[0]));
}
function sValidatePassword()
{
	var smPassword1, smPassword2;
	var smRegExp = new RegExp('\\s');
	if (arguments.length != 2) 
		return('ValidatePassword : Invalid No. of Arguments');
	smPassword1 = arguments[0];
	smPassword2 = arguments[1];
	if (sValidateStr(smPassword1) != "")
		return('Invalid Password String ');
	if (sValidateStr(smPassword2) != "")
		return('Invalid Password String ');
	if ((smRegExp.test(smPassword1)) || (smRegExp.test(smPassword1)))
		return('Invalid Password String ');
	if (smPassword1 != smPassword2)
		return('Passwords Doesn\'t match');
	return("");
}
function sValidateMailAddress(addr)
{
	if (arguments.length != 1) 
		return ('ValidateMailAddress : Invalid No. of Arguments ');
	else
	{
		var addr = new String(arguments[0]);
		at = addr.indexOf("@");
		dt = addr.lastIndexOf(".");
		if ((at != -1) && (dt != -1) && (at != 0) && (dt > at) && (dt-at != 1) && (dt != addr.length-1))
			return "";
		else
			return "Invalid email address";
		alert("I am here");	
	}
}
function sTrim()
{
	var smRegExp1 = new RegExp('^\\s\*');
	var smRegExp2 = new RegExp('\\s\*$');
	var smTmpStr;
	if (arguments.length != 1)
		return ("");
	smTmpStr = arguments[0].replace(smRegExp1,"");
	return(smTmpStr.replace(smRegExp2,""));
}
function sValidateTime()
{
	var smRegExp, amResStr, amResTime;
	if ((arguments.length < 2) || (arguments.length > 3))
		return('ValidateTime : Invalid No. of Arguments');
	if (arguments.length == 2)  // for timestring validation 
	{
		if (arguments[1] == 0)  // for 'hh:mm ampm'  format
		{
			smRegExp = new RegExp('^\\d{1,2}:\\d{1,2}\\s\+\(am|pm\)$','i');
			if (!(smRegExp.test(arguments[0])))
				return('Invalid Time String. Enter in (hh:mm ampm) format. \nNo Extra Spaces are allowed ');
			amResStr = arguments[0].split(new RegExp('\\s\+'));
			amResTime = amResStr[0].split(':');
			if ((amResTime[0] > 12) || (amResTime[0] < 1))
				return ('Invalid Hours (Valid Range : 1-12) ');
			if (amResTime[1] > 59)
				return ('Invalid Minutes (Valid Range : 0-59) ');
		}
		else if (arguments[1] == 1) // for 'hh:mm' format
		{
			smRegExp = new RegExp('^\\d{1,2}:\\d{1,2}$');
			if (!(smRegExp.test(arguments[0])))
				return('Invalid Time String. Enter in (hh:mm) format. \n No Extra Spaces are allowed ');
			amResTime = arguments[0].split(':');
			if (amResTime[0] > 23)
				return ('Invalid Hours (Valid Range : 0-23) ');
			if (amResTime[1] > 59)
				return ('Invalid Minutes (Valid Range : 0-59) ');
		}
		else
			return('ValidateTime : Last Argument Should be 0 or 1');
	}
	else  // for time with three arguments hh,mm, ampm
	{
	if (!((sTrim(arguments[2]).toLowerCase() == 'am') || (sTrim(arguments[2]).toLowerCase() == 'pm')))
		return ('Invalid Third Argument. Only am or pm are valid ');
	if (sValidateInt(arguments[0]) != "") 
		return ('Invalid Hours ');
	if (sValidateInt(arguments[1]) != "") 
		return ('Invalid Minutes ');
	if ((arguments[0] > 12) || (arguments[0] < 1))
		return ('Invalid Hours (Valid Range : 1-12) ');
	if (arguments[1] > 59)
		return ('Invalid Minutes (Valid Range : 0-59) ');
	}
	return("");
}
function vCompareDate()
{
	var smFirstDate, smLastDate;
	if (arguments.length != 2)
		return ('CompareDate : Invalid No. of arguments');
	smFirstDate = sGetDateString(arguments[0]);
	smLastDate = sGetDateString(arguments[1]);
	if (sValidateInt(smFirstDate) != "")
		return ('Invalid First Date ');
	if (sValidateInt(smLastDate) != "")
		return ('Invalid Last Date ');
	if (smFirstDate < smLastDate)
		return -1;
	else 
		if (smFirstDate == smLastDate) 
			return 0;
		else
			return 1;

}
function vCompareDateDMY()
{
	var amRes, omFDate, omSDate;
	var smRegExp = new RegExp('[/-]');
	if (arguments.length != 2)
		return('CompareDateDMY : Invalid Argument');
	if (sValidateDateDMY(arguments[0]) != "")
		return('Invalid First Date');
	if (sValidateDateDMY(arguments[1]) != "")
		return('Invalid Second Date');
	amRes = arguments[0].split(smRegExp);
	omFDate = new Date(amRes[1] + '/' + amRes[0] + '/' + amRes[2]);
	amRes = arguments[1].split(smRegExp);
	omSDate = new Date(amRes[1] + '/' + amRes[0] + '/' + amRes[2]);
	return(vCompareDate(omFDate,omSDate));
}
function sGetDateString()
{
	var smDateStr;
	if (arguments.length != 1)
		return ('GetDateString : Invalid Arguments ');
	if (typeof(arguments[0]) != 'object')
		return ('GetDateString : Invalid Date Object ');
	smDateStr = "" + arguments[0].getFullYear();
	while (smDateStr.length < 4)
	{
		smDateStr = '0' + smDateStr;
	}
	if (arguments[0].getMonth() < 9)
		smDateStr += '0';
	smDateStr +=  (arguments[0].getMonth() + 1);
	if (arguments[0].getDate() < 10)
		smDateStr += '0';
	smDateStr += arguments[0].getDate();
	return smDateStr;
}
function sHandleSingleQuote()
{
	if (arguments.length != 1)
	{
		alert('HandleSingleQuates: Invalid no. of arguments');
		return("");
	}
	return(arguments[0].replace(new RegExp("'","g"),"''"));
}
function sValidateIdentifier()
{
	var smRegExp1 = new RegExp('^(\\w|\\d|\-)+$');
	var smRegExp2 = new RegExp('(__|\-\-)');
	if (arguments.length != 1) 
		return ('ValidateIdentifier : Invalid No. of Arguments ');
	if (smRegExp1.test(arguments[0]))
	{
		if (smRegExp2.test(arguments[0]))
			return('Invalid Identifier');
		return ('');
	}
	else
		return ('Invalid Identifier ');
}
function atLeastOneChecked(obj) {
	var flag = false;
	if ( obj.type == "checkbox" ) {
		if ( obj.status )
			flag = true
	} else {
		for( var i = 0 ; i< obj.length ; i++ ) {
			if ( obj[i].status ) {
				flag = true;
				break;
			}
		}
	}
	return flag;
}
// function to check whether all characters in textboxes are white spaces [imran]
function isAllSpaces(textBox)
{	var matchstr = textBox.value.match(/ /g);
	if ( matchstr == null )
		return false;
	else if ( matchstr.length == textBox.value.length )
		return true;
	else
		return false;
}
function frmValidate()
{
	if(document.frmList.name.value=="" || isAllSpaces(document.frmList.name))
	{
		alert("Kindly Enter First Name.");
		document.frmList.name.focus();
		return false;
	}				
	if(document.frmList.organisation.value=="" || isAllSpaces(document.frmList.organisation))
	{
		alert("Kindly Enter Organisation Name.");
		document.frmList.organisation.focus();
		return false;
	}
	if(document.frmList.phone.value=="" || isAllSpaces(document.frmList.phone))
	{
		alert("Kindly Enter Telephone no.");
		document.frmList.phone.focus();
		return false;
	}
	if(document.frmList.email.value=="" || isAllSpaces(document.frmList.email))
	{
		alert("Kindly Enter Email.");
		document.frmList.email.focus();
		return false;
	}
	if(sValidateMailAddress(document.frmList.email.value))
	{
		alert("Kindly Enter proper Email Address.");
		document.frmList.email.select();
		document.frmList.email.focus();
		return false;
	}
	if(document.frmList.address.value=="" || isAllSpaces(document.frmList.address))
	{
		alert("Kindly Enter Address.");
		document.frmList.address.focus();
		return false;
	}
	if(document.frmList.itemofint.value=="" || isAllSpaces(document.frmList.itemofint))
	{
		alert("Kindly Enter Item Name .");
		document.frmList.itemofint.focus();
		return false;
	}
	if(sValidateInt(document.frmList.quantity.value))
	{
		alert("Kindly Enter the Quantity .");
		document.frmList.quantity.select();
		document.frmList.quantity.focus();
		return false;
	}
	return true;
}
function frmSubmit()
{
var valueReturn = frmValidate();
}
function validateQty()
{
	var qty = '';
	var elem = document.frmcart.elements["txtQty"]; ;
	for(var i = 0; i < elem.length; i++)
	{
		qty = elem[i].value;
		if(sValidateInt(qty))
		{
			alert("Kindly Enter the Quantity.");
			elem[i].select();
			elem[i].focus();
			return false;
		}
	} 
	return  true;
}
// End Hide -->
