var focus_field = "";
var	warning = "";

function checkField(pointer,msg,warn) {
	pointer.value = jsDV_strTrim(pointer.value);
	if (pointer.value == "") {
    	if (warn != "")
      		warn = warn+"\n- ";
    	warn = warn+msg;
		if (focus_field == "")
			focus_field = pointer;
  	}
	return warn;
}

function checkSingleCheckbox(pointer,msg,warn) {
	var c = "";
	if (pointer.checked == true)
			c = "checked";
	if (c == "") {
    	if (warn != "")
    		warn = warn+"\n- ";
    	warn = warn+msg;
  	}
  	return warn;
}

function checkRadioCheckbox(pointer,msg,warn) {
	var c = "";
	if (pointer.length!=null && pointer.length>1) {
		for (var i=0; i<pointer.length; i++) {
			if (pointer[i].checked == true)
				c = "checked";
		}
	}
	else {
		if (pointer.checked == true)
			c = "checked";
	}
	if (c == "") {
    	if (warn != "")
    		warn = warn+"\n- ";
    	warn = warn+msg;
  	}
  	return warn;
}

function checkSelect(pointer,msg,warn) {
	var s = "";
	if (pointer.type=="select-one") {
		s = "selected";
		if ((pointer[0].selected == true) && (pointer.options[0].value == ""))
			s = "";
	}
	else {
		if (pointer.length!=null) {
			for (var i=0; i<pointer.length; i++) {
				if ((pointer[i].selected == true) && (pointer.options[i].value != ""))
					s = "selected";
			}
		}
	}
	if (s == "") {
    	if (warn != "")
      		warn = warn + "\n- ";
    	warn = warn + msg;
		if (focus_field == "")
			focus_field = pointer;
	}
	return warn;
}

function checkSegment(pointer,msg,warn,ids,num) {
	var c = 0;
	var arrid = ids.split(",");
	var idlen = arrid.length; 
	if (num > idlen)
		num = idlen;
	if (pointer.length!=null && pointer.length>1) {
		for(var i=0; i<=idlen-1; i++)
			for (var j=0; j<pointer.length; j++)
				if ((arrid[i] == pointer[j].value) && (pointer[j].checked == true))
					c++;
	}
	else {
		if (pointer.checked == true)
			c++;
	}
	if (c < num) {
    	if (warn != "")
    		warn = warn+"\n- ";
    	warn = warn + num + " item(s) from " + msg;
  	}
  	return warn;
}

function setSelectValue(pointer,value) {
	for (var i=0; i<pointer.length; i++) {
		if (pointer.options[i].value == value)
			pointer[i].selected = true;
	}	
}

function checkLength(pointer,maxlength) {
	if(pointer.value.length > maxlength) {		
    	alert("Please enter a note equal to or less than "+maxlength+" characters");
		pointer.focus();
    	return false;
  	}
}

function displayLength(pointer,tagid) {
	if(document.all) {
		document.all[tagid].innerHTML = pointer.value.length;
	}
}

function checkNumber(pointer) {
	pointer.value = jsDV_strTrim(pointer.value);
	if(pointer.value != "") {		
    	if(!numericCheck(pointer.value,0,'nomsg')) { 
        	alert("Please enter a valid number");
			pointer.select();
        	pointer.focus();
        	return false;
		}
  	}
}

function checkFloat(pointer) {
	pointer.value = jsDV_strTrim(pointer.value);
	if(pointer.value != "") {		
    	if(!numericCheck(pointer.value,2,'nomsg')) { 
        	alert("Please enter a valid number");
			pointer.select();
        	pointer.focus();
        	return false;
		}
  	}
}

function checkCurrency(pointer) {
	var amountValue = jsDV_strTrim(pointer.value.replace(/,|\$/g,""));
	if(amountValue != ""){
		returnValue = jsDV_isValidMoney(amountValue)
		if(returnValue == "-1") { 
        	alert("Please enter a valid currency");
			pointer.select();
        	pointer.focus();
        	return false;
		} 
		else {
			pointer.value = returnValue;
		}
	}
}

function checkPercentage(pointer) {
	pointer.value = jsDV_strTrim(pointer.value);
	if(pointer.value != "") {		
    	if(!numericCheck(pointer.value,6,'nomsg')) { 
        	alert("Please enter a valid percent number.");
			pointer.select();
        	pointer.focus();
        	return false;
		}
  	}
}

function checkAge(pointer) {
	pointer.value = jsDV_strTrim(pointer.value);
	if(pointer.value != "") {		
		if(!numericCheck(pointer.value,0,'nomsg')) { 
			alert("Please enter a valid age");
			pointer.select();
			pointer.focus();
			return false; 
		}   
	}
}

function checkZip(pointer) {
	pointer.value = jsDV_strTrim(pointer.value);
	if(pointer.value != "") {
		var flag = 0;
		strchar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 -";
		for (var i=0; i<pointer.value.length; i++) {
			tst = pointer.value.substring(i,i+1);
    		if (strchar.indexOf(tst)<0)
      			flag++;
		}
		if (flag != 0) {
        	alert("Please enter a valid zip/postal code");
			pointer.select();
        	pointer.focus();
        	return false; 
		}
	}
}

function checkCountryZip(zipptr,ctrptr) {
	var zip = "";
	var formatzip = "";
	var country = "";
	var flag = 0;
	var i;
	var msg;
	zip = zipptr.value;
	
	for (i=0; i<ctrptr.length; i++) {
		if (ctrptr[i].selected == true)
			country = ctrptr[i].value;
	}
	if ((zip != "") && (country == "CA")) {
		var strchar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
		var strint = "0123456789";
		for (i=0; i<zip.length; i++) {
			tst = zip.substring(i,i+1);
			switch(i) {
				case 0:
				case 2:
				case 5:
					if (strchar.indexOf(tst)<0)
						flag++;
					break;
				case 1:
				case 4:
				case 6:
					if (strint.indexOf(tst)<0)
						flag++;	
					break;
				case 3:
					if (tst == "-")
						tst = " ";
					if (tst != " ")
						flag++;
					break;
				default:
					if (i>6)
						flag++;
					break;
			}
			formatzip = formatzip + tst;
			msg = "Canadian postal code format is incorrect. Correct format is\nLDL DLD\nwhere L=letter, D=digit, and the space in the middle is required.";
		}
	}
	else {
		formatzip = zip;
		msg = "Please enter a correct format zip/postal code";
	}
	
	if (flag != 0) {
        alert(msg);
        return false; 
	}
	else
		zipptr.value = formatzip.toUpperCase();
}
