function MakeRemote(url, win, features) {

	window.open(url, win, features).focus();
}


function Trim(myString) {
	return myString.replace(/^\s+/g, '').replace(/\s+$/g, '');
}


function IsNull(obj) {
	if (obj.value == null) return true;
	else return !Trim(obj.value).length;
}


/* Evaluate if a form field contains a valid email address. */
function CheckEmail(element){
	if (element.value.indexOf("@") == -1)
		return false;
	
	var emailFilter = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i;
		return emailFilter.test(Trim(element.value));
}


function IsChecked(obj) {
	
	if (obj.length > 0) {
		for (i=0; i<obj.length; i++) {
			if (obj[i].checked) return true;
		}
	} else if (obj.checked) {
		return true
	}
	
	return false;	
}


function NChecked(obj) {
	
	var c = 0;
	
	if (obj.length > 0) {
		for (i=0; i<obj.length; i++) {
			if (obj[i].checked) c++;
		}
	} else if (obj.checked) {
		c = 1;
	}
	
	return c;	
}


function IsSelected(obj) {
	return (obj.selectedIndex > -1);
}


function CheckedAll(obj1,obj2) {
	var sts = obj1.checked;
		
	if (obj2.length > 0) {
		for (i=0; i<obj2.length; i++) {
			obj2[i].checked = sts;
		}
	} else if (obj2.checked) {
		obj2.checked = sts;
	}
}


function RCheckedAll(obj1,obj2) {
	var sts = true;
		
	if (obj2.length > 0) {
		for (i=0; i<obj2.length; i++) {
			if (!obj2[i].checked) {sts = false};
		}
	} else if (obj2.checked) {
		obj2.checked = sts;
	}
	
	obj1.checked = sts;	
}


function OnError(obj, message) {
	alert(message);
    obj.focus();
	return false;	
}


function ShowHideObject(obj) {
	if (document.getElementById(obj).style.display == 'none') {
		document.getElementById(obj).style.display = '';
	}
	else {
		document.getElementById(obj).style.display = 'none';
	}
}