
// general purpose function to see if a suspected numeric input 
// is a positive integer
function isNumber(inputStr) {
for (var i = 0; i < inputStr.length; i++) {
var oneChar = inputStr.substring(i, i + 1)
if (oneChar < "0" || oneChar > "9") {
return false
}
}
return true
}

// This function will trim leading and/or trailing spaces from a string
// arg = the value you wish to have trimmed..
// func = "left" for Ltrim(), "right" for RTrim() or "both" for Trim()

//===================================
function trim(arg,func) {
//===================================

var trimvalue = "";
arglen = arg.length;
if (arglen < 1) return trimvalue;

if (func == "left" || func== "both") {
i = 0;
pos = -1;
while (i < arglen) {
if (arg.charCodeAt(i) != 32 &&
!isNaN(arg.charCodeAt(i))) {
pos = i;
break;
}
i++;
}
}

if (func == "right" || func== "both") {
var lastpos = -1;
i = arglen;
while (i >= 0) {
if (arg.charCodeAt(i) != 32 &&
!isNaN(arg.charCodeAt(i))) {
lastpos = i;
break;
}
i--;
}
}

if (func == "left") {
trimvalue = arg.substring(pos,arglen-1);
}

if (func == "right") {
trimvalue = arg.substring(0,lastpos+1);
}

if (func == "both") {
trimvalue = arg.substring(pos,lastpos + 1);
}

return trimvalue;

}

//check if the field value is a number
function checkIfNumber(field) {
	checkVal = trim(field.value, "both")
	if (checkVal != ""){
	if (!(isNumber(checkVal))){
		alert("Please enter valid number in " + field.name);
		field.value="";
		field.focus(); 
		return false;
	}
	}
	return true;
}

function checkIfEmpty(field){
	checkVal = trim(field.value, "both")
	if (checkVal == ""){
		alert(field.name + " cannot be empty");
		field.focus(); 
		return false;
	}
	return true;
}

function checkEmail(var1)
{
	emailFlag = true;
    if(var1.value.length != 0){
		if((var1.value.indexOf('@') > (-1)) && (var1.value.indexOf('.') > -1)){
				emailFlag = true;
            } else {
	     	    emailFlag = false;
            }
		}
		if (!emailFlag){
			alert("Invalid Email-Id");
			var1.value="";
		}
 return emailFlag;
}

function checkForDoubleQuote(field)
{
	val = field.value
	for (i = 0; i < val.length; i++) {
	oneChar = val.substring(i, i + 1)
	if (oneChar == '"'){
		alert("Double Quotes not allowed in  " + field.name);
		field.focus(); 
		return false;
		}
	}
	return true;
}

function popUpWin(page)
{
	window.open("popUp.asp?fileName="+page,'Announcement',"scrollbars=yes,resizable=yes,width=400,height=275,top=150,screenY=150,left=150,screenX=150")
}

function isValidEntry(field){
var valid = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:;{}[]|-_+><?,\/=~.%()+#$^&*'";
	var temp;
	var ok = "yes";
	flag = true;
	for(var i=0;i<field.value.length && ok!="no";i++)	
    {
    	temp = "" + field.value.substring(i, i+1);
	    if (valid.indexOf(temp) == "-1")
            ok = "no";
	}
		if (ok == "no") {
			alert("Invalid character entry at "+field.name);
            //field.value="";
			field.focus();
			flag = false;
			errFlag = true;
		}
	
	return flag; 
}

function checkFromTo(fromField, toField)
{
	fromVal = trim(fromField.value, "both");
	toVal = trim(toField.value, "both");
	if ((fromVal != "") && (toVal != "")) 
	{
		if (eval(fromVal) > eval(toVal))
		{
			alert("Value of " + fromField.name + " should be <= value of " + toField.name);
			return false;
		}
	}
	return true;
}

// general purpose function to see if an input value has been entered at all
function isEmpty(inputStr) {
if (inputStr == "" || inputStr == null) {
return true
}
return false
}

// validate the string
function validateDateString(field) {
var input = field.value;
if (isEmpty(input)) {
alert("Be sure to enter a date in " + field.name)
field.value="";
field.focus();
return false
} else {
if (input.indexOf("/") == -1) {
alert("Enter the date in format (mm/dd/yy)")
field.value="";
field.focus();
return false
} 
}
var index = input.indexOf("/");
var month = input.substring(0, index)
input = input.substring(index + 1, input.length);
index = input.indexOf("/");
var day = input.substring(0, index)
var year = input.substring(index + 1, input.length)
if (!validateDate(day, month)) {

return false
}
if (!validateMonth(month)) {
field.focus();
return false
}
if (!validateYear(year)) {
field.focus();
return false
}
return true
}

function validateDate(date, month) {
if (isEmpty(date)) {
alert("Be sure to enter a date value.")
return false
} else {
if (!isNumber(date)) {
alert("Entries must be numbers only.")
return false
} else {
var monthField = month
if (!validateMonth(monthField)) return false
var monthVal = parseInt(monthField)
var monthMax = new Array(31,31,29,31,30,31,30,31,31,30,31,30,31)
var top = monthMax[monthVal]
date = stripZeros(date);
if (!inRange(date,1,top)) {
alert("Enter a Day between 1 and " + top + ".")
return false
}
}
}
return true
}

function validateMonth(input) {
if (isEmpty(input)) {
alert("Be sure to enter a month value.")
return false
} else {
if (!isNumber(input)) {
alert("Entries must be numbers only.")
return false
} else {
input = stripZeros(input);
if (!inRange(input,1,12)) {
alert("Enter a Month between 1 (January) and 12 (December).")
return false
}
}
}
return true
}

function validateYear(input) {
if (isEmpty(input)) {
alert("Be sure to enter a year value.")
return false
} else {
if (!isNumber(input)) {
alert("Entries must be numbers only.")
return false
}
}
return true
}

// JavaScript sees numbers with leading zeros as octal values, so strip zeros
function stripZeros(inputStr) {
var result = inputStr
while (result.substring(0,1) == "0") {
result = result.substring(1,result.length)
}
return result
}

// function to determine if value is in acceptable range for this application
function inRange(inputStr, lo, hi) {
var num = parseInt(inputStr)
if (num < lo || num > hi) {
return false
}
return true
}

//function to check if value in given range
function isdiscountInRange(field){
if (field.value != ""){
	if (!(isNumber(field.value))){
		alert("Please enter valid number in " + field.name);
		field.value="";
		field.focus(); 
		return false;
	}
	else{
	 if (!inRange(field.value,1,99)){
		alert("Discount should be > 0 and < 100");
		field.focus();
		return false
	}
	}
}
return true;
}

function isDecimal(field1) {
	
	var valid = "0123456789.";
	var temp;
	var ok = "yes";
	flag= true;
	dotflag=false;
	for(var i=0;i<field1.value.length;i++)	
	{
	temp = "" + field1.value.substring(i, i+1);
	if(temp=="."){
		if(!dotflag){
			dotflag=true;
		}
		else{
			alert(field1.name+" - Not a valid number");
			flag=false;
			errFlag=true;
            field1.value="";
			field1.focus();
			return flag;
		}
		
	}
	if (valid.indexOf(temp) == "-1") ok = "no";
	}
		if (ok == "no") {
			alert(field1.name + " - Invalid entry!Only positive numbers are accepted!");
			flag = false;
			errFlag = true;
            field1.value="";
			field1.focus();
		}
	
	return flag; 
	}