﻿// JScript File

function pageLoad(sender, e)
{
    if(typeof pageloads != "undefined")
        eval(pageloads);
}

 Sortable.create('leftColumn',
 {
    tag:'div',
    only:'cbox',
    handle:'handle',
    onUpdate:DropUpdate
    
 });
 
  Sortable.create('rightColumn',
 {
    tag:'div',
    only:'cbox',
    handle:'handle',
    onUpdate:DropUpdateRight
    
 });
 
 function DropUpdate()
 {
    var list = Sortable.serialize('leftColumn');
    PageMethods.SaveSort(list);
 }
 
 function DropUpdateRight()
 {
    var list = Sortable.serialize('rightColumn');
    PageMethods.SaveSort(list);
 }
 
 function ReCreateSort()
 {
    Sortable.create('leftColumn',
    {
        tag:'div',
        only:'cbox',
        handle:'handle',
        onUpdate:DropUpdate
    });  
    
      Sortable.create('rightColumn',
     {
        tag:'div',
        only:'cbox',
        handle:'handle',
        onUpdate:DropUpdateRight
        
     });
 }
 


 
 function SaveNumberError(error, context, methodName)
 {
    //alert(error.message);
 }
 
 
 
 function ShowEditO(editDiv)
 {
    ediv = $(editDiv);
    if(ediv.style.display == 'block' || ediv.style.display == '')
    {
        new Effect.BlindUp(ediv);
    }
    else
    {
        new Effect.BlindDown(ediv);
    }
 }
     
  
 
 
 function CollapsibleBox(boxTitle, collapsedHeader, expandedHeader, collapsedHeaderContainer, expandedHeaderContainer, bodyId, id, editDiv, contentId, updateId,changeFooter, footerCurved, footerLine)
 {
    this.BoxTitle = boxTitle;
    this.CollapsedHeader = collapsedHeader;
    this.ExpandedHeader = expandedHeader;
    this.CollapsedHeaderContainer = collapsedHeaderContainer;
    this.ExpandedHeaderContainer = expandedHeaderContainer;
    this.BodyId = bodyId;
    this.Id = id;
    this.EditDiv = editDiv;
    this.ContentId = contentId;
    this.UpdateId = updateId;
    this.FooterCurved = footerCurved;
    this.FooterLine = footerLine;
    this.ChangeFooter = changeFooter;
    
    this.CollapseBox = function()
     {
        new Effect.SlideUp($(this.BodyId),{duration:1}); 
        window.setTimeout(this.Id + ".flipC('" + this.ExpandedHeaderContainer + "','" + this.CollapsedHeaderContainer + "','" + this.ExpandedHeader + "','" + this.CollapsedHeader + "');",800);
        if(this.ChangeFooter)
        {
            $(this.FooterLine).style.display = 'none';
            $(this.FooterCurved).style.display = 'block';
        }
     }
     
    this.ExpandBox = function()
     {
        new Effect.SlideDown($(this.BodyId),{duration:1}); 
        window.setTimeout(this.Id + ".flipC('" + this.CollapsedHeaderContainer + "','" + this.ExpandedHeaderContainer + "','" + this.CollapsedHeader + "','" + this.ExpandedHeader + "');",200);
        if(this.ChangeFooter)
        {
            $(this.FooterLine).style.display = 'block';
            $(this.FooterCurved).style.display = 'none';
        }
     }
     
    this.flipC = function(oldHeaderContainer, newHeaderContainer ,oldHeader, newHeader, oldFooter, newFooter)
     {
        $(newHeaderContainer).style.display = 'block';
        $(oldHeaderContainer).style.display = 'none';
        
        
        $(oldHeader).className = $(oldHeader).className.replace("handle","handle2");
        $(newHeader).className = $(newHeader).className.replace("handle2","handle");
        PageMethods.FlipCollapsed(this.BoxTitle);
        ReCreateSort();
     }
     
     
     
     this.UpdateBox = function(value)
     {
        if($(this.ContentId).innerHTML != '')
        {
            new Effect.SlideUp(this.ContentId, {duration:.5, queue: {position:'end', scope: 'content'}});
        }
        new Effect.BlindDown(this.UpdateId, {duration:.5, queue: {position:'end', scope: 'update'}});
        window.setTimeout("PageMethods.SaveNumberToEdit('" + this.BoxTitle + "','" + value + "', " + this.Id + ".SaveNumberComplete, SaveNumberError, new Array('" + this.ContentId + "', '" + this.UpdateId + "', '" + this.EditDiv + "'))",500);
        //PageMethods.SaveNumberToEdit(boxId,value, SaveNumberComplete, SaveNumberError, new Array(contentDivId, updateDivId, editDivId));
     }
     
     this.SaveNumberComplete = function(result, response, methodName)
     {
        div = $(response[0]);
        div.innerHTML = result;
        new Effect.BlindUp(response[1], {duration:.5, queue: {position:'end', scope: 'update'}});
        if($(response[0]).innerHTML != '')
        {
            new Effect.SlideDown(response[0], {duration:.5, queue: {position:'end', scope: 'content'}});
        }
        if(response[2] != '')
            ShowEditO(response[2]);
          
        var x = div.getElementsByTagName("script"); 
        
        if(typeof x != "undefined")
        {
            for(var i=0;i<x.length;i++)
            {
                if (window.execScript) 
                {
                    window.execScript(x[i].text);
                }
                else 
                { // other browsers
                    window.eval(x[i].text);
                }
            }
        } 
     }
     
     this.ShowEdit = function()
     {
        ediv = $(this.EditDiv);
        if(ediv.style.display == 'block' || ediv.style.display == '')
        {
            new Effect.BlindUp(ediv);
        }
        else
        {
            new Effect.BlindDown(ediv);
        }
     }
     
     
 }
