/* ========================================================================= */
/* ****	Website Builder - Copyright (C)2007-2009 by EasyStar Software
/* ========================================================================= */

/************************************************************************************************************
Slide panel script based on original by version 1.2 from (C) www.dhtmlgoodies.com, October 2005
New version: 2.1 (C)EasyStar Software - www.easystar.nl - Oktober/November 2007 by Richard Nijmeijer

Modifications: separate declarations and functions for left, top and right panel, including sound via
SoundManager2 by Scott Schiller (see http://www.schillmania.com/projects/soundmanager2), making right
movement possible, including key activation in MSIE and 'work-around' for disappearing view when panel
is closed in MSIE (else it keeps sticking on right side, outside direct view but still pannable).

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

www.easystar.nl
Richard Nijmeijer
************************************************************************************************************/		

/***********************************************************************************************************/
/*	RIGHT PANEL declarations
/***********************************************************************************************************/
var rightSlidePanelWidth = 240;
var rightSlidePanelSpeed = 5;
var rightSlidePanelTimer = 15;
var rightSlidePanelActive = true;
var rightSlidePanelInitBodyMargin = 0;
var rightSlidePanelPushMainContentOnSlide = false;
var rightSlidePanelObj=false;
var rightSlidePanelInProgress = false;	
var rightSlidePanelStartScrollPos = false;
var rightSlidePanelVisible = false;
var rightSlidePanelMuted = false;
var url_muteImage = ''+HTML_PATH+'webfiles/webshop/shop/images/mute.png';
var url_unmuteImage = ''+HTML_PATH+'webfiles/webshop/shop/images/unmute.png';

/***********************************************************************************************************/
/*	RIGHT PANEL functions
/***********************************************************************************************************/
function initRightSlidePanel(expandOnly) {
	if (rightSlidePanelInProgress) return;
	if (!rightSlidePanelObj) {
		if (document.getElementById('rightSlidePanel')) {
			rightSlidePanelObj = document.getElementById('rightSlidePanel');
		} else {
			rightSlidePanelObj = document.createElement('DIV');
			rightSlidePanelObj.id = 'rightSlidePanel';
			rightSlidePanelObj.style.display='none';
			document.body.appendChild(rightSlidePanelObj);
		}
		
		rightSlidePanelObj.style.left = (document.documentElement.clientWidth + rightSlidePanelWidth) + 'px';
		rightSlidePanelObj.style.top = '0px';
		rightSlidePanelObj.style.width = rightSlidePanelWidth + 'px';

		if (!document.all || navigator.userAgent.indexOf('Opera') >= 0) rightSlidePanelObj.style.position = 'fixed';;
	}	

	if (!rightSlidePanelVisible) {
		soundManager.play('open');
	} else {
		soundManager.play('close');
	}
	
	if (document.documentElement.clientHeight) {
		rightSlidePanelObj.style.height = document.documentElement.clientHeight + 'px';
	} else if (document.body.clientHeight) {
		rightSlidePanelObj.style.height = document.body.clientHeight + 'px';
	}
	
	var rightSlidePanelLeftPos = rightSlidePanelObj.style.left.replace(/[^0-9\-]/g,'') / 1;
	rightSlidePanelObj.style.display = 'block';
	rightSlidePanelStartScrollPos = Math.max(document.body.scrollLeft,document.documentElement.scrollLeft);

	if (rightSlidePanelLeftPos < (document.documentElement.clientWidth + rightSlidePanelStartScrollPos)) {
		if (rightSlidePanelActive) {
			rightSlidePanel(rightSlidePanelSpeed);	
		} else {
			document.body.style.marginLeft = (document.documentElement.clientWidth - rightSlidePanelWidth) + 'px';
			rightSlidePanelObj.style.left = (document.documentElement.clientWidth - rightSlidePanelWidth) + 'px';
		}
	} else {
		if (expandOnly) return;
		if (rightSlidePanelActive) {		
			rightSlidePanel(rightSlidePanelSpeed *- 1);
		} else {
			if (rightSlidePanelPushMainContentOnSlide) document.body.style.marginLeft = (document.documentElement.clientWidth - rightSlidePanelWidth) + 'px';
			rightSlidePanelObj.style.left = (rightSlidePanelWidth *- 1) + 'px';	
		}
	}	
	
	if (navigator.userAgent.indexOf('MSIE') >= 0 && navigator.userAgent.indexOf('Opera') < 0) {
		window.onscroll = repositionHelpDiv;
		repositionHelpDiv();
	}
	window.onresize = rightSlidePanelResize;
}

function rightSlidePanelResize() {
	if (document.documentElement.clientHeight) {
		rightSlidePanelObj.style.height = document.documentElement.clientHeight + 'px';
	} else if (document.body.clientHeight) {
		rightSlidePanelObj.style.height = document.body.clientHeight + 'px';
	}		
}

function openRightSlidePanel() {
	if (!rightSlidePanelVisible) {
		initRightSlidePanel();
	}
}

function rightSlidePanel(rightSlidePanelSpeed) {
	rightSlidePanelInProgress = true;
	var scrollValue = 0;
	var rightSlidePanelLeftPos = rightSlidePanelObj.style.left.replace(/[^0-9\-]/g,'') / 1;
	rightSlidePanelLeftPos += rightSlidePanelSpeed;
	rightSlidePanelOKToSlide = true;

	if (rightSlidePanelSpeed < 0) {
		if (rightSlidePanelLeftPos < ((rightSlidePanelWidth *- 1) + document.documentElement.clientWidth)) {
			rightSlidePanelLeftPos = (rightSlidePanelWidth *- 1) + document.documentElement.clientWidth;	
			rightSlidePanelOKToSlide = false;
		}
	}
	if (rightSlidePanelSpeed > 0) {
		if (rightSlidePanelLeftPos > (document.documentElement.clientWidth + rightSlidePanelStartScrollPos)) {
			rightSlidePanelLeftPos = (document.documentElement.clientWidth + rightSlidePanelStartScrollPos);
			rightSlidePanelOKToSlide = false;
		}			
	}
	
	rightSlidePanelObj.style.left = rightSlidePanelLeftPos + rightSlidePanelStartScrollPos + 'px';
	if (rightSlidePanelPushMainContentOnSlide) document.body.style.marginLeft = rightSlidePanelLeftPos - rightSlidePanelStartScrollPos + rightSlidePanelWidth + 'px';
	if (rightSlidePanelOKToSlide)
		setTimeout('rightSlidePanel(' + rightSlidePanelSpeed + ')',rightSlidePanelTimer);
	else {
		rightSlidePanelInProgress = false;
		if (rightSlidePanelSpeed < 0) {
			rightSlidePanelVisible = true;
			if (navigator.appName == 'Microsoft Internet Explorer') {
				rightSlidePanelObj.style.display = "block";
			}
		} else {
			rightSlidePanelVisible = false;
			if (navigator.appName == 'Microsoft Internet Explorer') {
				rightSlidePanelObj.style.display = "none";
			}
		}
	}
}

function repositionHelpDiv() {
	var rightSlidePanelMaxValue = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
	rightSlidePanelObj.style.top = rightSlidePanelMaxValue;
}

function cancelEvent() {
	return false;
}

function rightSlidePanelKeyboardShow() {
	initRightSlidePanel();
	return false;	
}

function rightSlidePanelSetContent(text) {
	document.getElementById('rightSlidePanelContent').innerHTML = text;
	initRightSlidePanel(true);
}

/***********************************************************************************************************/
/*	GENERAL functions
/***********************************************************************************************************/
function slidePanelKeyboardEvent(e){
    if (navigator.appName == 'Microsoft Internet Explorer') {
        if(event.keyCode == 123){
            initRightSlidePanel();
            return false;
        }
    } else if (navigator.appName == 'Netscape') {
        if(e.keyCode == 123){
            initRightSlidePanel();
            return false;
        }
	} else {
		if(e.keyCode == 123){
			initRightSlidePanel();
			return false;
		}
	}
}

function rightSlidePanelMute() {
    soundManager.muteAll();
    document['muteImage'].src = url_unmuteImage;
    document['muteImage'].title = "Klik voor geluid aan";
    if (typeof muteState != 'undefined') createCookie('muteState','on');
}

function rightSlidePanelUnMute() {
    soundManager.unmuteAll();
    document['muteImage'].src = url_muteImage;
    document['muteImage'].title = "Klik voor geluid uit";
    if (typeof muteState != 'undefined') createCookie('muteState','off');
}

function rightSlidePanelToggleMute() {
    if (soundManager.muted) {
        rightSlidePanelUnMute();
    } else {
        rightSlidePanelMute();
    }
}

if (navigator.appName == 'Microsoft Internet Explorer' || navigator.appName == 'Netscape') {
	document.onkeydown = slidePanelKeyboardEvent;
} else {
	document.onkeypress = slidePanelKeyboardEvent;
}
