scrollObjects = {};
var slideshowHolderVar;
var curSliderHref;
function scrollObject(divId,iniX,iniY){
	this.id=divId;
	scrollObjects[this.id]=this;
	this.animString="scrollObjects."+this.id;
	this.load(divId,iniX,iniY);
};

scrollObject.prototype.load=function(divId,iniX,iniY){
	if(!document.getElementById)return;
	var scrollingDiv;

	this.scrollingDiv=document.getElementById(divId);
	
	this.scrollingDiv.style.top=this.y=iniY;
	this.scrollingDiv.style.left=this.x=iniX;
	
	this.ready=true;
};

scrollObject.slideDur = 500; // duration of glide

scrollObject.scrollBy = function(divId, x, y, dur, hideWhenStop) {
	if ( scrollObjects[divId] ) scrollObjects[divId].glideBy(x, y, dur, hideWhenStop);}


scrollObject.prototype.glideBy = function(dx, dy, dur, hideWhenStop) {
  if ( !document.getElementById || this.isMoving ) return;
  this.slideDur = dur || scrollObject.slideDur;
  this.destX = this.destY = this.distX = this.distY = 0;
  this.startX = this.x; this.startY = this.y;
  
  this.distY = dy;
  this.distX = dx;
  
  this.destX = this.startX + this.distX; 
  this.destY = this.startY + this.distY;
  
  this.hideWhenStop = hideWhenStop ;
  
  this.isMoving = true;
  this.per = Math.PI/(2 * this.slideDur);
  this.slideStart = (new Date()).getTime();
  this.aniTimer = setInterval(this.animString + ".doSlide()",10);
}

scrollObject.prototype.doSlide = function() {
	var elapsed = (new Date()).getTime() - this.slideStart;
	if (elapsed < this.slideDur) {
		var x = this.startX + this.distX * Math.sin(this.per*elapsed);
		var y = this.startY + this.distY * Math.sin(this.per*elapsed);
    this.shiftTo(this.scrollingDiv, x, y); 
	} else {
    clearInterval(this.aniTimer); this.isMoving = false;
	this.shiftTo(this.scrollingDiv, this.destX, this.destY);
		if (this.hideWhenStop){
			this.scrollingDiv.style.visibility="hidden";
		}
	}
}

scrollObject.prototype.shiftTo=function(scrollingDiv,x,y){
	if(!scrollingDiv.style)return;
	scrollingDiv.style.left=(this.x=x)+"px";
	scrollingDiv.style.top=(this.y=y)+"px";
};

function initSlideshow() {
	if(document.getElementById){
                         if (document.getElementById("divPrint"))
                         {
                             if (document.getElementById("ifrPrint"))
                             {
                                   document.frames("ifrPrint").document.body.innerHTML =  document.getElementById("divPrint").innerHTML;
                                   document.frames("ifrPrint").focus();
                                   document.frames("ifrPrint").print();
                             }
                         }
                         if (document.getElementById("divPrintPreview"))
                         {
                              window.open("/eprise/main/_Styles/PairingGuide/printPreview.htm","","width=800px,height:800px,resizable=yes,toolbar=yes,scrollbars=yes");
                         }

                    
                         if (document.getElementById("txtSearchValue"))
                         {
                            document.getElementById("txtSearchValue").focus();
                         }
		slideShowList = document.getElementById('slideshowList');
                                           if (!slideShowList) {return;}
		slideShowItems = 0 ;
		slideShowChildNodes = slideShowList.childNodes ;
		for (i=0; i<slideShowChildNodes.length; i++){
			if (slideShowChildNodes[i].nodeName == "LI") slideShowItems++ ;
		}
		slideShowItems = Math.floor(slideShowItems/2) ;
		
		indicatorBgVar=document.getElementById('indicatorBG');
		indicatorMaskVar=document.getElementById('indicatorMask');
		
		indicatorOverVar=document.getElementById('indicatorOver');
		indicatorOver2Var=document.getElementById('indicatorOver2');
		
		slideOver1Var=document.getElementById('slideOverDiv1');
		slideOver2Var=document.getElementById('slideOverDiv2');
slideOver1Var.style.visibility = slideOver2Var.style.visibility = "hidden" ;		
		slideLeftButVar=document.getElementById('slideLeftBut');
		slideRightButVar=document.getElementById('slideRightBut');

		if (slideShowItems > 3){
			indicatorBgWidth = 9 + (slideShowItems*20) ;
			indicatorBgVar.style.width = indicatorBgWidth + "px" ;
			indicatorBgVar.style.left = Math.round((900-indicatorBgWidth)/2) + "px" ;
			var indicator = new scrollObject('indicator', 6, 0);
			var indicator2 = new scrollObject('indicator2', -100, 0);
			
			scrollObjects['indicator'].scrollingDiv.style.left = '6px' ;
			scrollObjects['indicator'].x = 6 ;
			//scrollObjects['indicator2'].scrollingDiv.style.visibility = 'hidden' ;
			
			slideLeftButVar.style.visibility = slideRightButVar.style.visibility = "visible" ;
			
			indicatorBgVar.style.visibility = 'visible' ;

		indicatorMaskVar.innerHTML = '<img src="' + client_env_wdhCSSIMAGEROOT +'slideshow/indicator_bg_left.gif" width="5" height="21" />' ;
			for (i=0; i<slideShowItems; i++){
				indicatorMaskVar.innerHTML += '<img src="' + client_env_wdhCSSIMAGEROOT +'slideshow/indicator_mask.gif" width="20" height="21" onmouseover="indicatorRollOver('+i+')" onmouseout="indicatorRollOut()" onclick="jumpTo('+i+')" />' ;
			}
			indicatorMaskVar.innerHTML += '<img src="' + client_env_wdhCSSIMAGEROOT + 'slideshow/indicator_bg_right.gif" width="4" height="21" />' ;
			
			indicatorBgVar.style.clip = 'rect(0px '+indicatorBgWidth+'px 21px 0px)' ;
		}
		var productSlideShow = new scrollObject('slidingDiv', 0, 0);
		var slideShow = new scrollObject('slideshow', 0, 0);

		
		if (document.getElementById('slideshowHolder')){
			var slideshowHolderVar = new scrollObject('slideshowHolder', 0, -188);
		
			showFeaturesVar=document.getElementById('showFeatures');
			hideFeaturesVar=document.getElementById('hideFeatures');
			showFeatCornerVar=document.getElementById('imageTopRightCorner');
			slideShowMaskVar=document.getElementById('slideshowMask');
		
			showFeaturesVar.style.visibility = 'visible' ;
			showFeatCornerVar.style.visibility = 'visible' ;
			slideShowMaskVar.style.visibility = 'visible' ;
		}
		if (document.getElementById('slideshowHolder'))
                                          {
                                              if (client_env_field_bShowSliderOnLoad.toLowerCase()=='yes')
                                              {
                                                 scrollObject.slideDur = 0; // duration of glide
                                                 openSlideShow();
                                                 scrollObject.slideDur = 500; // duration of glide

                                              }
                                           }
	} 	
}

slideShowOpen = false ;
function openSlideShow(){
       if (!scrollObjects['slideshowHolder'].isMoving && !scrollObjects['slidingDiv'].isMoving){
	if (slideShowOpen){
		showFeaturesVar.style.visibility = 'visible' ;
		hideFeaturesVar.style.visibility = 'hidden' ;
		slideShowOpen = false ;
		scrollObject.scrollBy('slideshowHolder',0,-188); 
		scrollObject.scrollBy('slidingDiv',0,-188); 
	} else {
                                          if (slideshowHolderVar) {
		    slideshowHolderVar.scrollingDiv.style.visibility = 'visible';
                                          }
		slideLeftButVar.style.visibility = 'visible' ;
		slideRightButVar.style.visibility = 'visible' ;
		indicatorBgVar.style.visibility = 'visible' ;
		
		showFeaturesVar.style.visibility = 'hidden' ;
		hideFeaturesVar.style.visibility = 'visible' ;
		slideShowOpen = true ;
		scrollObject.scrollBy('slideshowHolder',0,188);
		scrollObject.scrollBy('slidingDiv',0,188);
	}
     }
}

function indicatorRollOver(id){
	id = (id==0) ? slideShowItems-1 : id-1 ;
	indicatorOverVar.style.left = id*20+6 + "px" ;
	if (id > slideShowItems-3){
		indicatorOver2Var.style.left = 6-((slideShowItems - id)*20) + "px" ;
	}
}

function indicatorRollOut(){
	indicatorOverVar.style.left = indicatorOver2Var.style.left = -60 + "px" ;
}

function jumpTo(id){
	id = (id==0) ? slideShowItems-1 : id-1 ;
	tmpCurrentItem = (currentItem>slideShowItems) ? currentItem-slideShowItems : currentItem ;
	if (!scrollObjects['slideshow'].isMoving && (id+1) != tmpCurrentItem){
		distance = (tmpCurrentItem >= slideShowItems-1 && (id+1) < (slideShowItems/2)) ? (id+1+slideShowItems)-tmpCurrentItem : (id+1)-tmpCurrentItem ;
		//alert("id="+id+", currentItem="+currentItem+", tmpCurrentItem="+tmpCurrentItem+", sliderMove="+distance) ;
		slider(distance) ;
	}
}

function slideOver(id){
	if (!scrollObjects['slideshow'].isMoving){
		tempCurrentSlide = (currentItem>slideShowItems) ? currentItem-slideShowItems : currentItem ;
		id = (id < tempCurrentSlide) ? id + slideShowItems : id ;
		idDiff = id - tempCurrentSlide ;
                                          curSliderHref = window.event.srcElement.parentElement.href;                                          
		  
switch(idDiff){
			case 0:
				slideOver1Var.style.left = "317px" ;
				slideOver2Var.style.left = "600px" ;
			break ;
			case 1:
				slideOver1Var.style.left = "34px" ;
				slideOver2Var.style.left = "600px" ;
			break ;
			case 2:
				slideOver1Var.style.left = "34px" ;
				slideOver2Var.style.left = "317px" ;
			break ;
		}
		slideOver1Var.style.visibility = slideOver2Var.style.visibility = "visible" ;
	}
}

function slideOut(){
    if (window.event.toElement)
    {
        switch (window.event.toElement.id)
        {
            case "slideshowList":
               cancelEvent();
               break;
            default:
        	    slideOver1Var.style.visibility = slideOver2Var.style.visibility = "hidden" ;
               break;
        }
    }
    else
    {
        slideOver1Var.style.visibility = slideOver2Var.style.visibility = "hidden" ;    
    }
}

itemWidth = 283 ;
currentItem = 1 ;
function slider(direction){
	if(!scrollObjects['slideshow'].isMoving){
		if (currentItem + direction < 1){
			newPos = scrollObjects['slideshow'].x-slideShowItems*itemWidth ;
			scrollObjects['slideshow'].scrollingDiv.style.left = newPos+'px' ;
			scrollObjects['slideshow'].x = newPos ;
			currentItem += slideShowItems ;
		} else if (currentItem + direction > (slideShowItems*2)-2){
			newPos = scrollObjects['slideshow'].x+slideShowItems*itemWidth ;
			scrollObjects['slideshow'].scrollingDiv.style.left = newPos+'px' ;
			scrollObjects['slideshow'].x = newPos ;
			currentItem -= slideShowItems ;
		}
		
		indicatorPosDiff = (slideShowItems)*20 ;

		if (direction>0){

			if (scrollObjects['indicator'].x > ((slideShowItems-1)*20)+6){
				scrollObjects['indicator'].scrollingDiv.style.left = scrollObjects['indicator2'].x - indicatorPosDiff +'px' ;
				scrollObjects['indicator'].x = scrollObjects['indicator2'].x - indicatorPosDiff ;
			} else if (scrollObjects['indicator2'].x > ((slideShowItems-1)*20)+6){
				scrollObjects['indicator2'].scrollingDiv.style.left = scrollObjects['indicator'].x - indicatorPosDiff +'px' ;
				scrollObjects['indicator2'].x = scrollObjects['indicator'].x - indicatorPosDiff ;
			}
			if (scrollObjects['indicator'].x > scrollObjects['indicator2'].x){
				scrollObjects['indicator2'].scrollingDiv.style.left = scrollObjects['indicator'].x - indicatorPosDiff +'px' ;
				scrollObjects['indicator2'].x = scrollObjects['indicator'].x - indicatorPosDiff ;
			} else {
				scrollObjects['indicator'].scrollingDiv.style.left = scrollObjects['indicator2'].x - indicatorPosDiff +'px' ;
				scrollObjects['indicator'].x = scrollObjects['indicator2'].x - indicatorPosDiff ;
			}
		} else {
			
			if (scrollObjects['indicator'].x < -34){
				scrollObjects['indicator'].scrollingDiv.style.left = scrollObjects['indicator2'].x + indicatorPosDiff +'px' ;
				scrollObjects['indicator'].x = scrollObjects['indicator2'].x + indicatorPosDiff ;
			} else if (scrollObjects['indicator2'].x < -34){
				scrollObjects['indicator2'].scrollingDiv.style.left = scrollObjects['indicator'].x + indicatorPosDiff +'px' ;
				scrollObjects['indicator2'].x = scrollObjects['indicator'].x + indicatorPosDiff ;
			}
			if (scrollObjects['indicator'].x < scrollObjects['indicator2'].x){
				scrollObjects['indicator2'].scrollingDiv.style.left = scrollObjects['indicator'].x + indicatorPosDiff +'px' ;
				scrollObjects['indicator2'].x = scrollObjects['indicator'].x + indicatorPosDiff ;
			} else {
				scrollObjects['indicator'].scrollingDiv.style.left = scrollObjects['indicator2'].x + indicatorPosDiff +'px' ;
				scrollObjects['indicator'].x = scrollObjects['indicator2'].x + indicatorPosDiff ;
			}
		}
		
		currentItem += direction ;
		scrollObject.scrollBy('slideshow',-1*direction*itemWidth,0);
		scrollObject.scrollBy('indicator',direction*20,0);
		scrollObject.scrollBy('indicator2',direction*20,0);
	}
}

function cancelEvent()
{
    window.event.returnValue=false;
    window.event.cancelBubble=true;
}
function myslideOver()
{
    try
    {
    window.event.srcElement.style.visibility="hidden" ;
    }
    catch(e)
    {}
}
function sliderImageClicked()
{
    if (curSliderHref !="")
    {
        document.location=curSliderHref;
    }
}