/***********************************************************************************************
Copyright (c) 2005 - Alf Magne Kalleland post@dhtmlgoodies.com
UPDATE LOG:
March, 10th, 2006 : Added support for a message while large image is loading
Get this and other scripts at www.dhtmlgoodies.com
You can use this script freely as long as this copyright message is kept intact.
***********************************************************************************************/

var displayWaitMessage = false; // Display a please wait message while images are loading?

var activeImage = false;
var imageGalleryLeftPos = false;
var imageGalleryWidth = false;
var imageGalleryObj = false;
var maxGalleryXPos = false;
var slideSpeed = 0;
var imageGalleryCaptions = new Array();

function startSlide(e) {
    if (document.all) e = event;
    var id = this.id;
    this.getElementsByTagName('IMG')[0].src = 'images/' + this.id + '_over.gif';
    if (this.id == 'xarrow_right') {
        slideSpeedMultiply = Math.floor((e.clientX - this.offsetLeft) / 5);
        slideSpeed = -1 * slideSpeedMultiply;
        slideSpeed = Math.max(-10, slideSpeed);
    } else {
        slideSpeedMultiply = 10 - Math.floor((e.clientX - this.offsetLeft) / 5);
        slideSpeed = 1 * slideSpeedMultiply;
        slideSpeed = Math.min(10, slideSpeed);
        if (slideSpeed < 0) slideSpeed = 10;
    }
}

function releaseSlide() {
    var id = this.id;
    this.getElementsByTagName('IMG')[0].src = 'images/' + this.id + '.gif';
    slideSpeed = 0;
}

function gallerySlide() {
    if (slideSpeed != 0) {
        var leftPos = imageGalleryObj.offsetLeft;
        leftPos = leftPos / 1 + slideSpeed;
        if (leftPos > maxGalleryXPos) {
            leftPos = maxGalleryXPos;
            slideSpeed = 0;

        }
        if (leftPos < minGalleryXPos) {
            leftPos = minGalleryXPos;
            slideSpeed = 0;
        }

        imageGalleryObj.style.left = leftPos + 'px';
    }
    setTimeout('gallerySlide()', 20);

}

function showImage() {
    if (activeImage) {
        activeImage.style.filter = 'alpha(opacity=50)';
        activeImage.style.opacity = 0.5;
    }
    this.style.filter = 'alpha(opacity=100)';
    this.style.opacity = 1;
    activeImage = this;
}

function initSlideShow() {
    document.getElementById('xarrow_left').onmousemove = startSlide;
    document.getElementById('xarrow_left').onmouseout = releaseSlide;
    document.getElementById('xarrow_right').onmousemove = startSlide;
    document.getElementById('xarrow_right').onmouseout = releaseSlide;

    imageGalleryObj = document.getElementById('theImages');
    imageGalleryLeftPos = imageGalleryObj.offsetLeft;
    imageGalleryWidth = document.getElementById('galleryContainer').offsetWidth - 15; //adjust the numeric value here to adjust final position of last image
    maxGalleryXPos = imageGalleryObj.offsetLeft;
    minGalleryXPos = imageGalleryWidth - document.getElementById('slideEnd').offsetLeft;
    var slideshowImages = imageGalleryObj.getElementsByTagName('IMG');
    for (var no = 0; no < slideshowImages.length; no++) {
        slideshowImages[no].onmouseover = showImage;
    }

    var divs = imageGalleryObj.getElementsByTagName('DIV');
    for (var no = 0; no < divs.length; no++) {
        if (divs[no].className == 'imageCaption') imageGalleryCaptions[imageGalleryCaptions.length] = divs[no].innerHTML;
    }
    gallerySlide();
}

//function showPreview(imagePath,imageIndex){
//	var subImages = document.getElementById('previewPane').getElementsByTagName('IMG');
//	if(subImages.length==0){
//		var img = document.createElement('IMG');
//		document.getElementById('previewPane').appendChild(img);
//	}else img = subImages[0];
//	
//	if(displayWaitMessage){
//		document.getElementById('waitMessage').style.display='inline';
//	}
//	document.getElementById('largeImageCaption').style.display='none';
//	img.onload = function() { hideWaitMessageAndShowCaption(imageIndex-1); };
//	img.src = imagePath;
//}

//function hideWaitMessageAndShowCaption(imageIndex)
//{
//	document.getElementById('waitMessage').style.display='none';	
//	document.getElementById('largeImageCaption').innerHTML = imageGalleryCaptions[imageIndex];
//	document.getElementById('largeImageCaption').style.display='block';
//}

//window.setTimeout('initSlideShow()', 2500); DVPDS20101110 - moved this into Productdetails.aspx file

//window.onload = initSlideShow;
/* DVPDS20080221 - instead of automatically loading, set a delay of 1000ms as a workaround 
(without this delay, the category dropdown menu does not work in IE 6.  */


function enlargerimage(imagename) {
    document.images.photoslider.src = imagename
    //document.forms(0).photoslider.src=imagename - DVPDS20080221 - replaced forms(0) with images (forms did not work with Firefox)
    for (var i = 0; i <= photos.length - 1; i++) {
        /* imagename is enlarged image name*/
        var prodimage = photos[i]

        if (prodimage[2] == imagename) {
            which = i
            document.getElementById('photoslider').src = prodimage[0]
        }
    }
}

// DVPDS20080303 - added as part of the 'Hide My Favorites' function
function HideFavDropDown() {
    MM_showHideLayers('ctl00$cpholder$ctl00$fgListCtl$ddlFavoriteGroup', '', 'hide')	// hides the My Favorites dropdown
    MM_showHideLayers('ctl00$cpholder$ctl00$uomctl$iuom', '', 'hide')	// hides the UOM dropdown - DVPDS20081001
}

// DVPDS20080303 - added as part of the 'Hide My Favorites' function
function ShowFavDropDown() {
    MM_showHideLayers('ctl00$cpholder$ctl00$fgListCtl$ddlFavoriteGroup', '', 'show')	// shows the My Favorites dropdown
    MM_showHideLayers('ctl00$cpholder$ctl00$uomctl$iuom', '', 'show')	// shows the UOM dropdown - DVPDS20081001
}

// DVPDS20080303 - added as part of the 'Hide My Favorites' function
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;
}

// DVPDS20080303 - added as part of the 'Hide My Favorites' function
function MM_showHideLayers() { //v6.0
    var i, p, v, obj, args = MM_showHideLayers.arguments;
    for (i = 0; i < (args.length - 2); i += 3) if ((obj = MM_findObj(args[i])) != null) {
        v = args[i + 2];
        if (obj.style) { obj = obj.style; v = (v == 'show') ? 'visible' : (v == 'hide') ? 'hidden' : v; }
        obj.visibility = v;
    }
}
