function GetXmlHttpObject() {
	var xmlHttp=null;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e) {
		// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

function urlencode(str) {
str = escape(str);
str = str.replace('+', '%2B');
str = str.replace('%20', '+');
str = str.replace('*', '%2A');
str = str.replace('/', '%2F');
str = str.replace('@', '%40');
return str;
}

function urldecode(str) {
str = str.replace('+', ' ');
str = unescape(str);
return str;
}


function myform_submit(form, obj) {
	if(typeof(obj.className) != 'undefined' || typeof(obj.innerHTML) != 'undefined') {
		obj.className = "holdbutton";
		obj.innerHTML = LG_HOLD+"...";
		obj.disabled = true;
	}
	else obj.disabled = true;
	form.submit();
}

function myfield_disable(obj) {
	if(typeof(obj.className) != 'undefined') {
		obj.style.backgroundColor = '#eeeeee';
		obj.style.color = '#7e7e7e';
	}
	obj.disabled = true;
}

function myfield_enable(obj) {
	if(typeof(obj.className) != 'undefined') {
		obj.style.backgroundColor = '#ffffff';
	}
	obj.disabled = false;
}

function JS_trimLeft(s) {
	var whitespaces = " \t\n\r";
	for(n = 0; n < s.length; n++) { 
		if (whitespaces.indexOf(s.charAt(n)) == -1) 
			return (n > 0) ? s.substring(n, s.length) : s; 
	}
	return("");
}
function JS_trimRight(s){
	var whitespaces = " \t\n\r";
	for(n = s.length - 1; n  > -1; n--) { 
		if (whitespaces.indexOf(s.charAt(n)) == -1) 
			return (n < (s.length - 1)) ? s.substring(0, n+1) : s; 
	}
	return("");
}
function JS_trim(s) {
	return ((s == null) ? "" : JS_trimRight(JS_trimLeft(s))); 
}

function JS_isBlank(field, strBodyHeader) {
	strTrimmed = JS_trim(field.value);
	if (strTrimmed.length > 0) return false;
	alert("\"" + strBodyHeader + "\" "+LG_REQUIRED_FIELD);
	field.focus();
	return true;
}

function JS_isBlank2(field, strBodyHeader) {
	strTrimmed = JS_trim(field.value);
	if (strTrimmed.length > 0) return false;
	return true;
}

function JS_invChars(field, strBodyHeader, chars) {
	for (i=0; i < chars.length; i++) { 
		if(field.value.indexOf(chars.charAt(i)) != -1) {
			alert(LG_INVALID_CHAR+" - \""+chars.charAt(i)+"\" - "+LG_IN_FIELD+" \"" + strBodyHeader + "\"");
			field.focus();
			return true;
		}
	}
	return false;
}

function JS_isChecked(field, strBodyHeader) {
	for(i=0; i<field.length; i++) {
		if(field[i].checked) return true;
	}
	alert("\"" + strBodyHeader + "\" "+LG_REQUIRED_CHOICE);
	field[0].focus();
	return false;
}

function JS_isSelected(field, strBodyHeader) {
	if(field[field.selectedIndex].value == "") {
		alert("\"" + strBodyHeader + "\" "+LG_REQUIRED_CHOICE);
		field.focus();
		return false;
	}
	else return true;
}


function JS_isNumber(field, strBodyHeader) {
	var strVal = JS_trim(field.value);
	if (strVal.length == 0 || strVal.length > 999) return false;
	var 	x = 0;
	for (i=0;i < strVal.length; i++) { 
		if (strVal.charAt(i) >= '0' && strVal.charAt(i) <= '9') x++;
	}
	if (strVal.length > x) {
		alert(LG_INCORRECT_VALUE_FOR_FIELD+" \""+ strBodyHeader + "\".");
		field.focus();
		return false;
	} else {
		return true;
	}
}

function JS_isCodPostal(field4, field3, strBodyHeader) {
	strVal4 = JS_trim(field4.value);
	if(strVal4.length == 4) {
		for(i=0;i < strVal4.length; i++) { 
			if(strVal4.charAt(i) < '0' || strVal4.charAt(i) > '9') break;
		}
		if(i == strVal4.length) {
			strVal3 = JS_trim(field3.value);
			if(strVal3.length == 3) {
				for(i=0;i < strVal3.length; i++) { 
					if(strVal3.charAt(i) < '0' || strVal3.charAt(i) > '9') break;
				}
				if(i == strVal3.length) return true;
			}
		}
	}
	alert(LG_INCORRECT_VALUE_FOR_FIELD+" \""+ strBodyHeader + "\". "+LG_USE_FORMAT+" \"1234-567\"");
	field4.focus();
	return false;
}

function JS_isPhone(field) {
	strVal = JS_trim(field.value);
	first = strVal.charAt(0);
	if(strVal.length == 9 && parseInt(strVal) == strVal && (first == "2" || first == 9)) {
		return true;
	}
	return false;
}

function JS_isValidNum(field, len, strBodyHeader) {
	strVal = JS_trim(field.value);
	if(strVal.length == len) {
		for(i=0;i < strVal.length; i++) { 
			if(strVal.charAt(i) < '0' || strVal.charAt(i) > '9') break;
		}
		if(i == strVal.length) return true;
	}
	alert(LG_INCORRECT_VALUE_FOR_FIELD+" \""+ strBodyHeader + "\". "+LG_MUST_CONTAIN+" "+len+" "+LG_NUMBERS_WITHOUT_SPACES);
	field.focus();
	return false;
}

function JS_isDate(field, strBodyHeader) {
	//date format YYYY-MM-DD
	var strVal = JS_trim(field.value);
	data = strVal.split("-");
	if(data.length == 3) {
		if(data[0] > 1900 && data[1] > 0 && data[1] < 13 && data[2] > 0 && data[2] < 32) return true;
	}
	alert(LG_INCORRECT_VALUE_FOR_FIELD+" \"" + strBodyHeader + "\". "+LG_USE_FORMAT+" \"AAAA-MM-DD\".");
	field.select();
	field.focus();
	return false;
}

function JS_isEmail(field, strBodyHeader) {
	if(JS_isBlank(field, strBodyHeader)) return false;
	var strMsg = ""; 
	var chAt  = '@'; 
	var chDot = '.'; 
	var strEmailAddr = JS_trim(field.value);
	   if (strEmailAddr.length == 0) return true;
	   if (strEmailAddr.indexOf(" ") == -1)
	   {
	       var iFirstAtPos = strEmailAddr.indexOf(chAt);
	       var iLastAtPos = strEmailAddr.lastIndexOf(chAt);
	       if (iFirstAtPos > 0 && iFirstAtPos < (strEmailAddr.length - 1) &&iFirstAtPos == iLastAtPos) {
		   // look for '.' there must be at least one char between '@' and '.'
		   var iDotPos = strEmailAddr.indexOf(chDot, iFirstAtPos + 1);
		   if (iDotPos > (iFirstAtPos + 1) && iDotPos < (strEmailAddr.length -1)) return true;
	       }
	   }
	   alert(LG_INVALID_EMAIL_ADDRESS+" \"" + strBodyHeader + "\"");
		 field.select();
	   field.focus();
	   return false;
}

function JS_makeParent(rid) { 
	document.Com.ParentRid.value = rid;
}

var clicked = 0;




