// function to validate the address info.
function checkFormPDAddr(lang)
{
	var err = "";
	var snum = document.PropertyDetails1.StreetNumber.value;
	var sname = document.PropertyDetails1.StreetName.value;

	// validate number (numbers only)
	if (snum == "") { err += "The Street Number must be filled in.\n";
	} else {
		if (isNaN(snum)) { err += "The Street Number requires a numeric value.\n"; }
	}

	// validate name (may not be blank)
	if (sname == "") { err += "The Street Name must be filled in.\n"; }

	if (err > "")
	{
		if (lang == "EN") { alert(err);
		} else { alert(err); }
	} else {
		popResults("PropertyDetails1");
	}
}

function stripSpaces(val)
{
	var result = "";
	for (i=0; i<val.length; i++)
	{
		var c = val.charAt(i);
		if (c != " ")
		{
			result += c;
		}
	}
	return result;
}

function checkFormBARoll(lang,txtBAPid)
{
	var err = "";
	var baRoll = document.getElementById(txtBAPid);
	baRollVal = stripSpaces(baRoll.value);
	
	if (baRollVal == "")
		err += "The Business Assessment Roll Number is required.\n";
	else
	{
		if (isNaN(baRollVal))
		  err += "The Business Assessment Roll Number must be a numeric value.\n"; 
		else if (baRollVal <= 1)
		  err += "The Business Assessment Roll Number must be a greater than 1.\n"; 
	}	
	baRoll.value = baRollVal;
	
	if (err > "")
	{
		if (lang == "EN") { alert(err);
		} else { alert(err); }
	} 
	else 
		popResults("PropertyDetails2");
	
}


// function to validate the roll # info.
function checkFormPDRoll(lang)
{
	var err = "";
	var valid = new Array("-","0","1","2","3","4","5","6","7","8","9");
	var rn = document.PropertyDetails2.RollNumber.value;
	rn = stripSpaces(rn);

	// validate roll number (numbers, hyphen)
	if (rn == "") { err += "The Roll Number is required.\n";
	} else {
		var bad = 0;
		for (i = 0; i < rn.length; i++)
		{
			var c = rn.charAt(i); var ok = 0;
			for (j = 0; j<valid.length; j++) { if (c == valid[j]) ok++; }
			if (ok == 0) bad++;
		}
		if (bad > 0) { err += "The Roll Number may only contain numbers or hyphens.\n";}
	}

	document.PropertyDetails2.RollNumber.value = rn;

	if (err > "")
	{
		if (lang == "EN") { alert(err);
		} else { alert(err); }
	} else {
		popResults("PropertyDetails2");
	}
}

/*
	Function to pop the results page in a separate window, with the browser chrome stripped off.
	Works with Forms using GET (query strings) only.
*/
function popResults(sFormID) {
	var oForm = document.getElementById(sFormID);

	var sQS = buildQueryString(oForm);
	
	var sURL = oForm.action + "?" + sQS;

	var childWindow = window.open(sURL, "PropDetail", "toolbar=0,menubar=0,scrollbars=1,resizable=1,width=1000,height=800");
	childWindow.focus();
	

	return false;
}

/*
Used when doing a GET-type "submission" from Javascript based on current form entries.
*/
function buildQueryString(oForm) {
	var sQS = "";
	var amp = "";
	for(i=0; i < oForm.elements.length; i++) {
		if (oForm.elements[i].type =="text" || oForm.elements[i].type == "textarea" || oForm.elements[i].type == "hidden") {
			sQS += amp + oForm.elements[i].name + "=" + oForm.elements[i].value;
		} else if (oForm.elements[i].type == "checkbox") {
			sQS += amp + oForm.elements[i].name + "=" + oForm.elements[i].checked;
		} else if (oForm.elements[i].type == "select-one") {
			sQS += amp + oForm.elements[i].name + "=" + oForm.elements[i].options[oForm.elements[i].selectedIndex].text;
		}			
		amp = "&";	
	}
	return sQS;
}

