// Script to implement the functionality of the Overlay Slide Show starts here. -->
// Uses the jQuery.DOMwindow.js -->

// Define
var slideShowPagingCount = 0;
var image = { // default
    plHeadline: '',
    plAbstract: '',
    imgSrc: '',
    altText: '',
    title: '',
    description: '',
    copyright: '',
    photoCredit: '',
    width: 600
};
var listImages = new Array();
var plHeadline = '';
var plAbstract = '';
var imgIndx = 0;
var imgCount = 0;
var alertTimerId = 0;
var launchPlayListId = 0;
var savedImgIndx = -1;
var savedPlayListClass = '';
var emailToFriendStr = '';
var prevBtn2Toggle = null;
var showCurrentDialog = true;
var delayInMilliSec = 3000;
var slideShowName = '';
var imageNum = -1;

function objImage(plHeadline, plAbstract, title, imgSrc, altText, description, copyright, photoCredit, width) {
    this.plHeadline = plHeadline;
    this.plAbstract = plAbstract;
    this.imgSrc = imgSrc;
    this.title = title;
    this.altText = altText;
    this.description = description;
    this.copyright = copyright;
    this.photoCredit = photoCredit;
    this.width = width;
};

function captureOmniturePageViewEvent(AdReloadText) {
    if (this.s) {
        s.pageName = "Slide Show Slide View"+AdReloadText;
        s.events = "event12";
        void (s.t());
    };

};

function setImg(imgIndx) {
    $('#DOMImage').html('<img alt="' + listImages[imgIndx].altText + '" title="' + listImages[imgIndx].altText + '" width=' + listImages[imgIndx].width + ' src="' + listImages[imgIndx].imgSrc + '"/>');
    $('#plHeadline').html(listImages[imgIndx].plHeadline);
    $('#plAbstract').html(listImages[imgIndx].plAbstract);
    if (listImages[imgIndx].photoCredit !== '')
        $('#imgPhotoCredit').html('Credit: ' + listImages[imgIndx].photoCredit);
    else $('#imgPhotoCredit').html('');
    $('#imgCopyright').html(listImages[imgIndx].copyright);
    $('#imgTitle').html(listImages[imgIndx].title);
    $('#imgDescription').html(listImages[imgIndx].description);
    $('#imageCounter').html((imgIndx + 1) + ' of ' + imgCount);
    $('#DOMWindow').css("height", $('#DOMWindow').innerHeight);
	var AdReloadText = '';
    setImgProperties();
	captureOmniturePageViewEvent(AdReloadText);
    
};

function setImgProperties() {
    var minImgHeight = 250;
    var img = $("#DOMImage img");
    var imgCurrHeight = img.height();
    var imgCurrWidth = img.width();
    var ssFrame = $("#ssContent .ssFrame");
    var ssFrameHeight = ssFrame.height();
    var ssFrameOffset = ssFrame.offset().top - $(window).scrollTop();
    var windowHeight = $(window).height();
    var DOMImageHeight = $("#DOMImage").height();
    if (!((ssFrameHeight + ssFrameOffset) <= windowHeight) && DOMImageHeight > 250) {
        var newImgHeight = DOMImageHeight - ((ssFrameHeight + ssFrameOffset) - windowHeight);
        if (!(DOMImageHeight <= newImgHeight)) {
            if (newImgHeight < 250) {
                newImgHeight = 250;
            }
            img.attr("width", Math.round(newImgHeight * imgCurrWidth / imgCurrHeight));
            img.attr("height", Math.round(newImgHeight));
        }
    }
};

function handleButtons(buttonStr) {
    var isSetImg = false;
    togglePreviousBtn(buttonStr);

    if (alertTimerId != 0) {
        clearInterval(alertTimerId);
        alertTimerId = 0;
    }
    if (buttonStr == 'p' && imgIndx > 0) {
        imgIndx--;
        isSetImg = true;
        $('#next').attr('class', 'next');
    }
    if (buttonStr == 'n' && imgIndx < imgCount - 1) {
        imgIndx++; isSetImg = true;
        $('#prev').attr('class', 'prev');
    }
    if (imgIndx == imgCount - 1) $('#next').attr('class', 'next_disabled');
    if (imgIndx == 0) $('#prev').attr('class', 'prev_disabled');
    if (buttonStr == 'f') { imgIndx = 0; isSetImg = true; };
    if (buttonStr == 'l') { imgIndx = imgCount - 1; isSetImg = true; };
    if (isSetImg === true) {
        setImg(imgIndx);
    }
};

function togglePrevNext() {
    if (imgIndx == imgCount - 1) {
        $('#next').attr('class', 'next_disabled');
        $('#prev').attr('class', 'prev');
    } else if (imgIndx == 0) {
        $('#prev').attr('class', 'prev_disabled');
        $('#next').attr('class', 'next');
    } else {
        $('#prev').attr('class', 'prev');
        $('#next').attr('class', 'next');
    }
};

function toggle(elemBtn, save2PrevBtn) {
    if ($(elemBtn).attr('class') === elemBtn.id + '_normal') {
        $(elemBtn).attr('class', elemBtn.id + '_pressed');
    } else if ($(elemBtn).attr('class') === elemBtn.id + '_pressed') {
        $(elemBtn).attr('class', elemBtn.id + '_normal');
    };
    if (save2PrevBtn === true) {
        prevBtn2Toggle = elemBtn;
    } else prevBtn2Toggle = null;
};

function togglePreviousBtn(currentBtn) {
    if (prevBtn2Toggle !== null) {
        if (prevBtn2Toggle.id === currentBtn.id) {
            showCurrentDialog = false;
        } else toggle(prevBtn2Toggle, false);

        if (savedPlayListClass !== null && savedPlayListClass !== "") {
            $('#' + savedPlayListClass).css("display", "none");
            savedPlayListClass = '';
        };
        prevBtn2Toggle = null;
    };
};

function autoPlaySlideShow() {
    
	imgIndx++;		
	if (imgIndx <= imgCount-1) 
	{
		setImg(imgIndx);
		togglePrevNext();
	}
	else
	{
		toggle(document.getElementById('ssAutoPlay'), false);
		clearInterval(alertTimerId);
        alertTimerId = 0;
		imgIndx = 0;
		setImg(imgIndx);
		togglePrevNext();
	}
};

function slideshowPlay(btnShow) {
    togglePreviousBtn(btnShow);

    if ($(btnShow).attr('class') === btnShow.id + '_normal') {
        alertTimerId = setInterval("autoPlaySlideShow()", delayInMilliSec);

    } else {
        clearInterval(alertTimerId);

        togglePrevNext();
    }
    toggle(btnShow, true);
};

function getPlayList(playListClass) {
    imgCount = 0;
    var imgC = imgCount + 1;
	$('.' + playListClass).each(function() {
			if (this.id == playListClass + '_image_' + imgC) {

				image.plHeadline = '';
				image.plAbstract = '';
				image.imgSrc = '';
				image.altText = '';
				image.title = '';
				image.description = '';
				image.copyright = '';
				image.photoCredit = '';
				image.width = 600;
				var $kids = $(this).children();
				$kids.each(function() {
					if (this.id == playListClass + '_title_' + imgC)
						image.title = this.innerHTML;
					if (this.id == playListClass + '_alttext_' + imgC)
						image.altText = this.innerHTML;
					if (this.id == playListClass + '_source_' + imgC)
						image.imgSrc = this.href;
					if (this.id == playListClass + '_description_' + imgC)
						image.description = this.innerHTML;
					if (this.id == playListClass + '_photoCredit_' + imgC)
						image.photoCredit = this.innerHTML;
					if (this.id == playListClass + '_copyright_' + imgC)
						image.copyright = this.innerHTML;
					if (this.id == playListClass + '_thumbnail_' + imgC)
						image.thumbnail = this.innerHTML;
					if (this.id == playListClass + '_width_' + imgC) {
						var str1 = this.innerHTML;
						var imgWidth = 600;
						if (parseInt(str1, 10) !== NaN) {
							imgWidth = parseInt(str1, 10);
						}
						if (imgWidth > 600)
							imgWidth = 600;
						image.width = imgWidth;
					}
				});
				image.plHeadline = plHeadline;
				image.plAbstract = plAbstract;
				listImages[imgCount] = new objImage(image.plHeadline, image.plAbstract, image.title, image.imgSrc,
														image.altText, image.description, image.copyright, image.photoCredit, image.width);
				imgCount++;
				imgC = imgCount + 1;
			};
			if (this.id == playListClass + '_headline') {
				plHeadline = this.innerHTML;
			};
			if (this.id == playListClass + '_abstract') {
				plAbstract = this.innerHTML;
			};
		});
	
};
function launchPlayList(playListClass, Img2Show, typeOfPlayList, AutoRotate, Frequency, View) {
	if(launchPlayListId != 0)
	{
		clearInterval(launchPlayListId);
		launchPlayListId = 0;
	}
	var defWidth = 945;
    if (typeOfPlayList.toLowerCase() === 'image') {
        slideShowName = playListClass;
        if (savedPlayListClass !== null)
            savedPlayListClass = "";

        var wid = document.documentElement.clientWidth || document.body.clientWidth;
        var domLeftPos = Math.round((wid - defWidth) / 2);
        if (domLeftPos < 0) domLeftPos = 0;

        $.openDOMWindow({
            loader: 1,
            loaderImagePath: '/static/images/animationProcessing.gif',
            loaderHeight: 16,
            loaderWidth: 17,
            positionType: 'absolute',
            positionLeft: domLeftPos,
            positionTop: 30,
            overlayOpacity: 70,
            width: defWidth,
            windowSourceID: '#overlaySlideShow'
        });
        
        getPlayList(playListClass);

        Img2Show--;
        imgIndx = Img2Show;
        setImg(Img2Show);

        if (Img2Show == imgCount - 1) {
            $('#next').attr('class', 'next_disabled');
        } else if (Img2Show == 0) {
            $('#prev').attr('class', 'prev_disabled');
        }

        if (parseInt(Frequency, 10) !== NaN && !(isNaN(parseInt(Frequency, 10)))) {
            delayInMilliSec = parseInt(Frequency, 10) * 1000;
        } else {
            delayInMilliSec = 5000; // default frequency
        }
        if (AutoRotate.toLowerCase() === 'yes') {
            $('ssAutoPlay').attr('class', 'ssAutoPlay_normal');
            slideshowPlay(document.getElementById('ssAutoPlay'));
        };
    };
};


function endSlideShow() {
    $('#eMailAFriend').css("display", "none");
    $('#getLink').css("display", "none");
    $('#saveShare').css("display", "none");
    if (alertTimerId != 0) {
        clearInterval(alertTimerId);
        alertTimerId = 0;
        toggle(document.getElementById('ssAutoPlay'), false);
    }
    $.closeDOMWindow();
};

function otherDialog(elemBtn, dialog2Show) {
    showCurrentDialog = true;

    if (alertTimerId != 0) {
        clearInterval(alertTimerId);
        alertTimerId = 0;
    }
    togglePrevNext();
    togglePreviousBtn(elemBtn);
    toggle(elemBtn, showCurrentDialog);
    if (dialog2Show == 'eMailAFriend') {

    var urlStrr = unescape(window.location);
    if(urlStrr.indexOf('industry-news-email') == -1)
    {
      urlStrr= urlStrr.replace('industry-news','industry-news-email');
    }       

        window.open(urlStrr);
    };
    if (dialog2Show === 'getLink')
        getUrl();
    if (showCurrentDialog == true) {
        $('#' + dialog2Show).css("display", "");
        savedPlayListClass = dialog2Show;
    };

};

function getUrl() {
    var locStr = buildSaveShareURI();
    $('#linkURL').html('<input id="ssGetLinkModalURL" type="text" value="' +
                 locStr + '" name="ssURL" />');
};

$(document).ready(function() {

    var vars = [], hash;
    var urlStr = unescape(window.location.href.replace('#', ''));
    var hashes = urlStr.slice(urlStr.indexOf('?') + 1).split('&');
    var emailStr = '';
    var urlStr = unescape(window.location);
    if(urlStr.indexOf('industry-news-email') == -1)
    {
      urlStr= urlStr.replace('industry-news','industry-news-email');
    }       
 
    if (emailStr == '') emailStr = "<a href=\""+urlStr+"\" onclick=\"window.location='"+urlStr+"';return false;\"/>";
+"<img src=\"/static/images/thisArticleEmail.gif\" width=\"17\" height=\"14\"/></a>";


    emailStr = emailStr.replace(' ', '');
    var i1 = emailStr.indexOf("onclick");
    emailStr = emailStr.substr(i1, emailStr.length - i1);
    var i1 = emailStr.indexOf("emailtofriend");
    var i2 = emailStr.indexOf("+escape") - 1;
    emailToFriendStr = emailStr.substring(i1, i2);
	
    //eliminate the # from the URL
    for (var i = 0; i < hashes.length; i++) {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }

    var str1 = '';
    slideShowName = '';
    imageNum = -1;
    for (var i = 0; i < vars.length; i++) {
        if (vars[i].toLowerCase() === 'playlist') slideShowName = vars[vars[i]];
        if (vars[i].toLowerCase() === 'plitem')
            if ((parseInt(vars[vars[i]], 10) !== 0) || (parseInt(vars[vars[i]], 10) !== NaN))
            imageNum = parseInt(vars[vars[i]], 10);
    };
    if (slideShowName !== '') {
        if (imageNum === -1) imageNum = 1;
			//launchPlayList(slideShowName, imageNum, 'image', '', '', '');
			launchPlayListId = setInterval("launchPlayList('"+slideShowName+"', "+imageNum+", 'image', '', '', '')", 5000);
    }
});

//	copy to clipboard works for IE only.
function ssCopyToClipboard() {
    holdtext.innerText = ssGetLinkModalURL.value;
    var Copied = holdtext.createTextRange();
    Copied.execCommand("Copy");
};
function getURLQueryParameters() {
	try {
		var queryStr = window.location.search;
		var nameValStr = queryStr.substr(1);
		var nameValArr = nameValStr.split('&');
		var nameValDict = {};
		var i;
		for (i = 0, j = nameValArr.length; i < j; i++) {
			var nameValPair = nameValArr[i].split('=');
			if (nameValPair.length == 2) {
				nameValDict[nameValPair[0]] = nameValPair[1];
			}
		}
		return nameValDict;
	} catch (err) {
		return {};
	}
}


function getURLQueryParameter(param) {
	if (!getURLQueryParameters()[param]) {
		return "";
	}
	return getURLQueryParameters()[param];
}

function buildSaveShareURI() {
    var locStr = window.location.protocol + "//" + window.location.host + window.location.pathname +
            "?playList=" + slideShowName + "&plItem=" + (imgIndx + 1);
    for (var name in getURLQueryParameters()) {
        if (name.toLowerCase() != "playlist" && name.toLowerCase() != "plitem") {
            locStr += "&" + name + "=" + getURLQueryParameter(name);
        }
    }
    return locStr;
}


// Script to implement the functionality of the Overlay Slide Show ends here.


