/*
Written By : Anton Modaresi

URL utilities
*/

function checkEmailAddress(emailAddressObject, isOptional) {
	var regExp = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;

	if (isOptional && emailAddressObject.value == "") {
		return true;
	} else {
		return regExp.test(emailAddressObject.value);
	}
}

function checkURL(URLObject, allowQuery) {
	var regExp = /^(http|https)\:\/\/([\w\d-]+\.?)$/;

	if( allowQuery ) {
		regExp = /^(http|https)\:\/\/[\w\d-]+(\.[\w\d-]+){1,3}(\?.*)?$/;
	}

	return regExp.test(URLObject.value);
}

function urlEncode (url) {
    var escaped = escape (url);
    escaped = escaped.replace(/\+/g, '%2b');
    return escaped;
}

function checkDomain(domain) {
	var regExp = /^(([a-zA-Z0-9\-]+\.)+)([a-zA-Z]{2,4})$/;
	return regExp.test(domain.value);
}

function checkIP(ip) {
	var regExp = /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/;
	return regExp.test(ip.value);
}

function cicompare(string1, string2) {
    string1 = string1.toLowerCase();
    string2 = string2.toLowerCase();
	return (string1 == string2);
}

function showDiv(divid) { //DOM
	if (document.getElementById){
		document.getElementById(divid).style.visibility='visible';
	}else{
		if (document.layers){ //NS4
		   eval("document." +divid + ".visibility") = 'visible';
		} else { //IE4
		  eval("document.all." +diviv + ".style.visibility") = 'visible';
		}
	}
}

function hideDiv(divid) { //DOM
	if (document.getElementById){
		document.getElementById(divid).style.visibility='hidden';
	}else{
		if (document.layers){ //NS4
		   eval("document." +divid + ".visibility") = 'hidden';
		} else { //IE4
		  eval("document.all." +diviv + ".style.visibility") = 'hidden';
		}
	}
}

function checkLetters( Letters, String )
{
     var c;
     for( var i = 0; i < String.length; i ++ )
     {
          c = String.charAt( i );
	  	  if (Letters.indexOf( c ) < 0) return false;
     }
     return true;
}

function checkLength(obj,dispobj,mlength){
	if(obj.value.length>mlength){
		obj.value = obj.value.substr(0,mlength);
		alert('max length of this field = '+mlength);
		obj.focus();
		}
	dispobj.value = mlength - obj.value.length;
}

