var mydate=new Date();
var year=mydate.getYear();

if (year < 1000) {
  year+=1900
}

var day=mydate.getDay();
var month=mydate.getMonth();
var daym=mydate.getDate();

if (daym<10) {
  daym="0"+daym
}

var dayarray=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
var montharray=new Array("January","February","March","April","May","June","July","August","September","October","November","December");

var writeDate=dayarray[day] + " - " + montharray[month] + " " + daym + ", " + year;


function SetFocus() {
  if (document.forms.length > 0) {
    var field = document.forms[0];
    for (i=0; i<field.length; i++) {
      if ( (field.elements[i].type != "image") &&
           (field.elements[i].type != "hidden") &&
           (field.elements[i].type != "reset") &&
           (field.elements[i].type != "submit") ) {

        document.forms[0].elements[i].focus();

        if ( (field.elements[i].type == "text") ||
             (field.elements[i].type == "password") )
          document.forms[0].elements[i].select();

        break;
      }
    }
  }
}

function fSecurityCheckBoxes(cbObject, Flag) {
	var cbIndex = 0;
	var securityLevelIndex = 0;

  for(i=0; i<document.forms[0].elements.length; i++) {
 	  if (cbObject==document.forms[0].elements[i]) { 
 	  	cbIndex = i;
 	  	break;
 		}
 	}

	if (Flag=="A") {
				securityLevelIndex = cbIndex-5;
    	  if (cbObject.checked) {
    		  document.forms[0].elements[cbIndex-1].checked=true;
	      	document.forms[0].elements[cbIndex-2].checked=true;
	      	document.forms[0].elements[cbIndex-3].checked=true;
	      	document.forms[0].elements[cbIndex-4].checked=true;
	      }
	} else if (Flag=="C") {
		securityLevelIndex = cbIndex-1;
		if ((document.forms[0].elements[cbIndex].checked==false) || 
				(document.forms[0].elements[cbIndex+1].checked==false) || 
				(document.forms[0].elements[cbIndex+2].checked==false) || 
				(document.forms[0].elements[cbIndex+3].checked==false)) {
					document.forms[0].elements[cbIndex+4].checked=false;
		}
	} else if (Flag=="R") {
		securityLevelIndex = cbIndex-2;
		if ((document.forms[0].elements[cbIndex-1].checked==false) || 
				(document.forms[0].elements[cbIndex].checked==false) || 
				(document.forms[0].elements[cbIndex+1].checked==false) || 
				(document.forms[0].elements[cbIndex+2].checked==false)) {
					document.forms[0].elements[cbIndex+3].checked=false;
		}
	} else if (Flag=="U") {
		securityLevelIndex = cbIndex-3;
		if ((document.forms[0].elements[cbIndex-2].checked==false) || 
				(document.forms[0].elements[cbIndex-1].checked==false) || 
				(document.forms[0].elements[cbIndex].checked==false) || 
				(document.forms[0].elements[cbIndex+1].checked==false)) {
					document.forms[0].elements[cbIndex+2].checked=false;
		}
	} else if (Flag=="D") {
		securityLevelIndex = cbIndex-4;
		if ((document.forms[0].elements[cbIndex-3].checked==false) || 
				(document.forms[0].elements[cbIndex-2].checked==false) || 
				(document.forms[0].elements[cbIndex-1].checked==false) || 
				(document.forms[0].elements[cbIndex].checked==false)) {
					document.forms[0].elements[cbIndex+1].checked=false;
		}
	}

	document.forms[0].elements[securityLevelIndex].value="";

	if (document.forms[0].elements[securityLevelIndex+1].checked) {
		document.forms[0].elements[securityLevelIndex].value="C";
	}

	if (document.forms[0].elements[securityLevelIndex+2].checked) {
		document.forms[0].elements[securityLevelIndex].value=(document.forms[0].elements[securityLevelIndex].value+"R");
	}
	if (document.forms[0].elements[securityLevelIndex+3].checked) {
		document.forms[0].elements[securityLevelIndex].value=(document.forms[0].elements[securityLevelIndex].value+"U");
	}

	if (document.forms[0].elements[securityLevelIndex+4].checked) {
		document.forms[0].elements[securityLevelIndex].value=(document.forms[0].elements[securityLevelIndex].value+"D");
	}
	
}


function rowOverEffect(object) {
  if (object.className == 'dataTableRow') object.className = 'dataTableRowOver';
}

function rowOutEffect(object) {
  if (object.className == 'dataTableRowOver') object.className = 'dataTableRow';
}

function setLink(dest, parmName, parmValue) {
  dest = "/gfs/" + dest + "?" + parmName + "=" + parmValue;
  document.location.href=dest;
}

function setLink2(dest, parmName1, parmValue1, parmName2, parmValue2) {
  dest = "/gfs/" + dest + "?" + parmName1 + "=" + parmValue1 + '&' + parmName2 + "=" + parmValue2;
  document.location.href=dest;
}

function setLink3(dest, parmName1, parmValue1, parmName2, parmValue2, parmName3, parmValue3) {
  dest = "/gfs/" + dest + "?" + parmName1 + "=" + parmValue1 + '&' + parmName2 + "=" + parmValue2 + '&' + parmName3 + "=" + parmValue3;
  document.location.href=dest;
}

function moveAll(from, to) {
	for (var i=0; i<from.options.length; i++) {
	from.options[i].selected = true;
	}
	moveOptions(from, to);
}

function addOption(theSel, theText, theValue) {
  var newOpt = new Option(theText, theValue);
  var selLength = theSel.length;
  theSel.options[selLength] = newOpt;
}

function deleteOption(theSel, theIndex) { 
  var selLength = theSel.length;
  if(selLength>0)
  {
    theSel.options[theIndex] = null;
  }
}

function moveOptions(theSelFrom, theSelTo) {
  var selLength = theSelFrom.length;
  var selectedText = new Array();
  var selectedValues = new Array();
  var selectedCount = 0;
  var i;
  
  // Find the selected Options in reverse order
  // and delete them from the 'from' Select.
  for(i=selLength-1; i>=0; i--)
  {
    if(theSelFrom.options[i].selected)
    {
      selectedText[selectedCount] = theSelFrom.options[i].text;
      selectedValues[selectedCount] = theSelFrom.options[i].value;
      deleteOption(theSelFrom, i);
      selectedCount++;
    }
  }
  
  // Add the selected text/values in reverse order.
  // This will add the Options to the 'to' Select
  // in the same order as they were in the 'from' Select.
  for(i=selectedCount-1; i>=0; i--)
  {
    addOption(theSelTo, selectedText[i], selectedValues[i]);
  }
}

function selectAndSubmit(selectObj,formObj) {
	for (var i=0; i<selectObj.options.length; i++) {
	selectObj.options[i].selected = true;
	}
	formObj.submit();
}

function setGoTo(gotoObj,gotoVal) {
  alert(gotoVal);
  gotoObj.value=gotoVal;
  alert(gotoObj.value);
  document.forms[0].submit();
}


function deleteRecord(actionPath, parmName1, parmValue1, parmName2, parmValue2) {
	input_box=confirm("Delete this record?");
	if (input_box==true) { 
		dest = "/gfs/" + actionPath + "?" + parmName1 + "=" + parmValue1 + '&' + parmName2 + "=" + parmValue2;
  	document.location.href=dest;
		return;
	} else {
		alert ("Delete cancelled.");
		return false;
	}
}

function deleteRecordOneParm(actionPath, parmName1, parmValue1) {
	input_box=confirm("Delete this record?");
	if (input_box==true) { 
		dest = "/gfs/" + actionPath + "?" + parmName1 + "=" + parmValue1
  	document.location.href=dest;
		return;
	} else {
		alert ("Delete cancelled.");
		return false;
	}
}

function passwordCheck(uId, pass1, pass2, uname) {
  if (uname.value=="") {
      alert('Username cannot be blank.');
      return false; 
  }    
  if (uId.value==-1) {
    if (pass1.value=="") {
      alert('Password cannot be blank.');
      return false; 
    } 
    if (pass1.value==pass2.value) {
      return true;
    } else {
      alert('Passwords do not match');
      return false;
    }
  } else {
    if (pass1.value=="") {
      return true;
    } else {
      if (pass1.value==pass2.value) {
        return true;
      } else {
        alert('Passwords do not match');
        return false;
      }
    }
  }
  return false;
}

function openModalDialogWindow(actionRef, sWidth, sHeight) {
  var myParms = new Object();
  
  var sFeatures = "scroll:no;edge:raised;status:no;dialogHeight:"+ sHeight +"px;dialogWidth:" + sWidth +"px;";
  
  var rVal = window.showModalDialog(actionRef, myParms, sFeatures);
  if (rVal) {
    history.go(0);
  }
}

var childWindow = null;

function openChildWindow(actionRef, childWidth, childHeight, nPos) {
  var childLeft = 0;
  var childTop = 0;

/* nPos == 0  -  Top Left     */
/* nPos == 1  -  Top Right    */
/* nPos == 2  -  Bottom Left  */
/* nPos == 3  -  Bottom Right */
/* nPos == 4  -  Centered     */

  if (childWindow && childWindow.open && !childWindow.closed) {
    childWindow.focus();
  } else {
    if (nPos == 0) {
      childLeft = event.clientX + window.screenLeft - childWidth;
      childTop = event.clientY + window.screenTop - childHeight;
    } else if (nPos == 1) {
      childLeft = event.clientX + window.screenLeft;
      childTop = event.clientY + window.screenTop - childHeight;
    } else if (nPos == 2) {
      childLeft = event.clientX + window.screenLeft - childWidth;
      childTop = event.clientY + window.screenTop;
    } else if (nPos == 3) {
      childLeft = event.clientX + window.screenLeft;
      childTop = event.clientY + window.screenTop;
    } else {
      childLeft = event.clientX + window.screenLeft - childWidth/2;
      childTop = event.clientY + window.screenTop - childHeight/2;
    }
    var sFeatures = "height=" + childHeight + ",width=" + childWidth + ",top=" + childTop + ",left=" + childLeft + "status=yes,toolbar=no,titlebar=no,menubar=no,location=no";
    childWindow = window.open(actionRef, "NewWindow", sFeatures);
    childWindow.focus();
  }

  return true;
}

function checkChildWindow() {
  if (childWindow && childWindow.open && !childWindow.closed) {
    childWindow.focus();
  }
}

function closeChildWindow() {
  if (childWindow && childWindow.open && !childWindow.closed) childWindow.close();
}

function hideAll() {  
  var cCommonDivName = "hiddenDiv_";
  var arrDivs = document.getElementsByTagName('div');
  for(i = 0 ; i < arrDivs.length ; i++) {
    if (arrDivs[ i ].id.match(cCommonDivName)) {
      divHide(arrDivs[ i ].id);
    }  
  }
}

function divHide(divName) {
  var obj = document.getElementById(divName);
  obj.style.visibility = "hidden";
}

function divShow(divName) {
  hideAll();
  var obj = document.getElementById(divName);
  obj.style.visibility = "visible";
}

function openWebSite(siteAddr) {

  var searchString = /http/gi;
  var httpLocation = siteAddr.search(searchString);

  if (httpLocation == -1) {
    siteAddr = "http://" + siteAddr;
  }

  childWindow = window.open(siteAddr, "ClientWindow");
  childWindow.focus();

}

function openClientSearchWindow(clientNumber, clientName, childWidth, childHeight, nPos) {

  var childLeft = 0;
  var childTop = 0;
  var clientSearch = 'ClientSearchByCriteria.do';

/* nPos == 0  -  Top Left     */
/* nPos == 1  -  Top Right    */
/* nPos == 2  -  Bottom Left  */
/* nPos == 3  -  Bottom Right */
/* nPos == 4  -  Centered     */

  if (childWindow && childWindow.open && !childWindow.closed) {
    childWindow.focus();
  } else {
    if (nPos == 0) {
      childLeft = event.clientX + window.screenLeft - childWidth;
      childTop = event.clientY + window.screenTop - childHeight;
    } else if (nPos == 1) {
      childLeft = event.clientX + window.screenLeft;
      childTop = event.clientY + window.screenTop - childHeight;
    } else if (nPos == 2) {
      childLeft = event.clientX + window.screenLeft - childWidth;
      childTop = event.clientY + window.screenTop;
    } else if (nPos == 3) {
      childLeft = event.clientX + window.screenLeft;
      childTop = event.clientY + window.screenTop;
    } else {
      childLeft = event.clientX + window.screenLeft - childWidth/2;
      childTop = event.clientY + window.screenTop - childHeight/2;
    }

    if (clientNumber.value!='') {
      clientSearch = clientSearch + '?number=' + clientNumber.value;
    } else if (clientName.value!='') {
      clientSearch = clientSearch + '?name=' + clientName.value;
    }

    var sFeatures = "height=" + childHeight + ",width=" + childWidth + ",top=" + childTop + ",left=" + childLeft + ",scrollbars=yes,status=no,toolbar=no,titlebar=no,menubar=no,location=no";
    childWindow = window.open(clientSearch, "NewWindow", sFeatures);
    childWindow.focus();
  }

  return true;
}