﻿// JScript File

var PoweredAvailabilityConst = "PoweredAvailability";
var CalendarSearchConst = "CalendarSearch";
var ScheduleConst = "Schedule";
var IncludeLccYesConst = "yes";
var IncludeLccNoConst = "no";

var _globalUrlToRedirect;

function initKeyUp(searchBtnId)
{
    GlobalSearchBtnId = searchBtnId;
    addEvent(document, "keydown", searchKeyUp);
}
function searchKeyUp(evt)
{
     // If it’s Mozilla/FF use evt; else use window.event
     evt = evt ? evt : event;
     var keyCode = evt.keyCode;
     // figure out which key code goes with which key
     // alert(evt.keyCode);
     if(keyCode == "13")
     {  
          // do this if it IS the enter key
          var btn = document.getElementById(GlobalSearchBtnId);
          btn.click();
     }
     else 
     {
          // do this if it is NOT the enter key
     }
}
function redirect()
{
    addEvent(document, "load", clickToRedirect);
}
function clickToRedirect(evt)
{
    var btn = document.getElementById(GlobalSearchBtnId); 
    btn.click();
}

function addEvent(_href, _event, _function)
{
    if (_href.addEventListener)
    {
	    _href.addEventListener(_event, _function, false);
    }
    else
    {
	    _href.attachEvent("on"+_event, _function);
    }
}

function ManageIncludeLccRBL(includeLccRadioButtonList, searchTypeRadioButtonList) {
    var searchTypeRBLSelectedValue = GetSelectedValueFromRBL(searchTypeRadioButtonList);
    SetIncludeLccVisibility(includeLccRadioButtonList, searchTypeRBLSelectedValue);
}

function ManageSearchTypeRBL(includeLccRadioButtonList, searchTypeRadioButtonList) {
    var includeLccRBLSelectedValue = GetSelectedValueFromRBL(includeLccRadioButtonList);
    switch (includeLccRBLSelectedValue) {
        case IncludeLccYesConst:
            {
                SetVisibility(searchTypeRadioButtonList, PoweredAvailabilityConst, true);
                SetVisibility(searchTypeRadioButtonList, ScheduleConst, false);
                SetVisibility(searchTypeRadioButtonList, CalendarSearchConst, false);
                break;
            }
        case IncludeLccNoConst:
            {
                SetVisibility(searchTypeRadioButtonList, PoweredAvailabilityConst, true);
                SetVisibility(searchTypeRadioButtonList, ScheduleConst, true);
                SetVisibility(searchTypeRadioButtonList, CalendarSearchConst, true);
                break;
            }
    }
}

function InitializeSearchTypeRBLEnability(searchTypeRadioButtonList, includeLccRadioButtonList) {
    var searchTypeRBLSelectedValue = GetSelectedValueFromRBL(searchTypeRadioButtonList);
    var includeLccRBLSelectedValue = GetSelectedValueFromRBL(includeLccRadioButtonList);

    if (searchTypeRBLSelectedValue == PoweredAvailabilityConst  && includeLccRBLSelectedValue == IncludeLccYesConst) { 
        SetVisibility(searchTypeRadioButtonList, PoweredAvailabilityConst, true);
        SetVisibility(searchTypeRadioButtonList, ScheduleConst, false);
        SetVisibility(searchTypeRadioButtonList, CalendarSearchConst, false);
    }
    else {
        SetVisibility(searchTypeRadioButtonList, PoweredAvailabilityConst, true);
        SetVisibility(searchTypeRadioButtonList, ScheduleConst, true);
        SetVisibility(searchTypeRadioButtonList, CalendarSearchConst, true);
    }
}

function InitializeIncludeLccRBLEnability(includeLccRadioButtonList, searchTypeRadioButtonList) {
    var searchTypeRBLSelectedValue = GetSelectedValueFromRBL(searchTypeRadioButtonList);
    SetIncludeLccVisibility(includeLccRadioButtonList, searchTypeRBLSelectedValue);
}

function SetIncludeLccVisibility(includeLccRadioButtonList, searchTypeRBLSelectedValue) {
    switch (searchTypeRBLSelectedValue) {
        case PoweredAvailabilityConst:
            {
                SetVisibility(includeLccRadioButtonList, IncludeLccYesConst, true);
                SetVisibility(includeLccRadioButtonList, IncludeLccNoConst, true);
                break;
            }
        case ScheduleConst:
            {
                SetVisibility(includeLccRadioButtonList, IncludeLccYesConst, false);
                SetVisibility(includeLccRadioButtonList, IncludeLccNoConst, false);
                break;
            }
        case CalendarSearchConst:
            {
                SetVisibility(includeLccRadioButtonList, IncludeLccYesConst, false);
                SetVisibility(includeLccRadioButtonList, IncludeLccNoConst, false);
                break;
            }
    }
}

function GetSelectedValueFromRBL(radioButtonList) {
    var rbl = document.getElementsByName(radioButtonList);
    for (var item = 0; item < rbl.length; item++) {
        if (rbl[item].checked) {
            return rbl[item].value;
        }
    }
}

function GetElementFromRBL(rbl, value) {
    //var rbl = document.getElementsByName(radioButtonList);
    for (var item = 0; item < rbl.length; item++) {
        if (rbl[item].value == value) {
            return rbl[item];
        }
    }
}

function SetVisibility(radioButtonList, value, visibility) {
    var rbl = document.getElementsByName(radioButtonList);
    if (rbl != null) {
        var element = GetElementFromRBL(rbl, value);
        if (element != undefined) {
            element.disabled = !visibility;
            element.parentNode.disabled = false;
        }
    }
}

function EnableAllItems(radioButtonList) {
    var rbl = document.getElementsByName(radioButtonList);
    if (rbl != null) {
        for (var item = 0; item < rbl.length; item++) {
             rbl[item].disabled = false;
             rbl[item].parentNode.disabled = false;
            }
    }
}