function setVisible(id, isVisible) {
	var myControl = document.getElementById(id);
	if (myControl != null) {
	    if (isVisible) {
	    	 myControl.style.display="inline"; 
	    } else {
			 myControl.style.display="none";  
	    }
	}
}

function setEnabled(id, isVisible) {
	var myControl = document.getElementById(id);
    if (isVisible) {
        myControl.disabled=false;
    } else {
        myControl.disabled=true;
    }
}

function gotoPage(id, pageNumber) {
	var form = document.getElementById(id);	
	form.pageNumber.value = pageNumber;
	return submitFormWithEvent(id,'gotoPage');
}

function submitFormWithEvent(id, eventName) {
	var myForm = document.getElementById(id);
	myForm._eventName.value = eventName;
	myForm.submit();
	return false;
}

function applyFilter(id, eventName) {
	var form = document.getElementById(id);
	if (form.pageNumber.value != '-1') {
		form.pageNumber.value = '1';
	}
	submitFormWithEvent(id,eventName);
}

function submitForm(id) {
	var myForm = document.getElementById(id);
	myForm.submit();
}

function getCookieVal (offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1) { endstr = document.cookie.length; }
	
	return unescape(document.cookie.substring(offset, endstr));
}

function getCookie (name) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if(document.cookie.substring(i, j) == arg) { return getCookieVal (j); }
		
		i = document.cookie.indexOf(" ", i) + 1;
		if(i == 0) { break; }
	}
	return null;
}

function setCookie(name, value, days) {
	var expires;
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		expires = "; expires="+date.toGMTString();
	} else {
		expires = "";
	}
	document.cookie = name + "=" + escape(value) + expires + "; path=/"; 
}

function eraseCookie(name) {
	setCookie(name,"",-1);
}

String.prototype.startsWith = function(str) {
	return (this.match("^"+str)==str);
}

/** Moves the browser scroll bar to the position passed within the supplied request parameter. */
function scrollTo(parameterName) {
	var pos = getParameter(parameterName);
	if (pos != "null") {
		window.scrollTo(0, pos);
	}
}

/** Returns the parameter value from the querystring or "null" if the parameter is not found. */
function getParameter(parameterName) {
	var qs = window.top.location.search.substring(1);
	var parameterName = parameterName + "=";
	if (qs.length > 0) {
		begin = qs.indexOf(parameterName);
		if (begin != -1 ) {
			begin += parameterName.length;
			end = qs.indexOf ("&", begin);
			if (end == -1) {
			   end = qs.length;
			}
		}
		return unescape(qs.substring(begin, end));
	}
	return "null";
}

/** Checks all check boxes.  Pass the form control. */
function checkAll(fmobj) {
	for (var i=0;i<fmobj.elements.length;i++) {
		var e = fmobj.elements[i];
		if ((e.name != 'allBox') && (e.type=='checkbox') && (!e.disabled)) {
			e.checked = fmobj.allBox.checked;
		}
	}
}

function toggleCheckAllFields(allField, fieldToCheck) {
	var isChecked = allField.checked;
	if (fieldToCheck.length) {
		for (i = 0; i < fieldToCheck.length; i++) {
			fieldToCheck[i].checked = isChecked;
		}
	} else {
		fieldToCheck.checked = isChecked;
	}
}

function toggleCheckBoxIdx(checkBoxId, idx) {
	var cbx = checkBoxId[idx];
	toggleCheckBox(cbx);
}

function toggleCheckBox(cbx) {
	var isChecked = cbx.checked;
	cbx.checked = !isChecked;
}

function openWindow(url,width,height) {
	window.open(url,'',"width=" + width + ",height=" + height 
		+ ",menubar=no,height=" + height + ",width=" 
		+ width + ",resizable=yes,toolbar=no,location=no,status=no,scrollbars=1");
}

