// mark function
function ValidateFloat(frmObj) {
	var regDigits=/^((\d+(\.\d*)?)|((\d*\.)?\d+))$/;
	var tmpStr=frmObj.value;
	while( (!regDigits.test(tmpStr)) && (tmpStr.length > 0) ) {
		tmpStr = tmpStr.substring(0,tmpStr.length-1);
	}
	frmObj.value=tmpStr;
}
// end
<!-- 
function getgenrelist(genrelist, genrelist2) {
	var thelist = genrelist.options;
	var keycount = thelist.length;

	var item = "";
	var items = "";

	for(i=0;i<keycount;i++){
		item = thelist[i].value;
		items += (items!="") ? " " : "";
		items += item;
	} //-- end of for ---
	genrelist2.value = items;
}

//add keyword to <select> keywords
//NOTE: select options list is zero-based.
function add_category(categorylist,toaddkey,toaddvalue){
	var lastindex = categorylist.options.length;
	//var maxkeywords = 16;
	var inthelist=false;

	if (toaddkey!="") {
		//-- check if existing in option list --
		for(var i=0; i<lastindex; i++) {
			if(toaddkey==categorylist.options[i].value){
				inthelist=true;
				break;
			}
		} //-- end of for --

		if(!inthelist) {
			categorylist.options[lastindex] = new Option(toaddvalue,toaddkey);
			categorylist.value="";
			categorylist.focus();
			//form.keycount.value=lastindex+1;
		} else {
			alert(toaddvalue+" already added in the list.");
			return false;
		}

	} //-- end of if toadd --
}

//delete keyword from <select> keywords
function delete_genre(categorylist){
	var frmObj	= categorylist.options;

	if(frmObj.selectedIndex!=-1) {
		frmObj[frmObj.selectedIndex] = null;
		form.keycount.value=frmObj.length;
		frmObj.focus();
	} else {
		alert("Please select from the list of categories.");
	}
}



//--------------- calendar list of events 0\-------------------------
function CheckFilters(month, year){
	if(document.getElementById(month).value && !document.getElementById(year).value) {
		alert("Please select a year."); 
		return false;
	}
	else if(!document.getElementById(month).value && document.getElementById(year).value) {
		alert("Please select a month."); 
		return false;
	}
	else {
		window.location="main.php?link=events.inc&month="+document.getElementById(month).value+"&year="+document.getElementById(year).value; 
	}
}

//-------------------------------- script for editing result view permissions -----------------------------------------------------
function add_personnel(form,toadd,toaddkey){
	var lastindex = form.p_personnels.options.length;
	var inthelist = false;
	
	if (toadd!="") {
		//-- check if existing in option list --
		for(var i=0; i<lastindex; i++) {
			if(toaddkey==form.p_personnels.options[i].value){
				inthelist=true;
				alert("Selected personnel already added.");
				break;
			}
		} //-- end of for --

		if(!inthelist) {
			form.p_personnels.options[lastindex] = new Option(toadd,toaddkey);
			if(form.personnel_ids.value){
				form.personnel_ids.value += "," + toaddkey;
			}else {
				form.personnel_ids.value += toaddkey;
			}			
		}

	} //-- end of if toadd --
}
//-------------------------------- script for editing result view permissions -----------------------------------------------------

function delete_personnel(form){
	var frmObj	= form.p_personnels.options;
	var ids = form.personnel_ids.value.split(",");
	if(frmObj.selectedIndex!=-1) {
		var newids = new Array(); var x=0;
		for(var i=0; i<ids.length; i++){
			if(frmObj.selectedIndex != i){
				newids[x] = ids[i];
				x++;
			}
		}
		frmObj[frmObj.selectedIndex] = null;
		form.personnel_ids.value = newids.join(",");
	}
}

//--------------------------------------------------------------------------------
//Page Name to Page Title - used in page.inc.php
function CopyPageName(objPageTitle, objPageTitleTag, objCheck){
	objPageTitleTag.value = objPageTitle.value
	objCheck.checked = true;
}

function UsePageName(objCheck, objPageTitle, objPageTitleTag){
	if(objCheck.checked) {
		objPageTitleTag.value = objPageTitle.value
	} else {
		objPageTitleTag.value = '';
	}	
}

//--------------------------------------------------------------------------------
//-- windows popup 
function winpop(strURL, objName, width, height) {
	window.open(strURL, objName, 'scrollbars=yes,resizable=no,height=' + height + ',width=' + width +',left=' + (screen.width-width)/2 + ',top='+ (screen.height-height)/2 +',status=0');
}

//replace invalid chars (excludes space)
function RemoveQuotes(frmObj) {
	var regInvalid = /["'`\/\\/]/gi;
	var str = frmObj.value.toLowerCase();

	if (str.match(regInvalid))	frmObj.value = str.replace(regInvalid,"");
}

//replace invalid chars (for username)
function InvalidChars(frmObj) {
	var regInvalid = /[ ,:;~!@#$%^&*()?"'`<>+=|{}\/\\/]/gi;
	var str = frmObj.value.toLowerCase();

	if (str.match(regInvalid))	frmObj.value = str.replace(regInvalid,"");
}
//--------------------------------------------------------------------------------
//breaks out of frame
function breakout_of_frame(){
	if (top.location != location) {
		top.location.href = document.location.href ;
	}
}
//--------------------------------------------------------------------------------
//show hide element - pass id parameters of div 
function ShowHide(name){
	if (document.getElementById(name).style.visibility=="visible") {
		document.getElementById(name).style.visibility="hidden";
		document.getElementById(name).style.position="absolute";
	} else{
		document.getElementById(name).style.visibility="visible";
		document.getElementById(name).style.position="static";
	}
}
function ShowOnly(name){
	document.getElementById(name).style.visibility="visible";
	document.getElementById(name).style.position="static";
}	
function HideOnly(name){
	document.getElementById(name).style.visibility="hidden";
	document.getElementById(name).style.position="absolute";
}

function HideAll(start,count){
	for(i=start;i<count;i++){
		document.getElementById(i).style.visibility="hidden";
		document.getElementById(i).style.position="absolute";
	}	
}
function ShowAll(start,count){
	for(i=start;i<count;i++){
		document.getElementById(i).style.visibility="visible";
		document.getElementById(i).style.position="static";
	}	
}	

//--------------------------------------------------------------------------------
//trim trailing and leading spaces and multispace inbetweens
function trim(value) {
   var temp = value;
   var obj = /^(\s*)([\W\w]*)(\b\s*$)/;
   if (obj.test(temp)) { temp = temp.replace(obj, '$2'); }
   var obj = / +/g;
   temp = temp.replace(obj, " ");
   if (temp == " ") { temp = ""; }
   return temp;
}
//--------------------------------------------------------------------------------
//Validate maximum characters
function MaxChar(frmObj,maxLen) {
	var tmpStr=frmObj.value;
	var strLen=tmpStr.length;
	if(strLen>=maxLen){
		alert('Maximum of '+maxLen+' characters only.');		
		frmObj.value=tmpStr.substring(0,maxLen);
	}
}
//--------------------------------------------------------------------------------
//Proper Case for Proper Nouns...
function ProperCase(frmObj) {
	var index;
	var tmpStr;
	var tmpChar;
	var preString;
	var postString;
	var strlen;

	tmpStr = trim(frmObj.value.toLowerCase());
	strLen = tmpStr.length;

	if (strLen > 0)  {
		for (index = 0; index < strLen; index++)  {
			if (index == 0)  {
				tmpChar = tmpStr.substring(0,1).toUpperCase();
				postString = tmpStr.substring(1,strLen);
				tmpStr = tmpChar + postString;
			} else {
				tmpChar = tmpStr.substring(index, index+1);
				if (tmpChar == " " && index < (strLen-1))  {
					tmpChar = tmpStr.substring(index+1, index+2).toUpperCase();
					preString = tmpStr.substring(0, index+1);
					postString = tmpStr.substring(index+2,strLen);
					tmpStr = preString + tmpChar + postString;
	         	}
	      	}
	   }
	}
	frmObj.value = tmpStr;
}
function LowerCase(frmObj){
	frmObj.value = frmObj.value.toLowerCase();
}	
function UpperCase(frmObj){
	frmObj.value = frmObj.value.toUpperCase();
}
//--------------------------------------------------------------------------------
//Add Dot [for M.I.]
function AddDot(frmObj) {
	var tmpStr = trim(frmObj.value);
	if(tmpStr){
		tmpStr = tmpStr.replace(".","")
		tmpStr = tmpStr.toUpperCase()
		frmObj.value = tmpStr + ".";
	}
}
//--------------------------------------------------------------------------------
//Restrict Phone and Fax to Digits and some characters
function ValidatePhoneFax(frmObj) {
	var regNotPhone=/[^- +\/(0-9)]/gi;
	var tmpStr=frmObj.value;
	if(tmpStr.match(regNotPhone)) {
		frmObj.value=tmpStr.replace(regNotPhone,"");
	}
}
//--------------------------------------------------------------------------------
//Validate Email Address
function ValidateEmail(frmObj) {
	if (frmObj.value!=''){
		var regEmail=/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi;
	
		if(!regEmail.test(frmObj.value)) {
			alert("Sorry, invalid email address format.");
			frmObj.select();
			frmObj.focus();
		}
	}
}
//--------------------------------------------------------------------------------
//Allow numeric character only
function NumCharOnly(frmObj) {
	var regDigits=/[^0-9]/;
	var tmpStr=frmObj.value;
	if(tmpStr.match(regDigits)) {
		frmObj.value=tmpStr.replace(regDigits,"");
	}
}
function ValidateInt(frmObj) {
	var regDigits=/[^0-9]/;
	var tmpStr=frmObj.value;
	if(tmpStr.match(regDigits)) {
		frmObj.value=tmpStr.replace(regDigits,"");
	}
}

//--------------------------------------------------------------------------------
//----------------- CALENDAR FUNCTIONS -------------------------------------------
function y2k(number)    { return (number < 1000) ? number + 1900 : number; }

var today = new Date();
var day   = today.getDate();
var month = today.getMonth();
var year  = y2k(today.getYear());
//-- change output textbox ---
var outbox = '';

function padout(number) { return (number < 10) ? '0' + number : number; }

function restart() {
	//-- change output textbox ---
    outbox.value = '' + padout(month - 0 + 1) + '/' + padout(day) + '/' + year;
    outbox.focus();
    mywindow.close();
}

function openCal() {
    var myWidth=350
    var myHeight=250
    mywindow=open('cal.htm','mycal','resizable=no, width='+myWidth+',height='+myHeight+',top='+(screen.height-myHeight)/2+',left='+(320+screen.width-myWidth)/2 +',scrollbar=no');
    mywindow.location.href = 'cal.htm';
    if (mywindow.opener == null) mywindow.opener = self;
}
//--------------------------------------------------------------------------------
function tdcolor(el1, el2, el3, el4, el5, el6, el7) {
	el1.style.color = "#FFFFFF"
	el1.style.backgroundColor = "#9999CC"
	el2.style.color = "#000099"
	el2.style.backgroundColor = "#FFFFFF"
	el3.style.color = "#000099"
	el3.style.backgroundColor = "#FFFFFF"
	el4.style.color = "#000099"
	el4.style.backgroundColor = "#FFFFFF"
	el5.style.color = "#000099"
	el5.style.backgroundColor = "#FFFFFF"
	el6.style.color = "#000099"
	el6.style.backgroundColor = "#FFFFFF"
	el7.style.color = "#000099"
	el7.style.backgroundColor = "#FFFFFF"
}
//-->
//Permitted Links for User Level
<!-- Begin
function SelectedLinks(obj,frm) {
	strLink=" "+obj.value+","
	strLinks=frm.links.value

	if (strLinks!=""){
			frm.links.value = (strLinks.match(strLink)==null) ? strLinks+strLink : strLinks.replace(strLink, "");
	}else{
		frm.links.value = strLink
	}
}
// End -->
//--------------------------------------------------------------------------------
<!-- Begin
function SelectAll(frm, bcheck){
	var frmelements = frm.elements
	for (i=0; i<frmelements.length-1; i++){
			frmelements[i].checked=bcheck;		
		}
}
function SelectNone(frm, msg){
	var frmelements = frm.elements
	var icheck=false
	for (i=0; i<frmelements.length-1; i++){	
			if (frmelements[i].checked){
				icheck = true;
			}					
		}		
	if (!icheck){
		alert(msg);
	}
	return icheck;
}
//-- Validate Integer Value --
function isInt (str)
{
	var i = parseInt (str);
	if (isNaN (i))
		return false;
	i = i . toString ();
	if (i != str)
		return false;
	return true;
}


// End -->

