﻿// JScript File
function hidediv(divid){
    if(document.getElementById(divid) != undefined){
        document.getElementById(divid).style.display ='none';
    }
}
function showdiv(divid){
    document.getElementById(divid).style.display ='';
}

function showmoveablediv(moveable_divid, moveto_divid){
    var x = getX(document.getElementById(moveto_divid)) - document.getElementById(moveto_divid).offsetLeft;
    var y = getY(document.getElementById(moveto_divid)) + document.getElementById(moveto_divid).offsetHeight;
    			
    document.getElementById(moveable_divid).style.left = x;
    document.getElementById(moveable_divid).style.top = y;
    document.getElementById(moveable_divid).style.display = '';
    alert(x + ',' + y);
}
     
function getX(elem){
    var startnode = elem;
    var x = 0;
    while(startnode.tagName != 'BODY' && startnode.tagName != 'HTML'){
    	
	    x += startnode.offsetLeft;
	    startnode = startnode.offsetParent;
    }

    return x;
}

function getY(elem){
    var startnode = elem;
    var y = 0;
    while(startnode.tagName != 'BODY'  && startnode.tagName != 'HTML'){
	    y += startnode.offsetTop;
	    startnode = startnode.offsetParent;
    }

    return y;
}

function setloc(loc){
    location.href = loc;
}


function resizeMe(obj, id){
    var frameobj = document.getElementById(id);
    frameobj.style.height = 0;
	docHeight = obj.document.body.scrollHeight;
	frameobj.style.height = docHeight + 10 + 'px';
}

function openCal(elem){
    window.open('/FallonUI/calendar.aspx', 'newwin', 'width=249, height=200');
	document.getElementById('currCal').value = elem;
}

function setCalVal(val){
    var elem = document.getElementById(document.getElementById('currCal').value);
	elem.value = val;
}

var today = new Date();
var day   = today.getDate();
var month = today.getMonth() + 1;
var year  = y2k(today.getYear());
var abrv  = new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');

function IsDate(field)
{

    if (document.getElementById(field).value == "")
    {
      return true;
    }
    else if (isDateString(document.getElementById(field).value) && isDateString(document.getElementById(field).value) != "match" )
    {
      SetDateFieldFromJSDate(field, CreateDate(field));
      return true;
    }
    else
    {
	if(isDateString(document.getElementById(field).value) != "match"){
      document.getElementById(field).focus();
      document.getElementById(field).select();
      alert("Date must be mm/dd/yyyy");
	  return false;
	  }
    }

}

function isDateString(dateStr) {

    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = dateStr.match(datePat); // is the format ok?

    if (matchArray != null)
    {
      month = matchArray[1]; // parse date into variables
      day = matchArray[3];
      year = matchArray[5];

      if (month < 1 || month > 12) { // check month range
          alert("Month must be between 1 and 12");
          return false;
      }

      if (day < 1 || day > 31) {
          alert("Day must be between 1 and 31");
          return false;
      }

      if ((month==4 || month==6 || month==9 || month==11) && day==31) {
          alert("Month "+month+" has fewer than 31 days")
          return false;
      }

      if (month == 2) { // check for february 29th
          var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
          if (day > 29 || (day==29 && !isleap)) {
              alert("February " + year + " has fewer than " + day + " days");
              return false;
          }
      }
      return true; // date is valid
    }
}

function CreateDate(strFldName)
{
  return new Date(document.getElementById(strFldName).value);
}

function SetDateFieldFromJSDate(strFldName, dateObject)
{
  document.getElementById(strFldName).value = (dateObject.getMonth()+1) + '/' + dateObject.getDate() + '/' + y2k(dateObject.getYear());
}

function y2k(number)
{
   return ((number < 1000) ? number + 1900 : number);
}


function isNumeric(val){
    if(isNaN(val)){
        return false;
    }
    else{
        return true;
    }
}

function cNull(val, def){
    if(typeof(val) == 'object'){
        if(def != null){
            return def;
        }
        else{
            return '';
        }
    }
    if(val == ''){
        val = '';
    }
    return val;
}

function disable(){

    for(i=0; i<document.forms[0].elements.length; i++){
	    var elem = document.forms[0].elements[i];
	    elem.disabled = true;

	    if(elem.tagName == 'img'){
		    elem.style.display = 'none';
	    }
    }
    for(i=0; i<document.getElementsByTagName('img').length; i++){
	    var elem = document.getElementsByTagName('img')[i];
    	
	    if(elem.hideonread != undefined){
		    if(elem.hideonread == 1){
			    elem.style.display = 'none';	
		    }	
	    }
    }	
	
}