//
// Common Javascript functions
//

function txtLimit(txtObj) {
	if (txtObj.value.length == maxTxtLen) return false;
	return true;
}

function txtCount(txtObj,Cnt) { 
	var objCnt = createObject(Cnt);
	var objVal = txtObj.value;
	if (objVal.length > maxTxtLen) objVal = objVal.substring(0,maxTxtLen);
	if (objCnt) objCnt.innerText = maxTxtLen-objVal.length;
	return true;
}

function createObject(objId) {
	if (document.getElementById) return document.getElementById(objId);
	else if (document.layers) return eval("document." + objId);
	else if (document.all) return eval("document.all." + objId);
	else return eval("document." + objId);
}

function isNotEmpty(elem) {
	var str = elem.value;
	var re = /.+/;
	if (!str.match(re)) {
		alert("Please fill in the required fields.");
		return false;
	} else {
		return true;
	}
}

function isEmpty(elem) {
	var str = elem.value;
	var re = /.+/;
	if (!str.match(re)) {
		return true;
	} else {
		return false;
	}
}

function isNumberList(elem) {
	var str = elem.value;
	var re = /^\d*(?:,\d+)*$/;
	str = str.toString();
	if (!str.match(re)) {
		alert("Enter only positive integers.\nSeparate multiple spans with commas.")
		return false;
	}
	return true;
}

function isNumber(elem) {
	var str = elem.value;
	var re = /^[\d]*$/;
	str = str.toString();
	if (!str.match(re)) {
		alert("Enter only numbers")
		return false;
	}
	return true;
}

function isDateTime(elem) {
	var re = /^\d{4}\-\d{2}\-\d{2}(?: \d{2}\:\d{2}\:\d{2})?$/;
	if (re.test(elem.value)) {
		return true;
	} else {
		alert("The date/time format is incorrect.\n\nFormat should be YYYY-MM-DD HH:MM:SS");
		return false;
	}
}

function isIPaddress(elem) {
	var re = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;
	if (re.test(elem.value)) {
		return true;
	} else {
		alert("The IP address entered is incorrect.");
		return false;
	}
}

function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		document.getElementById('p_status').innerHTML = 'Status: Cound not create XmlHttpRequest Object.  Consider upgrading your browser.';
	}
}

function logout() {
	showAlphaDiv();

	if (confirm('Are you sure you want to logout?')) {
		return true;
	} else {
		hideAlphaDiv();
		return false;
	}
}

function showAlphaDiv(){
	var x = getWidth();
	var y = getHeight();
	document.getElementById('div_fondo').style.visibility='visible';
	document.getElementById('div_fondo').style.width=x;
	document.getElementById('div_fondo').style.height=y;
}

function hideAlphaDiv(){
	document.getElementById('div_fondo').style.visibility='hidden';
}

function mostrarLoad(lyrAct,msg){
	var x = getWidth();
	var y = getHeight();
	document.getElementById('div_fondo').style.visibility='visible';
	document.getElementById('div_fondo').style.width=x;
	document.getElementById('div_fondo').style.height=y;
	var lyr = document.getElementById(lyrAct);	
	lyr.style.top = y/2-100;
	lyr.innerHTML = '<img src="images/ajax-loader1.gif"/><br /><font color="#000000" style="font-size:16px;">'+msg+'</font>';
}

function ocultaLoad(lyrAct){
	document.getElementById(lyrAct).innerHTML='';
	document.getElementById('div_fondo').style.visibility='hidden';
}

function showLoader(lyrAct,msg){
	var x = getWidth();
	var y = getHeight();
	document.getElementById('divLoader').style.visibility='visible';
	document.getElementById('divLoader').style.width=x;
	document.getElementById('divLoader').style.height=y;
	var lyr = document.getElementById(lyrAct);	
	lyr.style.top = y/2-100;
	lyr.innerHTML = '<img src="images/ajax-loader.gif"/><br /><font style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; color: #FF0000;">'+msg+'</font>';
}

function hideLoader(lyrAct){
	document.getElementById(lyrAct).innerHTML='';
	document.getElementById('divLoader').style.visibility='hidden';
}

function getWidth() {
    var helper;
    if (null == (helper = document.getElementById('styleSwapHelper'))) {
        var helper = document.createElement('div');
        helper.style.position = 'absolute';
        helper.style.margin = '0';
        helper.style.padding = '0';
        helper.style.right = '0';
        helper.style.width = '10px';
        document.getElementsByTagName('body')[0].appendChild(helper);
    }
    return helper.offsetLeft + 10;
}

function getHeight() {
    if (self.innerHeight) { // MOS
        y = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientWidth) { // IE6 Strict
        y = document.documentElement.clientHeight;	
    } else if (document.body.clientHeight) { // IE quirks
        y = document.body.clientHeight;
    }

	return y;
}