﻿var Deleting = null;
var ScreenWrapper = null;
var Blackout = null;
var Modal = null;
function ShowModal(URL,Parameters,FollowOn)
{
    if(ScreenWrapper == null)
    {
        ScreenWrapper = document.createElement('div');
        ScreenWrapper.id = 'ScreenWrapper';
        ScreenWrapper.className = 'ScreenWrapper';
        document.body.appendChild(ScreenWrapper);
        
        Blackout = document.createElement('div');
        Blackout.id = 'Blackout';
        Blackout.className = 'Blackout';
        ScreenWrapper.appendChild(Blackout);
        
        Modal = document.createElement('div');
        Modal.id = 'Modal';
        Modal.className = 'Modal';
        ScreenWrapper.appendChild(Modal);
    }
    ScreenWrapper.style.display = 'block';
    SubmitAsyncPOST(URL, Parameters, Modal, FollowOn)
    ShowHideDots('none');
}
function ShowHideDots(ShowHide)
{
    if (Dots != undefined)
    {
        for (var intCount = 0; intCount < Dots.length; intCount++)
        {
            Dots[intCount].style.display = ShowHide;
        }
    }
}
function HideModal()
{
    ScreenWrapper.style.display = 'none';
    ShowHideDots('block');
}
function RemoveItem()
{
    Deleting.parentNode.parentNode.removeChild(Deleting.parentNode);
    Deleting = null;
}
function PrintReport()
{
    var PrintButton = document.getElementById('PrintReport');
    PrintButton.style.display = 'none';
    window.print();
    PrintButton.style.display = 'block';
}
function SubmitAsync(CurrentURL, Receiver, FollowOn)
{
    var XMLHttpRequestObject = false;
    if (window.XMLHttpRequest)
    {
        XMLHttpRequestObject = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHttp");
    }
    if (XMLHttpRequestObject)
    {
        XMLHttpRequestObject.open("GET", CurrentURL);
        XMLHttpRequestObject.onreadystatechange = function()
        {
            if (XMLHttpRequestObject.readyState == 4)
            {
                if (XMLHttpRequestObject.responseText != 'BAD DATE')
                {
                    Receiver.innerHTML = XMLHttpRequestObject.responseText;
                    setTimeout(FollowOn, 1);
                }
                else
                {
                    if (undefined != BadDate)
                    {
                        BadDate();
                    }
                }
                delete XMLHttpRequestObject;
                XMLHttpRequestObject = null;
                document.getElementById('Loading').style.display = 'none';
            }
            else
            {
                document.getElementById('Loading').style.display = 'block';
            }
        }
        XMLHttpRequestObject.send(null);
    }
}
function SubmitAsyncPOST(CurrentURL, Parameters, Receiver, FollowOn)
{
    var XMLHttpRequestObject = false;
    if (window.XMLHttpRequest)
    {
        XMLHttpRequestObject = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHttp");
    }
    if(XMLHttpRequestObject)
    {
        XMLHttpRequestObject.open("POST", CurrentURL);
        XMLHttpRequestObject.setRequestHeader('Content-type','application/x-www-form-urlencoded');
        XMLHttpRequestObject.setRequestHeader('Content-length', Parameters.length);
        if (!document.all)
        {
            XMLHttpRequestObject.setRequestHeader("Connection", "close");
        }
        //XMLHttpRequestObject.setRequestHeader('Connection', 'close');
        XMLHttpRequestObject.onreadystatechange = function()
        {
            if (XMLHttpRequestObject.readyState == 4)
            {
                Receiver.innerHTML = XMLHttpRequestObject.responseText;
                setTimeout(FollowOn, 1);
                delete XMLHttpRequestObject;
                XMLHttpRequestObject = null;
                if (document.getElementById('Loading') != undefined)
                {
                    document.getElementById('Loading').style.display = 'none';
                }
            }
            else
            {
                if (document.getElementById('Loading') != undefined)
                {
                    document.getElementById('Loading').style.display = 'block';
                }
            }
        }
        XMLHttpRequestObject.send(Parameters);
    }
}
var XMLHttpRequestObjectSearchData = null;
var ReceiverSearchData = null;
var FollowOnSearchData = '';
function SubmitAsyncPOSTSearchData(CurrentURL, Parameters, Receiver, FollowOn)
{
    ReceiverSearchData = Receiver;
    FollowOnSearchData = FollowOn;
    if (window.XMLHttpRequest)
    {
        XMLHttpRequestObjectSearchData = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        XMLHttpRequestObjectSearchData = new ActiveXObject("Microsoft.XMLHttp");
    }
    if (XMLHttpRequestObjectSearchData)
    {
        XMLHttpRequestObjectSearchData.open("POST", CurrentURL);
        XMLHttpRequestObjectSearchData.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
        XMLHttpRequestObjectSearchData.setRequestHeader('Content-length', Parameters.length);
        if (!document.all)
        {
            XMLHttpRequestObjectSearchData.setRequestHeader("Connection", "close");
        }
        //XMLHttpRequestObject.setRequestHeader('Connection', 'close');
        XMLHttpRequestObjectSearchData.onreadystatechange = FillSearchData;
        XMLHttpRequestObjectSearchData.send(Parameters);
    }
}
function FillSearchData()
{
    if (XMLHttpRequestObjectSearchData.readyState == 4)
    {
        //debugger;
        //ReceiverSearchData.innerHTML = XMLHttpRequestObjectSearchData.responseText;
        setTimeout(FollowOnSearchData, 1);
        delete XMLHttpRequestObjectSearchData;
        XMLHttpRequestObjectSearchData = null;
        ReceiverSearchData = null;
        FollowOnSearchData = '';
        if (document.getElementById('Loading') != undefined)
        {
            document.getElementById('Loading').style.display = 'none';
        }
    }
    else
    {
        if (document.getElementById('Loading') != undefined)
        {
            document.getElementById('Loading').style.display = 'block';
        }
    }
}
function SQLDelete(sender, receiver, Table,KeyField,KeyValue,FollowOn,RemoveFromDisplay)
{
	var URL = 'ChangeDB.aspx'
	var Parameters = 'NoCache=' + Math.random();
	Parameters += '&CRUD=D';
	Parameters += '&Table=' + Table;
	Parameters += '&KeyField=' + KeyField;
	Parameters += '&KeyValue=' + KeyValue;
	SubmitAsyncPOST(URL, Parameters, receiver,FollowOn);
	if(RemoveFromDisplay)
	{
	    sender.parentNode.parentNode.removeChild(sender.parentNode);
	}
}
function SwitchText(sender,Field,Table,KeyField,KeyValue,FollowOn,ControlType, Connection, MaxTextSize)
{
    NewText = document.createElement(ControlType);
    NewText.style.width = sender.offsetWidth - 5;
    NewText.style.height = sender.offsetHeight - 2;
    NewText.value = GetInnerText(sender);
    SetInnerText(sender, '');
    sender.appendChild(NewText);
    NewText.focus();
    var StoreClick = sender.onclick;
    sender.onclick = '';
    NewText.onblur = function()
    {
        UpdateValue(CurrentUserID, NewText, document.createElement('div'), Field, Table, KeyField, KeyValue, FollowOn, Connection, MaxTextSize, true);
        if (NewText.tagName == 'INPUT')
        {
            SetInnerText(sender, NewText.value);
        }
        else
        {
            SetInnerText(sender, GetInnerText(NewText));
        }
        sender.onclick = StoreClick;
    }
}
function UpdateValue(UserID,sender,receiver,Field,Table,KeyField,KeyValue,FollowOn, Connection, MaxTextSize,UsePost)
{
    if(MaxTextSize == undefined)
    {
        MaxTextSize = 0;
    }
    var Value;
    var NoUpdate;
    if(sender.tagName)
    {
        switch(sender.tagName)
        {
            case 'INPUT':
                Value = sender.value;
                if(MaxTextSize > 0 && Value.length>MaxTextSize)
                {
                    sender.style.backgroundColor = 'red';
                    NoUpdate = true;
                }
                break;
            case 'SELECT':
                Value = sender.value;
                break;
            case 'SPAN':
                Value = GetInnerText(sender);
                break;
            case 'TEXTAREA':
                Value = GetInnerText(sender);
                break;
            default:
                break;
        }
    }
    else
    {
        Value = sender;
    }
    if(!NoUpdate)
    {
        var URL = 'ChangeDB.aspx';
        var Parameters = 'NoCache=' + Math.random();
        Parameters += '&UserID=' + UserID;
        Parameters += '&CRUD=U';
        Parameters += '&Value=' + escape(Value);
        Parameters += '&Field=' + Field;
        Parameters += '&Table=' + Table;
        Parameters += '&KeyField=' + KeyField;
        Parameters += '&KeyValue=' + KeyValue;
        Parameters += '&Connection=' + Connection;
        if(UsePost)
        {
            SubmitAsyncPOST(URL,Parameters,receiver,FollowOn);
        }
        else
        {
            SubmitAsync(URL + '?' + Parameters,receiver,FollowOn);
        }
    }
}
function SetDate(CurrentDateElement,CurrentDate,DatePopUp)
{
    document.getElementById(CurrentDateElement).value = CurrentDate;
    document.getElementById(DatePopUp).style.display = 'none';
}
function ToggleVisible(receiverID)
{
    var receiver = document.getElementById(receiverID);
    if(receiver.style.display=='' || receiver.style.display=='none')
    {
        receiver.style.display = 'block';
    }
    else
    {
        receiver.style.display = 'none';
    }
}
function ShowCalendar(sender,receiverID,ChangeDirection)
{
    ClickedDays = new Array();
    var receiver = document.getElementById(receiverID);
    var URL = 'Calendar.aspx?NoCache=' + Math.random();
    URL += '&ID=' + receiverID;
    URL += '&SelectedDate=' + sender.parentNode.childNodes[0].value;
    URL += '&ChangeDirection=' + ChangeDirection;
    if(ChangeDirection == 0)
    {
        SubmitAsync(URL,receiver,"OpenPopUp('" + receiverID + "');");
    }
    else
    {
        SubmitAsync(URL,receiver,'');
    }
    ClickedDay = null;
    ClickedDayBackground = null;
}
function Top(sender)
{
    if(sender.offsetParent)
    {
        return sender.offsetTop + Top(sender.offsetParent);
    }
    else
    {
        return sender.offsetTop;
    }
}
function Left(sender)
{
    if(sender.offsetParent)
    {
        return sender.offsetLeft + Left(sender.offsetParent);
    }
    else
    {
        return sender.offsetLeft;
    }
}
function OpenPopUp(PopUpID)
{
    if (PopUpID != 'DatePickerCalendar')
    {
        CurrentPopUp = document.getElementById(PopUpID);
        CurrentPopUp.style.position = 'absolute';
        if (CurrentPopUp.className.indexOf('CalendarControl') > -1)
        {
            var receiver = CurrentPopUp;
            /*if(Left(CurrentPopUp.previousSibling.previousSibling) + CurrentPopUp.previousSibling.previousSibling.offsetWidth + 190 > document.body.offsetWidth)
            {
            CurrentPopUp.style.left = Left(CurrentPopUp.previousSibling.previousSibling) - 180;
            }*/
            while (Top(receiver) + receiver.offsetHeight > document.body.offsetHeight)
            {
                receiver.style.top = receiver.offsetTop - 1;
            }
            //receiver.style.top = receiver.offsetTop - 100;
            while (Left(receiver) + receiver.offsetWidth > document.body.offsetWidth)
            {
                receiver.style.left = receiver.offsetLeft - 1;
            }
        }
        ToggleVisible(PopUpID);
        CurrentPopUp.onclick = function()
        {
            NoClose = true;
        };
    } 
}
function ClosePopUp()
{
    if (!NoClose && CurrentPopUp != null)
    {
        CurrentPopUp.onclick = '';
        ToggleVisible(CurrentPopUp.id);
        CurrentPopUp = null;
        if (ClickedDay)
        {
            LoadData();
        }
    }
    NoClose = false;
    if (!NoComboClose && CurrentOptions != null)
    {
        ToggleVisible(CurrentOptions.id);
        ChooseComboBoxOption(CurrentOptions.parentNode.childNodes[0])
        CurrentOptions = null;
    }
    else
    {
        NoComboClose = false;
    }
    if (CurrentTimePicker != null && !NoCloseTimePicker)
    {
        CurrentTimePicker.style.display = 'none';
        CurrentTimePicker = null;
    }
    else
    {
        NoCloseTimePicker = false;
    }
    if (CurrentDrop == null && LastDrop != null)
    {
        LastDrop.style.display = 'none';
        LastDrop = null;
    }
    if (CurrentTextDrop == null && LastTextDrop != null && !NoTextDropClose)
    {
        LastTextDrop.style.display = 'none';
        LastTextDrop = null;
    }
    NoTextDropClose = false;
    HideAllCustomDrops();
}
function CalendarDateChanged(sender)
{
    LoadData();
}
function ChooseDate(sender, NewDate)
{
    if(ClickedDay)
    {
        ClickedDay.style.backgroundColor = ClickedDayBackground;
    }
    sender.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.childNodes[0].value = NewDate;
    ClickedDayBackground = sender.style.backgroundColor;
    document.getElementById('DateControl').value = NewDate;
    sender.style.backgroundColor = '#ccdeea';
    ClickedDay = sender;
    if(window.MakeDirty != undefined)
    {
        MakeDirty(sender.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.childNodes[0]);
    }
} 
function OpenModal(receiverID)
{
    var receiver = document.getElementById(receiverID);
    document.getElementById('ModalPage').style.display = 'block';
    document.getElementById('ModalBox').style.display = 'block';
    receiver.style.display = 'block';
}
function CloseModal(sender)
{
    document.getElementById('ModalPage').style.display = 'none';
    document.getElementById('ModalBox').style.display = 'none';
    sender.parentNode.parentNode.style.display = 'none';
}
function OptionMouseOut(sender)
{
    sender.style.backgroundColor = 'white';
    sender.style.color = 'black';
    CurrentOption = null;
}
function OptionMouseOver(sender)
{
    sender.style.backgroundColor = '#0A246A';
    sender.style.color = 'white';
    CurrentOption = sender;
}
function FilterOptions(sender,OptionsID)
{
    var Options = document.getElementById(OptionsID);
    for(intCount=0;intCount<Options.childNodes.length;intCount++)
    {
        if(GetInnerText(Options.childNodes[intCount]).toUpperCase().indexOf(sender.value.toUpperCase())<0)
        {
            Options.childNodes[intCount].style.display = 'none';
        }
        else
        {
            Options.childNodes[intCount].style.display = 'block';
        }
    }
}
function AsyncFilterOptions(sender,OptionsID)
{
    if(sender.value.length<=4)
    {
        var Options = document.getElementById(OptionsID);
        var URL = 'AsyncFilter.aspx?NoCache=' + Math.random();
        URL += '&Value=' + sender.value;
        URL += '&Sender=' + sender.id;
        URL += '&Scroll=' + sender.scrollTop;
        if(sender.value.length<3)
        {
            URL +='&Empty=true';
        }
        SubmitAsyncDelay(URL,OptionsID);
    }
    else
    {
        FilterOptions(sender,OptionsID);
    }
}
function ShowComboBox(sender)
{
    NoComboClose = false;
    ClosePopUp();
    NoComboClose=true; 
    CurrentOptions = sender.parentNode.childNodes[sender.parentNode.childNodes.length-1];
    ToggleVisible(CurrentOptions.id);
    CurrentOptions.style.position = 'absolute';
}
//function HidecomboBox(sender)
//{
//    var receiver = sender.parentNode.childNodes[sender.parentNode.childNodes.length-1];
//    ToggleVisible(receiver.id);
//}
//function ShowComboBox(sender, receiverID)
//{
//    var receiver = document.getElementById(receiverID);
//    ToggleVisible(receiverID);
//    receiver.style.position = 'absolute';
//}
function ChooseComboBoxOption(sender)
{
 //   var receiver = document.getElementById(receiverID);
    //setTimeout('ToggleVisible("' + receiverID + '")',75);
//    ToggleVisible(receiverID);
    if(CurrentOption!=null)
    {
        sender.value = GetInnerText(CurrentOption);
        sender.nextSibling.nextSibling.value = CurrentOption.childNodes[1].value;
    }
    else
    {
        var intCount = 0;
        var BreakOut = false;
        while(!BreakOut && sender.parentNode.childNodes[4].childNodes[intCount].style.display!='block' && sender.parentNode.childNodes[4].childNodes[intCount].style.display!='')
        {
            if(intCount+1<sender.parentNode.childNodes[4].childNodes.length)
            {
                intCount++;
            }
            else
            {
                BreakOut = true;
            }
        }
        if(!BreakOut)
        {
            sender.value = GetInnerText(sender.parentNode.childNodes[4].childNodes[intCount]);
            sender.nextSibling.nextSibling.value = sender.parentNode.childNodes[4].childNodes[intCount].childNodes[1].value;
        }
        else
        {
            sender.backgroundColor = 'Red';
        }
    }
//    RetrieveFileList();
}
function ShowOver(sender)
{
    var receiver = sender.childNodes[1];
    receiver.style.zIndex = '25';
    receiver.style.position = 'absolute';
    receiver.style.display = 'block';
    receiver.style.top = sender.offsetTop - ((receiver.offsetHeight - sender.offsetHeight) / 2);
    receiver.style.left = sender.offsetLeft - ((receiver.offsetWidth - sender.offsetWidth) / 2);
}
function HideOver(sender)
{
    var receiver = sender.childNodes[1];
    receiver.style.display = 'none';
}
var OptionOver = false;
function OverOptionMouseOver(sender)
{
    //debugger;
    sender.style.backgroundColor = '#0A246A';
    sender.style.color = 'white';
    OptionOver = true;
}
function OverOptionMouseOut(sender)
{
    sender.style.backgroundColor = 'white';
    sender.style.color = 'black';
    OptionOver = false;
}
function CheckScroll(sender)
{}
function CheckKeys(e)
{
    if(window.event.keyCode==13)
    {
        //RetrieveFileList();
    }
}
function CloseOver(sender)
{
    sender.parentNode.style.backgroundColor = '#7CB4EB';
    sender.onmouseout = function()
    {
        sender.parentNode.style.backgroundColor = 'transparent';
    }
}
function AddDataRow(sender)
{

}
function NumbersOnly(e)
{
    var key = e.keyCode;
    if((key >= 48 && key <= 57) || key == 46 || key == 44)
    {
        return true;
    }
    else
    {
        return false;
    }
}
function SwitchCheck(senderID)
{
    sender = document.getElementById(senderID)
    if(sender.checked == 'checked' || sender.checked == true)
    {
        sender.checked = false;
    }
    else
    {
        sender.checked = true;
    }
}
function DayOver(sender)
{
    var BackgroundColor = sender.style.backgroundColor;
    sender.style.backgroundColor = '#ccdeea';
    sender.onmouseout = function()
    {
        sender.style.backgroundColor = BackgroundColor;
    }
}
function DayDblClick(sender)
{
    ClosePopUp();
}
document.onkeypress = CheckKeys;
document.onclick = ClosePopUp;
var NoClose = false;
var CurrentPopUp = null;
var NoComboClose = false;
var CurrentOptions = null;
var CurrentOption = null;
////////var ComboFocus = false;
var Message = document.getElementById('Message');
var ClickedDay = null;
var ClickedDayBackground = null;
var CurrentUserID = null;
var ViewUserID = null;
var CurrentTimePicker = null;
var NoCloseTimePicker = false;
if (window.attachEvent)
{
    window.attachEvent("onload", Init);
} 
else
{
    window.addEventListener("DOMContentLoaded", Init, false);
}
window.attachEvent('onload', Init)
function Init()
{
    if (document.getElementById('Loading') == undefined)
    {
        var Loading = document.createElement('div');
        Loading.id = 'Loading';
        Loading.className = 'Loading';
        SetInnerText(Loading, 'Loading');
        document.body.appendChild(Loading);
    }
    if(document.getElementById('CurrentUserID') != undefined)
    {
        CurrentUserID = document.getElementById('CurrentUserID').value;
        SetViewUserID();
    }
    if(window.InitPage != undefined)
    {
        InitPage();
    }
}
function SetViewUserID(sender)
{
    if(document.getElementById('ViewUserID') != undefined)
    {
        ViewUserID = document.getElementById('ViewUserID').options[document.getElementById('ViewUserID').selectedIndex].value;
    }
    else
    {
        ViewUserID = CurrentUserID;
    }
}
function ToggleCheckBox(sender,CurrentFilter)
{
    sender.checked = !sender.checked;
    ToggleFilters(sender,CurrentFilter);
}
function ToggleFilters(sender, CurrentFilter)
{
    if(sender.parentNode.parentNode.id == 'EventCategoryFilters')
    {
        if(sender.checked == -1)
        {
            FiltersCategories |= CurrentFilter;
        }
        else
        {
            FiltersCategories ^= CurrentFilter;
        }
    }
    else
    {
        if(sender.checked == -1)
        {
            Filters |= CurrentFilter;
        }
        else
        {
            Filters ^= CurrentFilter;
        }
    }
    CheckEvents();
}
function Breakout()
{
    DayBuilderWindow = window.open(window.location.href,'DayBuilderWindow','width=window.screen.availWidth,height=window.screen.availHeight,toolbar=yes,location=yes,directories=no,status=yes,menubar=no,scrollbars=yes,copyhistory=no, resizable=yes');
}
function LoadData()
{
    CheckEvents();
}
function ToggleInformation(Force)
{
    if(Force == 'Show')
    {
        document.getElementById('Information').style.display = 'block';
        EventListHolder.style.height = '330px';
    }
    if(Force == 'Hide')
    {
        document.getElementById('EventListHolder').style.height = document.body.offsetHeight - document.getElementById('Options').offsetHeight;
        document.getElementById('Information').style.display = 'none';
    }
    /*else
    {
        EventListHolder.style.height = '350px';
        document.getElementById('Information').style.height = '375px';
    }*/
}
function ShowTimePicker(sender)
{
    ClosePopUp();
    var receiver = sender.nextSibling.nextSibling;
    receiver.style.display = 'block';
    //receiver.style.position = 'absolute';
    //receiver.style.top = ((receiver.offsetTop + receiver.offsetHeight - document.body.offsetHeight) * -1) + 'px';
    while(Top(receiver) + receiver.offsetHeight > document.body.offsetHeight)
    {
        receiver.style.top = receiver.offsetTop - 1;
    }
    //receiver.style.top = receiver.offsetTop - 100;
    while(Left(receiver) + receiver.offsetWidth > document.body.offsetWidth)
    {
        receiver.style.left = receiver.offsetLeft - 1;
    }
    //receiver.style.left = receiver.offsetLeft - 10;
    for(var intCount = 0; intCount < receiver.childNodes.length; intCount++)
    {
        if(GetInnerText(receiver.childNodes[intCount]) == sender.value)
        {
            receiver.scrollTop = receiver.childNodes[intCount].offsetTop;
            OverOptionMouseOver(receiver.childNodes[intCount]);
        }
    }
    CurrentTimePicker = receiver;
    NoCloseTimePicker = true;
    sender.onblur = function()
    {
        //alert(OptionOver);
        if (!OptionOver)
        {
            receiver.style.display = 'none';
            OptionOver = false;
        }
    }
}
function ChooseTimePicker(sender)
{
    var receiver = sender.parentNode.previousSibling.previousSibling.previousSibling.previousSibling;
    receiver.value = GetInnerText(sender);
    sender.parentNode.style.display = 'none';
}
function ConvertEventType(sender, NewEventType)
{
    var row = sender.parentNode.parentNode;
    var URL = 'ConvertEventType.aspx';
    var Parameters = 'NoCache=' + Math.random();
    Parameters += '&AggregatedEventID=' + GetInnerText(row.childNodes[1]);
    Parameters += '&EventType=' + NewEventType;
    Parameters += '&SourceRecordID=' + GetInnerText(row.childNodes[8]);
    SubmitAsyncPOST(URL, Parameters, document.createElement('div'),'CheckEvents()');
}
function AdjustSize(sender, receiver)
{
    if (receiver.id != 'DescriptionInput')
    {
        if ((receiver.parentNode.parentNode.childNodes[0].className & FieldOptionsExpanded) != FieldOptionsExpanded)
        {
            document.getElementById('Information').style.height = document.getElementById('Information').offsetHeight - 1;
            receiver.parentNode.parentNode.style.height = 156;
            receiver.style.height = 150;
            receiver.parentNode.parentNode.childNodes[0].className |= FieldOptionsExpanded;
        }
        else
        {
            receiver.parentNode.parentNode.style.height = 32;
            receiver.style.height = 26;
            receiver.parentNode.parentNode.childNodes[0].className ^= FieldOptionsExpanded;
        }
    }
}
function ShowReport(ReportName, AdditionalParameters)
{
    var URL = ReportName + 'Report.aspx';
    var Parameters = 'NoCache=' + Math.random();
    Parameters += '&ReportName=' + ReportName;
    ShowModal(URL, Parameters + AdditionalParameters,'')
}
function ShowDrop(sender)
{
    if (sender.style.display == 'block')
    {
        sender.style.display = 'none';
    }
    else
    {
        sender.style.display = 'block';
        sender.style.position = 'absolute';
    } 
}
function HideDrop(sender)
{
    sender.style.display = 'none';
}
function ShowFilters()
{
    var FilterList = document.getElementById('PageControl');
    FilterList.style.position = 'absolute';
    if ((PageOptions & PageOptionsShowFilters) == PageOptionsShowFilters)
    {
        if (FilterList.offsetLeft + FilterList.offsetWidth + 5 > document.body.offsetWidth)
        {
            FilterList.style.left = FilterList.offsetLeft - 3;
            setTimeout('ShowFilters();', 1);
        }
    }
    else
    {
        if (FilterList.offsetLeft < document.body.offsetWidth)
        {
            FilterList.style.left = FilterList.offsetLeft + 3;
            setTimeout('ShowFilters();', 1);
        }
    }
    //document.getElementById('Message').innerHTML += FilterList.offsetLeft + '<br/>';
}
function HighlightButton(sender)
{
    sender.style.backgroundColor = '#009EC6';
    sender.onmouseout = function()
    {
        sender.style.backgroundColor = 'transparent';
    }
}
var CurrentSpellingError = null;
function ChooseRecommendation(sender)
{
    SetInnerText(CurrentSpellingError, GetInnerText(sender))
    CurrentSpellingError.style.backgroundColor = 'transparent';
}
function ShowDroplist(sender)
{
    var Droplist;
    if (window.attachEvent)
    {
        Droplist = sender.nextSibling.nextSibling;
    }
    else
    {
        Droplist = sender;
    }
    var Display;
    if (window.getComputedStyle)
    {
        Display = window.getComputedStyle(Droplist, '').getPropertyValue("display");
    }
    else
    {
        Display = Droplist.currentStyle.display;
    }
    if (Display == 'none')
    {
        Droplist.style.position = 'absolute';
        Droplist.style.display = 'block';
        var DropButton;
        DropButton = Droplist.previousSibling.previousSibling.previousSibling;
        //alert(Droplist.parentNode.offsetWidth);
        Droplist.style.left = Left(Droplist.parentNode) + 'px';  //- sender.parentNode.offsetWidth;
        Droplist.style.top = (Top(Droplist.parentNode) + Droplist.parentNode.offsetHeight) + 'px'; //Droplist.offsetTop + parseInt(sender.parentNode.childNodes[1].offsetHeight);

        var CurrentWidth = 0; //Droplist.offsetWidth;
        for (var intCount = 0; intCount < Droplist.childNodes.length; intCount++)
        {
            if (Droplist.childNodes[intCount].offsetWidth > CurrentWidth)
            {
                CurrentWidth = Droplist.childNodes[intCount].offsetWidth;
            }
        }
        CurrentWidth += 10;
        if (CurrentWidth < sender.previousSibling.previousSibling.offsetWidth)
        {
            CurrentWidth = sender.previousSibling.previousSibling.offsetWidth;
        }
        Droplist.style.width = CurrentWidth;
        LastDrop = Droplist;
        NoDropClose = false;
    }
    else
    {
        Droplist.style.display = 'none';
        Droplist.style.top = Droplist.offsetTop - parseInt(sender.parentNode.childNodes[1].offsetHeight);
        Droplist.style.left = Droplist.offsetLeft + sender.parentNode.offsetWidth;
    }
}
function SetDroplist(sender)
{
    if (window.attachEvent)
    {
        //var Scroll = document.documentElement.scrollTop;
        sender.previousSibling.previousSibling.select();
        //document.documentElement.scrollTop = Scroll;
    }
    else
    {
        sender.previousSibling.focus();
    }
}
function ChooseSelection(sender)
{
    sender.parentNode.parentNode.childNodes[0].value = sender.childNodes[1].value;
    sender.parentNode.parentNode.childNodes[1].value = GetInnerText(sender);
    var Input;
    if (window.attachEvent)
    {
        Input = sender.parentNode.previousSibling.previousSibling;
    }
    else
    {
        Input = sender.parentNode;
    }
    ShowDroplist(Input);
}
function FilterDroplist(sender)
{
    var List = sender.nextSibling.nextSibling.nextSibling.nextSibling;
    var Remaining = 0;
    var RemainingID = null;
    for (var intCount = 0; intCount < List.childNodes.length; intCount++)
    {
        if (GetInnerText(List.childNodes[intCount]).toLowerCase().indexOf(sender.value.toLowerCase()) > -1)
        {
            List.childNodes[intCount].style.display = 'block';
            Remaining++;
            RemainingID = intCount;
        }
        else
        {
            List.childNodes[intCount].style.display = 'none';
        }
    }
    if (Remaining == 1)
    {
        ChooseSelection(List.childNodes[RemainingID]);
        //DisplayCase(List.childNodes[RemainingID]);
        //MakeDirty(List.childNodes[RemainingID].parentNode.parentNode)
    }
}
function GetInnerText(sender)
{
    if (sender.innerText != undefined)
    {
        return sender.innerText;
    }
    else
    {
        return sender.textContent;
    }
}
function SetInnerText(sender, Value)
{
    if (sender.innerText != undefined)
    {
        sender.innerText = Value;
    }
    else
    {
        sender.textContent = Value;
    }
}