
/*
jQuery(document).ready(function() {
    if(jQuery("#movFlashCore").size()>0){
        jQuery(".gBodyContainer").css("background-image","none");
    }
});
*/

var futureVideoData = [];
var futureTerser = null;

function imgOn(oImg)
{
   var strOn  = "_on"    // image to be used with mouse over
   var strOff = "_off"     // normal image
   var strImg = oImg.src
   if (strImg && strImg.indexOf(strOff) != -1) 
      oImg.src = strImg.replace(strOff,strOn)
}

function imgOff(oImg)
{
	var strOn  = "_on";    // image to be used with mouse over
	var strOff = "_off";     // normal image
	var strImg = oImg.src;
	if (strImg && strImg.indexOf(strOn) != -1)
		oImg.src = strImg.replace(strOn,strOff);
}













function preLoadImages(source)
{
	if (document.images)
    {
      preload_image_object = new Image();
	  preload_image_object.src=source;
    }
}

preLoadImages("/content/dam/infiniti/about/future-vehicles/black.gif");
preLoadImages("/content/dam/infiniti/about/future-vehicles/essence/large/1.jpg");

preLoadImages("/img/about/future-vehicles/btn_calendar_off.gif");
preLoadImages("/img/about/future-vehicles/btn_calendar_on.gif");
preLoadImages("/img/about/future-vehicles/btn_view_video_dark_off.gif");
preLoadImages("/img/about/future-vehicles/btn_view_video_dark_on.gif");

var bScrolling = false;
var bPrev = false;
var bNext = false;
var bPrevNext = false;
var bStickyPrev = false;
var bLoadNext = true;

var leftNext = '-98px';
var leftPrev = '0px';

var msie = navigator.appVersion.split("MSIE");
var ieVersion = parseFloat(msie[1]);
var isIE7 = (!isNaN(ieVersion) && ieVersion==7);
var isIE6 = (!isNaN(ieVersion) && ieVersion==6);

var currentStoryName = '';

var imgIndex = 1;		// 0 = default landing state
var oldImgIndex = 1;	// valid index is 1 thru <numImages>

var numImages = 7;

var storyName = 0;
var storyContent = 1;

var altTags = [
	'',																														// 0
	'Infiniti Essence Concept car photo.',												// 1
	'Infiniti Essence Concept car photo - top view.',							// 2
	'Infiniti Essence Concept car photo - rear view.',						// 3
	'Infiniti Essence Concept car photo - side view.',						// 4
	'Infiniti Essence Concept car photo - driver\'s side view.',	// 5
	'Infiniti Essence Concept car photo - aerial view.',					// 6
	'Infiniti Essence Concept interior car photo.',								// 7
	'Infiniti Essence Concept car photo of dashboard.'						// 8
];
	
function nextStory() {
	if(imgIndex < numImages) {
		imgIndex++;
		showDetailPop(imgIndex);
	}
	refreshPrevNext();
}

function prevStory() {
	if(imgIndex > 1) {
		imgIndex--;
		showDetailPop(imgIndex);
	}
	refreshPrevNext();
}

function prevNext() {
	if(bLoadNext)
		nextStory();
	else
		prevStory();
}

function showBGOverlay(){
	// mask body
	var obj = $('fadeBody');
	if (obj) {
		obj.style.display='inline';
		obj.style.visibility='visible';
	}
}

function hideBGOverlay(){
	obj=$('fadeBody');
	if (obj) {
		obj.style.visibility='hidden';
		obj.style.display='none';
	}
}

function showDetailPop(whichImg){
	if(typeof whichImg == "undefined")
    whichImg = imgIndex;

	// fire event
	crmEvent5(whichImg);
		
	// mask body
	var obj = $('fadeBody');
	if (obj) {
		obj.style.display='inline';
		obj.style.visibility='visible';
	}

	loadImg(whichImg);
	
	// hide all detail image
	hideAll('detail', whichImg);
	
	// create/show new detail image
	var divName = 'detail' + imgIndex;
	if($(divName)) {
		// show div
		$(divName).style.visibility = 'visible';
		$(divName).style.display = 'inline';
		$(divName).style.zIndex = '13';
	} else {
		// create div
		var newTarget = document.createElement("div");
		newTarget.id = divName;
	  newTarget.innerHTML = '<img src="/content/dam/infiniti/about/future-vehicles/essence/detail/' + imgIndex + '.jpg" alt="' + altTags[imgIndex] + '" />';
		$('detailContainer').appendChild(newTarget);
		newTarget.style.display = 'inline';
		newTarget.style.visibility = 'visible';
		newTarget.style.zIndex = '13';
	}
	
	// show popup
	obj=$('detailPopup');
	if (obj) {
		obj.style.visibility='visible';	
		obj.style.display='inline';
	}
	jQuery("#detailPopup").fadeTo(500, 1.0);
	
	refreshPrevNext();
}

function cacheDetailImages() {
	// create new images
	for(var x=2; x<=numImages; x++){
		var divName = 'detail' + x;
		if(!$(divName)) {
			// create div
			var newTarget = document.createElement("div");
			newTarget.id = divName;
		  newTarget.innerHTML = '<img src="/content/dam/infiniti/about/future-vehicles/essence/detail/' + x + '.jpg" alt="' + altTags[x] + '" />';
			newTarget.style.visibility = 'hidden';
			newTarget.style.display = 'none';
			newTarget.style.zIndex = '0';
			$('detailContainer').appendChild(newTarget);
		}

		divName = 'largePic' + x;
		if(!$(divName)) {
			// create div
			var newTarget2 = document.createElement("div");
			newTarget2.id = divName;
		  newTarget2.innerHTML = '<img src="/content/dam/infiniti/about/future-vehicles/essence/large/' + x + '.jpg" alt="' + altTags[x] + '" onclick="showDetailPop(' + x + ')" />';
			newTarget2.style.visibility = 'hidden';
			newTarget2.style.display = 'none';
			newTarget2.style.zIndex = '0';
			$('largePic').appendChild(newTarget2);
		}
	}
}

function hideDetailPop(){
	var obj=$('detailPopup');
	if (obj) {
		obj.style.visibility='hidden';
		obj.style.display='none';
	}
	jQuery("#detailPopup").fadeTo(1, 0.0);


	obj=$('fadeBody');
	if (obj) {
		obj.style.visibility='hidden';
		obj.style.display='none';
	}
}

function hideAll(name, exclude) {
	if(typeof exclude == "undefined")
    exclude = -1;

	var obj;
	for(var x=1; x<=numImages; x++){
		obj = $(name + x);
		if(obj && x!=exclude) {
			obj.style.visibility='hidden';
			obj.style.display='none';
			obj.style.zIndex='0';
		}
	}
}

function clickThumb(whichImg) {
	crmEvent4(whichImg);
	loadImg(whichImg);
}

function loadImg(whichImg){
	var obj;
	hideDhtmlPop();
		
	// update img index
	imgIndex = whichImg;
		
	// unhighlight old thumbnail selection
	obj = $('selected' + oldImgIndex);
	if(obj) {
		obj.style.visibility='hidden';
		obj.style.display = 'none';
	}
	
	// hide all large images
	hideAll('largePic', whichImg);
	

	// hide hover
	obj = $('hover' + imgIndex);
	if(obj) {
		obj.style.visibility='hidden';
		obj.style.display = 'none';
	}
	
	// create/show div
	var divName = 'largePic' + imgIndex;
	if($(divName)) {
		// show div
		$(divName).style.display = 'inline';
		$(divName).style.visibility = 'visible';
		$(divName).style.zIndex = '1';
	} else {
		// create div
		var newTarget = document.createElement("div");
		newTarget.id = divName;
	  newTarget.innerHTML = '<img src="/content/dam/infiniti/about/future-vehicles/essence/large/' + imgIndex + '.jpg" alt="' + altTags[imgIndex] + '" onclick="showDetailPop(' + imgIndex + ')" />';
		$('largePic').appendChild(newTarget);
		newTarget.style.display = 'inline';
		newTarget.style.visibility = 'visible';
		newTarget.style.zIndex = '1';
	}
	oldImgIndex = imgIndex;
	
	// highlight selected
	obj = $('selected' + imgIndex);
	if(obj) {
		obj.style.visibility='visible';
		obj.style.display='inline';
	}
}

function thumbMouseOver(whichImg) {
	var obj = $('hover' + whichImg);
	if(obj) {
		obj.style.display='inline';
		obj.style.visibility='visible';
	}
}

function thumbMouseOut(whichImg) {
	var obj = $('hover' + whichImg);
	if(obj) {
		obj.style.display='none';
		obj.style.visibility='hidden';
	}
}

function imgOnPrev() {
	imgOn($('btnPrevNext'));
	imgOn($('btnPrev'));
}

function imgOffPrev() {
	imgOff($('btnPrevNext'));
	imgOff($('btnPrev'));
}

function imgOnPrevNext() {
	imgOn($('btnPrevNext'));
	if(bLoadNext)
		imgOn($('btnNext'));
	else
		imgOn($('btnPrev'));
}

function imgOffPrevNext() {
	imgOff($('btnPrevNext'));
	imgOff($('btnNext'));
}

function imgOnNext() {
	imgOn($('btnPrevNext'));
	imgOn($('btnNext'));
}

function imgOffNext() {
	imgOff($('btnPrevNext'));
	imgOff($('btnNext'));
}

function mouseOverPrev() {
	imgOn($('btnPrevNext'));
	imgOn($('btnPrev'));
	if(imgIndex > 1) {
		scrollPrev();
		bPrev = true;
		bNext = false;
	}
}

function clearPrev() {
	bPrev = false;
}

function mouseOutPrev() {
	imgOff($('btnPrev'));
	imgOff($('btnPrevNext'));
	setTimeout(clearPrev,10);	// delay so that mouseOverPrevNext can be called before this flag is cleared
	setTimeout(resetScroll,20);
	setTimeout(clearPrevNext,30);	// delay so that mouseOverPrevNext can be called before this flag is cleared
}

function mouseOverPrevNext() {
	if(imgIndex <= numImages) {
		imgOn($('btnPrevNext'));

		if(bLoadNext)
			imgOn($('btnNext'));
		else
			imgOff($('btnNext'));
			
		bPrevNext = true;
		bStickyPrev = bPrev;
		scrollNext();
	}
}

function clearPrevNext() {
	bPrevNext = false;
}

function clearStickyPrev() {
	bStickyPrev = false;
}

function mouseOutPrevNext() {
	imgOff($('btnPrev'));
	imgOff($('btnPrevNext'));
	imgOff($('btnNext'));
	setTimeout(clearPrevNext,10);
	setTimeout(clearStickyPrev,10);
	setTimeout(scrollNext,20);
}

function mouseOverNext() {
	if(imgIndex < numImages) {
		imgOn($('btnPrevNext'));
		imgOn($('btnNext'));
		bNext = true;
		bPrev = false;
		scrollNext();
	}
}

function mouseOutNext() {
	imgOff($('btnPrev'));
	imgOff($('btnPrevNext'));
	imgOff($('btnNext'));
	scrollNext();
}

function showDisclaimer(whichDisclaimer) {
	showFlashDisclaimer('disclaimer-' + imgArray[imgIndex][storyName] + '-' + whichDisclaimer, $('pca'), 600, 220);
}

function showFlashDisclaimer( obj, anchor, x, y){
	if(typeof onopen == 'function') { onopen(anchor,obj) }

	hideDhtmlPop()

	obj=document.getElementById(obj)
	if (obj==null) return;
	obj.style.visibility='hidden'
	obj.style.display='inline'

	_currentDhtmlPop=obj

	obj.style.left = (x) + 'px';
	obj.style.top  = (y) + 'px';
	obj.style.visibility='visible'

	if(typeof cleanupPop == 'function'){cleanupPop()}
}

function clearScrollFlag() {
  bScrolling = false;
}

function refreshPrevNext() {
	// show/hide prev
	var prev = $('arrowPrev');
	if(imgIndex > 1) {
		if(prev) {
			prev.style.visibility='visible';
			prev.style.display='inline';
		}
	} else {
		if(prev) {
			prev.style.visibility='hidden';
			prev.style.display='none';
			scrollNext();
		}
	}
	
	// show prevNext button
	var prevNext = $('scrollBlock');
	if(prevNext) {
		prevNext.style.visibility='visible';
		prevNext.style.display='inline';
	}
	
	// show/hide next
	var next = $('arrowNext');
	if(next) {
		if(imgIndex < numImages) {
			next.style.visibility='visible';
			next.style.display='inline';
		} else {
			next.style.visibility='hidden';
			next.style.display='none';
			scrollPrev();
		}
	}
}

function scrollPrev() {
	if(bScrolling)
		return;

	bLoadNext = false;
	bScrolling = true;  
	jQuery("#prevNext").animate({left: leftPrev}, 150, "swing", clearScrollFlag() );
};

function scrollNext() {
	if(imgIndex >= numImages || (imgIndex > 1 && bPrev))
		return;
	
	if(imgIndex > 1 && (bScrolling || bStickyPrev))
		return;

	bLoadNext = true;
	bScrolling = true;  
	jQuery("#prevNext").animate({left: leftNext}, 150, "swing", clearScrollFlag() );
};

function resetScroll() {
	if(!bPrev && !bPrevNext)
		scrollNext();
}

function unhideWithPNG() {
	jQuery("#fadeBody").fadeTo(1, 0.8);
	jQuery("#detailPopup").fadeTo(1, 0.0);
		
	var allDivs = document.getElementsByTagName("div");
	var len = allDivs.length;
	for(var x=0; x<len; x++){
		var singleDiv = allDivs[x];
		if(singleDiv.className.indexOf('hideWithPNG') > -1)
			singleDiv.style.visibility="visible";
	}
}

//New stuff
function loadFutureVideo(videoDataIndex) {
	var index = null;
	
	if(typeof(videoDataIndex) === 'number') {
		index = videoDataIndex;
	} else {
		for(var i = 0;i < futureVideoData.length; i++) {
			if(futureVideoData[i].videoData && futureVideoData[i].videoData.flvSrc === videoDataIndex) {
				index = i;
				break;
			}
		}
	}
	
	futureTerser = new Terser({
        name: "futureTerser",
        shell: "/apps/nna/docroot/swf/videoPlayer_CMS.swf",
        element: "#video-swf",
        id:  "video"+(jQuery.flash ? "" : "_swf"),
        height: 361,
        width: 712,
        params: {
            wmode: "transparent"
        },
        edit: cqEditAny
    });
	futureTerser.queue();
	futureTerser.extend(futureVideoData[index]);
	
	showBGOverlay();
	showDhtmlPop('video-popup','event',this,'centerinwindow',popupVideo);
}

function closeFutureVideo() {
	hideBGOverlay();
}

jQuery(document).ready(function(){
	jQuery("#fadeBody").fadeTo(1, 0.8);
	jQuery("#detailPopup").fadeTo(1, 0.0);
	
	jQuery('#video-popup .gClose').click(function(e) { 
		closeFutureVideo();
	});
	
	jQuery('.future-button').each(function(i, button) {
		if(futureVideoData[i].videoData != null) {
			jQuery(button).click(function(e) {
				loadFutureVideo(i);
				
				return false;
			});
		}
	});
});

