//Issue#22445, APunzalan, generic functions for nalpdirectory
//Issue#26741, AMF, fixed functionality of Submit button in firefox

//generic submit function
function uf_SubmitPage(aoForm, asPage) {
  var loForm = aoForm;
  var hfSortColumn = loForm.hfSortColumn;
  var hfSortOrder = loForm.hfSortOrder;
  var hfSortClicked = loForm.hfSortClicked;
  
  
  if(hfSortClicked!=null){
    if(hfSortClicked.value=="0"){
        if(hfSortColumn!=null){
            hfSortColumn.value=""
        }
        if(hfSortOrder!=null){
            hfSortOrder.value=""
        }
    }
  }
  loForm.target = "";
  loForm.action = asPage;
  loForm.submit();
  
}

function uf_Clear(aoButton) {
  var lsPage = document.getElementById("hfClearPage").value.trim();
  var loForm = document.forms[0];
  var hfClearClicked = loForm.hfClearClicked;

  if(hfClearClicked!=null){
    hfClearClicked.value = "1";
  }

  if (ufModified()) {
    var msgx = "Discard changes?"
    if (confirm(msgx) ) {
      if(aoButton!=null) {
        uf_DisableButton(aoButton, true);
      }
      uf_SubmitPage(loForm,lsPage);
    }
  } else {
      if(aoButton!=null) {
        uf_DisableButton(aoButton, true);
      }
      uf_SubmitPage(loForm,lsPage);
  }
  return;
}

function uf_ClearNoDiscard(aoButton) {
  var lsPage = document.getElementById("hfClearPage").value.trim()
  if(aoButton!=null) {
    uf_DisableButton(aoButton, true);
  }
 location.replace(lsPage);
  return;
}

//Clear Button which uses "submit" instead of "replace"
function uf_ClearSubmit(aoButton) {
  var lsPage = document.getElementById("hfClearPage").value.trim()
  document.getElementById("hfAction").value = "clear";
  if (ufModified()) {
    var msgx = "Discard changes?"
    if (confirm(msgx) ) {
      if(aoButton!=null) {
        uf_DisableButton(aoButton, true);
      }
      document.getElementById("form1").action = lsPage
      document.getElementById("form1").submit();
    }
  } else {
      if(aoButton!=null) {
        uf_DisableButton(aoButton, true);
      }
      document.getElementById("form1").action = lsPage
      document.getElementById("form1").submit();

  }
  return;
}



function uf_DisableButton(aoObject, abDisabled){
  aoObject.disabled = abDisabled;
}

function uf_DisplayMessage(asMessage) {
    if (document.all.divMessageLayer) {
      document.all.divMessageLayer.style.display = "block";
      document.all.messageLayer.className = "warningmessageon"
      document.all.messageLayer.innerHTML = asMessage;
    }
    if (document.all.divMessageLayer1) {
      document.all.divMessageLayer1.style.display = "block";
      document.all.messageLayer1.className = "warningmessageon"
      document.all.messageLayer1.innerHTML = asMessage;
    }
}

function uf_ClearMessage(){
    if (document.all.divMessageLayer) {
      document.all.divMessageLayer.style.display = "none";
      document.all.messageLayer.className = "warningmessageoff"
      document.all.messageLayer.innerHTML = "";
    }
    if (document.all.divMessageLayer1) {
      document.all.divMessageLayer1.style.display = "none";
      document.all.messageLayer1.className = "warningmessageoff"
      document.all.messageLayer1.innerHTML = "";
    }
}


function uf_Focus(asField) {
  var loForm = document.getElementById("form1");
  if (loForm) {
    if (loForm[asField]) {
      if (!loForm[asField].disabled) {
        loForm[asField].focus();
      }
    }
  }
}


function uf_SetAction(asAction){
  var loForm = document.forms[0];
  if (loForm.hfAction){
    loForm.hfAction.value = asAction;
  }
}

function uf_Login(asPage) {
  var loForm = document.forms[0];
  if (uf_ValidateLogin()) {
    uf_SubmitPage(loForm,asPage)
  }
}

// aaf 01.18.2006 start-> added (#22445)
function uf_RetrieveList(asPage) {
  if (uf_ValidateLogin()) {
    var loForm = document.forms[0]
    uf_SubmitPage(loForm,asPage)
  }
}
// <-end ... aaf 01.18.2006

function uf_Logout(asPage) {
  if (uf_ValidateLogout()) {
    var loForm = document.forms[0]
    uf_SubmitPage(loForm,asPage)
  }
}

/*function uf_NavigateRecords(aiPageNum, asPageName) {
  document.getElementById("hfCurrentPage").value = aiPageNum;
  uf_SubmitPage(asPageName)
}
 */


/*function uf_Sort(asCol) {

  var loForm = document.getElementById("form1");


  if(loForm.hfSortOrder.value == "ASC")
  {
    loForm.hfSortOrder.value = "DESC"
  }
  else
  {
    loForm.hfSortOrder.value = "ASC"
  }

  if(loForm.hfSortColumn.value != asCol)
  {
    loForm.hfSortOrder.value = "ASC"
  }
  loForm.hfSortColumn.value = asCol;
  loForm.hfCurrentPage.value = "";
  loForm.submit();
}*/

function uf_DeleteSelection(asPage) {
  if (uf_ValidateDeleteSelection()) {
    var loForm = document.forms[0]
    uf_SubmitPage(loForm,asPage)
  }
}

function uf_Browse(asPage) {
    if (uf_ValidateBrowse()) {
      if (document.getElementById("hfAction")) {
          document.getElementById("hfAction").value = "search";
      }
      if (document.getElementById("hfCurrentPage")) {
          document.getElementById("hfCurrentPage").value  = 1;
      }
      var loForm = document.forms[0]
      uf_SubmitPage(loForm,asPage)
   }
}

function uf_Save(aoButton, asPage) {
  if(aoButton!=null) {
    uf_DisableButton(aoButton, true);
  }
  if (uf_ValidateSave()) {
    var loForm = document.forms[0]
    uf_SubmitPage(loForm,asPage)
  } else {
    if(aoButton!=null) {
      uf_DisableButton(aoButton, false);
    }
  }
}

// aaf 01.23.2006 start-> added (#22434)
function uf_Submit(aoButton, asPage) {
  if(aoButton!=null) {
    uf_DisableButton(aoButton, true);
  }
  if (uf_ValidateSave()) {
    var loForm = document.forms[0]
    uf_SubmitPage(loForm,asPage)
  } else {
    if(aoButton!=null) {
      uf_DisableButton(aoButton, false);
    }
  }
}
function uf_Add(aoButton, asPage) {
  if(aoButton!=null) {
    uf_DisableButton(aoButton, true);
  }
  if (uf_ValidateAdd()) {
      var loForm = document.forms[0]
      uf_SubmitPage(loForm,asPage)
  } else {
    if(aoButton!=null) {
      uf_DisableButton(aoButton, false);
    }
  }
}
function uf_Replace(aoButton, asPage) {
  if(aoButton!=null) {
    uf_DisableButton(aoButton, true);
  }
  if (uf_ValidateReplace()) {
    var loForm = document.forms[0]
    uf_SubmitPage(loForm,asPage)
  } else {
    if(aoButton!=null) {
      uf_DisableButton(aoButton, false);
    }
  }
}
// <-end ... aaf 01.23.2006

function uf_Delete(aoButton, asPage) {
  if(aoButton!=null) {
    uf_DisableButton(aoButton, true);
  }
  if (uf_ValidateDelete()) {
    var loForm = document.forms[0]
    uf_SubmitPage(loForm,asPage)
  } else {
    if(aoButton!=null) {
      uf_DisableButton(aoButton, false);
    }
  }
}

function uf_IsNumeric(asValue){
	for (var lsCtr=0; lsCtr < asValue.length; lsCtr++){
		var lsChar = asValue.charAt(lsCtr);
		if(lsChar < "0" || lsChar > "9"){
			return false;
		}
	}
	return true;
}

function uf_NavigateRecords(aiPage,aoForm,asPage) {
  document.getElementById("hfCurrentPage").value = aiPage;
  var loForm = document.forms[0]
  uf_SubmitPage(loForm,asPage)
}

/*function uf_Sort(asCol) {
  if (uf_ValidateSort()) {
    var loForm = document.getElementById("form1");

    if(loForm.hfSortOrder.value == "ASC") {
      loForm.hfSortOrder.value = "DESC"
    } else {
      loForm.hfSortOrder.value = "ASC"
    }
    if(loForm.hfSortColumn.value != asCol) {
      loForm.hfSortOrder.value = "ASC"
    }
    loForm.hfSortColumn.value = asCol;
    loForm.hfCurrentPage.value = "";
    loForm.submit();
  }
}*/

function uf_UploadFile(aoButton, asPage) {
  if (uf_ValidateUploadFile()) {
    var loForm = document.forms[0]
    uf_SubmitPage(loForm,asPage)
  }
}

function uf_Random () {
    document.getElementById("hfGUID").value = (new Date()).getTime();
}

function uf_Back(asPage) {
  if (uf_ValidateBack()) {
    var loForm = document.forms[0]
    uf_SubmitPage(loForm,asPage)
  }
}

function uf_Continue(asPage) {
  if (uf_ValidateContinue()) {
    var loForm = document.forms[0]
    uf_SubmitPage(loForm,asPage)
  }
}

function uf_MailMerge() {
  var loForm = document.forms[0]
  if (uf_ValidateMailMerge()) {
    if (document.getElementById("hfDocName")) {
        if (document.getElementById("hfDocName").value == "MY LIST" ){
            uf_SubmitPage(loForm,'cdledir_mergedfile_login_process.asp')
        }else{
            uf_SubmitPage(loForm,'cdledir_mergedfile_login.asp')
        }
    }else{
        uf_SubmitPage(loForm, 'cdledir_mergedfile_login.asp')
    }
  }
}

function uf_ImportFile(aoButton, asPage) {
  if(aoButton!=null) {
    uf_DisableButton(aoButton, true);
  }
  if (uf_ValidateImportFile()) {
    var loForm = document.forms[0]
    uf_SubmitPage(loForm,asPage);
  } else {
    if(aoButton!=null) {
      uf_DisableButton(aoButton, false);
    }
  }
}

function uf_AddToMyList() {
    if (uf_ValidateAddToMyList()) {
      uf_SetAction('insert')
      var loForm = document.forms[0]
      //uf_SubmitPage('dledir_mylist.asp')          // comment-out (#22434) ... aaf 01.18.2006
      uf_SubmitPage(loForm,'cdledir_savelist.asp')          // added (#22434) ... aaf 01.18.2006
    }
  }

// aaf 12.14.2005 start-> comparison charts (#22437)
function uf_CompCharts() {
    if (uf_ValidateCompCharts()) {
      var loForm = document.forms[0]
      uf_SubmitPage(loForm,'cdledir_compchart.asp')
    }
}
// <-end ... aaf 12.14.2005

//******************START for checkboxes, used by My List, Quick Search and Law School Admin screens*************//
function uf_CheckAll(asCheckAll, asCheckItem, asHFCheck) {
  var loForm = document.getElementById("form1"); lsObjCbxEmp = loForm[asCheckItem];

  if (document.getElementById(asCheckAll).checked) {
    if (lsObjCbxEmp) {
      if (lsObjCbxEmp.length) {  //more than 1 element
        for (i=0; i<lsObjCbxEmp.length; i++) {
           lsObjCbxEmp[i].checked = true;
           uf_InsertHF(lsObjCbxEmp[i], lsObjCbxEmp[i].value, asHFCheck)
        }
      } else {  //only 1 element
        lsObjCbxEmp.checked = true;
        uf_InsertHF(lsObjCbxEmp, lsObjCbxEmp.value, asHFCheck)
      }
    }
  } else {
    if (lsObjCbxEmp) {
      if (lsObjCbxEmp.length) {  //more than 1 element
        for (i=0; i<lsObjCbxEmp.length; i++) {
           lsObjCbxEmp[i].checked = false;
           uf_InsertHF(lsObjCbxEmp[i], lsObjCbxEmp[i].value, asHFCheck)
        }
      } else {  //only 1 element
        lsObjCbxEmp.checked = false;
        uf_InsertHF(lsObjCbxEmp, lsObjCbxEmp.value, asHFCheck)
      }
    }
  }
}

function uf_InsertHF(asObj, asValue, asHFCheck) {
  var str;
  //lsCheckObj = document.getElementById("hfChecked")
  lsCheckObj = document.getElementById(asHFCheck)
  str="";
  str = lsCheckObj.value.match(asValue);
  if (asObj.checked) {
    //check if existing
    if (str==null) {  //if not existing, include in list
      if (lsCheckObj.value == "" ) {
        lsCheckObj.value = asValue;
      } else {
        lsCheckObj.value = lsCheckObj.value + "," + asValue;
      }
    }
  } else { //uncheck
    //check if existing, if so delete from list
    if (str!=null) {
      //string is only one in hf so far
      if ( ((lsCheckObj.value.match(asValue+","))==null) && ((lsCheckObj.value.match(","+asValue))==null)) {
        lsCheckObj.value = "";
      //string is first element in list
      } else if ( ((lsCheckObj.value.match(asValue+","))!=null) && ((lsCheckObj.value.match(","+asValue))==null)) {
        lsCheckObj.value = lsCheckObj.value.replace(asValue+",", "");
      //string is last element or is a middle element in the list
      } else {
        lsCheckObj.value = lsCheckObj.value.replace(","+asValue, "");
      }
    }
  }
  return;
}



function uf_CheckStatus(asCheckAll, asCheckItem, asHFCheck) {
  var lsObjValue, loForm;
  //lsObjValue = document.getElementById("hfChecked").value.trim()
  lsObjValue = document.getElementById(asHFCheck).value.trim()
  loForm = document.getElementById("form1");
  //lsObjEmp = loForm["cbxResult"];
  lsObjEmp = loForm[asCheckItem];

  if (lsObjValue!="") {
    lsObjValueArr = lsObjValue.split(",")

    if (lsObjEmp) {
      if (lsObjEmp.length) {//more than 1
        for (j=0; j<lsObjEmp.length; j++) {
          for (i=0; i<lsObjValueArr.length; i++) {
            if (lsObjValueArr[i] == lsObjEmp[j].value) {
              lsObjEmp[j].checked = true
            }
          }
        }
      } else {  //only 1 record
        for (i=0; i<lsObjValueArr.length; i++) {
          if (lsObjValueArr[i] == lsObjEmp.value.trim()) {
            lsObjEmp.checked = true;
          }
        }
      }
    }
  }
  if (uf_CheckFields(asCheckItem)) {
     //loForm.cbxCheckAll.checked = true;
     loForm[asCheckAll].checked = true;
  }
}

function uf_CheckFields(asCheckItem) {
  var loForm = document.forms[0], lsEmp = asCheckItem;//lsEmp = "cbxResult";

  if (loForm[lsEmp]) {
    if (loForm[lsEmp].length){
      for (var i=0; i < loForm[lsEmp].length; i++) {
        if (!loForm[lsEmp][i].checked) {
          return false;
        }
      }
    } else {
      if (!loForm[lsEmp].checked) {
        return false;
      }
    }
    return true;
  }
}
//******************END for checkboxes, used by My List and Law School Admin screens*************//

function uf_WPQ(asPage,asEmpID) {
  var loForm = document.getElementById("form1");
  loForm.hfEmpID.value = asEmpID;
  var loForm = document.forms[0]
  uf_SubmitPage(loForm,asPage);
}

var ioPrintWin = null
function uf_Print(asURL, asWinName, asFeatures) {

  if (uf_ValidatePrint()) {
    ioPrintWin = window.open(asURL,asWinName,asFeatures);
    //ioPrintWin = window.open('dledir_compchart_print_frame.asp','CompChart','status=yes,scrollbars=yes,resizable=yes,left=20,top=20,width=800,height=600');
  }
}


function uf_OpenWindow(asURL, asWinName, asFeatures, asAction) {
	uf_ClearMessage();
	var loForm = document.getElementById("form1");

	if (navigator.appVersion.indexOf("Mac") > 0) {
        //location.replace(asReportPathAndParameters + "&rs:Format=PDF");
		window.open(asURL,asWinName,asFeatures);
	} else {
	  window.open(asURL,asWinName,asFeatures);
	}
	//window.open('../blank.asp','form','status=yes,resizable=yes,left=20,top=20,width=950,height=650');
	loForm.action = asAction;
	loForm.target = asWinName;
	uf_Random();
	loForm.submit();
}

function uf_OpenWindowErr(asURL, asWinName, asFeatures, asAction) {
	uf_ClearMessage();
	var loForm = document.getElementById("form1");
	window.open(asURL,asWinName,asFeatures);
	//window.open('../blank.asp','form','status=yes,resizable=yes,left=20,top=20,width=950,height=650');
	loForm.action = asAction;
	loForm.target = asWinName;
	loForm.submit();
}

function uf_Random() {

  if (document.getElementById("hfRandom"))  //zt:03/17/2006 - checking of hfRandom field
  document.getElementById("hfRandom").value = (new Date()).getTime();

  if (document.getElementById("hfGUID")) //amf added to fix error encountered in Upload File due to duplicate uf_Random() function
  document.getElementById("hfGUID").value = (new Date()).getTime();

}

function uf_ClipBoard() {
  var loForm = document.frmDirectLink;
  /*
    if (loForm.txtHold.createTextRange){
		loForm.txtHold.innerText = spnDirectLink.innerText;
		Copied = loForm.txtHold.createTextRange();
		Copied.execCommand("Copy");
    }else if (loForm.txtHold.setSelectionRange){
		iStart = 0;
		iLength = loForm.hfDirectLink.value.length;

		loForm.txtHold.value = loForm.hfDirectLink.value
		Copied = loForm.txtHold.setSelectionRange(iStart, iLength);
		Copied.execCommand("Copy");
    }
    */
	if (window.clipboardData){
		loForm.txtHold.innerText = spnDirectLink.innerText;
		Copied = loForm.txtHold.createTextRange();
		Copied.execCommand("Copy");

	}else if (window.netscape){

		loForm.txtHold.value = loForm.hfDirectLink.value
		// you have to sign the code to enable this, or see notes below
		netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
		var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
		if (!clip) return;
		var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
		if (!trans) return;
		trans.addDataFlavor('text/unicode');
		var str = new Object();
		var len = new Object();
		var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
		var copytext=loForm.txtHold.value;
		str.data=copytext;
		trans.setTransferData("text/unicode",str,copytext.length*2);
		var clipid=Components.interfaces.nsIClipboard;
		if (!clip) return false;
		clip.setData(trans,null,clipid.kGlobalClipboard);
	}

}

function uf_AHInfoCommon(asPage,asCurrentPage) {
    var loForm = document.forms[0];
    uf_SubmitPage(loForm,asPage + "?pagefrom="+asCurrentPage);
  }

function uf_ShowCombinedPDF() {
  var loForm = document.forms[0]
  if (uf_ValidateCombinedPDF()) {
    uf_OpenWindow('blank.asp','pdfform','status=yes,scrollbars=no,resizable=yes,width=600,height=400,left=100,top=50', 'cdledir_search_results_pdfform_combined.asp')
  }
}



