var unilever = {
	
	browser : navigator.appName,
	
	init: function() {
		$("*.hover").hover(function() {
		    unilever.hoverElm(this);
			return false;
		}, function() {
		    unilever.hoverElm(this);
			return false;
		});
		
		$("*.slideshow").click(function() {
		    unilever.slideshow(this);
			return false;
		});
		
		$("*.show-image").click(function() {
		    unilever.image(this);
			return false;
		});
		
		$("*.show-pdf").click(function() {
		    unilever.pdf(this);
			return false;
		});
		
		$("*.show-posterthumb").click(function() {
		    unilever.posterthumbs(this);
			return false;
		});
		
		$("*.show-poster").click(function() {
		    unilever.poster(this);
			return false;
		});

		$("*.player-360").livequery("click", function() {
		    unilever.player360(this);
			return false;
		});
		
		$("a.open-info-box").click(function() {
		    $("div.info-box").removeClass("display-none");
			return false;
		});
		
		$("div.info-box a.close").click(function() {
		    $("div.info-box").addClass("display-none");
			return false;
		});
	},
	
	hoverElm: function(e) {
		var elm = $(e);
		var parent;
		var targetElm;
		
		if (e.getAttribute("src")) {
			if (elm.hasClass("parent")) {
				unilever.toggleImage(e.parentNode);
			}else{
				unilever.toggleImage(e);
			}
		}else{
			if (elm.hasClass("elm")) {
				targetElm = e.className.replace(/.*target-([\w-]+).*/, "$1");
				
				if (elm.hasClass("no-toggle")) {
					$("#" + targetElm).css("display", "block");
					$("#" + targetElm).addClass("out");
				}else{
					if (!$("#" + targetElm).hasClass("out")) {
						$("#" + targetElm).css("display", "block");
						$("#" + targetElm).addClass("out");
					}else if ($("#" + targetElm).hasClass("out")){
						$("#" + targetElm).css("display", "none");
						$("#" + targetElm).removeClass("out");
					}	
				}
			}else{
				//
			}
		}
	},
	
	movie: function(e,strMovieURL,strMovieHeader,strMovieSubHeader,strMovieText,strMovieFacts) {
		var elm;
		var position = unilever.findPosition(e);
		var top;
		var topPos;
		
		if ($(e).hasClass("large")) {
			elm = $("#movie-large");
		}else{
			elm = $("#movie-small");
		}
		
		if ($(e).hasClass("close")) {
		    var so = new SWFObject("/gui/flash/Film.swf", "film", "382", "328", "8", "#ffffff");
            so.addVariable("filmUrl", "");
            so.write("movie-player");
            $("movie-player").innerHTML="";
			elm.addClass("display-none");
		}else{
		    if(strMovieURL){
			    var so = new SWFObject("/gui/flash/Film.swf", "film", "382", "328", "8", "#ffffff");
	            so.addVariable("filmUrl", strMovieURL);
	            so.addVariable("filmSkin", "/gui/flash/Skin_Movie.swf");
	            so.addParam("wmode", "transparent");
                so.write("movie-player");
		    }
		    
			document.getElementById("movieHeader").innerHTML=strMovieHeader;
		    document.getElementById("subHeader").innerHTML=strMovieSubHeader;
		    document.getElementById("movieText").innerHTML=strMovieText;
		    document.getElementById("movieFacts").innerHTML=strMovieFacts;
			
			if ($(e).hasClass("from-small")) {
				top = $("#movie-small").css("top");
				elm.css("top", top);
			}else{
				if(unilever.browser != "Microsoft Internet Explorer"){
					topPos = 400;
				}else{
					topPos = 50;
				} 
				top = parseInt(position[1] - topPos);
				elm.css("top", top);
			}
			
			unilever.closemultimedia();
			
			elm.removeClass("display-none");
		}
	},
	
	movielist: function(e,strMovieURL,strMovieHeader,strMovieSubHeader,strMovieText,strMovieFacts) {
	    var so = new SWFObject("/gui/flash/Film.swf", "film", "382", "328", "8", "#ffffff");
        so.addVariable("filmUrl", strMovieURL);
        so.addVariable("filmSkin", "/gui/flash/Skin_Movie.swf");
        so.addParam("wmode", "transparent");
        so.write("movie-list-player");
	    document.getElementById("movieHeader-list").innerHTML=strMovieSubHeader;
	    document.getElementById("movieText-list").innerHTML=strMovieText;
	    document.getElementById("movieFacts-list").innerHTML=strMovieFacts;
	},
	
	slideshow: function(e) {
		var elm = $("#image-gallery");
		var position = unilever.findPosition(e);
		var top;
		var url = e.href;
		var topPos;
		
		if ($(e).hasClass("close")) {
			elm.addClass("display-none");
		}else{
			if (url != false) {
				
				if ($(e).hasClass("from-image")) {
					top = $("#image").css("top");
					elm.css("top", top);
				}else if ($(e).hasClass("step")) {
					top = $("#image-gallery").css("top");
					elm.css("top", top);
				}else{
					top = parseInt(position[1] - 290);
					elm.css("top", top);
				}
				
				unilever.closemultimedia();
				
				elm.removeClass("display-none");
				
				$("#image-gallery").load(""+url+" #image-gallery-content",
					function() {
						$.getScript("/gui/js/unilever.js");
					}
				);
			}
		}
	},
	
	image: function(e) {
		var elm = $("#image");
		var position = unilever.findPosition(e);
		var top;
		var url = e.href;
		var topPos;

		if ($(e).hasClass("close")) {
			elm.addClass("display-none");
		}else{
			if (url != false) {

				if ($(e).hasClass("from-gallery")) {
					top = $("#image-gallery").css("top");
					elm.css("top", top);
				}else if ($(e).hasClass("step")) {
					top = $("#image").css("top");
					elm.css("top", top);
				}else{
					if(unilever.browser != "Microsoft Internet Explorer"){
						topPos = 170;
					}else{
						topPos = 100;
					} 
					top = parseInt(position[1] - topPos);
					elm.css("top", top);
				}
				
				unilever.closemultimedia();
				
				elm.removeClass("display-none");
				
				$("#image").load(""+url+" #image-gallery-content",
					function() {
						$.getScript("/gui/js/unilever.js");
					}
				);
			}
		}
	},
	
	pdf: function(e) {
		var elm = $("#pdf-gallery");
		var position = unilever.findPosition(e);
		var top;
		var url = e.href;
		var topPos;
		
		if ($(e).hasClass("close")) {
			elm.addClass("display-none");
		}else{
			if (url != false) {
				
				if ($(e).hasClass("step")) {
					top = $("#pdf-gallery").css("top");
					elm.css("top", top);
				}else{
					top = parseInt(position[1] - 170);
					elm.css("top", top);
				}
				
				unilever.closemultimedia();
				
				elm.removeClass("display-none");
				
				$("#pdf-gallery").load(""+url+" #pdf-gallery-content",
					function() {
						$.getScript("/gui/js/unilever.js");
					}
				);
			}
		}
	},
	
	posterthumbs: function(e) {
		var elm = $("#poster-gallery");
		var position = unilever.findPosition(e);
		var top;
		var url = e.href;
		
		if ($(e).hasClass("close")) {
			elm.addClass("display-none");
		}else{
			if (url != false) {
				
				if ($(e).hasClass("step")) {
					top = $("#pdf-gallery").css("top");
					elm.css("top", top);
				}else{
					top = parseInt(position[1] - 370);
					elm.css("top", top);
				}
				
				unilever.closemultimedia();
				
				elm.removeClass("display-none");
				
				$("#poster-gallery").load(""+url+" #poster-gallery-content",
					function() {
						$.getScript("/gui/js/unilever.js");
					}
				);
			}
		}
	},
	
	poster: function(e) {
		var elm = $("#poster-gallery");
		var position = unilever.findPosition(e);
		var top;
		var url = e.href;
		var prev = $("#gallery-prev");
		var next = $("#gallery-next");
		
		if ($(e).hasClass("close")) {
			elm.addClass("display-none");
		}else{
			if (url != false) {

				unilever.closemultimedia();
				
				elm.removeClass("display-none");
				
				prev.removeClass("display-none");
				next.removeClass("display-none");
				
				$("#poster-gallery").load(""+url+" #poster-gallery-content",
					function() {
						$.getScript("/gui/js/unilever.js");
					}
				);
			}
		}
	},
	
	player360: function(e) {
		var elm = $("#player-360");
		var position = unilever.findPosition(e);
		var top;
		var url = e.href;
		var topPos;
		
		if ($(e).hasClass("close")) {
			elm.addClass("display-none");
		}else{
			if (url != false) {
				
				if ($(elm).hasClass("is-open")&&!$(e).hasClass("new")) {
					top = $("#player-360").css("top");
					elm.css("top", top);
				}else{
				    $("#player-360").load(""+url+" #player-360-gallery-content",
					    function() {
						    //$.getScript("/gui/js/unilever.js");
					    }
				    );
					
				}
				
				unilever.closemultimedia();
				
				elm.removeClass("display-none");
				elm.addClass("is-open");
				
			}
		}
	},

	closemultimedia: function() {
		$("#player-360").addClass("display-none");
		$("#image-gallery").addClass("display-none");
		$("#image").addClass("display-none");
		$("#movie-large").addClass("display-none");
		$("#movie-small").addClass("display-none");
		$("#pdf-gallery").addClass("display-none");
	},
	
	findPosition : function (obj){
		var curleft = curtop = 0;
		if (obj.offsetParent) {
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while (obj = obj.offsetParent) {
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		}
		return [curleft,curtop];
	},
	
	toggleImage: function(e) {
		var images = e.getElementsByTagName("img");
		var image;
        var imageSrc;
        for (var i = 0; i < images.length; i++) {
            image = images[i];
            imageSrc = image.getAttribute("src");
			if(!/-hover/i.test(image.getAttribute("src"))){
				image.setAttribute("src", imageSrc.replace(/(\.(gif|jpg|png))/i, "-hover$1"));
			}else{
				image.setAttribute("src", imageSrc.replace(/-hover/i, ""));
			}
        }
	}
}
 
$(document).ready(function(){
	unilever.init();
});