/* SWFADRESS HANDLING
 * 
 */
SWFAddress.addEventListener(SWFAddressEvent.CHANGE, handleChange);
function handleChange(event){
}


$(window).resize(function() {
});


/* SITE LOAD
 * 
 */
$(document).ready(function () {
	// Cufon.now();
	//$.ajaxSetup ({ cache: false}); //, dataType:"xml"
	
	if ($.browser.msie) {
		setTimeout("pageInit();", 100);
	}else{
		pageInit();
	}
});



function pageInit(){
	embedFlashFiles();
	embedFLVPlayers();
	initNewsLetter();
	
	switch(currentPage){
		case "home":
			
			//if(devLoggedIn){
				var params = new Object();
				params.wmode = "transparent";
				params.scale = "noborder";
				
				var flashvars = {};
				var attributes = {
				  id: "nox-swf-background",
				  name: "nox-swf-background"
				};
	
				//if(devLoggedIn){
					//alert(swfobject);
				//}
				
				swfobject.embedSWF(workspace+"/uploads/pages/swf/home_background.swf", "flash-background", "100%", "100%", "9.0.0", workspace+"/swf/expressInstall.swf", flashvars, params, attributes);
			//}
			
			break;
		case "news":
			initNews();
			break;
		case "collection":
			break;
		case "storelocator":
			initStoreLocator();
			break;
		case "press":
			if(devLoggedIn){
				initNews();
				break;
			}
		case "about":
		case "profile":
		case "headoffice":
		case "press":
		case "careers":
		case "member-spotlight":
		case "terms-and-conditions":
		case "contact":
			initAbout();
			break;
		case "retail-only":
			initRetail();
			break;
		case "webshop":
			break;
		default:
			break;
	}
	
	//if(devLoggedIn){
		$('#background').npFullBgImg(workspace+"/uploads/pages/backgrounds/"+rootPage+"_background.jpg", {fadeInSpeed: 2000, center: true});
	//}
}



/* EFFECTS
 * 
 */
function fadeImageIn(img){
	if($.browser.msie && jQuery.browser.version == "7.0"){
		$(img).css({display:"block", visibility:"visible"});
	}else{
		$(img).css({display:"none", visibility:"visible"}).fadeIn(1000);
	}
}



/* NEWSLETTER
 * 
 */
function initNewsLetter(){
	$("#nox-newsletter-response").css({display:"none"});
	$("#nox-newsletter-send").click(sendNewsLetter)
}

function sendNewsLetter(ev){
	var postURL = workspace + "/email.php";
	var registrationInputs = $("#nox-newsletter").find(":input");
	var inputField, inputID, inputValue, inputIsValid;
	var sendForm = true;
	
	var postData = new Object();
	postData.subject = "NO EXCESS NEWSLETTER REQUEST";
	postData.message = "Newsletter request from:<br/><br/>";
	postData.returnSubject = "NO EXCESS NEWSLETTER";
	postData.returnMessage = "THANK YOU FOR YOUR REQUEST!<br/>YOU WILL RECIEVE OUR NEWSLETTER AS SOON AS POSSIBLE.<br/><br/><br/>New Yorkstraat 70 // 1175 RD Lijnden NL // ph +31 20 658 76 76 // <a style=color:#FFFFFF href=mailto:info@no-excess.com>info@no-excess.com</a> // <a style=color:#FFFFFF href=http://www.no-excess.nl>no-excess.com</a>";
	
	for(var a=0; a<registrationInputs.length; ++a){
		inputField = $(registrationInputs[a]);
		inputID = inputField.attr("id");
		inputValue = inputField.val();
		
		switch(inputID){
			case "email":
				inputIsValid = isMail(inputValue);
				postData.email = inputValue;
				break;
			default:
				inputIsValid = (inputValue!="");
				break;
		}
		
		if(!inputIsValid){
			sendForm = false;
			inputField.removeClass("succes");
			inputField.addClass("error");
		}else{
			inputField.removeClass("error");
			inputField.addClass("succes");
			postData.message += inputID+" = "+inputValue+"<br/>";
		}
	}
	
	if(sendForm){
		$.post(postURL, postData, onNewsLetterSend);
	}
	
	ev.preventDefault();
}

function onNewsLetterSend(data){
	 $("#nox-newsletter").find(":input").removeClass("error").addClass("succes").val("");
	 $("#nox-newsletter-response").css({display:"none"}).fadeIn(2000);
}


/* NEWS
 * 
 */
function initNews(){
	//initNewsArchiveOverview();
	initHeadlineNewsItems();
	//initSimpleNewsItems();
	initDetailnewsItem();
	
	var swfAdress = SWFAddress.getValue()
	var swfAdressSplit = swfAdress.split("/");	
	if(swfAdressSplit[1]!=""){
		loadHeadlineNewsItem(root+"/news-detail/"+swfAdressSplit[1]+"/");
	}else{
		initNewsScroller();
	}
}


// News archive
function initNewsArchiveOverview(){
	$.get(root+"/news-archive-overview", {}, onNewsArchiveRecieve);
}

function onNewsArchiveRecieve(data){
	var archiveList = $("#news-archive-list"), archiveListClone;
	var years = $(data).find("archive"), yearNode, yearNumber, yearMonths, monthIndex, monthTag;

	for(var a=0; a<years.length; ++a){
		yearNode = $(years[a]);
		yearNumber = yearNode.find("year").text();
		archiveListClone = archiveList.clone();
		archiveListClone.css({display:"block"});
		archiveListClone.attr({id:""});
		archiveListClone.find(".news-archive-year").text(yearNumber);
		
		$("#news-archive").append(archiveListClone);
		$("#news-archive").append("<br/><br/><br/><br/>");
		
		yearMonths = yearNode.find("month");
		for(var b=0; b<yearMonths.length; ++b){
			monthIndex = Number($(yearMonths[b]).find("index").text());
			monthTag = $(archiveListClone.find(".news-archive-months div")[monthIndex - 1]);
			monthTag.wrap("<a href='"+root+"/news-archive-list/"+yearNumber+"/"+monthIndex+"' class='news-archive-active-month'></a>");
			monthTag.click(onArchiveMonthClick)
		}
	}
}

function onArchiveMonthClick(ev){
	$("#archive-scroller").parent().parent().remove();
	var xmlLink = $(ev.target).parent().attr("href");
	$(".news-archive-item h2").load(xmlLink, onArchiveMonthListLoad);
	ev.preventDefault();
}

function onArchiveMonthListLoad(){
	initNewsScroller();
}


// Headline news items
function initHeadlineNewsItems(){
	/*var headlineNewsItems = $(".news-headline");
	var newsItem;
	for (var a = 0; a < headlineNewsItems.length; ++a) {
		newsItem = $(headlineNewsItems[a]);
		newsItem.click(onHeadlineNewsItemClick);
	}*/
}

function onHeadlineNewsItemClick(ev){
	var xmlLink = $(ev.currentTarget).attr("href");
	loadHeadlineNewsItem(xmlLink);
	
	var swfAdressHandle = $(ev.currentTarget).find(".swfadress-handle").text();
	SWFAddress.setValue(swfAdressHandle);
	
	ev.preventDefault();
}

function loadHeadlineNewsItem(xmlLink){
	$("#news-detail").html("loading...");//<img src='"+workspace+"/images/loading.gif'/><br/>
	$("#news-detail").load(xmlLink, onHeadlineNewsItemLoad);
}

function onHeadlineNewsItemLoad(){
	initDetailnewsItem();
	initNewsScroller();
	//fixIESevenSWF();
}

function initNewsScroller(){
	var scrollHeight = $('#news-detail').height()+30;
	
	if(!$('#archive-scroller').parent().hasClass("listcontainer")){
		initThumbScroller($('#archive-scroller'), {width:190, height:scrollHeight, vertical:true}, onHeadlineNewsItemClick, false);
	}else{
		//$('#archive-scroller').parent().height(scrollHeight);
	}
	$('#news-detail').parent().parent().height(scrollHeight);
	$('#archive-scroller').css({display:"block"});
}


// Simple news items
var currentSimpleContentBlock;
function initSimpleNewsItems(){
	var simpleNewsItems = $("#news-simple li a");
	var newsItem;
	for (var a = 0; a < simpleNewsItems.length; ++a) {
		newsItem = $(simpleNewsItems[a]);
		newsItem.click(onSimpleNewsItemClick);
		newsItem.data("info", {index:a});
	}
	
	currentSimpleContentBlock = $($(".news-simple-block")[0]);
}

function onSimpleNewsItemClick(ev){
	$("#news-simple li a.active").removeClass("active");
	$(ev.target).addClass("active");
	
	if(currentSimpleContentBlock!=undefined){
		currentSimpleContentBlock.css({display:"none"});
	}
	
	var itemIndex = $(ev.currentTarget).data("info").index;
	var simpleContentBlock =  $($(".news-simple-block")[itemIndex]);
	currentSimpleContentBlock = simpleContentBlock;
	simpleContentBlock.hide();
	simpleContentBlock.fadeIn(1000);
	
	ev.preventDefault();
}



// Detail News items
function initDetailnewsItem(){
	initThumbScroller($('#thumbscroller'), {width:540, height:85}, onNewsDetailThumbClick);
}

function onNewsDetailThumbClick(ev){
	var detailURL = $(ev.currentTarget).attr("href");
	$("#news-item-detail-content").load(detailURL);
	ev.preventDefault();
}



/* ABOUT
 * 
 */
function initAbout(){
	initAboutThumbs();
}

function initAboutThumbs(){
	initThumbScroller($('#thumbscroller'), {vertical: true, width:160, height:$('#about-detail').height()}, onAboutThumbClick)
	$('#thumbscroller').css({display:"block"});
}

function onAboutThumbClick(ev){
	var detailURL = $(ev.currentTarget).attr("href");
	$("#about-media").load(detailURL, onAboutDetailLoad);
	ev.preventDefault();
}

function onAboutDetailLoad(data){
}


/* STORE LOCATOR
 * 
 */
function initStoreLocator(){
	$("#store-search").click(onStoreLocatorSearchClick);
	$("#store-country").change(onCountryChange);
	//$("#store-city").change(onStoreLocatorSearchClick);
	//onCountryChange();
}

function onCountryChange(){
	var countryID = $("#store-country").val();
	var searchURL = root+"/storelocator-items/country/"+countryID;
	$("#store-city").load(searchURL, onCountryCitiesRecieve);
}

function onCountryCitiesRecieve(data){
	
}

function onStoreLocatorSearchClick(ev){
	var countryID = $("#store-country").val();
	var cityID = $("#store-city").val();
	
	if(countryID==""){
		countryID="+";
	}
	
	if(cityID==""){
		cityID="+";
	}
	var searchURL = root+"/storelocator-items/cities/"+countryID+"/"+cityID;
	$("#store-search-result").load(searchURL, onStoreSearchRecieve);
	
	ev.preventDefault();
}

function onStoreSearchRecieve(data){
	$("#store-search-result").css({display:"none"}).fadeIn(2000);
}


/* RETAIL ONLY
 * 
 */
function initRetail(){
	initContactLocator();
	initRegistrationForm();
}

function initContactLocator(){
	$("#contact-locator").change(onContactLocatorChoose);
}

function onContactLocatorChoose(ev){
	var dataStr = $("#contact-locator").val();
	var dataArr = dataStr.split(",");
	
	$("#contact-locator-result").empty();
	if (dataArr[0] != "") {
		$("#contact-locator-result").append("<div>COMPANY:</div><div style='width:300px;float:right;margin-top:-14px'>" + dataArr[0] + "</div>");
	}
	if (dataArr[1] != "") {
		$("#contact-locator-result").append("<div>NAME:</div><div style='width:300px;float:right;margin-top:-14px'>" + dataArr[1] + "</div>");
	}
	if (dataArr[2] != "") {
		$("#contact-locator-result").append("<div>ADRESS:</div><div style='width:300px;float:right;margin-top:-14px'>" + dataArr[2] + "</div>");
	}
	if (dataArr[3] != "") {
		$("#contact-locator-result").append("<div>ZIPCODE:</div><div style='width:300px;float:right;margin-top:-14px'>" + dataArr[3] + "</div>");
	}
	if (dataArr[4] != "") {
		$("#contact-locator-result").append("<div>CITY:</div><div style='width:300px;float:right;margin-top:-14px'>" + dataArr[4] + "</div>");
	}
	if (dataArr[5] != "") {
		$("#contact-locator-result").append("<div>TELEPHONE:</div><div style='width:300px;float:right;margin-top:-14px'>" + dataArr[5] + "</div>");
	}
	if (dataArr[6] != "") {
		$("#contact-locator-result").append("<div>EMAIL:</div><div style='width:300px;float:right;margin-top:-14px'><a href='mailto:" + dataArr[6] + "'>" + dataArr[6] + "</a></div>");
	}
}

function initRegistrationForm(){
	$("#retail-send-registration").click(sendRetailRegistrationForm);
}

function sendRetailRegistrationForm(ev){
	var postURL = workspace + "/email.php";
	var registrationInputs = $("#retail-registration-form").find(":input");
	var inputField, inputID, inputValue, inputIsValid;
	var sendForm = true;
	
	var postData = new Object();
	postData.subject = "NO EXCESS RETAIL REGISTRATION REQUEST";
	postData.message = "NO EXCESS retail registration request for:<br/><br/>";
	postData.returnSubject = "NO EXCESS RETAIL REGISTRATION";
	postData.returnMessage = "THANK YOU FOR YOUR REGISTRATION!<br/>WE WILL CONTACT YOU AS SOON AS POSSIBLE.<br/><br/><br/>New Yorkstraat 70 // 1175 RD Lijnden NL // ph +31 20 658 76 76 // <a style=color:#FFFFFF href=mailto:info@no-excess.com>info@no-excess.com</a> // <a style=color:#FFFFFF href=http://www.no-excess.nl>no-excess.com</a>";
	
	for(var a=0; a<registrationInputs.length; ++a){
		inputField = $(registrationInputs[a]);
		inputID = inputField.attr("id");
		inputValue = inputField.val();
		
		switch(inputID){
			case "email":
				inputIsValid = isMail(inputValue);
				postData.email = inputValue;
				break;
			default:
				inputIsValid = (inputValue!="");
				break;
		}
		
		if(!inputIsValid){
			sendForm = false;
			inputField.removeClass("succes");
			inputField.addClass("error");
		}else{
			inputField.removeClass("error");
			inputField.addClass("succes");
			postData.message += inputID+" = "+inputValue+"<br/>";
		}
	}
	
	if(sendForm){
		$.post(postURL, postData, onSendRetailRegistrationFormResult);
	}
	
	ev.preventDefault();
}

function onSendRetailRegistrationFormResult(data){
	$("#retail-send-registration-result").text("THANK YOU FOR YOUR REQUEST");
	$("#retail-registration-form").find(":input").removeClass("error").addClass("succes").val("");
}



/* UTILS
 * 
 */
function isMail(emailAdress){
	var isEmail_re = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
	return emailAdress.search (isEmail_re) != -1;
}




/* THUMBSCROLLER
 * 
 */
function initThumbScroller(scrollerTag, initParam, clickCallback, withEffects){
	if(withEffects == undefined){
		withEffects = true;
	}
	
	initParam.arrows = false;
	initParam.arrowsOpacity = 0.5;
	scrollerTag.css({display:"block"});
	scrollerTag.hoverscroll(initParam);
	
	var thumbList = scrollerTag.find("li a"), thumb;
	for (var a = 0; a < thumbList.length; ++a) {
		thumb = $(thumbList[a]);

		if (withEffects) {
			thumb.mouseover(onScrollerThumbOver);
			thumb.mouseout(onScrollerThumbOut);
			thumb.click(onScrollerThumbClick);
			if(a > 0){
				fadeOutThumb(thumb);
			}else{
				thumb.addClass("active-thumb");
			}
		}
		thumb.click(clickCallback);
		thumb.css({display:"block"});
	}
}

function onScrollerThumbOver(ev){
	if($(ev.currentTarget).hasClass("active-thumb")){
		return;
	}
	$(ev.currentTarget).animate({ 
        opacity: 1
      }, 250 );
}

function onScrollerThumbOut(ev){
	if($(ev.currentTarget).hasClass("active-thumb")){
		return;
	}
	fadeOutThumb($(ev.currentTarget));
}

function onScrollerThumbClick(ev){
	if($(ev.currentTarget).hasClass("active-thumb")){
		return;
	}
	var activeThumb = $(ev.currentTarget).parent().parent().find(".active-thumb");
	fadeOutThumb(activeThumb);
	activeThumb.removeClass("active-thumb");
	$(ev.currentTarget).addClass("active-thumb");
}

function fadeOutThumb(thumb){
	thumb.stop();
	thumb.animate({ 
        opacity: 0.3
      }, 250 );
}


/* UTILS
 * 
 * 
 */
function isMail(emailAdress){
	var isEmail_re = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
	return emailAdress.search (isEmail_re) != -1;
}




/* INTERNET EXPLORER 7 SWF embed fix
 * 
 * 
 */
function embedFLVPlayers(){
	$("#nox-flv-player").each(function(){
		embedFLVPLayer($(this));
	})
}

function embedFLVPLayer(tag){
	var flvFile = tag.text();
	var params = new Object();
	params.flashvars = "file="+flvFile+"&image=&autostart=true&repeat=single&skin="+workspace+"/uploads/video/bekle.swf&backcolor=#353226&screencolor=#353226";
	params.wmode = "transparent";
	
	var flashvars = {};
	var attributes = {
	  id: "nox-flash-flv",
	  name: "nox-flash-flv"
	};

	tag.css({visibility:"visible"});
	swfobject.embedSWF(workspace+"/uploads/video/player.swf", "nox-flv-player", tag.width(), tag.height(), "9.0.0", workspace+"/swf/expressInstall.swf", flashvars, params, attributes);	
}

function embedFlashFiles(){
	$(".nox-flash").each(function(){
		embedFlashFile($(this));
	})
}

function embedFlashFile(tag){
	var divID = String("id_"+new Date().getTime());
	tag.attr({id:divID});
	
	var flashFile = tag.text();
	var params = new Object();
	params.wmode = "transparent";
	params.workspace = workspace;
	params.clickTag = tag.attr("title");
	
	var flashvars = {workspace:workspace, clickTag:tag.attr("title")};
	var attributes = {
	  id: divID,
	  name: divID
	};
	
	tag.css({visibility:"visible"});
	swfobject.embedSWF(flashFile, divID, tag.width(), tag.height(), "9.0.0", workspace+"/swf/expressInstall.swf", flashvars, params, attributes);	
}
	

/*function fixIESevenSWF(){
	if($.browser.msie){
		$("object").each(function(){
			embedSWFForIESeven($(this));
		})
	}
}

function embedSWFForIESeven(objectTag){
	var objectID = objectTag.attr("id");
	if(objectID == "nox-flash-flv"){
		//embedFLVPLayerForIE();
		//return;
	}
	
	var swfSRC = objectTag.attr("data");
	var swfWidth = objectTag.attr("width");
	var swfHeight = objectTag.attr("height");
	var divID = String("id_"+new Date().getTime());
	var divContainer = $("<div id='"+divID+"'></div>");
	objectTag.replaceWith(divContainer);
	
	var params = new Object();
	var paramTags = objectTag.children();
	var paramTag;
	for(var a=0; a<paramTags.length; ++a){
		paramTag = $(paramTags[a]);
		params[paramTag.attr("name")] = paramTag.attr("value");
	};
	
	console.log(params.flashvars);
	
	var flashvars = {
	};

	var attributes = {
	  id: divID,
	  name: divID
	};

	swfobject.embedSWF(swfSRC, divID, swfWidth, swfHeight, "9.0.0", "workspace/swf/expressInstall.swf", flashvars, params, attributes);
	//setTimeout(swfobject.embedSWF(swfSRC, divID, swfWidth, swfHeight, "9.0.0", "workspace/swf/expressInstall.swf", flashvars, params, attributes), 500);
	//setTimeout("swfobject.embedSWF("+swfSRC+", "+divID+", "+swfWidth+", "+swfHeight+", '9.0.0', 'workspace/swf/expressInstall.swf', "+flashvars+", "+params+", "+attributes+");", 100);
}*/


/*function getMovie(movieName) {
 if (navigator.appName.indexOf("Microsoft") != -1) {
     return window[movieName];
 } else {
     return document[movieName];
 }
}*/
