﻿// JavaScript Document

var currentSlide = 0


function opacity(id, opacStart, opacEnd, millisec) {
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function shiftOpacity(id, millisec) {
	//if an element is invisible, make it visible, else make it ivisible
	if(document.getElementById(id).style.opacity == 0) {
		opacity(id, 0, 100, millisec);
	} else {
		opacity(id, 100, 0, millisec);
	}
}



function showFinishes(millisec){
stopSlideshow()
var fContainer = document.getElementById('finishContainer');
var fContent = document.getElementById('finishContent');
var fControls = document.getElementById('finishControls');
fContainer.style.visibility='visible';
fContent.style.visibility='visible';
fControls .style.visibility='visible';

//opacity(fContainer , 0, 100, millisec);
//opacity(fContent, 0, 100, millisec);
}

function hideFinishes(millisec){
var fContainer = document.getElementById('finishContainer');
var fContent = document.getElementById('finishContent');
var fControls = document.getElementById('finishControls');
//opacity(fContainer , 100,0, millisec);
//opacity(fContent, 100, 0, millisec);
fContainer.style.visibility='hidden';
fContent.style.visibility='hidden';
fControls.style.visibility='hidden';

}

function showDetails(prodtype,slideNo)
{
stopSlideshow();
var allDivs = document.getElementsByTagName('div');
var len = allDivs.length;

for(var x=0;x<len;x++){
var singleDiv = allDivs[x];
if (singleDiv.id.substring(0,5)=='text_'){singleDiv.style.display='none'}
};

var thisTextDiv= 'text_' + prodtype+ slideNo;
document.getElementById(thisTextDiv).style.display='block';
document.getElementById('prodDetails').style.display='block';
document.getElementById('imageMenu').style.display='none';}

function hideDetails()
{
hideFinishes(300);
document.getElementById('prodDetails').style.display='none';
document.getElementById('imageMenu').style.display='block';}


function stopSlideshow() {
hideFinishes(300);
document.getElementById('StartShow').style.display='block';
document.getElementById('StopShow').style.display='none';
clearTimeout(id)}

function goToSlide(prodtype,slideNo)
{
var thisFile = 'images/' + prodtype + '/' + prodtype + slideNo + '.jpg';
currentSlide = slideNo;
setBut();
stopSlideshow();
showDetails(prodtype,slideNo);
hideFinishes(300);
blendimage('blenddiv','blendimage',thisFile,500,slideNo)
}

function setBut()
{//all buts grey
	for(i = 1; i <= 10; i++) {
	var butNo = "but"+i;
try{document.getElementById(butNo).style.backgroundImage="url(images/slidebutton.gif)"}
catch (error){}
	}
//thisButblue	
	if (currentSlide > 0) 
{   var butNo = "but"+currentSlide;
	document.getElementById(butNo).style.backgroundImage="url(images/slidebutton_f2.gif)"}
	}


function setMenuHilight(){
var thispage = document.location.href.substring(document.location.href.length, document.location.href.lastIndexOf('/') + 1);

if (thispage=='reception.aspx'){changeClass('menu_reception','menulive')};
if (thispage=='meeting.aspx'){changeClass('menu_meeting','menulive')};
if (thispage=='storage.aspx'){changeClass('menu_storage','menulive')};
if (thispage=='training.aspx'){changeClass('menu_training','menulive')};
if (thispage=='seating.aspx'){changeClass('menu_seating','menulive')};

if (thispage=='desks.aspx'){changeClass('menu_desks','menulive')};
if (thispage=='accessories.aspx'){changeClass('menu_accessories','menulive')};
if (thispage.substring(0,22)=='Accessories_depts.aspx'){changeClass('menu_accessories','menulive')};

if (thispage=='index.aspx'){changeClass('sidemenu_home','sidemenu sidemenulive')};
if (thispage=='customsolutions.aspx'){changeClass('sidemenu_customsolutions','sidemenu sidemenulive')};
if (thispage=='services.aspx'){changeClass('sidemenu_services','sidemenu sidemenulive')};
if (thispage=='gallery.aspx'){changeClass('sidemenu_gallery','sidemenu sidemenulive')};
if (thispage=='contact.aspx'){changeClass('sidemenu_contact','sidemenu sidemenulive')};


}



function blendimage(divid, imageid, imagefile, millisec,slideNo) {
	var speed = Math.round(millisec / 100);
	var timer = 0;
	if (slideNo>0) {setBut(slideNo)};
	
	
	//set the current image as background
	document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";
	
	//make image transparent
	changeOpac(0, imageid);
	
	//make new image
	document.getElementById(imageid).src = imagefile;

	//fade in image
	for(i = 0; i <= 100; i++) {
		id=setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
		timer++;
	}
}

function currentOpac(id, opacEnd, millisec) {
	//standard opacity is 100
	var currentOpac = 100;
	
	//if the element has an opacity set, get it
	if(document.getElementById(id).style.opacity < 100) {
		currentOpac = document.getElementById(id).style.opacity * 100;
	}

	//call for the function that changes the opacity
	opacity(id, currentOpac, opacEnd, millisec)
}



var slideCache = new Array(); 

function RunSlideShow(divid,imageid,imageFiles,displaySecs) 
{ 
var imageSeparator = imageFiles.indexOf(";"); 
var nextImage = imageFiles.substring(0,imageSeparator);

//because each filename is in format xxxxX.jpg where X is the series no, we want to turn off the same button
var slideNoPos = nextImage.indexOf(".jpg");
currentSlide = nextImage.substring(slideNoPos-1,slideNoPos);


changeOpac(0, imageid); 
blendimage(divid,imageid,nextImage,500,currentSlide); 

var futureImages= imageFiles.substring(imageSeparator+1,imageFiles.length)+ ';' + nextImage; 


id=setTimeout("RunSlideShow('"+divid+"','"+imageid+"','"+futureImages+"',"+displaySecs+")",displaySecs*1000); 

// Cache the next image to improve performance. 
imageSeparator = futureImages.indexOf(";"); 
nextImage = futureImages.substring(0,imageSeparator); 
										if (slideCache[nextImage] == null) 
										{ 
										slideCache[nextImage] = new Image; 
										slideCache[nextImage].src = nextImage; }
} 

   

// gives up and down scroll buttons to images, spans, … named up_name, down_name, respectively.
// will keep the default scroll_box’s style overflow if it encounters errors (so make overflow: auto;)

// usage: put this after the scrollbox div: var div_scroll1 = new TextScroll(’div_scroll1′, ’scroll_box’);
function TextScroll(scrollname, div_name, up_name, down_name)
{
this.div_name = div_name;
this.name = scrollname;
this.scrollCursor = 0;
this.speed = 5;
this.timeoutID = 0;
this.div_obj = null;
this.up_name = up_name;
this.dn_name = down_name;

{
if (document.getElementById) {
div_obj = document.getElementById(this.div_name);
if (div_obj) {
this.div_obj = div_obj;
this.div_obj.style.overflow = 'hidden';
}
div_up_obj = document.getElementById(this.up_name);
div_dn_obj = document.getElementById(this.dn_name);
if (div_up_obj && div_dn_obj) {
div_up_obj.onmouseover = function() { eval(scrollname + ".scrollUp();") };
div_up_obj.onmouseout = function() { eval(scrollname + ".stopScroll();") };

div_dn_obj.onmouseover = function() { eval(scrollname + ".scrollDown();") };
div_dn_obj.onmouseout = function() { eval(scrollname + ".stopScroll();") };
}
}
}

this.stopScroll = function() {
clearTimeout(this.timeoutID);
}

this.scrollUp = function() {
if (this.div_obj) {
this.scrollCursor = (this.scrollCursor-this.speed) < 0 ? 0 : this.scrollCursor-this.speed;
this.div_obj.scrollTop = this.scrollCursor;
this.timeoutID = setTimeout(this.name + ".scrollUp()", 60);
}
}

this.scrollDown = function() {
if (this.div_obj) {
this.scrollCursor += this.speed;
this.div_obj.scrollTop = this.scrollCursor;
if (this.div_obj.scrollTop == this.scrollCursor) {
this.timeoutID = setTimeout(this.name + ".scrollDown()", 60);
} else {
this.scrollCursor = this.div_obj.scrollTop;
}
}
}

this.resetScroll = function() {
if (this.div_obj) {
this.div_obj.scrollTop = 0;
this.scrollCursor = 0;
}
}
}

// http://bontragerconnection.com/ and http://www.willmaster.com/
// Version: July 28, 2007
var cX = 0; var cY = 0; var rX = 0; var rY = 0;
function UpdateCursorPosition(e){ cX = e.pageX; cY = e.pageY;}
function UpdateCursorPositionDocAll(e){ cX = event.clientX; cY = event.clientY;}
if(document.all) { document.onmousemove = UpdateCursorPositionDocAll; }
else { document.onmousemove = UpdateCursorPosition; }
function AssignPosition(d) {
if(self.pageYOffset) {
	rX = self.pageXOffset;
	rY = self.pageYOffset;
	}
else if(document.documentElement && document.documentElement.scrollTop) {
	rX = document.documentElement.scrollLeft;
	rY = document.documentElement.scrollTop;
	}
else if(document.body) {
	rX = document.body.scrollLeft;
	rY = document.body.scrollTop;
	}
if(document.all) {
	cX += rX; 
	cY += rY;
	}
d.style.left = (cX-200) + "px";
d.style.top = (cY-200) + "px";
}
function HideContent(d) {
if(d.length < 1) { return; }
document.getElementById(d).style.display = "none";
}
function ShowContent(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
dd.style.display = "block";
}
function ReverseContentDisplay(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
if(dd.style.display == "none") { dd.style.display = "block"; }
else { dd.style.display = "none"; }
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

	 function changeClass(Elem, myClass) {
	var elem;
	if(document.getElementById) {
		var elem = document.getElementById(Elem);
	} else if (document.all){
		var elem = document.all[Elem];
	}
	elem.className = myClass;
}

