var lookBookPointer = null;
document.observe('dom:loaded', function(){
	lookBookPointer = new lookBook(eval(lookBookJSON)[0]);
	lookBookPointer.startLookBook();
});
										

function getFirstLook(){
	var lookId = 0;
	var LOOKBOOK_QUERY_KEY = "lookId"
	var query = window.location.search.substring(1);
	var vars = query.split("&");
	for (var i=0;i<vars.length;i++) {
		var pair = vars[i].split("=");
		if (pair[0] == LOOKBOOK_QUERY_KEY) {
			lookId = pair[1];
		}
	}
	return lookId;
}

function Look(idd,videoUrll){
	this.id = idd;
	this.video = videoUrll;
}
//----------------------

function lookBook(data){
	var that = this;
	this.looksContainer = data.looks;
	this.maximum = data.looks.length-1;
	this.current = getFirstLook();

	this.startLookBook = function(){
		//if(that.current == -1){
			//that.current = 0;
		//} else {
			that.loadLookById(that.current);
		//}
	}

	this.loadLookById = function(num,linkedElement){
		that.clearNavSelection();
		if(num >= 0 && num <= that.maximum){
			$('lookHolder').innerHTML = '<div id="loadingSign"><img id="loadImage" src="'+loadImgPath+'" alt="" />&nbsp;Loading ...</div>';
			that.current = num;
			if($(that.looksContainer[that.current].contentAssetId)){
				$(that.looksContainer[that.current].contentAssetId).className = "selected";
			}
			var url = $('loadLookURL').value+'?cid='+that.looksContainer[that.current].contentAssetId;
			new Ajax.Updater({success:'lookHolder',failure:'lookHolder'}, url, {evalScripts: true});
		} else {
			$('lookHolder').innerHTML = '<div id="loadingSign">This look does not exist.</div>';
		}
	}
	this.loadNext = function(){
		if(that.current == that.maximum){
			that.current = 1;
		} else {
			that.current++;
		}
		that.loadLookById(that.current);
	}
	this.loadPrev = function(){
		if(that.current == 1 || that.current == 0){
			that.current = that.maximum;
		} else {
			that.current--;
		}
		that.loadLookById(that.current);
	}
	this.loadVideo = function(videoDivId,videoPlayer,videoName,noFlashDivId,width,height) {
		var so = new SWFObject(videoPlayer, "video_player", width, height, "8", "#FFFFFF");
		so.addParam("menu", "false");
		so.addParam("scale", "noscale");
		so.addParam("quality", "high");
		so.addParam("wmode","transparent");
		so.addVariable("videoPath", videoName);
		so.write(videoDivId);
		if(document.getElementById(videoDivId).innerHTML=="") {
			document.getElementById(videoDivId).style.display="none";
			document.getElementById(noFlashDivId).style.display="block";
		}
	}
	this.clearNavSelection = function(){
		var navLinks = $('thumbNails').getElementsByTagName('a');
		for(var i=0;i<navLinks.length;i++){
			navLinks[i].className = "";
		}
		var x = 0;
	}
}

var picker = null;
var miniCart = null;
var qvOpen = false;
minicartConstants.easyViewerAddToBag = false;

function getProductContent(productID,epTag){
	if(qvOpen)
		cleanqv();
	var url = quickviewlink+'?pid='+productID;
	var result  ='';
	$('productContentHolder').style.display     = "none";
	$('ajax_loadingHolder').style.display = "block";
	if(productID == -1){
		showComingSoonMsg();
		return;
	}
	var request = new Ajax.Updater('productContent', url, {
		method:'get',evalScripts:false,
		onSuccess: function(transport){
			if(transport.responseText.indexOf('<input type="hidden" value="errorPage"/>') != -1){setTimeout("showSoldOutMsg()",1000);} 
			if(transport.responseText.indexOf('We are sorry!') != -1){setTimeout("showSoldOutMsg()",1000);}
			else{setTimeout("initSkuPicker("+productID+","+epTag+")",1000);}
	  	},
	  	onFailure: function(){$('lookHolder').innerHTML += '<div style="padding:100px;font-size:14px;">Asynchronous Request Processing Failure.</div>';}
	});
}
function closeQuickview() {
	cleanqv();
}

function cleanqv() {
	$('productContent').innerHTML = ""; $('productContentHolder').style.display = "none";			
	miniCart = null; picker = null; qvOpen = false;
}
function initSkuPicker(productID,epTagId){
	try{
		picker = new skuPicker(eval($('lookupTable').value)[0],'','quickView',eval($('imagesLookupTable').value)[0], true);
		picker.init();
		miniCart.initialize();
	} catch(e) {
		if($('productContent'))
			$('productContent').innerHTML += '<div style="padding:10px;font-size:16px;color:red;">This product is sold out!</div>';
	}
	qvOpen = true;
	var closeDiv = $('quickViewClose');
	var closeAnchor = closeDiv.getElementsByTagName('a');
	var closeImg = closeDiv.getElementsByTagName('img');
	if(closeAnchor[0]){
		closeAnchor[0].href = "javascript:closeQuickview();";
		if(closeImg[0]){
			closeImg[0].src = btn_close;
		}
	}
	$('ajax_loadingHolder').style.display = "none";
	$('productContentHolder').style.display = "block";
	var name = "";
	if($('quickViewHeader')){
		name = $('quickViewHeader').innerHTML+" ("+productID+")";
	} else { name = productID; }
	omnQVProductReport(name.replace(",",""),epTagId);
}
function showSoldOutMsg(){
	$('productContent').innerHTML = '<table style="width:100%;"><tr><td>&nbsp;</td><td align="right"><span id="quickViewClose"><a href="javascript:closeQuickview();" class="evQuickViewCloseHandle"><img alt="Close" src="'+btn_close+'"/></a></span></td></tr><tr><td><span style="float:left;padding:0 0 25px 20px;font-size:14pt;">So Hot, It&#39;s Sold Out</span></td><td>&nbsp;</td></tr></table>';
	$('ajax_loadingHolder').style.display = "none";
	$('productContentHolder').style.display = "block";
}
function showComingSoonMsg(){
	$('productContent').innerHTML = '<table style="width:100%;"><tr><td>&nbsp;</td><td align="right"><span id="quickViewClose"><a href="javascript:closeQuickview();" class="evQuickViewCloseHandle"><img alt="Close" src="'+btn_close+'"/></a></span></td></tr><tr><td><span style="float:left;padding:0 0 25px 20px;font-size:14pt;">Coming Soon!</span></td><td>&nbsp;</td></tr></table>';
	$('ajax_loadingHolder').style.display = "none";
	$('productContentHolder').style.display = "block";
}
function omnLookReport(lookName){
	s.pageName="Static: "+lookName;
	s.server="";
	s.channel="";
	s.pageType="";
	s.prop1="";
	s.prop2="";
	s.prop3="";
	s.prop4="";
	s.prop5="";
	/* Conversion Variables */
	s.campaign="";
	s.state="";
	s.zip="";
	s.events="";
	s.event="";
	s.products="";
	s.purchaseID="";
	s.eVar1="";
	s.eVar2="";
	s.eVar3="";
	s.eVar4="";
	s.eVar5="";
	s.eVar6="";
	s.eVar7="";
	s.eVar8="";
	s.eVar9="";
	s.eVar6="";
	void(s.t());
}
function omnQVProductReport(name,epTagId){
	name = name.replace(",","");
	s.pageName="Product Detail: "+name;
	s.server="";
	s.channel="";
	s.pageType="";
	s.prop1="Product Detail";
	s.prop2="";
	s.prop3="";
	s.prop4="";
	s.prop5="";
	/* Conversion Variables */
	s.campaign=ep_tag_prefix+epTagId;
	s.state="";
	s.zip="";
	s.events="prodView,event1";
	s.products=";"+name;
	s.purchaseID="";
	s.eVar1="";
	s.eVar2="";
	s.eVar3="";
	s.eVar4="";
	s.eVar5="";
	s.eVar6="";
	s.eVar7="";
	s.eVar8="";
	s.eVar9="";
	s.eVar6="";
	void(s.t());
}
