/*
 +-------------------------------------------------------------------+
 |                  J S - S L I D E S H O W   (v1.3)                 |
 |                                                                   |
 | Copyright Gerd Tentler               www.gerd-tentler.de/tools    |
 | Created: Apr. 9, 2003                Last modified: Mar. 28, 2006 |
 +-------------------------------------------------------------------+
 | This program may be used and hosted free of charge by anyone for  |
 | personal purpose as long as this copyright notice remains intact. |
 |                                                                   |
 | Obtain permission before selling the code for this program or     |
 | hosting this software on a commercial website or redistributing   |
 | this software over the Internet or in any other medium. In all    |
 | cases copyright must remain intact.                               |
 +-------------------------------------------------------------------+

 This script was tested with:

 - Windows XP: Internet Explorer 6, Netscape Navigator 7, Opera 7, Firefox 1
 - Mac OS X:   Internet Explorer 5, Safari 1

 If you use another browser or operating system, this script may not work for you.

*/
//---------------------------------------------------------------------------------------------------------
// Configuration
//---------------------------------------------------------------------------------------------------------

var slsWidth = 446;                         // content width (pixels)
var slsHeight = 400;                        // content height (pixels)
var slsColor = "#303030";                   // content background color
var slsOverflow = "hidden";                 // content scrollbars: "auto" or "hidden"
                                            // ("auto" may cause flickering with Gecko browsers)

var slsBorderWidth = 0;                     // border width (pixels)
var slsBorderStyle = "none";               // border style (CSS-spec, e.g. "solid", "outset", "inset", etc.)
var slsBorderColor = false;             // border color

var slsBarHeight = 14;                      // scrollbar height (pixels)
var slsBarSpace = 0;                        // space between scrollbar and page contents (pixels)
var slsBarColor = false;                // scrollbar background color

var slsImgLeft = "/images/scroll_left.gif";         // left arrow: path to image
var slsImgLeftWidth = 18;                   // left arrow: image width (pixels)
var slsImgRight = "/images/scroll_right.gif";       // right arrow: path to image
var slsImgRightWidth = 18;                  // right arrow: image width (pixels)
var slsImgRightBlank = "/images/blank.gif";   // path to blank image
var slsImgLeftBlank = "/images/blank.gif"; 

var slsIndCount = 20;                       // max. number of visible index entries
var slsIndHeight = 14;                      // index height (pixels);
var slsIndSpace = 10;                       // space between index and scrollbar
var slsIndColor = false;                // index background color

var slsSlidingMax = 20;                     // if there are more than slsSlidingMax pages, sliding will be
                                            // turned off for performance reasons

//---------------------------------------------------------------------------------------------------------
// Functions
//---------------------------------------------------------------------------------------------------------

var DOM = document.getElementById ? true : false;
var OP = (navigator.userAgent.indexOf('Opera') != -1) ? true : false;
var IE4 = (document.all && !OP) ? true : false;
var GKO = (navigator.userAgent.indexOf('Gecko') != -1) ? true : false;

var slsBord, slsCont, slsArea, slsIndArea, iv; //slsBarArea, 
var slsIndStart = 0;
var slsPages = (typeof(slsContents) != 'undefined') ? slsContents.length : 0;

function slsObject(obj) {
  this.elem = DOM ? document.getElementById(obj) : document.all[obj];
  this.css = this.elem.style;
  this.width = this.elem.offsetWidth;
  this.left = 0;
  return this;
}

function slsPrevPage() {
  if(!sliding && slsArea.left < 0) slsJump(aktX + slsWidth);
}

function slsNextPage() {
  if(!sliding && slsArea.left > -slsArea.width+slsWidth) slsJump(aktX - slsWidth);
}

function slsJump(position) {
  if(!sliding) {
    newX = slsArea.left = position;
    if(slsPages > slsSlidingMax) {
      slsArea.css.left = aktX = newX;
      slsCheckImg();
      var start = Math.ceil(aktX / slsWidth / slsIndCount) * slsIndCount * -1 + 1;
      slsSetIndex(start);
    }
    else iv = setInterval('slsSlider()', 1);
  }
}

function slsCheckImg() {
  var scrollbar = 0;
  var img = document.images['slsLeft'];
  if(slsArea.left >= 0) img.src = slsImgLeftBlank;
  else img.src = scrollbar = slsImgLeft;
  img = document.images['slsRight'];
  if(slsArea.left <= -slsArea.width+slsWidth) img.src = slsImgRightBlank;
  else img.src = scrollbar = slsImgRight;
  //if(!scrollbar) slsBarArea.css.visibility = slsIndArea.css.visibility = 'hidden';
}

function slsSetIndex(start) {
  if(!sliding) {
    if(start) slsIndStart = start-1;
    var inhalt = '';
    for(var i = slsIndStart; i < slsPages && i < slsIndStart+slsIndCount; i++) {
      if(aktX == i * -slsWidth) inhalt += '<img src="/images/box_cur.gif" />';
      else inhalt += '<a href="javascript:slsJump(' + (i * -slsWidth) + ')"><img src="/images/box_grey.gif" border="0" /></a>';
    }
    if(slsIndStart) inhalt += '<a href="javascript:slsSetIndex(' + (slsIndStart-slsIndCount+1) + ')"></a>';
    if(i < slsPages) inhalt += '<a href="javascript:slsSetIndex(' + (i+1) + ')">&gt;&gt;</a>';
    if(DOM) document.getElementById('slsInd').innerHTML = inhalt;
    else if(IE4) document.all.slsInd.innerHTML = inhalt;
  }
}

function slsInit() {
	if(slsPages) {
	
	  var slsAllPage = '';
	  for(var i = 0; i < slsPages; i++) {
		slsAllPage += '<div class="slsPage">' + slsContents[i] + '</div>';
	  }
	  if(DOM) document.getElementById("slsSlider").innerHTML = slsAllPage;
	  else if(IE4) document.all.slsSlider.innerHTML = slsAllPage;
	}
  if(DOM || IE4) {
    if(slsPages) {
      slsCont = new slsObject('slsContainer');
      slsArea = new slsObject('slsSlider');

      if(slsColor) slsCont.css.backgroundColor = slsColor;

      slsArea.width = slsWidth * slsPages;
      slsArea.css.width = slsArea.width + 'px';
      slsArea.css.position = 'absolute';

      slsCont.css.width = slsWidth + 'px';
      slsCont.css.height = slsHeight + 'px';
      slsCont.css.visibility = 'visible';

      var slsBarLeft = '<a href="javascript:slsPrevPage()">' +
                         '<img src="' + slsImgLeft + '" border=0 name="slsLeft" height=' + slsBarHeight + ' width=' + slsImgLeftWidth + '></a>';
       var slsBarRight = '<a href="javascript:slsNextPage()">' +
                         '<img src="' + slsImgRight + '" border=0 name="slsRight" height=' + slsBarHeight + ' width=' + slsImgRightWidth + '></a>';

      if(DOM){ 
	  	document.getElementById('slsLeft').innerHTML = slsBarLeft;
	  	document.getElementById('slsRight').innerHTML = slsBarRight;
	  } else if(IE4) {
		  document.all.slsLeft.innerHTML = slsBarLeft;
		  document.all.slsRight.innerHTML = slsBarRight;
	  }

      slsSetIndex();
      setTimeout('slsCheckImg()', 100);
    }
   // else alert("No contents found.");
  }
  else alert("Sorry, this script doesn't work with your browser.");
}

window.onload = slsInit;

//---------------------------------------------------------------------------------------------------------
// Page-slider
//---------------------------------------------------------------------------------------------------------

var aktX = newX = percent = sliding = 0;

function slsSlider() {
  if(aktX != newX) {
    sliding = 1;
    percent = .1 * (newX - aktX);
    if(percent > 0) percent = Math.ceil(percent);
    else percent = Math.floor(percent);
    aktX += percent;
    slsArea.css.left = aktX + 'px';
  }
  else {
    sliding = 0;
    clearInterval(iv);
    slsCheckImg();
    var start = Math.ceil(aktX / slsWidth / slsIndCount) * slsIndCount * -1 + 1;
    slsSetIndex(start);
  }
}

//---------------------------------------------------------------------------------------------------------
// Styles for border, container and pages
//---------------------------------------------------------------------------------------------------------

document.write('<style> ');
document.write('#slsContainer { ');
document.write('position:absolute; top:0px; left:0px; ');
document.write('clip:rect(0,' + slsWidth + ',' + slsHeight + ',0); ');
document.write('z-index:0; visibility:hidden; } ');
document.write('.slsPage { width:' + slsWidth + 'px; height:' + slsHeight + 'px; ');
document.write('float:left; overflow:' + slsOverflow + '; } ');
document.write('</style>');

//---------------------------------------------------------------------------------------------------------
// Build border, contents, scrollbar and index
//---------------------------------------------------------------------------------------------------------



//---------------------------------------------------------------------------------------------------------

