/****************************************************************************************
* 	FILENAME      : /script/cfcnj.js                                        	      	*
*   DESCRIPTION   : Javascript for CFC-NJ       	   			   			            *
*   CREATED       : Nilo F. Cantonjos, 05/21/2008                                       *
*****************************************************************************************/

var timerid     = null;
var matchString = "";
var mseconds    = 1000;
var isNN = (navigator.appName.indexOf("Netscape")!=-1);

function f(o)
{
	o.value=o.value.toUpperCase().replace(/([^0-9A-Z])/g," ");
}

function showWaitMessage()
{
	document.getElementById('MyID').innerHTML = "&nbsp;&nbsp;<font id='normal'>Querying Database.  Please wait...</font><br>&nbsp;&nbsp;<input type='text' name='clockface' id='clock'>";
	RunningTime();
}

function upperCase(x)
{
var y=document.getElementById(x).value;
document.getElementById(x).value=y.toUpperCase();
}


// ----  Restrict Maxlength on a TextArea -----

function checkLength(form, maxLn)
{
    if (form.description.value.length > maxLn)
    {
        alert("Input exceeds maximum allowable characters: "+ maxLn);
        return false;
    }
    return true;
}


// ------------------- Setting MaxLength on a TextArea --------------
function textCounter( field, countfield, maxlimit )
{
  if ( field.value.length > maxlimit )
  {
    field.value = field.value.substring( 0, maxlimit );
    alert('Please limit input to ' +maxlimit+ ' characters only');
    return false;
  }
  else
  {
    countfield.value = maxlimit - field.value.length;
  }
}

// -------------------------------- Running Time ---------------------------------
function RunningTime()
{

	var RightNow = new Date()

	var ampm = RightNow.getHours()
	if (ampm >= 12)
	{nampm = "PM"}
	else
	{nampm = "AM"}

	var hr = RightNow.getHours()
	if(hr > 12)
	{nhr = hr -12}
	else
	{nhr = hr}


	if (hr == 0)
	{nhr = "12"}
	else
	{nhr = nhr}

	var min = RightNow.getMinutes()
	if (min < 10)
	{nmin = "0" +min}
	else
	{nmin = min}

	var sec = RightNow.getSeconds() +1

	if (sec < 10)
	{nsec = "0" +sec}
	else
	{nsec = sec}

	if (nsec >= 60)
	{nnsec = "00"}
	else
	{nnsec = nsec}

	var printIt = nhr+ ":" +nmin+ ":" +nnsec+ ":" +nampm

	document.packForm.clockface.value = printIt

	var KeepItGoing=setTimeout("RunningTime()","1000")
}


//--------- EMULATE BACK AND FORWARD BUTTONS (FIREFOX ----------
function goBack()
{

  if (navigator.appName != "Microsoft Internet Explorer")
  {
    window.back();
  }
  else
  {
    history.back();
  }
}

function goForward()
{
  if (navigator.appName != "Microsoft Internet Explorer")
  {
    window.forward();
  }
  else
  {
    history.forward();
  }
}
// ------------------- Shift Highlight -------------------
function shiftHighLight(keyCode,targ)
{
	keyVal      = String.fromCharCode(keyCode);
	matchString = matchString + keyVal;

	elementCnt  = targ.length - 1;

	for (i = elementCnt; i > 0; i--)
	{
		selectText = targ.options[i].text.toLowerCase();
		if (selectText.substr(0,matchString.length) == 	matchString.toLowerCase())
		{
			targ.options[i].selected = true;
		}
	}
	clearTimeout(timerid);
	timerid = setTimeout('matchString = ""',mseconds);
	return false;
}
//-----------------------------------------------------------------------------------------------
function autoTab(input, len, e)
{
	var keyCode = (isNN) ? e.which : e.keyCode;
	var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];

	if(input.value.length >= len && !containsElement(filter,keyCode))
	{
		input.value = input.value.slice(0, len);

		var element = input.form[(getIndex(input)+1) % input.form.length];
		if(element.type == 'text')
		{
			element.select();
		}
		else
		{
			element.focus();
		}
	}

	return true;
}

function containsElement(arr, ele)
{
	var found = false, index = 0;
	while(!found && index < arr.length)
	if(arr[index] == ele)
	found = true;
	else
	index++;
	return found;
}

function getIndex(input)
{
	var index = -1, i = 0, found = false;
	while (i < input.form.length && index == -1)
	if (input.form[i] == input)index = i;
	else i++;
	return index;
}
// ------------------- Format Phone Number ------------------
function formatPhone(elm, e) {
    var keychar;

    // If used in onkeypress, pass in the event and this will
    // grab the character and do the right thing. This allows
    // for a smoother user experience than if the chars are
    // being visibly deleted.
    if (e) {
        var keynum;
        if (window.event) {
            keynum = e.keyCode
        }
        else if (e.which) {
            keynum = e.which
        }

        keychar = String.fromCharCode(keynum)
    }

    // Allow a backspace to go through, so the user
    // can correct any typos.
    if (/[\b]/.exec(keychar)) {
        return true;
    } else {
        var p = elm.value + keychar;

        // Don't allow a leading 1 or 0. We also strip out all
        // non-numeric characters here to make the formatting
        // easier later on. This could be modified to allow
        // letters if you consider them valid.
        p = p.replace(/^[01]/,"");
        p = p.replace(/\D+/g, "");

        // You can easily change the formatting of the phone
        // number by editing the conditionals below.
        if (p.length > 0 && p.length < 3) {
            p = "("+p;
        }
        else if (p.length >= 3 && p.length < 7) {
            p = "("+p.substring(0,3)+") "+p.substring(3);
        }
        else if (p.length >= 7 && p.length < 10) {
            p = "("+p.substring(0,3)+") "+p.substring(3,6)+"-"+p.substring(6);
        }
        else if (p.length) {
            p = "("+p.substring(0,3)+") "+p.substring(3,6)+"-"+p.substring(6,10);
        }
        elm.value = p;

        return false;
    }
}



// ------------------- Numeric Processing -------------------
function nn_Key()
{
	if ((event.keyCode<48) || (event.keyCode>57))
	event.keyCode = 0;
}


function imposeMaxLength(Object, MaxLen)
{
  return (Object.value.length <= MaxLen);
}

/*------------------- Alert Message for Log-out -------------------*/
function logOut()
{
 	 var logout= confirm("Are you sure you want to log out of the system?");
	 if (logout == true)
	 {
	    alert('Your session will be terminated. Thank you.');
        document.location.href = "common/redirect.php?id=0000";
		return true;
	 }
}


/* FORM VALIDATION */

/* REDIRECT ME */
function redirectMe(pointer, id)
{

    document.location.href="common/redirect.php?id=8092&pointer="+pointer+"&qid="+id;

}

// ------------------- Validate Email Addresses -------------------

function validateEmail(emailField)
{

	var regExp=new RegExp("^(\\w+(\\.?\\w+)*)+@(\\w+(\\.?\\w+)*)+\\.[A-Za-z]{2,4}$", "gi");
	var matches=emailField.value.match(regExp)!=null;
	if(!matches)
	{
		alert("\""+emailField.value+"\" is not a valid email address");
		return false;
	}
	return matches;
}

// ------------------- Validate Phone Numbers -------------------

function validatePhoneNumber(phoneField)
{

	var regExp=new RegExp("^\s*((\(\d{3}\))|(\d{3}\s*(-?|\.?)\s*))\s*(\d{3}\s*(-?|\.?)\s*)\s*\d{4}\s*$", "gi");
	var matches=phoneField.value.match(regExp)!=null;
	if(!matches)
	{
		alert("\""+phoneField.value+"\" is not a valid phone number");
		return false;
	}
	return matches;
}

// ------------------- Substitue ' with ` in all form fields -------------------
function substituteSingleQuotes()
{
	var regExp=new RegExp("'","gi");

	for(j=0;j<document.forms.length;j++)
	{
		for(var i=0;i<document.forms[j].elements.length;i++)
		{
			if(document.forms[j].elements[i].type=="text"||document.forms[j].elements[i].type=="hidden"||document.forms[j].elements[i].type=="textarea")
			{
				document.forms[j].elements[i].value=document.forms[j].elements[i].value.replace(regExp,"`");
			}
		}
	}
}

// ------------------- Test function to show all hidden field forms on a page -------------------
function showAllHiddenFields()
{
	var temp="";
	for(j=0;j<document.forms.length;j++)
	{
		for(var i=0;i<document.forms[j].elements.length;i++)
		{
			if(document.forms[j].elements[i].type=="hidden")
			{
				temp+="FIELD NAME: ";
				temp+=document.forms[j].elements[i].name;
				temp+="\nFIELD VALUE:\n";
				temp+=document.forms[j].elements[i].value;
				temp+="\n-----------\n";
			}
		}
	}
	alert(temp);
}
/* ------------------- Validate number of characters -------------------
function checkchars(cur)
{
	var error1 = "";
	var error2 = "";
	var error3 = "";
	if (cur.business_req_comment.value.length > 200)
	{
		error1 = "ERROR!\n\nBusiness Requirement is too long.\nIt must be less than 200 characters.";
	}
	if (cur.business_req_str.value.length > 2000)
	{
		error2 = "ERROR!\n\nBusiness Requirement Notes is too long.\nIt must be less than 2000 characters.";
	}
	if (cur.comment_str.value.length > 2000)
	{
		error3 = "ERROR!\n\nComment is too long.\nIt must be less than 2000 characters.";
	}


	if ((error1)  || (error2) || (error3))
	{
		if (error1)
			alert(error1);
		if (error2)
			alert(error2);
		if (error3)
			alert(error3);
		return false;
	} else
	{
 	 	var cancelUpdateTransaction= confirm("Do you want to save this record?");
	 	if (cancelUpdateTransaction == true)
	 	{
	   		return true;
	 	}
	 	else
	 	{
	  		return false;
	 	}
	}
}
*/

// ------------------- Trim whitespace from strings (like <String>.trim() in Java) -------------------
function trim(str)
{
	while(str.charAt(0)==" ")
    {
		str=str.substr(1,str.length);
  	}
  	while(str.charAt(str.length-1)==" ")
    {
		str=str.substr(0,str.length-1);
  	}
  	return str;
}

function validateForumEntry(frm)
{
	var form = frm;
	if (trim(form.title.value) == "")
	{
	 	alert('Title is a required field');
        form.title.focus();
        form.title.select();
	 	return false;
	}	
	/*
	if (trim(form.notes.value) == "")
	{
	 	alert('Empty Entry not allowed');
        form.notes.focus();
        form.notes.select();
	 	return false;
	}
	*/
	var fagree=confirm("Do you wish to submit entry?");
	if (fagree)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function validateAdminAccountForm(frm)
{
	var form=frm;

	if (trim(form.firstName.value) == "")
	{
	 	alert('Firstname is a required field');
        form.firstName.focus();
        form.firstName.select();
	 	return false;
	}
	if (trim(form.lastName.value) == "")
	{
	 	alert('Lastname is a required field');
        form.lastName.focus();
        form.lastName.select();
	 	return false;
	}
    if (trim(form.userName.value) == "")
	{
	 	alert('Username is a required field');
        form.userName.focus();
        form.userName.select();
	 	return false;
	}
    if (trim(form.password.value) == "")
	{
	 	alert('Password is a required field');
        form.password.focus();
        form.password.select();
	 	return false;
	}

     if (trim(frm.email.value) != "")
	 {
	 	if (validateEmail(frm.email) == false)
	 	{
	  		return false;
	 	}
	 }

	var agree=confirm("Do you wish to save changes to this Account?");
	if (agree)
	{
		return true;
	}
	else
	{
		return false;
	}

}

function validatePhotoDetails(frm)
{
	var form=frm;

	if (trim(form.phototitle1.value) == "")
	{
	 	alert('Photo Title (1) is a required field');
        form.phototitle1.focus();
        form.phototitle1.select();
	 	return false;
	}
    if (trim(form.phototitle2.value) == "")
	{
	 	alert('Photo Title (2) is a required field');
        form.phototitle2.focus();
        form.phototitle2.select();
	 	return false;
	}
    if (trim(form.phototitle3.value) == "")
	{
	 	alert('Photo Title (3) is a required field');
        form.phototitle3.focus();
        form.phototitle3.select();
	 	return false;
	}
    if (trim(form.phototitle4.value) == "")
	{
	 	alert('Photo Title (4) is a required field');
        form.phototitle4.focus();
        form.phototitle4.select();
	 	return false;
	}
    if (trim(form.phototitle5.value) == "")
	{
	 	alert('Photo Title (5) is a required field');
        form.phototitle5.focus();
        form.phototitle5.select();
	 	return false;
	}

    var agree=confirm("Do you wish to save these changes?");
	if (agree)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function validateAccountForm(frm)
{
	var form=frm;

	if (trim(form.firstName.value) == "")
	{
	 	alert('Firstname is a required field');
        form.firstName.focus();
        form.firstName.select();
	 	return false;
	}
	if (trim(form.lastName.value) == "")
	{
	 	alert('Lastname is a required field');
        form.lastName.focus();
        form.lastName.select();
	 	return false;
	}
     if (trim(form.email1.value) == "")
	 {
	 	alert('E-mail is a required field');
        form.email1.focus();
        form.email1.select();
	 	return false;
    }

     if (trim(frm.email1.value) != "")
	 {
	 	if (validateEmail(frm.email1) == false)
	 	{
	  		return false;
	 	}
	 }
    if (trim(form.username.value) == "")
	{
	 	alert('Username is a required field');
        form.username.focus();
        form.username.select();
	 	return false;
	}
    if (trim(form.password.value) == "")
	{
	 	alert('Password is a required field');
        form.password.focus();
        form.password.select();
	 	return false;
	}

    if (trim(form.password.value) != trim(form.confirmpassword.value))
    {
    	alert('Password did not match');
        //form.confirmpassword.value="";
        form.confirmpassword.focus();
        form.confirmpassword.select();
	 	return false;
    }

	var agree=confirm("Do you wish to save this account?");
	if (agree)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function validateForumRegistration(frm)
{
	var form=frm;

	if (trim(form.fullName.value) == "")
	{
	 	alert('Fullname is a required field');
        form.fullName.focus();
        form.fullName.select();
	 	return false;
	}
	if (trim(form.email.value) == "")
	{
	 	alert('E-mail is a required field');
        form.email.focus();
        form.email.select();
	 	return false;
	}
	if (trim(frm.email.value) != "")
	{
	 	if (validateEmail(frm.email) == false)
	 	{
	  		return false;
	 	}
	}
	if (trim(form.email.value) != trim(form.cemail.value))
    {
    	alert('Email did not match');
        //form.confirmpassword.value="";
        form.cemail.focus();
        form.cemail.select();
	 	return false;
    }
	if (trim(form.username.value) == "")
	{
	 	alert('Username is a required field');
        form.username.focus();
        form.username.select();
	 	return false;
	}
	if (trim(form.password.value) == "")
	{
	 	alert('Password is a required field');
        form.password.focus();
        form.password.select();
	 	return false;
	}

    if (trim(form.password.value) != trim(form.cpassword.value))
    {
    	alert('Password did not match');
        //form.confirmpassword.value="";
        form.cpassword.focus();
        form.cpassword.select();
	 	return false;
    }
	var agree=confirm("Do you wish to save this account?");
	if (agree)
	{
		return true;
	}
	else
	{
		return false;
	}
	
}

function openWindow(siteUrl, photoTitle)
{
    var imageWindow = window.open("", "", "width=600,height=550, " +  "alwaysRaised=YES");
	var msg= "<HTML>";
	msg += "<HEAD><TITLE>PHOTO ALBUM</TITLE></HEAD>";
	msg += "<BODY TOPMARGIN=0 LEFTMARGIN=0 RIGHTMARGIN=0>";
	msg += "<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0>";
	msg += "<TR><TD bgColor='#DCB84C' ALIGN=CENTER><FONT style='FONT-FAMILY:Tahoma;FONT-SIZE:8.2pt;FONT-WEIGHT:bold;COLOR:#FFFFFF;'>CANTONJOS.NET</FONT></TD></TR>";
	msg += "<TR><TD align='center' valign='top'>&nbsp;</TD></TR>";
	msg += "<TR><TD align='center' valign='top'>";
	msg += "<img src=" + siteUrl + " border=1><BR><BR>";
	msg += "<FONT style='FONT-FAMILY:Tahoma;FONT-SIZE:8.2pt;FONT-WEIGHT:bold;COLOR:#000000;'>*** " + photoTitle + " *** </FONT>";
	msg += "</TD><TR>";
	msg += "<TR><TD align='center' valign='top'>&nbsp;</TD></TR>";
	msg += "<TR><TD align='center' valign='top'><INPUT TYPE='BUTTON' VALUE='Close Window' onClick='window.close();'></TD></TR>";
	msg += "</TABLE>";
	msg += "</BODY>";
	msg += "</HTML>";

	imageWindow.document.write(msg);
}

var datePickerDivID = "datepicker";
var iFrameDivID = "datepickeriframe";

var dayArrayShort = new Array('Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa');
var dayArrayMed = new Array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
var dayArrayLong = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
var monthArrayShort = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
var monthArrayMed = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec');
var monthArrayLong = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');

var defaultDateSeparator = "/";        // common values would be "/" or "."
var defaultDateFormat = "ymd"    // valid values are "mdy", "dmy", and "ymd"
var dateSeparator = defaultDateSeparator;
var dateFormat = defaultDateFormat;

function displayDatePicker(dateFieldName, displayBelowThisObject, dtFormat, dtSep)
{
  var targetDateField = document.getElementsByName (dateFieldName).item(0);

  // if we weren't told what node to display the datepicker beneath, just display it
  // beneath the date field we're updating
  if (!displayBelowThisObject)
    displayBelowThisObject = targetDateField;

  // if a date separator character was given, update the dateSeparator variable
  if (dtSep)
    dateSeparator = dtSep;
  else
    dateSeparator = defaultDateSeparator;

  // if a date format was given, update the dateFormat variable
  if (dtFormat)
    dateFormat = dtFormat;
  else
    dateFormat = defaultDateFormat;

  var x = displayBelowThisObject.offsetLeft;
  var y = displayBelowThisObject.offsetTop + displayBelowThisObject.offsetHeight ;

  // deal with elements inside tables and such
  var parent = displayBelowThisObject;
  while (parent.offsetParent) {
    parent = parent.offsetParent;
    x += parent.offsetLeft;
    y += parent.offsetTop ;
  }

  drawDatePicker(targetDateField, x, y);
}


function drawDatePicker(targetDateField, x, y)
{
  var dt = getFieldDate(targetDateField.value );

  if (!document.getElementById(datePickerDivID)) {
    var newNode = document.createElement("div");
    newNode.setAttribute("id", datePickerDivID);
    newNode.setAttribute("class", "dpDiv");
    newNode.setAttribute("style", "visibility: hidden;");
    document.body.appendChild(newNode);
  }

  // move the datepicker div to the proper x,y coordinate and toggle the visiblity
  var pickerDiv = document.getElementById(datePickerDivID);
  pickerDiv.style.position = "absolute";
  pickerDiv.style.left = x + "px";
  pickerDiv.style.top = y + "px";
  pickerDiv.style.visibility = (pickerDiv.style.visibility == "visible" ? "hidden" : "visible");
  pickerDiv.style.display = (pickerDiv.style.display == "block" ? "none" : "block");
  pickerDiv.style.zIndex = 10000;

  // draw the datepicker table
  refreshDatePicker(targetDateField.name, dt.getFullYear(), dt.getMonth(), dt.getDate());
}


/**
This is the function that actually draws the datepicker calendar.
*/
function refreshDatePicker(dateFieldName, year, month, day)
{
  var thisDay = new Date();

  if ((month >= 0) && (year > 0)) {
    thisDay = new Date(year, month, 1);
  } else {
    day = thisDay.getDate();
    thisDay.setDate(1);
  }

  var crlf = "\r\n";
  var TABLE = "<table cols=7 class='dpTable'>" + crlf;
  var xTABLE = "</table>" + crlf;
  var TR = "<tr class='dpTR'>";
  var TR_title = "<tr class='dpTitleTR'>";
  var TR_days = "<tr class='dpDayTR'>";
  var TR_todaybutton = "<tr class='dpTodayButtonTR'>";
  var xTR = "</tr>" + crlf;
  var TD = "<td class='dpTD' onMouseOut='this.className=\"dpTD\";' onMouseOver=' this.className=\"dpTDHover\";' ";    // leave this tag open, because we'll be adding an onClick event
  var TD_title = "<td colspan=5 class='dpTitleTD'>";
  var TD_buttons = "<td class='dpButtonTD'>";
  var TD_todaybutton = "<td colspan=7 class='dpTodayButtonTD'>";
  var TD_days = "<td class='dpDayTD'>";
  var TD_selected = "<td class='dpDayHighlightTD' onMouseOut='this.className=\"dpDayHighlightTD\";' onMouseOver='this.className=\"dpTDHover\";' ";    // leave this tag open, because we'll be adding an onClick event
  var xTD = "</td>" + crlf;
  var DIV_title = "<div class='dpTitleText'>";
  var DIV_selected = "<div class='dpDayHighlight'>";
  var xDIV = "</div>";

  // start generating the code for the calendar table
  var html = TABLE;

  html += TR_title;
  html += TD_buttons + getButtonCode(dateFieldName, thisDay, -1, "&lt;") + xTD;
  html += TD_title + DIV_title + monthArrayLong[ thisDay.getMonth()] + " " + thisDay.getFullYear() + xDIV + xTD;
  html += TD_buttons + getButtonCode(dateFieldName, thisDay, 1, "&gt;") + xTD;
  html += xTR;

  // this is the row that indicates which day of the week we're on
  html += TR_days;
  for(i = 0; i < dayArrayShort.length; i++)
    html += TD_days + dayArrayShort[i] + xTD;
  html += xTR;

  // now we'll start populating the table with days of the month
  html += TR;

  // first, the leading blanks
  for (i = 0; i < thisDay.getDay(); i++)
    html += TD + "&nbsp;" + xTD;

  // now, the days of the month
  do {
    dayNum = thisDay.getDate();
    TD_onclick = " onclick=\"updateDateField('" + dateFieldName + "', '" + getDateString(thisDay) + "');\">";

    if (dayNum == day)
      html += TD_selected + TD_onclick + DIV_selected + dayNum + xDIV + xTD;
    else
      html += TD + TD_onclick + dayNum + xTD;

    // if this is a Saturday, start a new row
    if (thisDay.getDay() == 6)
      html += xTR + TR;

    // increment the day
    thisDay.setDate(thisDay.getDate() + 1);
  } while (thisDay.getDate() > 1)

  // fill in any trailing blanks
  if (thisDay.getDay() > 0) {
    for (i = 6; i > thisDay.getDay(); i--)
      html += TD + "&nbsp;" + xTD;
  }
  html += xTR;

  // add a button to allow the user to easily return to today, or close the calendar
  var today = new Date();
  var todayString = "Today is " + dayArrayMed[today.getDay()] + ", " + monthArrayMed[ today.getMonth()] + " " + today.getDate();
  html += TR_todaybutton + TD_todaybutton;
  html += "<button class='dpTodayButton' onClick='refreshDatePicker(\"" + dateFieldName + "\");'>Today</button>&nbsp;";
  html += "<button class='dpTodayButton' onClick='updateDateField(\"" + dateFieldName + "\");'>Close</button>";
  html += xTD + xTR;

  // and finally, close the table
  html += xTABLE;

  document.getElementById(datePickerDivID).innerHTML = html;
  // add an "iFrame shim" to allow the datepicker to display above selection lists
  adjustiFrame();
}


/**
Convenience function for writing the code for the buttons that bring us back or forward
a month.
*/
function getButtonCode(dateFieldName, dateVal, adjust, label)
{
  var newMonth = (dateVal.getMonth () + adjust) % 12;
  var newYear = dateVal.getFullYear() + parseInt((dateVal.getMonth() + adjust) / 12);
  if (newMonth < 0) {
    newMonth += 12;
    newYear += -1;
  }

  return "<button class='dpButton' onClick='refreshDatePicker(\"" + dateFieldName + "\", " + newYear + ", " + newMonth + ");'>" + label + "</button>";
}


/**
Convert a JavaScript Date object to a string, based on the dateFormat and dateSeparator
variables at the beginning of this script library.
*/
function getDateString(dateVal)
{
  var dayString = "00" + dateVal.getDate();
  var monthString = "00" + (dateVal.getMonth()+1);
  dayString = dayString.substring(dayString.length - 2);
  monthString = monthString.substring(monthString.length - 2);

  switch (dateFormat) {
    case "dmy" :
      return dayString + dateSeparator + monthString + dateSeparator + dateVal.getFullYear();
    case "ymd" :
      return dateVal.getFullYear() + dateSeparator + monthString + dateSeparator + dayString;
    case "mdy" :
    default :
      return monthString + dateSeparator + dayString + dateSeparator + dateVal.getFullYear();
  }
}


/**
Convert a string to a JavaScript Date object.
*/
function getFieldDate(dateString)
{
  var dateVal;
  var dArray;
  var d, m, y;

  try {
    dArray = splitDateString(dateString);
    if (dArray) {
      switch (dateFormat) {
        case "dmy" :
          d = parseInt(dArray[0], 10);
          m = parseInt(dArray[1], 10) - 1;
          y = parseInt(dArray[2], 10);
          break;
        case "ymd" :
          d = parseInt(dArray[2], 10);
          m = parseInt(dArray[1], 10) - 1;
          y = parseInt(dArray[0], 10);
          break;
        case "mdy" :
        default :
          d = parseInt(dArray[1], 10);
          m = parseInt(dArray[0], 10) - 1;
          y = parseInt(dArray[2], 10);
          break;
      }
      dateVal = new Date(y, m, d);
    } else if (dateString) {
      dateVal = new Date(dateString);
    } else {
      dateVal = new Date();
    }
  } catch(e) {
    dateVal = new Date();
  }

  return dateVal;
}

function splitDateString(dateString)
{
  var dArray;
  if (dateString.indexOf("/") >= 0)
    dArray = dateString.split("/");
  else if (dateString.indexOf(".") >= 0)
    dArray = dateString.split(".");
  else if (dateString.indexOf("-") >= 0)
    dArray = dateString.split("-");
  else if (dateString.indexOf("\\") >= 0)
    dArray = dateString.split("\\");
  else
    dArray = false;

  return dArray;
}

function updateDateField(dateFieldName, dateString)
{
  var targetDateField = document.getElementsByName (dateFieldName).item(0);
  if (dateString)
    targetDateField.value = dateString;

  var pickerDiv = document.getElementById(datePickerDivID);
  pickerDiv.style.visibility = "hidden";
  pickerDiv.style.display = "none";

  adjustiFrame();
  targetDateField.focus();

  if ((dateString) && (typeof(datePickerClosed) == "function"))
    datePickerClosed(targetDateField);
}


function adjustiFrame(pickerDiv, iFrameDiv)
{
  var is_opera = (navigator.userAgent.toLowerCase().indexOf("opera") != -1);
  if (is_opera)
    return;

  // put a try/catch block around the whole thing, just in case
  try {
    if (!document.getElementById(iFrameDivID)) {
      var newNode = document.createElement("iFrame");
      newNode.setAttribute("id", iFrameDivID);
      newNode.setAttribute("src", "javascript:false;");
      newNode.setAttribute("scrolling", "no");
      newNode.setAttribute ("frameborder", "0");
      document.body.appendChild(newNode);
    }

    if (!pickerDiv)
      pickerDiv = document.getElementById(datePickerDivID);
    if (!iFrameDiv)
      iFrameDiv = document.getElementById(iFrameDivID);

    try {
      iFrameDiv.style.position = "absolute";
      iFrameDiv.style.width = pickerDiv.offsetWidth;
      iFrameDiv.style.height = pickerDiv.offsetHeight ;
      iFrameDiv.style.top = pickerDiv.style.top;
      iFrameDiv.style.left = pickerDiv.style.left;
      iFrameDiv.style.zIndex = pickerDiv.style.zIndex - 1;
      iFrameDiv.style.visibility = pickerDiv.style.visibility ;
      iFrameDiv.style.display = pickerDiv.style.display;
    } catch(e)
    {
    }

  } catch (ee)
  {
  }

}

function addThemToTArea()
{
	for (i=0; i < document.getElementById("member").length; i++)
	{

	    if (document.getElementById("member").options[i].selected == true)
	    {
	    	//alert(document.getElementById("member").options[i].value);
	    	document.getElementById("tAreaTo").value+=  document.getElementById("member").options[i].text+ "; ";
	    }
  }
	return true;
}

function clearEMailTo()
{
	document.getElementById("tAreaTo").value="";
}

function confirmEmailSend()
{
	var sendEmail= confirm("Are you sure you want to send this Email?");
	 if (sendEmail)
	 {
		return true;
	 }
	 else
	 {
	 	return false;
	 }
}


function show_hide(id, show)
{
	if (el = document.getElementById(id))
	{
		if (null==show) show = el.style.display=='none';
		el.style.display = (show ? '' : 'none');
	}
}


function Clickheretoprint()
{
	  var disp_setting="toolbar=yes,location=no,directories=yes,menubar=yes,";
	      disp_setting+="scrollbars=yes,width=650, height=600, left=100, top=25";
	  var content_vlue = document.getElementById("print_content").innerHTML;

	  var docprint=window.open("","",disp_setting);
	   docprint.document.open();
	   docprint.document.write('<html><head><title>OMNIFUNPIX</title>');
	   docprint.document.write('</head><body onLoad="self.print()"><center>');
	   docprint.document.write('<font size=5 face=arial><b><u>PRINTED FROM: OMNIFUNPIX.NET</u></b></font><br><br>');
	   docprint.document.write(content_vlue);
	   docprint.document.write('</center></body></html>');
	   docprint.document.close();
	   docprint.focus();
}

function calendarPrinterFriendly(monthStr, yearStr)
{
	  var disp_setting="toolbar=yes,location=no,directories=yes,menubar=yes,";
	      disp_setting+="scrollbars=yes,width=700, height=600, left=100, top=25";

	  var docprint=window.open("","",disp_setting);

	  	docprint.location.href="/content/calendar/calendarFriendlyPrint.asp?monthStr=" + monthStr + "&yearStr="+yearStr;
	  	//docprint.document.close();
}


// ****************** Input Mask Date ******************
// Check browser version
var isNav4 = false, isNav5 = false, isIE4 = false
var strSeperator = "/";
var vDateType = 3; // Global value for type of date format
//                1 = mm/dd/yyyy
//                2 = yyyy/dd/mm  (Unable to do date check at this time)
//                3 = dd/mm/yyyy
var vYearType = 4; //Set to 2 or 4 for number of digits in the year for Netscape
var vYearLength = 2; // Set to 4 if you want to force the user to enter 4 digits for the year before validating.
var err = 0; // Set the error code to a default of zero
if(navigator.appName == "Netscape")
{
    if (navigator.appVersion < "5")
    {
      isNav4 = true;
      isNav5 = false;
    }
    else
    if (navigator.appVersion > "4")
    {
      isNav4 = false;
      isNav5 = true;
    }
}
else
{
    isIE4 = true;
}

function DateFormat(vDateName, vDateValue, e, dateCheck, dateType)
{
    vDateType = dateType;
  // vDateName = object name
  // vDateValue = value in the field being checked
  // e = event
  // dateCheck
  // True  = Verify that the vDateValue is a valid date
  // False = Format values being entered into vDateValue only
  // vDateType
  // 1 = mm/dd/yyyy
  // 2 = yyyy/mm/dd
  // 3 = dd/mm/yyyy
  //Enter a tilde sign for the first number and you can check the variable information.
  if (vDateValue == "~")
  {
    alert("AppVersion = "+navigator.appVersion+" \nNav. 4 Version = "+isNav4+" \nNav. 5 Version = "+isNav5+" \nIE Version = "+isIE4+" \nYear Type = "+vYearType+" \nDate Type = "+vDateType+" \nSeparator = "+strSeperator);
    vDateName.value = "";
    vDateName.focus();
    return true;
  }
  var whichCode = (window.Event) ? e.which : e.keyCode;
  // Check to see if a seperator is already present.
  // bypass the date if a seperator is present and the length greater than 8
  if (vDateValue.length > 8 && isNav4)
  {
    if ((vDateValue.indexOf("-") >= 1) || (vDateValue.indexOf("/") >= 1))
    return true;
  }
  //Eliminate all the ASCII codes that are not valid
  var alphaCheck = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-";
  if (alphaCheck.indexOf(vDateValue) >= 1)
  {
    if (isNav4)
    {
      vDateName.value = "";
      vDateName.focus();
      vDateName.select();
      return false;
    }
    else
    {
      vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
      return false;
    }
  }
  if (whichCode == 8) //Ignore the Netscape value for backspace. IE has no value
  return false;
  else {
  //Create numeric string values for 0123456789/
  //The codes provided include both keyboard and keypad values
  var strCheck = '47,48,49,50,51,52,53,54,55,56,57,58,59,95,96,97,98,99,100,101,102,103,104,105';
  if (strCheck.indexOf(whichCode) != -1) {
  if (isNav4) {
  if (((vDateValue.length < 6 && dateCheck) || (vDateValue.length == 7 && dateCheck)) && (vDateValue.length >=1)) {
  alert("Invalid Date\nPlease Re-Enter");
  vDateName.value = "";
  vDateName.focus();
  vDateName.select();
  return false;
  }
  if (vDateValue.length == 6 && dateCheck) {
  var mDay = vDateName.value.substr(2,2);
  var mMonth = vDateName.value.substr(0,2);
  var mYear = vDateName.value.substr(4,4)
  //Turn a two digit year into a 4 digit year
  if (mYear.length == 2 && vYearType == 4) {
  var mToday = new Date();
  //If the year is greater than 30 years from now use 19, otherwise use 20
  var checkYear = mToday.getFullYear() + 30;
  var mCheckYear = '20' + mYear;
  if (mCheckYear >= checkYear)
  mYear = '19' + mYear;
  else
  mYear = '20' + mYear;
  }
  var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
  if (!dateValid(vDateValueCheck)) {
  alert("Invalid Date\nPlease Re-Enter");
  vDateName.value = "";
  vDateName.focus();
  vDateName.select();
  return false;
  }
  return true;
  }
  else {
  // Reformat the date for validation and set date type to a 1
  if (vDateValue.length >= 8  && dateCheck) {
  if (vDateType == 1) // mmddyyyy
  {
  var mDay = vDateName.value.substr(2,2);
  var mMonth = vDateName.value.substr(0,2);
  var mYear = vDateName.value.substr(4,4)
  vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear;
  }
  if (vDateType == 2) // yyyymmdd
  {
  var mYear = vDateName.value.substr(0,4)
  var mMonth = vDateName.value.substr(4,2);
  var mDay = vDateName.value.substr(6,2);
  vDateName.value = mYear+strSeperator+mMonth+strSeperator+mDay;
  }
  if (vDateType == 3) // ddmmyyyy
  {
  var mMonth = vDateName.value.substr(2,2);
  var mDay = vDateName.value.substr(0,2);
  var mYear = vDateName.value.substr(4,4)
  vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear;
  }
  //Create a temporary variable for storing the DateType and change
  //the DateType to a 1 for validation.
  var vDateTypeTemp = vDateType;
  vDateType = 1;
  var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
  if (!dateValid(vDateValueCheck)) {
  alert("Invalid Date\nPlease Re-Enter");
  vDateType = vDateTypeTemp;
  vDateName.value = "";
  vDateName.focus();
  vDateName.select();
  return false;
  }
  vDateType = vDateTypeTemp;
  return true;
  }
  else {
  if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1)) {
  alert("Invalid Date\nPlease Re-Enter");
  vDateName.value = "";
  vDateName.focus();
  vDateName.select();
  return false;
           }
        }
     }
  }
  else {
  // Non isNav Check
  if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1)) {
  alert("Invalid Date\nPlease Re-Enter");
  vDateName.value = "";
  vDateName.focus();
  return true;
  }
  // Reformat date to format that can be validated. mm/dd/yyyy
  if (vDateValue.length >= 8 && dateCheck) {
  // Additional date formats can be entered here and parsed out to
  // a valid date format that the validation routine will recognize.
  if (vDateType == 1) // mm/dd/yyyy
  {
  var mMonth = vDateName.value.substr(0,2);
  var mDay = vDateName.value.substr(3,2);
  var mYear = vDateName.value.substr(6,4)
  }
  if (vDateType == 2) // yyyy/mm/dd
  {
  var mYear = vDateName.value.substr(0,4)
  var mMonth = vDateName.value.substr(5,2);
  var mDay = vDateName.value.substr(8,2);
  }
  if (vDateType == 3) // dd/mm/yyyy
  {
  var mDay = vDateName.value.substr(0,2);
  var mMonth = vDateName.value.substr(3,2);
  var mYear = vDateName.value.substr(6,4)
  }
  if (vYearLength == 4) {
  if (mYear.length < 4) {
  alert("Invalid Date\nPlease Re-Enter");
  vDateName.value = "";
  vDateName.focus();
  return true;
     }
  }
  // Create temp. variable for storing the current vDateType
  var vDateTypeTemp = vDateType;
  // Change vDateType to a 1 for standard date format for validation
  // Type will be changed back when validation is completed.
  vDateType = 1;
  // Store reformatted date to new variable for validation.
  var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
  if (mYear.length == 2 && vYearType == 4 && dateCheck) {
  //Turn a two digit year into a 4 digit year
  var mToday = new Date();
  //If the year is greater than 30 years from now use 19, otherwise use 20
  var checkYear = mToday.getFullYear() + 30;
  var mCheckYear = '20' + mYear;
  if (mCheckYear >= checkYear)
mYear = '19' + mYear;
else
mYear = '20' + mYear;
vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
// Store the new value back to the field.  This function will
// not work with date type of 2 since the year is entered first.
if (vDateTypeTemp == 1) // mm/dd/yyyy
vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear;
if (vDateTypeTemp == 3) // dd/mm/yyyy
vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear;
}
if (!dateValid(vDateValueCheck)) {
alert("Invalid Date\nPlease Re-Enter");
vDateType = vDateTypeTemp;
vDateName.value = "";
vDateName.focus();
return true;
}
vDateType = vDateTypeTemp;
return true;
}
else {
if (vDateType == 1) {
if (vDateValue.length == 2) {
vDateName.value = vDateValue+strSeperator;
}
if (vDateValue.length == 5) {
vDateName.value = vDateValue+strSeperator;
   }
}
if (vDateType == 2) {
if (vDateValue.length == 4) {
vDateName.value = vDateValue+strSeperator;
}
if (vDateValue.length == 7) {
vDateName.value = vDateValue+strSeperator;
   }
}
if (vDateType == 3) {
if (vDateValue.length == 2) {
vDateName.value = vDateValue+strSeperator;
}
if (vDateValue.length == 5) {
vDateName.value = vDateValue+strSeperator;
   }
}
return true;
   }
}
if (vDateValue.length == 10&& dateCheck) {
if (!dateValid(vDateName)) {
// Un-comment the next line of code for debugging the dateValid() function error messages
//alert(err);
alert("Invalid Date\nPlease Re-Enter");
vDateName.focus();
vDateName.select();
   }
}
return false;
}
else {
// If the value is not in the string return the string minus the last
// key entered.
if (isNav4) {
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
else
{
vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
return false;
         }
      }
   }
}
function dateValid(objName) {
var strDate;
var strDateArray;
var strDay;
var strMonth;
var strYear;
var intday;
var intMonth;
var intYear;
var booFound = false;
var datefield = objName;
var strSeparatorArray = new Array("-"," ","/",".");
var intElementNr;
// var err = 0;
var strMonthArray = new Array(12);
strMonthArray[0] = "Jan";
strMonthArray[1] = "Feb";
strMonthArray[2] = "Mar";
strMonthArray[3] = "Apr";
strMonthArray[4] = "May";
strMonthArray[5] = "Jun";
strMonthArray[6] = "Jul";
strMonthArray[7] = "Aug";
strMonthArray[8] = "Sep";
strMonthArray[9] = "Oct";
strMonthArray[10] = "Nov";
strMonthArray[11] = "Dec";
//strDate = datefield.value;
strDate = objName;
if (strDate.length < 1) {
return true;
}
for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
strDateArray = strDate.split(strSeparatorArray[intElementNr]);
if (strDateArray.length != 3) {
err = 1;
return false;
}
else {
strDay = strDateArray[0];
strMonth = strDateArray[1];
strYear = strDateArray[2];
}
booFound = true;
   }
}
if (booFound == false) {
if (strDate.length>5) {
strDay = strDate.substr(0, 2);
strMonth = strDate.substr(2, 2);
strYear = strDate.substr(4);
   }
}
//Adjustment for short years entered
if (strYear.length == 2) {
strYear = '20' + strYear;
}
strTemp = strDay;
strDay = strMonth;
strMonth = strTemp;
intday = parseInt(strDay, 10);
if (isNaN(intday)) {
err = 2;
return false;
}
intMonth = parseInt(strMonth, 10);
if (isNaN(intMonth)) {
for (i = 0;i<12;i++) {
if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
intMonth = i+1;
strMonth = strMonthArray[i];
i = 12;
   }
}
if (isNaN(intMonth)) {
err = 3;
return false;
   }
}
intYear = parseInt(strYear, 10);
if (isNaN(intYear)) {
err = 4;
return false;
}
if (intMonth>12 || intMonth<1) {
err = 5;
return false;
}
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
err = 6;
return false;
}
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
err = 7;
return false;
}
if (intMonth == 2) {
if (intday < 1) {
err = 8;
return false;
}
if (LeapYear(intYear) == true) {
if (intday > 29) {
err = 9;
return false;
   }
}
else {
if (intday > 28) {
err = 10;
return false;
      }
   }
}
return true;
}


function LeapYear(intYear) {
if (intYear % 100 == 0) {
if (intYear % 400 == 0) { return true; }
}
else {
if ((intYear % 4) == 0) { return true; }
}
return false;
}

// ----- DYNAMICALLY DELETE A ROW ---------
var gRowId = 2;

function delRow(button)
{
    var row = button.parentNode.parentNode;
    var tbody = document.getElementById('table1').getElementsByTagName('tbody')[0];
    tbody.removeChild(row);
}

// ----- DYNAMICALLY ADD A ROW ---------
function addRow()
{
    var tbody = document.getElementById('table1').getElementsByTagName('tbody')[0];

    var row = document.createElement('TR');


    var cell1 = document.createElement('<TD valign="top">');
    var cell2 = document.createElement('<TD valign="top">');
    var cell3 = document.createElement('<TD valign="top">');
    var cell4 = document.createElement('<TD valign="top">');

    var inp1 = document.createElement('INPUT');
    var inp2 = document.createElement('TEXTAREA');
    var inp3 = document.createElement('INPUT');



    //inp1.setAttribute('cols','80');
    //inp1.setAttribute('rows','5');

    inp1.setAttribute('type','text');
    inp1.setAttribute('id','txtBoxv1');
    inp1.setAttribute('name','date[]');

    inp2.setAttribute('id','textArea_ver2_2')
    inp2.setAttribute('name','Keyobj[]');

    inp3.setAttribute('type','button');
    inp3.setAttribute('id','loginButton');
    inp3.setAttribute('value','Delete');
    inp3.onclick=function(){delRow(this);}


    cell1.innerHTML = "#"+gRowId;
    cell2.appendChild(inp1);
    cell3.appendChild(inp2);
    cell4.appendChild(inp3);


    row.appendChild(cell1);
    row.appendChild(cell2);
    row.appendChild(cell3);
    row.appendChild(cell4);

    tbody.appendChild(row);

    gRowId++;
}
/*  *************** PRICE VALIDATION **************** */
NN4 = (document.layers ? true : false);
oldValue = 0;
function myFunc()
{
    theValue = document.productForm.unitprice.value;
    rx = /[^0-9.]/;
    if(rx.test(theValue))
    {
        alert("Unit Price can only contain numeric entries.\nSample: 15.50");
        document.productForm.unitprice.value = "0.00";
        return;
    }
    if(theValue.indexOf(".") != -1)
    {
        theValue = theValue.substring(0,(theValue.indexOf(".") + 3));
    }
    lnt = theValue.length;
    if(lnt > 11)
    {
        if(theValue.indexOf(".") == -1)
        {
            theValue = theValue.substring(0,11);
        }
        else
        {
            theValue = theValue.substring(0,12);
        }
        lnt = theValue.length;
    }
    if(lnt > 9 && theValue.indexOf(".") == -1)
    {
        first = theValue.substring(0,9);
        second = theValue.substring(9);
        theValue = first + "." + second;
    }
    if(NN4 && document.myForm.myField.value >= 100000000000)
    {
        window.status="a";
        theValue = oldValue;
        document.productForm.unitprice.value = theValue;
    }
    else if(theValue >= 1000000000)
    {
        theValue = oldValue;
    }
    oldValue = theValue;
    if(!NN4)
    {
        document.productForm.unitprice.value = theValue;
    }
}

function NN4Func()
{
    if(NN4)
    {
        document.productForm.unitprice.value = theValue;
    }
}

/* ------------------- Collapsible DIV ------------------- */
function dsp(loc)
{
   if(document.getElementById)
   {
      var foc=loc.firstChild;
      foc=loc.firstChild.innerHTML?loc.firstChild:loc.firstChild.nextSibling;
      foc.innerHTML=foc.innerHTML=='+'?'-':'+';
      foc=loc.parentNode.nextSibling.style?loc.parentNode.nextSibling:loc.parentNode.nextSibling.nextSibling;
      foc.style.display=foc.style.display=='block'?'none':'block';
	}
}
if(!document.getElementById)
{
   document.write('<style type="text/css"><!--\n'+'.dspcont{display:block;}\n'+'//--></style>');
}


function openPosting(pId)
{
	eval(
	"page" + pId + " = window.open('content/calendar/eventdisplay.php?id=" + pId +
	"', 'mssgDisplay', 'toolbar=0,scrollbars=1,location=0,statusbar=0," +
	"menubar=0,resizable=0,width=540,height=400');"
	);
}

// Function returns a XML Request Object
function getXMLReqObject()
{
    var objReq = null;	// branch for native XMLHttpRequest object
    if (window.XMLHttpRequest)
    {
        objReq = new XMLHttpRequest();
    } 	// branch for IE/Windows ActiveX version
    else if (window.ActiveXObject)
    {
        objReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
        return objReq;
    }
    var httpReq = null;
    var frmObj = document.memberForm;

    function validateForm()
    {
        if(!chkText(frmObj.username,'User Name field is empty. Please enter value'))
            return false;
        var httpReq = getXMLReqObject();
        if(httpReq)
        {
            var url = 'addnewmember.php?userName='+frmObj.username.value+'&userOpt=0';
            httpReq.open("GET", url, false);
            httpReq.send(null);
            if (httpReq.readyState == 4)
            {
                if (httpReq.status == 200)
                {
                    if(httpReq.responseText == 'Yes')
                    {
                        alert('User Name already exist! Please try with any other User Name');
                        return false;
                    }
                }
                else
                {
                    alert("There was a problem retrieving data:\n" + httpReq.statusText);
                    return;
                }
            }
        }
    }

/* ****************************** AJAX - GET VALUES FROM DATABASE ****************************** */
var xmlHttp;
function showTracks(str)
{
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
   {
   alert ("Browser does not support HTTP Request");
   return;
   }
  var url="content/pfo/pfoadmintracks_ajax.php";
  url=url+"?q="+str;
  url=url+"&sid="+Math.random();
  xmlHttp.onreadystatechange=stateChanged;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}
function showTracksAtt(str)
{
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
   {
   alert ("Browser does not support HTTP Request");
   return;
   }
  var url="content/pfo/pfoadmintracksatt_ajax.php";
  url=url+"?q="+str;
  url=url+"&sid="+Math.random();
  xmlHttp.onreadystatechange=stateChanged;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}
function showTracksAtt_content(str)
{
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
   {
   alert ("Browser does not support HTTP Request");
   return;
   }
  var url="content/pfo_content/pfoadmintracksatt_ajax.php";
  url=url+"?q="+str;
  url=url+"&sid="+Math.random();
  xmlHttp.onreadystatechange=stateChanged;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}
function showMembers(str)
{
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
   {
   alert ("Browser does not support HTTP Request");
   return;
   }
  var url="content/pfo/pfoadminmembers_ajax.php";
  url=url+"?q="+str;
  url=url+"&sid="+Math.random();
  xmlHttp.onreadystatechange=stateChanged;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 {
 document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
 }
}
function GetXmlHttpObject()
{
  var xmlHttp=null;
  try
   {
   // Firefox, Opera 8.0+, Safari
   xmlHttp=new XMLHttpRequest();
   }
  catch (e)
   {
   //Internet Explorer
   try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
   catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
   }
  return xmlHttp;
}

/* Check if one CheckBox is checked - Tracks (PFO Attendance)*/
function validateTrackAndPFODate(frm)
{
    var isCheckedTrack = false;
    var form = frm;

    if (typeof form.checkbox.length == 'undefined')
    {
            if (form.checkbox.checked)
            {
                isCheckedTrack = true;
            }
    }

    for (var i = 0; i < form.checkbox.length; i++)
    {

       if (form.checkbox)
       {
           if (typeof form.checkbox.length != 'undefined')
           {
              for (i = 0; i < form.checkbox.length; i++)
              {

                 if (form.checkbox[i].checked)
                 {
                    isCheckedTrack = true;
                 }
              }
           } else
           {
              isCheckedTrack = form.checkbox.checked;
           }
        }
    }

    if (trim(form.pfodate.value) == "")
	{
	 	alert('Please enter Date of PFO Teaching');
        form.pfodate.focus();
        form.pfodate.select();
	 	return false;
	}


    if (!isCheckedTrack) {alert("Please select Track(s) Title that were taken up during this PFO Teaching.");}
    return isCheckedTrack;
}
/* Check if there is one at least one (1) attendee for this PFO Teaching */
function validateAttendees(frm)
{
    var isCheckedAtt = false;
    var form = frm;


    for (var i = 0; i < form.checkboxAtt.length; i++)
    {
       if (form.checkboxAtt)
       {
           if (typeof form.checkboxAtt.length != 'undefined')
           {
              for (i = 0; i < form.checkboxAtt.length; i++)
              {
                 if (form.checkboxAtt[i].checked)
                 {
                    isCheckedAtt = true;
                 }
              }
           } else
           {
              isCheckedAtt = form.checkboxAtt.checked;
           }
        }
    }
    if (!isCheckedAtt) {alert("Please select at least one (1) attendee.");}
    return isCheckedAtt;
}

function toggleDiv(divid)
{
    if(document.getElementById(divid).style.display == 'none')
    {
      document.getElementById(divid).style.display = 'block';
    }
    else
    {
      document.getElementById(divid).style.display = 'none';
    }
}

var rotator1 =
{
    path:   'images/',
    images: ["front_psalm.gif", "front_image2.gif", "front_images3.gif","front_images4.gif", "front_images5.gif"]
}

var rotator2 =
{
    path:   'images/',
    images: ["postreply2.gif", "postreply3.gif", "postreply4.gif","postreply5.gif", "postreply6.gif","postreply6.gif","postreply7.gif","postreply8.gif","postreply9.gif","postreply10.gif","postreply11.gif","postreply12.gif"]
}

function getRandomImage(rObj) {
    var imgAr = rObj.images;  if (!imgAr ) return;
    var num = Math.floor( Math.random() * imgAr.length );
    var imgStr = '';   var imgFile = imgAr[ num ];

    var path = rObj.path || ''; var id = rObj.name || '';
    var title, alt, url;
    // If there are *any* entries for actions, alt or title include them here
    if (rObj.alt) {
        alt = rObj.alt[num]? rObj.alt[num]: rObj.alt[0]? rObj.alt[0]: '';
    }
    if (rObj.title) {
        title = rObj.title[num]? rObj.title[num]: rObj.title[0]? rObj.title[0]: '';
    }
    if (rObj.actions) {
        url = rObj.actions[num]? rObj.actions[num]: rObj.actions[0]? rObj.actions[0]: null;
    }
    if (url) {
        imgStr += '<a href="';
        imgStr += typeof url == 'string'? url: 'javascript: void ' + url;
        imgStr += '">';
    }

    imgStr += '<img src="' + path + imgFile + '"';
    imgStr += id? ' id="' + id + '" name="' + id + '"': '';
    if (title) {
        imgStr += ' title="' + title + '"';
    }
    imgStr += ' alt="' + alt + '" border="0" />';
    if (url) {
        imgStr += '</a>';
    }
    document.write(imgStr); document.close();
}


var brotator1 =
{
    path:   'images/',
    images: ["banner_cfcnj_bkup.gif", "banner_cfcnj_blue.gif", "banner_cfcnj.gif"]
}

function getBRandomImage(rObj) {
    var imgAr = rObj.images;  if (!imgAr ) return;
    var num = Math.floor( Math.random() * imgAr.length );
    var imgStr = '';   var imgFile = imgAr[ num ];

    var path = rObj.path || ''; var id = rObj.name || '';
    var title, alt, url;
    // If there are *any* entries for actions, alt or title include them here
    if (rObj.alt) {
        alt = rObj.alt[num]? rObj.alt[num]: rObj.alt[0]? rObj.alt[0]: '';
    }
    if (rObj.title) {
        title = rObj.title[num]? rObj.title[num]: rObj.title[0]? rObj.title[0]: '';
    }
    if (rObj.actions) {
        url = rObj.actions[num]? rObj.actions[num]: rObj.actions[0]? rObj.actions[0]: null;
    }
    if (url) {
        imgStr += '<a href="';
        imgStr += typeof url == 'string'? url: 'javascript: void ' + url;
        imgStr += '">';
    }

    imgStr += '<img  usemap="#navmap" src="' + path + imgFile + '"';
    imgStr += id? ' id="' + id + '" name="' + id + '"': '';
    if (title) {
        imgStr += ' title="' + title + '"';
    }
    imgStr += ' alt="' + alt + '" border="0" />';
    if (url) {
        imgStr += '</a>';
    }
    document.write(imgStr); document.close();
}

// AJAX FOR PHOTO COMMENTS......
function getScriptPage(div_id,content_id0, content_id1,content_id2,content_id3,more_options,act_id)
{

	subject_id = div_id;
    content0 = document.getElementById(content_id0).value;
	content1 = document.getElementById(content_id1).value;
	content2 = document.getElementById(content_id2).value;
	content3 = document.getElementById(content_id3).value;

	switch(more_options)
	{
		case '1':
		{
	      http.open("GET", "content/photogallery/script_page.php?val0="+escape(content0)+"&val1=" + escape(content1)+"&val2=" + escape(content2)+"&val3=" + escape(content3), true);
		}
		break;
		case '2':
		{
		  http.open("GET", "content/photogallery/script_page.php?delete=1&id=" + escape(act_id)+"&val0="+escape(content0), true);
		}
		break;
	}

	http.onreadystatechange = handleHttpResponse;
	http.send(null);
    //document.getElementById(content_id0).value ="";
	//document.getElementById(content_id1).value ="";
	//document.getElementById(content_id2).value="";
	document.getElementById(content_id3).value="";

}
function reset(content_id1,content_id2,content_id3)
{
    //document.getElementById(content_id0).value ="";
	//document.getElementById(content_id1).value ="";
	//document.getElementById(content_id2).value="";
	document.getElementById(content_id3).value="";
}


/* ****************** VALIDATE CLP SKED - NEW ******************* */
function validateCLPForm(frm)
{
    //Mandatory Fields:  title, venue, fulladdress, orientation
    var form = frm;
    if (trim(form.title.value) == "")
	{
	 	alert('CLP Title is a required field');
        form.title.focus();
        form.title.select();
	 	return false;
	}
    if (trim(form.venue.value) == "")
	{
	 	alert('CLP Venue is a required field');
        form.venue.focus();
        form.venue.select();
	 	return false;
	}
    if (trim(form.fulladdress.value) == "")
	{
	 	alert('CLP Venue Address is a required field');
        form.fulladdress.focus();
        form.fulladdress.select();
	 	return false;
	}
    if (trim(form.orientation.value) == "")
	{
	 	alert('Orientation Date is a required field');
        form.orientation.focus();
        form.orientation.select();
	 	return false;
	}


    var agree=confirm("Do you wish to save this CLP Schedule?");
	if (agree)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function submitFormRichText() 
{
	//make sure hidden and iframe values are in sync for all rtes before submitting form
	updateRTEs();
	return true;
}


function switchMenu(obj) 
{
	var el = document.getElementById(obj);
	if ( el.style.display != "none" ) 
	{
		el.style.display = 'none';
	}
	else {
		el.style.display = '';
	}
}

