/*
 +-------------------------------------------------------------------+
 |                  J S - S L I D E S H O W   (v2.1)                 |
 |                                                                   |
 | Copyright Gerd Tentler                www.gerd-tentler.de/tools   |
 | Created: Apr. 9, 2003                 Last modified: Sep. 6, 2008 |
 +-------------------------------------------------------------------+
 | 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 + 9, Firefox 2
 - 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 bslsAutoStart = true;                    // start animation (true = yes, false = no)
var bslsPauseTime = 5;                       // change pages every .. seconds
var bslsMode = "slide";                      // mode can be "slide" or "fade"
var bslsViewModeIcons = false;                // view mode icons (true = yes, false = no)
var bslsFadeSpeed = 10;                      // fading speed (just for fade mode)

var bslsWidth = 155;                         // content width (pixels)
var bslsHeight = 78;                        // content height (pixels)
var bslsColor = "#C6CEDE";                   // content background color
var bslsOverflow = "hidden";                 // content scrollbars: "auto" or "hidden"
                                            // ("auto" may cause flickering with Gecko browsers)

var bslsBorderWidth = 0;                     // border width (pixels)
var bslsBorderStyle = "none";               // border style (CSS-spec, e.g. "solid", "outset", "inset", etc.)
var bslsBorderColor = "#FFFFFF";             // border color

var bslsBarHeight = 14;                      // iconbar height (pixels)
var bslsBarSpace = 2;                        // space between iconbar and slideshow (pixels)
var bslsBarPosition = "bottom";              // iconbar position ("top" or "bottom")

var bslsImgPrev = "/FEOCorp.Upload/FEOVERSEA-INDONESIA-ID-ID/CMS/buttons/bt_left.jpg";            // previous button: path to image
var bslsImgPrevWidth = 15;                   // previous button: image width (pixels)
var bslsImgNext = "/FEOCorp.Upload/FEOVERSEA-INDONESIA-ID-ID/CMS/buttons/bt_right.jpg";                // next button: path to image
var bslsImgNextWidth = 15;                   // next button: image width (pixels)
var bslsImgPlay = "/FEOCorp.Upload/FEOVERSEA-INDONESIA-ID-ID/CMS/buttons/play.gif";                // play button: path to image
var bslsImgPlayWidth = 15;                   // play button: image width (pixels)
var bslsImgStop = "/FEOCorp.Upload/FEOVERSEA-INDONESIA-ID-ID/CMS/buttons/stop.gif";                // stop button: path to image
var bslsImgStopWidth = 15;                   // stop button: image width (pixels)
var bslsImgSlide = "/FEOCorp.Upload/FEOVERSEA-INDONESIA-ID-ID/CMS/buttons/slide.gif";              // slide mode button: path to image
var bslsImgSlideWidth = 15;                  // slide mode button: image width (pixels)
var bslsImgFade = "/FEOCorp.Upload/FEOVERSEA-INDONESIA-ID-ID/CMS/buttons/fade.gif";                // fade mode button: path to image
var bslsImgFadeWidth = 13;                   // fade mode button: image width (pixels)
var bslsImgBlank = "/FEOCorp.Upload/FEOVERSEA-INDONESIA-ID-ID/CMS/buttons/blank.gif";              // path to blank image

var bslsIndView = false;                      // view index (true = yes, false = no)
var bslsIndCount = 10;                       // max. number of visible index entries
var bslsIndSpace = 8;                        // space between index and iconbar
var bslsIndColor = "";                       // index background color
var bslsIndFont = "Arial, Helvetica";        // index font family
var bslsIndFontSize = 14;                    // index font size (pixels)
var bslsIndPosition = "bottom";              // index position ("top" or "bottom")

var bslsSlidingMax = 20;                     // if there are more than bslsSlidingMax pages, sliding will be
                                            // turned off for performance reasons; this does not affect fading
var bImageTitle = "";

//---------------------------------------------------------------------------------------------------------
// Functions
//---------------------------------------------------------------------------------------------------------

var bDOM = document.getElementById;
var bOP = (window.opera || navigator.userAgent.indexOf('Opera') != -1);
var bIE4 = (document.all && !bOP);

var bslsBord, bslsCont, bslsArea, bslsBarArea, bslsIndArea, bslsIV, bslsTimer, bslsPrevious;
var bslsIndStart = bslsCurPage = 0;
var bslsPages = (typeof(slsPropertiesHighlight) != 'undefined') ? slsPropertiesHighlight.length : 0;
var bslsAnimation = false;

var bslsW = bslsWidth + bslsBorderWidth * 2;
var bslsH = bslsHeight + bslsBorderWidth * 2 + bslsBarSpace + bslsBarHeight;
if(bslsIndView) bslsH += bslsIndSpace + bslsIndFontSize;

function bslsObject(id) {
  this.elem = bDOM ? document.getElementById(id) : document.all[id];
  this.css = this.elem.style;
  this.width = this.elem.offsetWidth;
  this.left = 0;
  return this;
}

function bslsSetMode(btype) {
  var bobj, bi;
  switch(btype.toLowerCase()) {

    case 'slide':
      if(document.images.bslsFade) {
        document.images.bslsFade.style.backgroundColor = '#666666';
      }
      if(document.images.bslsSlide) {
        document.images.bslsSlide.style.backgroundColor = '#FF0000';
      }
      for(bi = 0; bi < bslsPages; bi++) {
        bobj = new bslsObject('bslsPage' + bi);
        bobj.css.position = 'static';
        bobj.css.display = 'block';
        bobj.css.cssFloat = 'left';
        bobj.css.styleFloat = 'left';
      }
      bslsNewX = bslsArea.left = bslsCurX = bslsCurPage * -bslsWidth;
      bslsArea.css.left = bslsNewX + 'px';
      bslsMode = 'slide';
      bslsJump(bslsCurPage);
	  //if(bslsPauseTime && bslsAutoStart) bslsStartAnimation();
	  bslsStartAnimation();
      break;

    case 'fade':
      if(document.images.bslsSlide) {
        document.images.bslsSlide.style.backgroundColor = '#666666';
      }
      if(document.images.bslsFade) {
        document.images.bslsFade.style.backgroundColor = '#FF0000';
      }
      for(bi = 0; bi < bslsPages; bi++) {
        bobj = new bslsObject('bslsPage' + bi);
        bobj.css.position = 'absolute';
        bobj.css.display = 'none';
        bobj.css.cssFloat = 'none';
        bobj.css.styleFloat = 'none';
        bobj.css.zIndex = 1;
      }
      bslsArea.css.left = '0px';
      bslsPrevious = null;
      bslsMode = 'fade';
      bslsJump(bslsCurPage);
      if(bslsPauseTime && bslsAutoStart) bslsStartAnimation();
      break;

    default: alert('Wrong type: ' + btype);
  }
}

function bslsPrevPage() {
  if(!bslsAnimation && bslsCurPage > 0) {
	document.getElementById('bimage_title').value = slsPropertiesHighlightName[bslsCurPage];
    bslsJump(bslsCurPage - 1);
  }
}

function bslsNextPage() {
  if(!bslsAnimation && bslsCurPage < bslsPages - 1) {
	document.getElementById('bimage_title').value = slsPropertiesHighlightName[bslsCurPage];
	bslsJump(bslsCurPage + 1);
  }
}

function bslsJump(bpage) {
	document.getElementById('bimage_title').value = slsPropertiesHighlightName[bpage];
  if(!bslsAnimation) {
    if(bslsMode == 'fade') {
      if(bpage != bslsCurPage) {
        bslsPrevious = new bslsObject('bslsPage' + bslsCurPage);
        bslsPrevious.css.zIndex = 1;
      }
      var bnewPage = new bslsObject('bslsPage' + bpage);
      bslsOpacity = 0;
      bslsSetOpacity(bnewPage);
      bnewPage.css.display = 'block';
      bnewPage.css.zIndex = 2;
      bslsIV = setInterval('bslsFader(' + bpage + ')', 1);
    }
    else {
      bslsNewX = bslsArea.left = bpage * -bslsWidth;
      if(bslsPages > bslsSlidingMax) {
        bslsCurX = bslsNewX;
        bslsArea.css.left = bslsNewX + 'px';
        bslsCheckImg();
        if(bslsIndView) bslsSetIndex(bslsGetIndStart());
      }
      else bslsIV = setInterval('bslsSlider()', 1);
    }
    bslsCurPage = bpage;
  }
}

function bslsCheckImg() {
  var biconbar = 0;
  var bimg = document.images['bslsLeft'];
//  if(bslsCurPage <= 0) bimg.src = bslsImgBlank;
  if(bslsCurPage <= 0) bimg.src = bslsImgPrev;
  else bimg.src = biconbar = bslsImgPrev;
  bimg = document.images['bslsRight'];
//  if(bslsCurPage >= bslsPages - 1) bimg.src = bslsImgBlank;
  if(bslsCurPage >= bslsPages - 1) bimg.src = bslsImgNext;
  else bimg.src = biconbar = bslsImgNext;
  if(!biconbar & bslsIndView) bslsBarArea.css.visibility = bslsIndArea.css.visibility = 'hidden';
}

function bslsGetIndStart() {
  var bstart = 0;
  if(bslsCurPage % bslsIndCount == 0) {
    bstart = bslsCurPage + 1;
  }
  else if(bslsCurPage % bslsIndCount == bslsIndCount - 1) {
    bstart = bslsCurPage - bslsIndCount + 2;
  }
  return bstart;
}

function bslsSetIndex(bstart) {
  if(!bslsAnimation) {
    if(bstart) bslsIndStart = bstart - 1;
    var bhtml = link = '';
    for(var bi = bslsIndStart; bi < bslsPages && bi < bslsIndStart + bslsIndCount; bi++) {
      if(bi && bhtml) bhtml += ' &middot; ';
      if(bi == bslsCurPage) bhtml += '<b>' + (bi+1) + '</b>';
      else {
        link = 'javascript:bslsStopAnimation(); bslsJump(' + bi + ')';
        bhtml += '<a href="' + link + '" style="text-decoration:none">' + (bi+1) + '</a>';
      }
    }
    if(bslsIndStart) {
      link = 'javascript:bslsSetIndex(' + (bslsIndStart - bslsIndCount+1) + ')';
      bhtml += ' &middot; <a href="' + link + '" style="text-decoration:none">&lt;&lt;</a> ';
    }
    if(bi < bslsPages) {
      link = 'javascript:bslsSetIndex(' + (bi+1) + ')';
      bhtml += ' &middot; <a href="' + link + '" style="text-decoration:none">&gt;&gt;</a>';
    }
	bslsIndArea.elem.innerHTML = bhtml;
  }
}

function bslsDoAnimation() {
	document.getElementById('bimage_title').value = slsPropertiesHighlightName[bslsCurPage];
  if(bslsCurPage >= bslsPages - 1) bslsJump(0);
  else bslsNextPage();
}

/*
function bslsStopAnimation() {
  if(bslsAutoStart) {
    if(bslsTimer) clearInterval(bslsTimer);
    var bimg = document.images['bslsPlayStop'];
    bimg.src = bslsImgPlay;
    bimg.width = bslsImgPlayWidth;
    bimg.onclick = function() { bslsStartAnimation(true); this.blur(); }
    bslsAutoStart = false;
  }
}
*/

function bslsStartAnimation(bshowNext) {
//  bslsStopAnimation();
  bslsTimer = setInterval('bslsDoAnimation()', bslsPauseTime * 1000);
//  var bimg = document.images['bslsPlayStop'];
//  bimg.src = bslsImgStop;
//  bimg.width = bslsImgStopWidth;
//  bimg.onclick = function() { bslsStopAnimation(); this.blur(); }
  bslsAutoStart = true;
  if(bshowNext) bslsDoAnimation();
}

function bslsInit() {
  if(bDOM || bIE4) {
    if(!bslsPages) {
      //alert("No contents found.");
      return false;
    }    
    bslsBord = new bslsObject('bslsBorder');
    bslsCont = new bslsObject('bslsContainer');
    bslsArea = new bslsObject('bslsSlider');
    bslsBarArea = new bslsObject('bslsBar');  
    if(bslsIndView) bslsIndArea = new bslsObject('bslsInd');

    if(bslsColor) bslsCont.css.backgroundColor = bslsColor;
    if(bslsIndColor) bslsIndArea.css.backgroundColor = bslsIndColor;

    if(bslsBorderWidth) bslsBord.css.borderWidth = bslsBorderWidth + 'px';
    if(bslsBorderStyle) bslsBord.css.borderStyle = bslsBorderStyle;
    if(bslsBorderColor) bslsBord.css.borderColor = bslsBorderColor;

    var bbordTop = 0;
    if(bslsBarPosition == 'top') bbordTop += (bslsBarHeight + bslsBarSpace);
    if(bslsIndView && bslsIndPosition == 'top') bbordTop += (bslsIndFontSize + bslsIndSpace);

    bslsBord.css.top = bbordTop + 'px';
    bslsBord.css.width = bslsWidth + 'px';
    bslsBord.css.height = bslsHeight + 'px';

    bslsArea.width = bslsWidth * bslsPages;
    bslsArea.css.width = bslsArea.width + 'px';
    bslsArea.css.position = 'absolute';

    bslsCont.css.width = bslsWidth + 'px';
    bslsCont.css.height = bslsHeight + 'px';
    bslsCont.css.visibility = 'visible';
	
/*
    var bcontent = '<img align="left" src="' + bslsImgPrev + '" name="bslsLeft" height="' + bslsBarHeight + '"' +
                  ' width="' + bslsImgPrevWidth + '" style="padding-right:5px; vertical-align:top; cursor:pointer"' +
                  ' onClick="bslsPrevPage(); this.blur()">' +
				  ' Silversea ' +
                  '<img align="right" src="' + bslsImgNext + '" name="bslsRight" height="' + bslsBarHeight + '"' +
                  ' width="' + bslsImgNextWidth + '" style="padding-right:5px; vertical-align:top; cursor:pointer"' +
                  ' onClick="bslsNextPage(); this.blur()">';

*/	

	var bcontent = '<table cellpadding="0" cellspacing="0" border="0" width="155">' + 
						'<tr>'+
							'<td align="left" style="width:15px">'+
								'<img align="left" src="' + bslsImgPrev + '" name="bslsLeft" height="' + bslsBarHeight + '"' +
								' width="' + bslsImgPrevWidth + '" style="cursor:pointer"' +
								' onClick="bslsPrevPage(); this.blur()">' + 
							'</td>' +
							'<td align="center" style="width:105px">' +
							'<input type="text" id="bimage_title" style="font-size:9px;font-family:verdana;color:#666666;width:100px;border:0;text-align:center;background-color:#eeeeee" />' + 
							'</td>'+
							'<td align="right" style="width:15px">'+
								'<img align="right" src="' + bslsImgNext + '" name="bslsRight" height="' + bslsBarHeight + '"' +
								' width="' + bslsImgNextWidth + '" style="cursor:pointer"' +
								' onClick="bslsNextPage(); this.blur()">';
							'</td>'+
						'</tr>'+
					'</table>';
	
    if(bslsViewModeIcons) {
      bcontent += '<img src="' + bslsImgSlide + '" name="bslsSlide" height="' + bslsBarHeight + '"' +
                 ' width="' + bslsImgSlideWidth + '" style="margin:0px 5px 0px 55px; cursor:pointer"' +
                 ' onClick="bslsSetMode(\'slide\')">';
    }
    var bbarTop = 0;
    if(bslsBarPosition != 'top') bbarTop += bslsHeight + bslsBorderWidth*2 + bslsBarSpace;
    if(bslsIndView && bslsIndPosition == 'top') bbarTop += bslsIndFontSize + bslsIndSpace;
    bslsBarArea.elem.innerHTML = bcontent;
    bslsBarArea.css.top = bbarTop + 'px';
    bslsBarArea.css.width = bslsW + 'px';
    bslsBarArea.css.height = bslsBarHeight + 'px';
    bslsBarArea.css.textAlign = 'center';

    if(bslsIndView) {
      var indTop = (bslsIndPosition == 'top') ? 0 : bslsHeight + bslsBorderWidth*2 + bslsBarSpace + bslsBarHeight + bslsIndSpace;
      bslsIndArea.css.top = bindTop + 'px';
      bslsIndArea.css.height = bslsIndFontSize + 'px';
      bslsIndArea.css.width = bslsW + 'px';
      bslsIndArea.css.textAlign = 'center';
      if(bslsIndFont) bslsIndArea.css.fontFamily = bslsIndFont;
      if(bslsIndFontSize) bslsIndArea.css.fontSize = bslsIndFontSize + 'px';
      bslsSetIndex();
    }
    setTimeout('bslsCheckImg()', 100);
    bslsSetMode(bslsMode);
  }
  else alert("Sorry, this script doesn't work with your browser.");
}

//---------------------------------------------------------------------------------------------------------
// Page slider
//---------------------------------------------------------------------------------------------------------

var bslsCurX = bslsNewX = 0;

function bslsSlider() {
  if(bslsCurX != bslsNewX) {
    bslsAnimation = true;
    var bpercent = .1 * (bslsNewX - bslsCurX);
    if(bpercent > 0) bpercent = Math.ceil(bpercent);
    else bpercent = Math.floor(bpercent);
    bslsCurX += bpercent;
    bslsArea.css.left = bslsCurX + 'px';
  }
  else {
    bslsAnimation = false;
    if(bslsIV) clearInterval(bslsIV);
    bslsCheckImg();
    if(bslsIndView) bslsSetIndex(bslsGetIndStart());
  }
}

//---------------------------------------------------------------------------------------------------------
// Page fader
//---------------------------------------------------------------------------------------------------------

var bslsOpacity = 0;

function bslsSetOpacity(bobj) {
  if(bobj) {
    bobj.css.opacity = bslsOpacity / 100;
    bobj.css.MozOpacity = bslsOpacity / 100;
    bobj.css.KhtmlOpacity = bslsOpacity / 100;
    bobj.css.filter = 'alpha(opacity=' + bslsOpacity + ')';
  }
}

function bslsFader(bpage) {
  if(bobj = new bslsObject('bslsPage' + bpage)) {
    bslsAnimation = true;
    if(bslsFadeSpeed && bslsOpacity < 100) {
      bslsOpacity += bslsFadeSpeed;
      if(bslsOpacity > 100) bslsOpacity = 100;
      bslsSetOpacity(bobj);
    }
    else {
      bslsAnimation = false;
      bslsOpacity = 0;
      if(bslsIV) clearInterval(bslsIV);
      bslsCheckImg();
      if(bslsIndView) bslsSetIndex(bslsGetIndStart());
      if(bslsPrevious && bslsPrevious != bobj) {
        bslsPrevious.css.display = 'none';
      }
    }
  }
}

//---------------------------------------------------------------------------------------------------------
// Create slideshow
//---------------------------------------------------------------------------------------------------------

function bslsBuildContainers() {
  document.write('<div id="bslideShow" style="position:relative; width:' + bslsW + 'px; height:' + bslsH + 'px">');
  if(bslsIndView) document.write('<div id="bslsInd" style="position:absolute; z-index:69"></div>');
  document.write('<div id="bslsBar" style="position:absolute; z-index:69"></div>');
  document.write('<div id="bslsBorder" style="position:absolute">');
  document.write('<div id="bslsContainer" style="position:absolute; z-index:0; overflow:hidden;');
  document.write(' clip:rect(0,' + bslsWidth + ',' + bslsHeight + ',0); visibility:hidden">');
  document.write('<div id="bslsSlider">');

  for(var bi = 0; bi < bslsPages; bi++) {
    document.write('<div id="bslsPage' + bi + '" style="width:' + bslsWidth + 'px;');
    document.write(' height:' + bslsHeight + 'px; overflow:' + bslsOverflow + '; background-color:' + bslsColor + '">');
    document.write(slsPropertiesHighlight[bi] + '</div>');
  }
  document.write('</div></div></div></div>');
}

bslsBuildContainers();
//window.onload = bslsInit;

