/************************************************************************************************************
 (C) www.dhtmlgoodies.com, October 2005
 
 Version 1.2: Updated, November 12th. 2005
 
 This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.	
 
 Terms of use:
 You are free to use this script as long as the copyright message is kept intact. However, you may not
 redistribute, sell or repost it without our permission.
 
 Thank you!
 
 www.dhtmlgoodies.com
 Alf Magne Kalleland
 
 ************************************************************************************************************/		
var panelWidth = 350;	// Width of help panel	
var slideSpeed = 25;		// Higher = quicker slide
var slideTimer = 15;	// Lower = quicker slide
var slideActive = true;	// Slide active ?
var initBodyMargin = 0;	// Left or top margin of your <body> tag (left if panel is at the left, top if panel is on the top)
var pushMainContentOnSlide = false;	// Push your main content to the right when sliding
var panelPosition = 0; 	// 0 = left , 1 = top
var panelheight = 589;
/*	Don't change these values */
var slideLeftPanelObj=false;
var slideInProgress = false;	
var startScrollPos = false;
var panelVisible = false;
function slide_active(){
    return slideActive;
}
function set_panel(the_panel_for_sliding){
    if(!slideLeftPanelObj){
        if(the_panel_for_sliding){	// Object exists in HTML code?
            slideLeftPanelObj = the_panel_for_sliding;
            if(panelPosition == 1)slideLeftPanelObj.style.width = '100%';
        }else{	
            alert("Cannot perform that action.");
        }
        
        if(panelPosition == 1){
            slideLeftPanelObj.style.top = "-" + panelWidth + 'px';
            slideLeftPanelObj.style.left = '0px';	
            slideLeftPanelObj.style.height = 589 + 'px';			
        }else{
            slideLeftPanelObj.style.left = "-" + panelWidth + 'px';
            slideLeftPanelObj.style.top = '0px';
            slideLeftPanelObj.style.width = panelWidth + 'px';
        }
        
        
        if(!document.all || navigator.userAgent.indexOf('Opera')>=0)slideLeftPanelObj.style.position = 'fixed';
    }
}
function initSlideLeftPanel(expandOnly) {
    if(slideInProgress)return;
   
    if(panelPosition == 0){
        if(document.documentElement.clientHeight){
            slideLeftPanelObj.style.height = 589+ 'px';
        }else if(document.body.clientHeight){
            slideLeftPanelObj.style.height = 589 + 'px';
        }
        var leftPos = slideLeftPanelObj.style.left.replace(/[^0-9\-]/g,'')/1;
    }else{
        if(document.documentElement.clientWidth){
            slideLeftPanelObj.style.width = document.documentElement.clientWidth + 'px';
        }else if(document.body.clientHeight){
            slideLeftPanelObj.style.width = document.body.clientWidth + 'px';
        }
        var leftPos = slideLeftPanelObj.style.top.replace(/[^0-9\-]/g,'')/1;			
        
        
    }
    slideLeftPanelObj.style.display='block';
    
    if(panelPosition==1)
        startScrollPos = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
    else
        startScrollPos = Math.max(document.body.scrollLeft,document.documentElement.scrollLeft);
    if(leftPos<(0+startScrollPos)){
        if(slideActive){
            slideLeftPanel(slideSpeed);	
            
        }else{
            document.body.style.marginLeft = panelWidth + 'px';
            slideLeftPanelObj.style.left = '0px';
        }
    }else{
        if(expandOnly)return;
        if(slideActive){		
            slideLeftPanel(slideSpeed*-1);
        }else{
            if(panelPosition == 0){
                if(pushMainContentOnSlide)document.body.style.marginLeft =  initBodyMargin + 'px';
                slideLeftPanelObj.style.left = (panelWidth*-1) + 'px';	
            }else{
                if(pushMainContentOnSlide)document.body.style.marginTop =  initBodyMargin + 'px';
                slideLeftPanelObj.style.top = (panelWidth*-1) + 'px';						
            }			
        }
    }	
    
    if(navigator.userAgent.indexOf('MSIE')>=0 && navigator.userAgent.indexOf('Opera')<0){
        window.onscroll = repositionHelpDiv;
        
        repositionHelpDiv();
    }
    window.onresize = resizeLeftPanel;
    
}

function resizeLeftPanel() {
    if(panelPosition == 0){
        if(document.documentElement.clientHeight){
            slideLeftPanelObj.style.height = 589 + 'px';
        }else if(document.body.clientHeight){
            slideLeftPanelObj.style.height = 589 + 'px';
        }		
    }else{
        if(document.documentElement.clientWidth){
            slideLeftPanelObj.style.width = document.documentElement.clientWidth + 'px';
        }else if(document.body.clientWidth){
            slideLeftPanelObj.style.width = document.body.clientWidth + 'px';
        }	
    }
}

function reset_size(width,height){
}

function slideLeftPanel(slideSpeed){
    slideInProgress =true;
    var scrollValue = 0;
    if(panelPosition==1)
        var leftPos = slideLeftPanelObj.style.top.replace(/[^0-9\-]/g,'')/1;
    else
        var leftPos = slideLeftPanelObj.style.left.replace(/[^0-9\-]/g,'')/1;
    
    leftPos+=slideSpeed;
    okToSlide = true;
    if(slideSpeed<0){
        if(leftPos < ((panelWidth*-1) + startScrollPos)){
            leftPos = (panelWidth*-1) + startScrollPos;	
            okToSlide=false;
        }
    }
    if(slideSpeed>0){
        if(leftPos > (0 + startScrollPos)){
            leftPos = 0 + startScrollPos;
            okToSlide = false;
        }			
    }
    
    
    if(panelPosition==0){
        slideLeftPanelObj.style.left = leftPos + startScrollPos + 'px';
        if(pushMainContentOnSlide)document.body.style.marginLeft = leftPos - startScrollPos + panelWidth + 'px';
    }else{
        slideLeftPanelObj.style.top = leftPos + 'px';
        if(pushMainContentOnSlide)document.body.style.marginTop = leftPos - startScrollPos + panelWidth + 'px';			
        
    }
    if(okToSlide)setTimeout('slideLeftPanel(' + slideSpeed + ')',slideTimer); else {
        slideInProgress = false;
        if(slideSpeed>0)panelVisible=true; else panelVisible = false;
    }
    
}


function repositionHelpDiv() {
    if(panelPosition==0){
        var maxValue = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
        slideLeftPanelObj.style.top = maxValue;
    }else{
        var maxValue = Math.max(document.body.scrollLeft,document.documentElement.scrollLeft);
        slideLeftPanelObj.style.left = maxValue;	
        var maxTop = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
        if(!slideInProgress)slideLeftPanelObj.style.top = (maxTop - (panelVisible?0:panelWidth)) + 'px'; 		
    }
}

function cancelEvent() {
    return false;
}
function keyboardShowLeftPanel() {
    initSlideLeftPanel();
    return false;	
    
}

function setLeftPanelContent(text) {
    //document.getElementById('slidingPanelContent').innerHTML = slidingPanelInnerHTMLBasic;
    //alert(document.getElementById('infoFrame'));
    //alert(frames['infoFrame']);
    //frames['infoFrame'].location.href=text;
    initSlideLeftPanel(true);    
    document.getElementById("infoFrame").src=text;
}
