var dir = "../"
var features = "top=70,left=100,width=550,height=590,status=yes,resizable=yes,scrollbars=yes";
var features1 = "top=100,left=100,width=80,height=60,status=yes,resizable=yes,scrollbars=yes";
var features2 = "top=70,left=100,width=450,height=500,status=yes,resizable=yes,scrollbars=yes";
var IsShowMsg = true;
var AlertMessage = '';
/*
var qListPopupH = new Image(); qListPopupH.src = "../images/qList/icon_downarrow_h.gif"
var qListPopupN = new Image(); qListPopupN.src = "../images/qList/icon_downarrow.gif"
*/
var Action_ItemValue = '';
var EditorAreaCSS_ASP = 'EditorAreaCSS.asp';
/*declaration for the maximum years displayed in the calendar pop-up*/
var MxYear

function OpenFiles(URL){
  AddComment(URL);
}

function OpenEX(URL) {
  var MyWindow = window.open(URL, 'MyWindow', TopLeft(780,420) + ",status=yes,resizable=yes,scrollbars=yes");
  MyWindow.focus();
}

function setFormState(FORM, theState) {
  for(var i = 0; i < FORM.length; i++) {
    switch(FORM[i].tagName) {
    case 'INPUT':
    case 'SELECT':
    case 'TEXTAREA':
    	FORM[i].disabled = theState;
    	break;
   	default:
   		window.alert(FORM[i].tagName);
    }    
  }
  FORM.disabled = theState;
}


//checking if there are values in form fields
function isNullForm(FormName) {
  var i, formlength, field, c, InputFields;
  c = 0;
  InputFields = 0;
  formlength = document.forms[FormName].length;

  for (i = 0; i < formlength; i++) {
    if (document.forms[FormName][i].type == "text" || document.forms[FormName][i].type == "textarea") {
      InputFields++;

      if (document.forms[FormName][i].value != "") c++;
    }
  }

  if (InputFields > 0 && c == 0) {
    window.alert("you need to enter some information before you press save");
    return false;
  } else {
    return true;
  }
}

function TimeLine() {
  //-- get the selected IDS in tasks;
  var FORM = document.forms['qListForm'];

  if (! FORM) {
    window.location.href = '../tasks/timeline.asp';
    return false;
  }

  //-- find is any of the one record is selected
  var TaskIDs = FORM.TaskID;

  if (! TaskIDs) {
    window.location.href = '../tasks/timeline.asp';
    return false;
  }

  if (! TaskIDs.length){
    //-- if only one selected, select the one;
    TaskIDs.checked = true;
  } else {
    var Checked = 0;

    // find the number of checked items
    for (i = 0; i < TaskIDs.length; i++) {
      if (TaskIDs[i].checked) Checked++;
    }

    // if nothing is checked, select all
    if (Checked = 0) for (i = 0; i < TaskIDs.length; i++){
      TaskIDs[i].checked = true;
    }
  }

  //-- set the form action to submit to timeline.
  FORM.action = '../tasks/timeline.asp';
  FORM.submit();
}

function AddComment(URL) {
  switch (window.name) {
    case 'NewWin1':
      OpenWinWith('NewWin2', URL, 30);
      break;
    case 'NewWin2':
      OpenWinWith('NewWin3', URL, 60);
      break;
    default:
      OpenWinWith('NewWin1', URL, 0);
      break;
  }
}

var qsParm = new Array();

function qs() {
  var query = window.location.search.substring(1);
  query = query.toLowerCase();
  var parms = query.split('&');

  for (var i = 0; i < parms.length; i++) {
    var pos = parms[i].indexOf('=');

    if (pos > 0) {
      var key = parms[i].substring(0, pos);
      var val = parms[i].substring(pos + 1);
      qsParm[key] = val;
    }
  }
}

function OpenWinWith(winName, URL, Padding) {
  var Features = TopLeftShift(620, 428, Padding) + ',status=yes,scrollbars=no,titlebar=no,fullscreen=no';
  var Win = window.open(URL, winName, Features);
  Win.resizeTo(620, 428);
  Win.focus();
}

function OpenPhoto(URL) {
  var Features = TopLeftShift(620, 700, 0) + ',status=yes,scrollbars=no,titlebar=no,fullscreen=no';
  var Win = window.open(URL, 'OpenPhoto', Features);
  Win.resizeTo(620, 700);
  Win.focus();
}

function ScrollingWindow(URL) {
  var Features = TopLeftShift(620, 428, 0) + ',resizable=yes,status=yes,scrollbars=yes,titlebar=no,fullscreen=no';
  var Win = window.open(URL, "ScrollingWindow", Features);
  Win.resizeTo(690, 428);
  Win.focus();
}

function AddComment2(URL){
  OpenWinWith('NewName2', URL, 60)
}

function AddComment3(URL){
  OpenWinWith('NewName3', URL, 60);
}

function setPos(Win) {
  var TopWin = Win;
  var Top = 300;
  var Left = 200;

  if (! TopWin.opener) return;

  if (! TopWin.opener.opener) return;

  while (TopWin.opener) {
    TopWin = TopWin.opener;
    Top += 30;
    Left += 30;
  }

  var TopWin = Win;

  while (TopWin.opener) {
    TopWin = TopWin.opener;

    if (TopWin.opener) {
      TopWin.moveTo(Top, Left);
      Top -= 30;
      Left -= 30;
    }
  }

  Win.moveTo(Top - 30, Left - 30);
  Win.status = 'Top=' + Top + ', Left=' + Left
}

function TopLeft(Width, Height){
  return TopLeftShift(Width, Height, 0)
}

function TopLeftShift(Width, Height, ShiftOf) {
  var winWidth, winHeight;
  winWidth = (screen.availwidth ? screen.availwidth : screen.availWidth)
  winHeight = (screen.availheight ? screen.availheight : screen.availHeight)
  winWidth = (winWidth - Width) / 2
  winHeight = (winHeight - Height) / 2

  var T = "top=" + (winHeight + ShiftOf) + ",left=" + (winWidth + ShiftOf) + ",width=" + Width + ",height=" + Height;
  return T;
}

var M_Array;

function setActiveMenu(MenuID){
  M_Array = eval('M_Array' + MenuID);
}

//--Delete Conformation
function ConfirmDel(NavURL) {
  if (eConfirm("You are about to delete the selected record permenently\n\n" + "Are you Sure?"))
      window.location.href = NavURL;

  return false;
}

function ConfirmDelTree(NavURL) {
  if (eConfirm("You are about to delete the selected record and its sub records permenently\n\n" + "Are you Sure?"))
      window.location.href = NavURL;

  return false;
}

//--Delete Conformation
function ConfirmRemove(NavURL) {
  if (eConfirm("You are about to Remove the record\n\n" + "Are you Sure?")) window.location.href = NavURL;

  return false;
}

function HM_f_PopUp(){
  return false
}

;

function HM_f_PopDown(){
  return false
}

;
popUp = HM_f_PopUp;
popDown = HM_f_PopDown;

function ShowMenu(HM_MenuID, Menu_ID) {
  var MyURL = M_Array[Menu_ID];
  var jScript = /^JavaScript:/i

  if (MyURL.search(jScript) >= 0){
    eval(MyURL)
  } else{
    document.location.href = MyURL;
  }
}

var xpos = 0;
var ypos = 0;

//---------------------------------------------------------------------
//Setting up the X location of
//---------------------------------------------------------------------
function setX(Item) {
  if (document.all){
    xpos = getOffsetLeftX(document.images[Item]);
  } else{
    xpos = document.images[Item].x;
  }

  xpos = xpos + 7; //'+ 35;
}

//---------------------------------------------------------------------
// Setting up Y location
//---------------------------------------------------------------------
function setY(Item) {
  if (document.all){
    ypos = getOffsetTopX(document.images[Item]);
  } else{
    ypos = document.images[Item].y;
  }

  ypos = ypos + document.images[Item].height;
}

//---------------------------------------------------------------------
// Reading the X Position
//---------------------------------------------------------------------
function getX(){
  return xpos;
}

//---------------------------------------------------------------------
// Reading the Y Position
//---------------------------------------------------------------------
function getY(){
  return ypos;
}

//---------------------------------------------------------------------
//Brower setup for Netscape
//---------------------------------------------------------------------
function getOffsetLeftX(el) {
  var ol = el.offsetLeft;

  while ((el = el.offsetParent) != null)
      ol += el.offsetLeft;

  return ol;
}

function getOffsetTopX(el) {
  var ot = el.offsetTop;

  while ((el = el.offsetParent) != null)
      ot += el.offsetTop;

  return ot;
}

var LastItemClicked = 0;
var LastSectionUsed = '';

function ShowHideAll(IDName, ImgName, ID_ToShow, MaxIDs, MoreSections) {
  var iID = parseInt(ID_ToShow);
  var iMax = parseInt(MaxIDs);

  if (isNaN(iID)) iID = 1;
  if (isNaN(iMax)) iMax = 40; //--maximum in a page
  if (LastSectionUsed != IDName) LastItemClicked = 0;
  if (LastItemClicked == iID) iID = 0;

  LastItemClicked = iID;
  LastSectionUsed = IDName;

  for (var i = 1; i <= MaxIDs; i++) {
    var TheRow = document.getElementById(IDName + i);
    var TheImage = document.images[ImgName + i];
    var BlockName = (document.all ? 'block' : (TheRow.tagName == 'TR' ? 'table-row' :'block'))
    if (TheRow) TheRow.style.display = iID == i ? BlockName  : 'none';
    if (TheImage) TheImage.src = (iID == i) ? '../images/arrow_imageset_down.gif' : '../images/arrow_imageset_right.gif'
  }

  //If if there are more items to be hidden/show set it here.
  //items are passed by comma
  if (! MoreSections) return;

  for (var i = 1; i <= MaxIDs; i++) {
    var aItems = MoreSections.split(',')
    for (x = 0; x < aItems.length; x++) {
      var theItem = document.getElementById(aItems[x] + i);
      var BlockName = (document.all ? 'block' : (theItem.tagName == 'TR' ? 'table-row' :'block'))      
      if (theItem) theItem.style.display = iID == i ? BlockName : 'none';
    } //for x
  }   //for i
}

function ShowHide(IDName, ImgToChange) {
 try {
    var TR = document.getElementById(IDName);
    if (! TR) return;
    var Style = TR.style.display;
    if (Style == "none"){
      Style = (document.all ? 'block' : (TR.tagName == 'TR' ? 'table-row' :'block'));
    } else{
      Style = "none"
    }

    TR.style.display = Style;

    if (ImgToChange)
        document.images[ImgToChange].src
            = ((Style != 'none') ? '../images/arrow_imageset_down.gif' : '../images/arrow_imageset_right.gif')
  }
  catch (e) { 
    window.alert(e);
}
}

function getIdOf(FieldName, FieldValue) {
  var I = 0;

  var Field = eval("document.forms['qListForm']." + FieldName);

  if (! Field) return - 1;

  if (Field.length) {
    for (I = 0; I < Field.length; I++) {
      if (FieldValue.toLowerCase() == Field[I].value.toLowerCase()) return I + 1;
    }
  } else {
    if (FieldValue.toLowerCase() == Field.value.toLowerCase()) return I + 1;
  }

  return - 1;
}

function getCountOf(FieldName) {
  var I = 0;
  var Field = eval("document.forms['qListForm']." + FieldName);

  if (! Field) return 0;

  if (Field.length){
    return Field.length;
  } else{
    return 1;
  }
}

function Wizard(URL) {
  var Features = TopLeft(730, 500) + ',status=yes,scrollbars=no,titlebar=no,fullscreen=no';
  var winName = 'NewWin'
  var Win = window.open(URL, winName, Features);
  Win.resizeTo(730, 500);
  Win.focus();
}

function ContactPopup(URL) {
  var Features = 'width=640,height=420,top=200,left=100,status=yes,resize=yes,scrollbars=no,titlebar=no,fullscreen=no';
  var winName = 'NewWin'
  var Win = window.open(URL, winName, Features);
  Win.focus();
}

function KeywordPopup(URL) {
  var Features = 'width=640,height=420,top=200,left=100,status=yes,resize=yes,scrollbars=no,titlebar=no,fullscreen=no';
  var winName = 'NewWin'
  var Win = window.open(URL, winName, Features);
  Win.focus();
}

function Wizard_ImageSet(URL) {
  var Features = TopLeft(730, 550) + ',status=yes,scrollbars=yes,titlebar=no,fullscreen=no';
  var winName = 'NewWin'
  var Win = window.open(URL, winName, Features);
  Win.resizeTo(730, 550);
  Win.focus();
}

function DoCheck(Item, Checked) {
  var FORM = document.forms['qListForm'];

  if (! FORM) return '';

  var UserIDs = eval('FORM.' + Item);

  if (! UserIDs) return '';

  if (UserIDs.length) for (var i = 0; i < UserIDs.length; i++){
    UserIDs[i].checked = Checked;
  }
}

function selectByID(CategoryCode, checked) {
  var j = 0;
  var ROW = document.getElementById('ROW_' + CategoryCode);

  if (ROW) ROW.className = checked ? 'RoundSubCategorySection' : '';

  while (1) {
    j++;
    var Item = document.getElementById(CategoryCode + '_' + j);

    if (! Item) return;

    Item.checked = checked;
    var ROW = document.getElementById('ROW_' + CategoryCode + '_' + j);

    if (ROW) ROW.className = checked ? 'RoundSubCategorySection' : '';
  }
}

function selectRowByID(CategoryCode, checked) {
  var ROW = document.getElementById(CategoryCode);

  if (ROW) ROW.className = checked ? 'RoundSubCategorySection' : '';
}


function getIDs(Item, IsMulti, TypeOfRecord, ForceRedirect) {
  if (Action_ItemValue != ''){
    return Action_ItemValue;
  }
  var thisMessage = 'please select one ' + TypeOfRecord + ' for this action';

  var FORM = document.forms['qListForm'];
  if (! FORM) return ReadQuery(Item);
  var UserIDs = eval('FORM.' + Item);

  if (! UserIDs) return ReadQuery(Item);

  var IDs = '';

  if (UserIDs.length) {
    for (var i = 0; i < UserIDs.length; i++) {
      if (UserIDs[i].checked) {
        if (IDs != '') {
          if (IsMulti){
            IDs = IDs + ',';
          } else {
            window.alert(AlertMessage == '' ? thisMessage : AlertMessage);
            return '';
          }
        }
        IDs = IDs + UserIDs[i].value;
      }
    }
  } else {
    if (UserIDs.checked) IDs = UserIDs.value;
  }

  if (ForceRedirect == null){
    ForceRedirect = false;
  }

  if (IDs == '') IDs = ReadQuery(Item);

  if (IDs == '' && ! ForceRedirect) {
    if (IsShowMsg) window.alert(AlertMessage == '' ? thisMessage : AlertMessage);
  }

  return IDs;
}

function ReadQuery(Action_Column) {
  qs();
  IDs = qsParm[Action_Column.toLowerCase()] + '';

  if (IDs == 'undefined') IDs = '';

  return IDs;
}

function getGroups(Item, IsMulti, TypeOfRecord, ForceRedirect) {
  var FORM = document.forms['qListFormG'];

  if (! FORM) return '';

  var UserIDs = eval('FORM.' + Item);

  if (! UserIDs) return '';

  var IDs = '';

  if (UserIDs.length) {
    for (var i = 0; i < UserIDs.length; i++) {
      if (UserIDs[i].checked) {
        if (IDs != '') {
          if (IsMulti){
            IDs = IDs + ',';
          } else {
            window.alert(AlertMessage == '' ? thisMessage : AlertMessage);
            return '';
          }
        }

        IDs = IDs + UserIDs[i].value;
      }
    }
  } else {
    if (UserIDs.checked) IDs = UserIDs.value;
  }

  if (ForceRedirect == null){
    ForceRedirect = false;
  }

  if (IDs == '' && ! ForceRedirect) {
    if (IsShowMsg) window.alert(AlertMessage == '' ? thisMessage : AlertMessage);
  }

  return IDs;
}

function getIDsByForm(FORM, Item, TypeOfRecord) {
  var UserIDs = eval('FORM.' + Item);
  var thisMessage = 'please select one ' + TypeOfRecord + ' for this action';

  if (! UserIDs) return '';

  var IDs = '';

  if (UserIDs.length) {
    for (var i = 0; i < UserIDs.length; i++) {
      if (UserIDs[i].checked) {
        if (IDs != '') {
          window.alert(AlertMessage == '' ? thisMessage : AlertMessage);
          return '';
        }

        IDs = IDs + UserIDs[i].value;
      }
    }
  } else {
    if (UserIDs.checked) IDs = UserIDs.value;
  }

  if (IDs == ''){
    window.alert(AlertMessage == '' ? thisMessage : AlertMessage);
  }

  return IDs;
}

//window.alert('Loaded New Version');
function getIDsForm(FORM, Item, TypeOfRecord) {
  //window.alert(FORM)
  var UserIDs = eval('FORM.' + Item);

  if (! UserIDs) return '';

  var IDs = '';

  if (UserIDs.length) {
    for (var i = 0; i < UserIDs.length; i++) {
      if (UserIDs[i].checked) {
        if (IDs != '') IDs += ","

        IDs = IDs + UserIDs[i].value;
      }
    }
  } else {
    if (UserIDs.checked) IDs = UserIDs.value;
  }

  if (IDs == '') {
  //window.alert('Please select a ' + TypeOfRecord + ' for action');
  }

  return IDs;
}

function validateTelephone(TheForm, CheckFields) {
  try {
    for (i = 0; i < CheckFields.length; i++) {
      //var Field = eval(TheForm +'.'+CheckFields[i][0]);
      var Field = eval("document.forms['" + TheForm + "']." + CheckFields[i][0]);
      var Value = Field.value;

      //checking if the first character is + or a number		
      for (j = 0; j < Value.length; j++) {
        var Chr = Value.charAt(j)

        switch (Chr) {
          case '0':
          case '1':
          case '2':
          case '3':
          case '4':
          case '5':
          case '6':
          case '7':
          case '8':
          case '9':
          case ' ':
          case '-': break;

          default:
              if (j == 0 && Chr == '+') break;

              Field.focus();
              window.alert('please provide a valid entry for ' + CheckFields[i][1]);
              return false;
        } //switch

        Field.value = Field.value.replace(' ', '');
        Field.value = Field.value.replace('-', '');
      } //for				
    }

    return true;
  }
  catch (e){
    return true;
  }
}

function CheckEmail(TheForm, Checkemail) {
  //Checking for email address
  for (i = 0; i < Checkemail.length; i++) {
    //var Field = eval(TheForm+'.'+Checkemail[i][0]);
    var Field = eval("document.forms['" + TheForm + "']." + Checkemail[i][0]);
    var Email = Field.value
    //alert (Email)
    var posAt = Email.indexOf('@', 0);

    if (Email.length > 0) {
      if ((posAt > 0) && (Email.indexOf('.', posAt) > 0)) {
      //return true;
      } else {
        window.alert("please enter a valid email address at " + Checkemail[i][1]);
        return false;
      }
    }
  } //for

  return true;
}

function showToolTip(ImageName) {
  var xpos, ypos;

  if (document.all) {
    xpos = getOffsetLeftX(document.images[ImageName]);
    ypos = getOffsetTopX(document.images[ImageName]);
  } else {
    xpos = document.images[ImageName].x;
    ypos = document.images[ImageName].y;
  }

  tooltip.style.display = 'block';
  tooltip.style.left = (xpos + 18) + 'px';
  tooltip.style.top = (ypos + 18) + 'px';
}

function hideToolTip(){
  tooltip.style.display = 'none';
}

function checkField(MaxChrs, TheField, e) {
  var L = TheField.value.length;
  if(L <= MaxChrs) return true;
  
  switch(e.keyCode) {
  case 17 : //control key
  case  8 : //back space
  case  9 : //tab key
  case 33 : //page up
  case 34 : //page down
  case 35 : //end
  case 36 : //home
  case 37 : //left arrow
  case 38 : //up arrow
  case 39 : //right arrow
  case 40 : //down arrow  
  case 45 : //insert
  case 46 : //delete key
    return true;
    break;
  default:
    if(L <= MaxChrs) return true;
    return false;
  }
}
function setFieldLength(MaxChrs, TheField) {
  if(TheField.value.length > MaxChrs) {
    TheField.value =  TheField.value.substring(0,MaxChrs);
  }
  return true;
}