/**
  * Checks/unchecks all options of a <select> element
  *
  * @param   string   the form name
  * @param   string   the element name
  * @param   boolean  whether to check or to uncheck the element
  *
  * @return  boolean  always true
  */
function setSelectOptions(the_form, the_select, do_check) {
	var selectObject = document.forms[the_form].elements[the_select];
	var selectCount  = selectObject.length;
	
	for (var i = 0; i < selectCount; i++) {
		selectObject.options[i].selected = do_check;
	} // end for
	
	return true;
} // end of the 'setSelectOptions()' function

// Generic Jump Menu
function JumpMenu(targ,selObj){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
}

//Function to open pop up window
function openWin(theURL,winName,features) {
	window.open(theURL,winName,features);
}

// Navigation Drop Down List
function navMenu(targ,selObj) {
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
}

// Trims White Spaces in the passed values
function trimText(obj) {
	var str = "";
	for (var i=0; i < obj.length; i++) {
		var letter = obj.charAt(i).toLowerCase();
		if (letter == " ")
			continue;
		str = str + letter;
	}
	return str;
}

// Validates Passed URL
function isValidURL(url) { 
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/; 
    if(RegExp.test(url)) { 
        return true; 
    } else { 
        return false; 
    } 
} 

// Validates Passed Email Address
function isValidEmail(email){
	if (/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/.test(email)) {
		return (true);
	}
	else {
		return (false);
	}
} 

// Select Jump Menu Function
function MM_jumpMenu(targ,selObj,restore){ //v3.0
	eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
	if (restore) 
		selObj.selectedIndex=0;
}

// Select/Unselect All Checkboxes
function frmSelectAll(FormName, FieldName) {
	f = document.forms[FormName];
	c = f.selectall.checked;
	if (f.elements[FieldName]) {
		if (f.elements[FieldName].length > 1) {
			for (i = 0; i < f.elements[FieldName].length; i++)
				f.elements[FieldName][i].checked = c;
		} else {
			f.elements[FieldName].checked = c;
		}
	}
}

// Form Processing
function frmCheckSelectForm(FormName, FieldName, ErrorText) {
	var f = document.forms[FormName];
	
	itemchecked = 0;
	
	if (f.elements[FieldName]) {
		if (f.elements[FieldName].length > 1) {
			for (i = 0; i < f.elements[FieldName].length; i++) {
				if (f.elements[FieldName][i].checked) {
					itemchecked++;
				}
			}
		}
		else {
			if (f.elements[FieldName].checked)
				itemchecked = 1;
		}
	}
		
	if (itemchecked == 0) {
		alert(ErrorText);
		return(false);
	}
		
	else if ((itemchecked !== 0) && confirm("Are you sure ?")) {
		f.action.value = "delete";
		f.submit();
		return(true);
	}
	else {
		return(false);
	}
}
