﻿// JScript file for mpDefault.master and mpDefaultPopup.master

function OpeningModal (intRowNumber)
{
   if (intRowNumber < 0)
   {
       document.getElementById('ctl00_txtRowSelected').value = intRowNumber;
   }
   else
   {
       if (document.getElementById('ctl00_txtRowSelected').value < 0)
       {
           document.getElementById('ctl00_txtRowSelected').value = intRowNumber;
       }
   }

   try
   {
       BuildIDs();
   }
   catch(err)
   {
   }              

   if ( (intRowNumber < 0) || (document.getElementById('ctl00_txtRowIDs').value != '') )
   {
       // ##### Modal is opening, so trigger loading of data #####
       document.getElementById('ctl00_hfLoad').value = (new Date()).getTime();
       __doPostBack('ctl00_hfLoad','');
       
       var mpcbModalButton = document.getElementById('ctl00_mpcbModalButton');
       mpcbModalButton.click();
   }
   else if ( (intRowNumber == 0) || (document.getElementById('ctl00_txtRowIDs').value == '') )
   {
       // ##### Tried to perform an edit on no data so do an add instead #####
       document.getElementById('ctl00_txtRowSelected').value = -1;
       document.getElementById('ctl00_hfLoad').value = (new Date()).getTime();
       __doPostBack('ctl00_hfLoad','');
       
       var mpcbModalButton = document.getElementById('ctl00_mpcbModalButton');
       mpcbModalButton.click();
   }


   // ##### Modal is opening, limit size #####
   
   // document.getElementById('AddEditTable').style.width = '100%'
   // var intWidth = document.getElementById('AddEditTable').offsetWidth;
   // alert(intWidth);
   // intWidth = 500;
   // if (intWidth > 200)
   // {
   //     document.getElementById('AddEditContentDiv').style.overlay = 'auto';
   //     document.getElementById('AddEditTable').style.width = 700;
   // }
   // else
   // {
   //     document.getElementById('AddEditContentDiv').style.overlay = '';
   // }
}

function SetEditMode (strMode)
{
    document.getElementById('ctl00_txtEditMode').value = strMode;
}

function CloseModal ()
{
   var mpu = $find('ModalPopupExtender1');
   mpu.hide();
}

function ShowHideFilter ()
{
   if (document.getElementById('tblFilterRow').style.display == '')
   {
       document.getElementById('tblFilterRow').style.display = 'none';
   }
   else
   {
       document.getElementById('tblFilterRow').style.display = '';
   }
   
   //document.getElementById('ctl00_hfLoad').value = 'showhidefilter_' + (new Date()).getTime();
   //__doPostBack('ctl00_hfLoad','');
       
   try
   {
       FilterBarShowHide();
   }
   catch(err)
   {
   }             
}

function DeleteRow ()
{
   if (BuildIDs)
   {
       BuildIDs();
   }
   if (confirm('Are you sure you wish to DELETE the SELECTED ROW?'))
   {
       document.getElementById('ctl00_hfLoad').value = 'delete_' + (new Date()).getTime();
       __doPostBack('ctl00_hfLoad','');
   }
}

function ShowHideProcessing ()
{
    if (document.getElementById('divProcessing').style.display == '')
    {
        document.getElementById('divProcessing').style.display = 'none';
    }
    else
    {
        document.getElementById('divProcessing').style.display = '';
    }
}
   
var intReportsCount = 0;
var intReportsOffset = 0;

function HideShowReportsDiv ()
{
    intReportsOffset = document.getElementById('ctl00_txtReportsButtonOffset').value;
    
    if (document.getElementById('ReportsDiv').style.display == '')
    {
        //UnhideSelect();
        
        intReportsCount = 0;
        CollapseReports();                    
    }
    else
    {
        //HideSelect();
        
        document.getElementById('ReportsDiv').style.left = document.getElementById('MainTable').offsetWidth - (700 - intReportsOffset);
        document.getElementById('ReportsJoinerDiv').style.left = document.getElementById('MainTable').offsetWidth - (200 - intReportsOffset);
        
        document.getElementById('ctl00_lblReportsTitle').innerHTML = 'Linked Reports';
        intReportsCount = 0;
        ExpandReports();
    }
}            

function CollapseReports ()
{
    intReportsCount++;
    switch (true)
    {
        case (intReportsCount == 1):
            document.getElementById('ReportsContents').style.display = 'none';
            break    
        case ( (intReportsCount > 1) && (intReportsCount < 11) ):
            document.getElementById('ReportsDiv').style.left = (document.getElementById('MainTable').offsetWidth - (700 - intReportsOffset)) + ((intReportsCount - 1) * 50);
            document.getElementById('ReportsDiv').style.width = ((11 - intReportsCount) * 50);
            document.getElementById('ReportsDiv').style.height = ((11 - intReportsCount) * 40);                    

            if (intReportsCount == 10)
            {
                document.getElementById('ReportsDiv').style.display = 'none';
                intReportsCount++;
            }
            break 
        case ( (intReportsCount > 10) && (intReportsCount < 16) ):
            document.getElementById('ReportsJoinerDiv').style.height = ((15 - intReportsCount) * 10) + 1;
            break                                                
        case (intReportsCount == 17):
            document.getElementById('ReportsJoinerDiv').style.display = 'none';
            break
    }
    
    if (intReportsCount < 18)
    {
        setTimeout('CollapseReports()',30); 
    }
}

function ExpandReports ()
{
    intReportsCount++;
    switch (true)
    {
        case (intReportsCount == 1):
            document.getElementById('ReportsJoinerDiv').style.height = 10;
            document.getElementById('ReportsJoinerDiv').style.display = '';
            break    
        case ( (intReportsCount > 1) && (intReportsCount < 6) ):
            document.getElementById('ReportsJoinerDiv').style.height = (intReportsCount * 10);

            if (intReportsCount == 5)
            {
                document.getElementById('ReportsDiv').style.width = 1;
                document.getElementById('ReportsDiv').style.height = 1;
                document.getElementById('ReportsDiv').style.display = '';
                document.getElementById('ReportsContents').style.display = 'none';
                intReportsCount++;
            }
            break 
        case ( (intReportsCount > 5) && (intReportsCount < 16) ):
            document.getElementById('ReportsDiv').style.left = (document.getElementById('MainTable').offsetWidth - (200 - intReportsOffset)) - ((intReportsCount - 5) * 50);
            document.getElementById('ReportsDiv').style.width = ((intReportsCount - 5) * 50);
            document.getElementById('ReportsDiv').style.height = ((intReportsCount - 5) * 40);
            break                                                
        case (intReportsCount == 16):
            document.getElementById('ReportsContents').style.display = '';
            break
    }
    
    if (intReportsCount < 17)
    {
        setTimeout('ExpandReports()',30); 
    }
}

var intFavsCount = 0;

function HideShowFavsDiv ()
{
    if (document.getElementById('FavsDiv').style.display == '')
    {
        //UnhideSelect();
        
        intFavsCount = 0;
        CollapseFavs();                    
    }
    else
    {
        //HideSelect();
        
        document.getElementById('ctl00_lblFavsTitle').innerHTML = 'Favourite Pages';
        if (document.getElementById('ctl00_txtCurrentFavAdd').value == '')
        {
            document.getElementById('ctl00_txtCurrentFavAdd').value = document.getElementById('ctl00_mplblPageTitle').innerHTML;
        }
        intFavsCount = 0;
        ExpandFavs();
    }
}            

function CollapseFavs ()
{
    intFavsCount++;
    switch (true)
    {
        case (intFavsCount == 1):
            document.getElementById('FavsContents').style.display = 'none';
            break    
        case ( (intFavsCount > 1) && (intFavsCount < 11) ):
            document.getElementById('FavsDiv').style.left = (document.getElementById('MainTable').offsetWidth - 630) + ((intFavsCount - 1) * 50);
            document.getElementById('FavsDiv').style.width = ((11 - intFavsCount) * 50);
            document.getElementById('FavsDiv').style.height = ((11 - intFavsCount) * 40);                    

            if (intFavsCount == 10)
            {
                document.getElementById('FavsDiv').style.display = 'none';
                intFavsCount++;
            }
            break 
        case ( (intFavsCount > 10) && (intFavsCount < 16) ):
            document.getElementById('FavsJoinerDiv').style.height = ((15 - intFavsCount) * 10) + 1;
            break                                                
        case (intFavsCount == 17):
            document.getElementById('FavsJoinerDiv').style.display = 'none';
            break
    }
    
    if (intFavsCount < 18)
    {
        setTimeout('CollapseFavs()',30); 
    }
}

function ExpandFavs ()
{
    intFavsCount++;
    switch (true)
    {
        case (intFavsCount == 1):
            document.getElementById('FavsJoinerDiv').style.height = 10;
            document.getElementById('FavsJoinerDiv').style.display = '';
            break    
        case ( (intFavsCount > 1) && (intFavsCount < 6) ):
            document.getElementById('FavsJoinerDiv').style.height = (intFavsCount * 10);

            if (intFavsCount == 5)
            {
                document.getElementById('FavsDiv').style.width = 1;
                document.getElementById('FavsDiv').style.height = 1;
                document.getElementById('FavsDiv').style.display = '';
                document.getElementById('FavsContents').style.display = 'none';
                intFavsCount++;
            }
            break 
        case ( (intFavsCount > 5) && (intFavsCount < 16) ):
            document.getElementById('FavsDiv').style.left = (document.getElementById('MainTable').offsetWidth - 130) - ((intFavsCount - 5) * 50);
            document.getElementById('FavsDiv').style.width = ((intFavsCount - 5) * 50);
            document.getElementById('FavsDiv').style.height = ((intFavsCount - 5) * 40);
            break                                                
        case (intFavsCount == 16):
            document.getElementById('FavsContents').style.display = '';
            break
    }
    
    if (intFavsCount < 17)
    {
        setTimeout('ExpandFavs()',30); 
    }
}

function RemoveFav (intID)
{
    if (confirm('Remove this Favourite?'))
    {
        document.getElementById('ctl00_hfFavsTrigger').value = intID + '_' + (new Date()).getTime();
        __doPostBack('ctl00_hfFavsTrigger','');
    }
}

var intHelpCount = 0;

function HideShowHelpDiv ()
{
    if (document.getElementById('MainTable').offsetHeight <= 640)
    {
        intHeight = document.getElementById('MainTable').offsetHeight - 140;
    }
    else
    {
        intHeight = 500;
    }
    
    if (document.getElementById('MainTable').offsetWidth <= 1000)
    {
        intWidth = document.getElementById('MainTable').offsetWidth - 100;
    }
    else
    {
        intWidth = 900;
    }

    if (document.getElementById('HelpDiv').style.display == '')
    {
        //UnhideSelect();
        
        intHelpCount = 0;
        CollapseHelp(intHeight, intWidth);                    
    }
    else
    {
        //HideSelect();
        
        var strTitle = document.title;
        if (strTitle.length > 40)
        {
            strTitle = strTitle.substring(0, 37) + '...';
        }
        
        document.getElementById('ctl00_lblHelpTitle').innerHTML = 'Page Help for "' + strTitle + '"';
        document.getElementById('mpIFrameHelp').src = document.getElementById('ctl00_txtHelpFile').value;
        intHelpCount = 0;
        
        document.getElementById('HelpDiv').style.height = intHeight;
        document.getElementById('tblHelp').style.height = intHeight;
        document.getElementById('HelpContents').style.height = intHeight - 58;
        document.getElementById('HelpContentDiv').style.height = intHeight - 68;
        document.getElementById('mpIFrameHelp').style.height = intHeight - 70;
        
//        document.getElementById('HelpDiv').style.width = intWidth;
//        document.getElementById('tblHelp').style.width = intWidth;
//        document.getElementById('HelpContents').style.width = intWidth - 58;
//        document.getElementById('HelpContentDiv').style.width = intWidth - 68;
//        document.getElementById('mpIFrameHelp').style.width = intWidth - 70;
        
        ExpandHelp(intHeight, intWidth);
    }
}            

function CollapseHelp (intHeight, intWidth)
{
    intHelpCount++;
    switch (true)
    {
        case (intHelpCount == 1):
            document.getElementById('HelpContents').style.display = 'none';
            break    
        case ( (intHelpCount > 1) && (intHelpCount < 11) ):
            document.getElementById('HelpDiv').style.left = (document.getElementById('MainTable').offsetWidth - (intWidth + 55)) + (intHelpCount * (intWidth / 10));
            document.getElementById('HelpDiv').style.width = ((10 - intHelpCount) * (intWidth / 10));
            document.getElementById('HelpDiv').style.height = ((10 - intHelpCount) * (intHeight / 10));

            if (intHelpCount == 10)
            {
                document.getElementById('HelpDiv').style.display = 'none';
                intHelpCount++;
            }
            break 
        case ( (intHelpCount > 10) && (intHelpCount < 16) ):
            document.getElementById('HelpJoinerDiv').style.height = ((15 - intHelpCount) * 10) + 1;
            break                                                
        case (intHelpCount == 16):
            document.getElementById('HelpJoinerDiv').style.display = 'none';
            break
    }

    if (intHelpCount < 17)
    {
        setTimeout('CollapseHelp(' + intHeight + ', ' + intWidth + ')',30); 
    }
}

function ExpandHelp (intHeight, intWidth)
{
    intHelpCount++;
    switch (true)
    {
        case (intHelpCount == 1):
            document.getElementById('HelpJoinerDiv').style.height = 12;
            document.getElementById('HelpJoinerDiv').style.display = '';
            break    
        case ( (intHelpCount > 1) && (intHelpCount < 6) ):
            document.getElementById('HelpJoinerDiv').style.height = (intHelpCount * 10);
            
            if (intHelpCount == 5)
            {
                document.getElementById('HelpDiv').style.width = 1;
                document.getElementById('HelpDiv').style.height = 1;
                document.getElementById('HelpDiv').style.display = '';
                document.getElementById('HelpContents').style.display = 'none';
                intHelpCount++;
            }
            break 
        case ( (intHelpCount > 5) && (intHelpCount < 16) ):
            document.getElementById('HelpDiv').style.left = (document.getElementById('MainTable').offsetWidth - 55) - ((intHelpCount - 5) * (intWidth / 10));
            document.getElementById('HelpDiv').style.width = ((intHelpCount - 5) * (intWidth / 10));
            document.getElementById('HelpDiv').style.height = ((intHelpCount - 5) * (intHeight / 10));
            break                                                
        case (intHelpCount == 16):
            document.getElementById('HelpContents').style.display = '';
            break
    }
    
    if (intHelpCount < 17)
    {
        setTimeout('ExpandHelp(' + intHeight + ', ' + intWidth + ')',30); 
    }
}

function PositionDivs ()
{
    var intCellPadding = document.getElementById('ctl00_mptblMainTable').cellPadding;
    if (document.location.href.indexOf('iframe=true') == -1)
    {            
        document.getElementById('mpMain').style.width = document.body.clientWidth - (2 * intCellPadding);
    } 

    document.getElementById('ReportsDiv').style.left = document.getElementById('MainTable').offsetWidth - (700 - intReportsOffset);
    document.getElementById('ReportsJoinerDiv').style.left = document.getElementById('MainTable').offsetWidth - (200 - intReportsOffset);

    document.getElementById('FavsDiv').style.left = document.getElementById('MainTable').offsetWidth - 630;
    document.getElementById('FavsJoinerDiv').style.left = document.getElementById('MainTable').offsetWidth - 130;
    
    if (document.getElementById('MainTable').offsetWidth <= 1000)
    {
        intWidth = document.getElementById('MainTable').offsetWidth - 100;
    }
    else
    {
        intWidth = 900;
    }
    
    document.getElementById('HelpDiv').style.left = document.getElementById('MainTable').offsetWidth - (intWidth + 55);
    document.getElementById('HelpJoinerDiv').style.left = document.getElementById('MainTable').offsetWidth - 55;
    
    var intNewTop = 130;
    
    if (document.getElementById('ctl00_txtButtonOffsetHeight').value == '-1')
    {
        intNewTop = 45;
    }
    else
    {
        if (document.getElementById('ctl00_txtButtonOffsetHeight').value != '0')
        {
            var intAdjust = document.getElementById('ctl00_txtButtonOffsetHeight').value;
            intNewTop = intNewTop - intAdjust;
        }    
        
        if (document.location.href.indexOf('ID=M') > -1)
        {
            intNewTop = intNewTop - 20;
        }
    }
    
    document.getElementById('ReportsDiv').style.top = intNewTop;
    document.getElementById('ReportsJoinerDiv').style.top = intNewTop - 20;

    document.getElementById('FavsDiv').style.top = intNewTop;
    document.getElementById('FavsJoinerDiv').style.top = intNewTop - 20;
    
    document.getElementById('HelpDiv').style.top = intNewTop;
    document.getElementById('HelpJoinerDiv').style.top = intNewTop - 20;  
    
    // If FireFox, then set height of main div so you get a scroll bar
    if (document.location.href.indexOf('iframe=true') == -1)
    {
        if (navigator.userAgent.indexOf("Firefox") != -1)
        {
            var intFilterHeight = document.getElementById('tblFilterRow').offsetHeight;
            document.getElementById('mpMain').style.height = document.body.clientHeight - (2 * intCellPadding) - (intNewTop - 15) - intFilterHeight;
        }
    }   
}

function ResizeLogoDiv ()
{
    // Resive Logo DIV as required
    try
    {
        var intWidth = document.body.clientWidth - document.getElementById('tdNameDate').offsetWidth - 400;
        //window.status = document.getElementById('tdLogo').offsetWidth + ' ' + document.body.clientWidth;
        //alert(document.getElementById('tdNameDate').offsetWidth);
        if (intWidth < 0)
        {
          intWidth = 0;  
        }
        
        document.getElementById('divLogo').style.width = intWidth;
    }
    catch(err)
    {
    } 
}

function WindowOnResizeTasks()
{
    PositionDivs();
    
    ResizeLogoDiv();
    
    try
    {
        WindowResized();
    }
    catch(err)
    {
    } 
}            

// var intCellPadding = document.getElementById('ctl00_mptblMainTable').cellPadding;
// if (document.getElementById('mpMain').offsetWidth > (document.body.clientWidth - (2 * intCellPadding)))
// {
//     //alert(document.getElementById('mpMain').offsetWidth + ' > ' + (document.body.clientWidth - (2 * intCellPadding)));
//     document.getElementById('mpMain').style.width = document.body.clientWidth - (2 * intCellPadding);
// }            

PositionDivs();
ResizeLogoDiv();
window.onresize = WindowOnResizeTasks;

//if (history.length < 1)
//{
//    document.getElementById('ctl00_mpcxbFunctionBarBack').disabled = true;
//    document.getElementById('ctl00_mpcxbFunctionBarBack').style.cursor = 'arrow';
//    //document.getElementById('ctl00_mpcxbFunctionBarBack').style.display = 'none';
//}

function CheckForChangeMade ()
{
    if (document.getElementById('ctl00_txtChangeMade').value == 'true')
    {
        if (confirm('We have detected you may have UNSAVED CHANGES. Do you wish to DISCARD these changes and continue?'))
        {
            return true;
        }
        else
        {
            return false;
        } 
    }
    else
    {
        return true;
    }
}

function PrintModal ()
{
    var intTop = document.getElementById('AddEditTable').offsetTop;
    var intLeft = document.getElementById('AddEditTable').offsetLeft;
    document.getElementById('AddEditTable').style.left = 0;
    document.getElementById('AddEditTable').style.top = 0;
    document.getElementById('MainTable').style.display = 'none';
    self.print();
    document.getElementById('MainTable').style.display = '';
    document.getElementById('AddEditTable').style.left = intTop;
    document.getElementById('AddEditTable').style.top = intLeft;
}

function HelpModal ()
{
    var strHelpURL = document.getElementById('ctl00_txtHelpFile').value;
    window.open(strHelpURL, '', 'width=700,height=600,directories=no,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,resizable=no');
}
