defaultTime = 200;
var timerID;

/* Function that swaps images. */
	
function di20(id, newSrc) {
   var theImage = FWFindImage(document, id, 0);
   if (theImage) {
       theImage.src = newSrc;
   }
}
/* Functions that track and set toggle group button states. */
	
function FWFindImage(doc, name, j) {
   var theImage = false;
   if (doc.images) {
       theImage = doc.images[name];
   }
   if (theImage) {
       return theImage;
   }
   if (doc.layers) {
       for (j = 0; j < doc.layers.length; j++) {
           theImage = FWFindImage(doc.layers[j].document, name, 0);
           if (theImage) {
               return (theImage);
           }
       }
   }
   return (false);
}

function getElemRoot(elemId)  {
  isComp = true;
  if (document.layers)  {
    isComp = false;
    }
  else if (document.all)  {
    elemRoot = document.all[elemId];
    }
  else if (document.getElementById) {
    elemRoot = document.getElementById(elemId);
    }
  else  {
    isComp = false;
    }
  }

function doItNow(elemId,styleObj,styleVal)  {
  getElemRoot(elemId);
  if (isComp) {
    elemRoot.style[styleObj] = styleVal;
    }
  }

function doItLater(elemId,styleObj,styleVal,timerVal) {
  if (timerVal) {
    thisTimeout = timerVal;
    }
  else  {
    thisTimeout = defaultTime;
    }
  timerID = setTimeout("doItNow('" + elemId + "','" + styleObj + "','" + styleVal + "')",thisTimeout);
  }

openLayers = new Array();

function showLayers(layerID) {
  clearTimeout(timerID);
  deleteAt = 1; 

  newLength = layerID.length;
  if (openLayers.length > 0) {
    lenMark = openLayers.length - 1;
    oldLength = openLayers[lenMark].length;
  } else  {
    oldLength = 0;
  }
  
  if (oldLength > newLength)  {
    tempArray = openLayers;
    openLayers = new Array();
    
    for (var i = 0; i < tempArray.length; i++)  {
      openLayers[i] = tempArray[i];
      doItNow(openLayers[i],'visibility','visible');
      if (tempArray[i]==layerID)  {
        deleteAt = i + 1;  
        break;
        }
      }
    
    for (var i = deleteAt; i < tempArray.length; i++) {
      doItNow(tempArray[i],'visibility','hidden');
      }
    } 
    else if (newLength > oldLength) {
      openLayers[openLayers.length] = layerID
      doItNow(layerID,'visibility','visible');
    }
    else  { 
			doItNow(openLayers[lenMark],'visibility','hidden');
			openLayers[lenMark] = layerID;
			doItNow(layerID,'visibility','visible');
	  }
    
  }
  
function closeAll() {
  for(var j = 0; j < openLayers.length; j++)  {
    doItNow(openLayers[j],'visibility','hidden');
    }
  openLayers = new Array();
  }

function delayCloseAll()  {
  timerID = setTimeout("closeAll()",200);
  }
  

function formSubmit(elemId) {
  getElemRoot(elemId);
  elemRoot.submit();
  }
  
function buttonAction(address)  {
  document.location.href=address;
  }
  
function goToParentFrame(address)  {
  parent.location.href=address;
  }
  
function reLocate(address)  {
  document.location.href=address;
  }

function adminSelectAction(address,elemId)  {
  getElemRoot(elemId);
  elemVal = elemRoot.value;
  document.location.href=address + elemVal;
  }

function pop_up(target,itemid)  {
  if(window.popup)  {
    popup.close();
  }
  popup = window.open(target+'.cfm?objectid='+itemid,'popup','width=660,height=560,scrollbars=yes');
  popup.focus();
}

function logIn(pageID)  {
  loginWin = window.open('login_popup.cfm?objectid='+pageID,'loginWin','height=160,width=300,scrollbars=no');
  loginWin.focus();
  }
  
  
function datePopup(fld,wbrt)  {
  dateVal = document.getElementById(fld).value;
  datepopup = window.open(wbrt +'/popups/dsp_datepopup.cfm?field=' + fld + '&datestring=' +     dateVal,'datepopup','height=180,width=240,scrollbars=no');
}

function validateDate(fldTitle,fldName) {
  
  var dateVal = document.getElementById(fldName).value;
  var arr_date = dateVal.split('-');
  
  if(arr_date.length == 3)  {
  
    var dayVal = arr_date[0];
    var monthVal = arr_date[1];
    var yearVal = arr_date[2];
    
    var yearCheck = yearVal % 4;
    var errChk = 0;
    
    if (yearCheck==0) {
      var isLeapYear = true;
      } else {
      var isLeapYear = false;
      }
    
    if (monthVal=='02') {
      if(isLeapYear && dayVal > '29') {
        errMessage = errMessage + fldTitle +' - Date error: there are only 29 days in February \n';
        errChk = 1;
        }
      if(!isLeapYear && dayVal > '28')  {
        errMessage = errMessage + fldTitle +' - Date error: there are only 28 days in February \n';
        errChk = 1;
        }
      }
      
    if (monthVal=='04' && dayVal > '30')  {
      errMessage = errMessage + fldTitle +' - Date error: there are only 30 days in April \n';
      errChk = 1;
        }
      
    if (monthVal=='06' && dayVal > '30')  {
      errMessage = errMessage + fldTitle +' - Date error: there are only 30 days in June \n';
      errChk = 1;
        }
      
    if (monthVal=='09' && dayVal > '30')  {
      errMessage = errMessage + fldTitle +' - Date error: there are only 30 days in September \n';
      errChk = 1;
        }
      
    if (monthVal=='11' && dayVal > '30')  {
      errMessage = errMessage + fldTitle +' - Date error: there are only 30 days in November \n';
      errChk = 1;
        }
        
  } else  {
    errMessage = errMessage + fldTitle +' - the date is not valid \n';
    errChk = 1;
  }
      
  if(errChk == 1) {
    return false;
  } else  {
    var validVal = yearVal + monthVal + dayVal;
    return validVal;
  }    
}
  
function validateTime(fldTitle,fldName) {
  var timeVal = document.getElementById(fldName).value;
  var arr_time = timeVal.split(':');
  var errChk = 0;
  
  if(arr_time.length == 2)  {
    var hourVal = arr_time[0];
    var minuteVal = arr_time[1];
    var hourChk = parseInt(hourVal);
    if(hourChk > 23)  {
      errMessage = errMessage + fldTitle +' - the time is not valid \n';
      errChk = 1;
    }
    var minuteChk = parseInt(minuteVal);
    if(minuteChk > 59)  {
      errMessage = errMessage + fldTitle +' - the time is not valid \n';
      errChk = 1;
    }
  } else  {
    errMessage = errMessage + fldTitle +' - the time is not valid \n';
    errChk = 1;
  }
  if(errChk == 1) {
    return false;
  } else  {
    var validVal = hourVal + minuteVal;
    return validVal;
  }
 
}

function selectionMove(fldFrom,fldTo) {
  testVar = document.getElementById(fldFrom).selectedIndex;
  selectedOpts = true;
  while(selectedOpts) {
    if(document.getElementById(fldFrom).selectedIndex != '-1')  {
      optionNum = document.getElementById(fldFrom).selectedIndex;
      newItem = new Option;
      newItem.value = document.getElementById(fldFrom).options[optionNum].value;
      newItem.text = document.getElementById(fldFrom).options[optionNum].text;
      document.getElementById(fldFrom).options[optionNum] = null;
      document.getElementById(fldTo).options[document.getElementById(fldTo).length] = newItem;
    } else  {
      selectedOpts = false;
    }
  }
}

function renewMultiSelectValues(listField,valueField) {
  var val = "";
  for (i=0;i<document.getElementById(listField).length;i++) {
  if (i!=0) { val += ","; }
    val += document.getElementById(listField).options[i].value;
  } 
  document.getElementById(valueField).value = val;
}

function loadChild(parentFld,childFld)  {
  parentElem = document.getElementById(parentFld);
  filterVal = parentElem.value;
  childElem = document.getElementById(childFld);
  childElem.innerHTML = '';
  if(filterVal!='' && filterVal!=0) {
    //childElem.write(optionHtml);
    selArray = eval("arr_"+childFld+"_"+filterVal);
    //alert(selArray);
    for (i=0;i<selArray.length;i++)  {
      newItem = new Option;
      itemVals = selArray[i].split(',');
      newItem.value = itemVals[0];
      newItem.text = itemVals[1];
      childElem.options[childElem.length] = newItem;
      //childElem.selectedIndex = childElem.length - 1;
    }
    
  } else  {
    newItem = new Option;
    newItem.value = 0;
    newItem.text = '-- select --';
    childElem.options[childElem.length] = newItem;
    childElem.selectedIndex = childElem.length - 1;
  }
}




