function fillYesterdayTodayTomorrow(selDateName, strDateSelected) {
    var selDate = null;
    var targets;
    if (document.getElementsByName) {
        targets = document.getElementsByName(selDateName);
        if (targets.length > 0) {
            selDate = targets[0];
        }
    }
    if (selDate == null) {
        return;
    }
    
    var Today = new Date()
    var TodayYear = Today.getYear();
    if(TodayYear < 1000){
        TodayYear += 1900;
    }
    var todayInMS = Today.getTime()
    var tomorrowInMS = todayInMS + (60 * 60 * 24 * 1000)
    var yesterdayInMS = todayInMS - (60 * 60 * 24 * 1000)
    var Yesterday =  new Date(yesterdayInMS)
    var YesterdayYear = Yesterday.getYear();
    if(YesterdayYear < 1000){
        YesterdayYear += 1900;
    }
    var Tomorrow = new Date(tomorrowInMS)
    var TomorrowYear = Tomorrow.getYear();
    if(TomorrowYear < 1000){
        TomorrowYear += 1900;
    }

    var DayArray = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
    var monthArray = new Array("January", "February", "March",
                   "April", "May", "June", "July", "August",
                   "September", "October", "November", "December")
    var numMonthArray = new Array("01","02","03","04","05","06","07","08","09","10","11","12")

    var numDayArray = new Array("00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15",
                                    "16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31");
  
    
    selDate.options[0].text = DayArray[Today.getDay()] + ", " + monthArray[Today.getMonth()] + " " +  Today.getDate();
    selDate.options[0].value = (TodayYear +""+ numMonthArray[Today.getMonth()] +""+ numDayArray[Today.getDate()]);
    if (selDate.options[0].value == strDateSelected) {
       selDate.selectedIndex = 0;
    }
    
    selDate.options[1].text = DayArray[Tomorrow.getDay()] + ", " + monthArray[Tomorrow.getMonth()] + " " +  Tomorrow.getDate();
    selDate.options[1].value = (TomorrowYear +""+ numMonthArray[Tomorrow.getMonth()] +""+ numDayArray[Tomorrow.getDate()]);
    if (selDate.options[1].value == strDateSelected) {
       selDate.selectedIndex = 1;
    }
    
    selDate.options[2].text = DayArray[Yesterday.getDay()] + ", " + monthArray[Yesterday.getMonth()] + " " +  Yesterday.getDate();
    selDate.options[2].value = (YesterdayYear +""+ numMonthArray[Yesterday.getMonth()] +""+ numDayArray[Yesterday.getDate()]);
    if (selDate.options[2].value == strDateSelected) {
       selDate.selectedIndex = 2;
    }

}

function autoselectDate(selDateName) {
    var selDate = null;
    var targets;
    if (document.getElementsByName) {
        targets = document.getElementsByName(selDateName);
        if (targets.length > 0) {
            selDate = targets[0];
        }
    }
    if (selDate == null) {
        return;
    }
    
}

function createTimeOfDay(min, max) {
    var result = new Object();
    var hour;
    var minute;
    var whenNormal;
    
    hour = parseInt(min.substr(0,2));
    minute = parseInt(min.substr(2,2));
    whenNormal = hour * 60 + minute;    
    result["minNormal"] = whenNormal;
    
    hour = parseInt(max.substr(0,2));
    minute = parseInt(max.substr(2,2));
    whenNormal = hour * 60 + minute;
    result["maxNormal"] = whenNormal;
    
    return result;
}

var listTimeOfDay = [ createTimeOfDay("0600", "1000"),
                      createTimeOfDay("1000", "1300"),
                      createTimeOfDay("1300", "1700"),
                      createTimeOfDay("1700", "2100"),
                      createTimeOfDay("2100", "2359"),
                      createTimeOfDay("0000", "0600") ];

function autoselectTimeOfDay(selTimeOfDayName) {
    var selTimeOfDay = null;
    var targets;
    if (document.getElementsByName) {
        targets = document.getElementsByName(selTimeOfDayName);
        if (targets.length > 0) {
            selTimeOfDay = targets[0];
        }
    }
    if (selTimeOfDay == null) {
        return;
    }
    
    var now = new Date();
    var hours = now.getHours();
    var minutes = now.getMinutes();
    var nowNormal = hours * 60 + minutes;
   
    var options = selTimeOfDay.options;
    var todCurr;
    var indexBest = 0;
    var found = false;
    var i = 0;
        
    while (! found && i < listTimeOfDay.length) {
        todCurr = listTimeOfDay[i];
        if (todCurr["minNormal"] <= nowNormal && nowNormal <= todCurr["maxNormal"]) {
            found = true;
            indexBest = i;
        }
        i++;
    }
    
    selTimeOfDay.selectedIndex = indexBest;
}

function formSubmit(event, showcode) {
   var key = (event.which) ? event.which : event.keyCode;
   if (showcode == "true") {
      alert("keycode= " + key);
   }
   if (key == 10 || key == 13) {
      var element = document.getElementById("submittedbyjs");
      if (element != null) {
         element.value = "true";
         return false;
      }
      
      return true;
   }
}

function urlSetParm(url, key, value) {
  key = key + "=";

  if (url.indexOf("?") != -1) {
    var pieces = url.split("?");
    querystring = pieces[1];


    if (querystring != null && querystring.indexOf(key) != -1) {
      var startIndex = querystring.indexOf(key);
      var endIndex = querystring.indexOf("&", startIndex);
      if (endIndex == -1) {
        endIndex = querystring.length;
      }
      var len = endIndex - startIndex;
      var originalKv = querystring.substr(startIndex, len);
      var replacement = key + value;
      querystring = querystring.replace(originalKv, replacement);
      return unescape(pieces[0] + "?" + querystring);
    }
    
    return unescape(url + "&" + key + value);
  }

  return unescape(url + "?" + key + value);
}

function appendFormAction(key, value) {
  if (key.length > 0 && value.length > 0) {
    document.aspnetForm.action = urlSetParm(document.aspnetForm.action, key, value);
  }
  return true;
}

function gotoUrl(url) {
   this.location.href = url;
}

function ScrollDown() {
   setTimeout("window.scrollTo(0, 1);", 100);
}

function findParent(node, localName) {
   while (node && (node.nodeType != 1 || node.localName.toLowerCase() != localName))
      node = node.parentNode;
   return node;
}

function hasClass(self, name) {
   var re = new RegExp("(^|\\s)"+name+"($|\\s)");
   return re.exec(self.getAttribute("class")) != null;
}
