var cufonised = false;

function cufonCode()
{
	/*if (cufonised) {
		var arr = new Array("div#buttons a", "div.title", "#banner .banner-date", "#banner .banner-title", "div.home-label", "div.calendar div.month", "ul#navigation li a", "h2", "div#content span.age", "div#content span.title", "div#content span.subtitle",  "div#newsletter span.subtitle", "div#reacties span.subtitle", "div#buttons span.subtitle", "div.month", "span.day", "a.button");
		
		for (var i = 0; i < arr.length; i++) {
			Cufon.replace(arr[i], {hover: true});
		}
	} else {
		Cufon.refresh();
	}
	
	cufonised = true;	*/
}

function fixFlash()
{
	var wmode = "opaque";
	
	$("embed").attr("wmode", wmode);

	var embedTag;
    $("embed").each(function(i) {
        embedTag = $(this).attr("outerHTML");
        if ((embedTag != null) && (embedTag.length > 0)) {
            embedTag = embedTag.replace(/embed /gi, "embed wmode=\"" + wmode + "\" ");
            $(this).attr("outerHTML", embedTag);
        }
        // This "else" was added
        else {
            $(this).wrap("<div></div>");
        }
    });
}

var tweening = true;
var banner = 0;

function bannerCode()
{
	var speed = 1000;
	var ease = "easeOutExpo";
	
	var children = $("#banners-holder").children();
	var obj = $(children[banner])
	var h = obj.height();
	$("#banner").animate({"height": h + "px"}, speed, ease);
	
	$("#banners-holder").animate({"left": "-" + (banner) * 220 + "px"}, speed, ease, function() {
		if (children.length == banner+1) {
			banner = 0;
		} else {
			banner++;
		}
	});
	
}

$(document).ready( function() {
	$('a.jsbutton').click(function(evt){
		evt.preventDefault();
	});
	cufonCode();
	fixFlash();
	
	
	submitCode();
	
	timerCode();
	
	topCode();
	
	languageCode();
	if (!ipad) {
		tooltipCode();
		
		hoverCode();
		
		clickCode();
		toolsCode();
	}
	
	
	newsletterCode();
	searchCode();
	
	calendarActions();
	
	/*
		$("#nav-" + textId).addClass("rollover");
		$("#nav-" + textId + " ul").show();

	
	
	if (controller == "production") {
		if (uri.indexOf("/speellijst") != -1) {
			$("#nav-" + 25).addClass("rollover");
			$("#nav-" + 25 + " ul").show();
		} 
	}*/
	
	$.fn.colorbox.settings.bgOpacity = "0.9";
	$("a.colorbox").colorbox({transition:"fade"});
});

var curDay = null;

function languageCode()
{
	var val = "versturen";
	
	if (lang == "en") {
		val = "send";
	} else if (lang == "fr") {
		val = "envoyez";
	} else if (lang == "du") {
		val = "senden Sie";
	}

	$("#form_reaction_submit, #form_contact_submit, #form_newsletter_submit").text(val);
}

function submitCode()
{
	$('#form_reaction, #form_contact, #form_newsletter').submit( function() {
		form = this.id;
		return validate_form(form);
	});
}

var href = null;


function slideshowHoverCode()
{
	$("#slides a").hover(function(){
		var left = $(this).offset().left;
		$("div#slideshow-over").css("left", left);
		$("div#slideshow-over").show();
		
		var short = $(this).find("span.short").html();
		var name = $(this).find("span.name").html();
		
		$("div#slideshow-over").html("<div class='short'>" + name + "</div><div class='name'>" + short + "</div>");
		//Cufon.replace("#slideshow-over div");
		href = $(this).attr("href");
		$("div#slideshow-over").click(function(){
			window.location = href;
		})
	}, function() {
		
	});
}

function timerCode()
{
	slideshowHoverCode();
	setTimeout("timer()",500);
}

var bannerTick = 0;

function timer() 
{
	if (bannerTick == 0) {
		bannerCode();
		
	}
	
	if (bannerTick == 3) {
		bannerTick = 0;
	} else {
		bannerTick++;
		
	}
	
	if (tweening) {
		switchIt();
	}
	
	setTimeout("timer()",1000);
}


var column = 0;
var speed = 1000;
var ease = "easeOutExpo";
var arr = new Array();
var mode = "alpha";

function finishSlide(img)
{
	for (var i = 0; i < img.length; i++) {
		af = $(img[i]);
		af.css("left", "0px");
		af.show();
	}
}

function switchIt()
{
	var children = $("#slides").children();
	var aantal = children.length;
	
	if (column == aantal) {
		column = 0;		
	}
	
	
	var obj = $("#slideshow" + (column+1));

	var img = obj.children();
	
	var aant = 0;
	if (!arr[column]) {
		aant = img.length-1;
		arr[column] = aant;
	} else {
		aant = arr[column];
	}
	var af = $(img[aant]);

	if (af.css("left") == "-460px" || af.is(':hidden') ) {
		arr[column] = arr[column]+1;
		
		if (mode == "slide") {
			af.animate({"left": "0px"}, speed, ease, function(){			
				finishSlide(img);			
			});
		} else if (mode == "alpha") {
			af.fadeIn('', function() {
				finishSlide(img);			
			});
		}
	} else {
		if (mode == "slide") {
			af.animate({"left": "-460px"}, speed, ease);	
		} else if (mode == "alpha") {
			af.fadeOut();
		}
	}
	

	arr[column] = arr[column]-1;
	
	if (arr[column] == 0) {
		arr[column] = img.length-1;
	}
	
	column++;
}

function calendarCode(date)
{

	var laden = "";
	
	if (lang == "nl") {
		laden = "bezig met laden";
	} else if (lang == "fr") {
		laden = "chargement";
	} else if (lang == "en") {
		laden = "loading";
	} else if (lang == "du") {
		laden = "laden";
	}
	
	$("div#calendar-top").html(laden);
	cufonCode();
	
	$.ajax({
		type: "POST",
		url: "/ajax/get-calendar/",
		data: "date=" + date,
		success : function(msg) {
			$("#calendar").hide();
			$("#calendar").html(msg);
			$("#calendar").fadeIn("slow");
			calendarActions();
		}
	});
}

function calendarActions()
{
	cufonCode();
	$("#calendar div.navigator").click(function(){
		if ($(this).html() != "") {
			calendarCode(this.id);
		}
	});
	
	$("#calendar div.day").hover(function(){
		var rel = $(this).attr("rel");

		if (ipad) {
			window.location = rel;
		} else {
			curDay = this.id;
			if (rel) {
				showTooltip($(this).find("div.content").html(), "black");
			}
		}
	
	}, function(){
		hideTooltip();	
	});
	
	$("#calendar div.day").click(function(){
		window.location = $(this).attr("rel");
	});
}

function topCode()
{
	var vars = {};
	
	var params = {};
	params.menu = "false";
	params.wmode = "transparent";

	var attributes = {};

	swfobject.embedSWF("/media/swf/top.swf", "top-swf", "100%", "233px", "9.0.0", false, vars, params, attributes);
}

function full()
{
	$("div.begin").hide();
	$("div.full").show();
}

var old = null;

function clickCode()
{
	$("div.begin a.button").click(function(e){
		full();
	});
	
	if (uri.indexOf("/full") != -1) {
		full();
	}
	
	
	$("#navigation a").click(function(e){
		$("#navigation a").removeClass("nav-over");
		$("#navigation a").removeClass("active");
		$(this).addClass("nav-over");
		var obj = $(this).parent();
		
		var id = obj.attr("id").split("nav-").join("");
		obj = obj.children();
		obj = obj[1];
		
		
		
		if (obj) {
			//$(".sub").hide();
			//e.preventDefault();

			
			//$("#sub-" + id).show();
		} else {
			var obj =$(this).parent().parent().parent();
			obj = obj.children();
			obj = obj[0];
			$(obj).addClass("nav-over");
		}
		cufonCode();
	});
	

	$(".calendar table tr").click(function(){
		var id = this.id.split("tr-").join("td-");
			
		rel = $("#production-" + id.split("td-").join("")).attr("rel");

		if (rel) {
			window.location = rel;
		} else {
			var rel = $("#" + id).attr("rel");
			
			if (rel) {
				window.open(rel);
			}
		}
	});
	
	$(".link, #pers li, .row, .blikvanger, #reacties li, #news li, #surfers li").click(function(event) {
		var link = $(this).attr("id");
		var rel = $(this).attr("rel");
		
		if (rel == "1" || link.indexOf("http://") != -1) {
			window.open(link);
		} else {
			window.location = link;
		}
	});
	
	$("#home").click(function(){
		var rel =  $(this).attr("rel");;
		window.location = rel;
	});
}

function onCalendarClick(data, type)
{
	hideTooltip();

	if(type == "fiche") {	
		window.location = data;	 
	} else if(type == "date") {
		window.location = "/programma/datum/" + data;	
	}
}


function toolsCode()
{
	$("#print").click(function(event){
		event.preventDefault();
		print();
	});
	
	$("#cart").click(function(event){
		event.preventDefault();
		openWin();
	});
	
	$("#largetext").fontscale("#top, a.button, #footer, #tooltip, #news, #calendarHolder, #rightcol, #content", "up", {cookie:true,unit:"em"});
	
	$("#smalltext").fontscale("#top, a.button, #footer, #tooltip, #news, #calendarHolder, #rightcol, #content", "down", {cookie:true,unit:"em"});
	
	$("#largetext").click(function(event){
		event.preventDefault();
		cufonCode();
		bannerCode();
	});
	
	$("#smalltext").click(function(event){
		event.preventDefault();
		cufonCode();
		bannerCode();
	});
}

function searchIt()
{
	var val = $("input#search-input").val();
	
	if (val != "" && val != "zoek in de site") {
		$("input#search-input").hide();
		$("#search-arrow").hide();
		$("div.ac_results").hide();

			
		if (val && val != "zoek in de site") {
			val = val.split(" ").join("_");
			val = escape(val);
			val = val.split("+").join("&plus;");
		
			var location = "/" + lang + "/zoeken/" + val + "/";
	
			window.location = location;
		} else {
			$("input#search-input").removeClass("normal");
			$("input#search-input").addClass("error");
			$("input#search-input").focus();
		}
	}
}

function searchCode()
{
	$("input#search-input").click(function(){
		$(this).val("");	
	});

	$("input#search-input").keypress(function(e){
		
		$(this).removeClass("error");
		$(this).addClass("normal");
		if (e.which == 13) {
			searchIt();	
		}
	});
	
	$("#search-arrow").click(function(){
		searchIt();
	});
	
	$("#search-input").autocomplete('/ajax/autocomplete/', {selectFirst: false});
	
	$("#search-input").result(function(event, data, formatted) {
		searchIt();
	});
}

function hoverCode()
{
	$(".row, #home").hover(
		function(){	
			$(this).find("div.date").css("color", "#000");
			$(this).find("span.home-production").css("color", "#000");
			$(this).find("td.fiche-list-date").css("color", "#000");
			cufonCode();
		},function(){
			$(this).find("div.date").css("color", "#009999");
			$(this).find("span.home-production").css("color", "#009999");
			$(this).find("td.fiche-list-date").css("color", "#009999");
			cufonCode();
		}
	);

	$("#navigation li ul a").hover(function() {
		$(this).parent().parent().parent().find("a").addClass("over");
	}, function() {
		$(this).parent().parent().parent().find("a").removeClass("over");
	});
	
	$("#slideshowHolder").hover(function(){
		if (textId != "0" ) {
			$("#nav-" + textId).removeClass("rollover");
			$("#nav-" + textId + " ul").hide();
		}
	}, function() {
		if (textId != "0") {
			$("#nav-" + textId).addClass("rollover");
			$("#nav-" + textId + " ul").show();
		}
	});

	var temp = "";
	$("div.calendar tr").hover(
		function(){
			var h = $(this).height();
			var id = this.id.split("tr-").join("");
			var rel = $("#td-" + id).attr("rel");
			temp = $("#td-" + id).text();
			
		
			
			if (rel) {
				//$("#td-" + id).text(rel);
				$("#td-" + id).find("div.normal").hide();
				$("#td-" + id).find("div.content").show();
				$(this).height(h);
			}
			
			if (!rel) {
				rel = $("#production-" + id).attr("rel");
			}
			
			var obj = $(this).find("div.month");
			
			if (!obj.attr("class")) {
				$(this).addClass("hover");
			}
		},
		function(){
			$(this).removeClass("hover");
			var id = this.id.split("tr-").join("td-");
			
			$("#" + id).find("div.normal").show();
			$("#" + id).find("div.content").hide();
			//$("#" + id).text(temp);
			
		
		}
	);
	
	//if (controller != "production") {
		$("div.calendar tr, div.search tr, div#binnenkort tr, div#detail-relations tr").hover(
			function(){
				showTooltipThumb(this);
			}, 
			function(){
				hideTooltipThumb();
			}
		);
	//}
}


function showTooltipThumb(evt)
{
	var obj = $(evt);
	var left = obj.offset().left;
	var top = obj.offset().top;
	$("#tooltip-thumb").css("left", left-100);
	
	var rel = obj.attr("rel");
	
	if (rel) {
		var content = "<img src='" + rel + "' class='tooltip' />";
		$("#tooltip-thumb").css('z-index', 1000);
		$("#tooltip-thumb").html(content);
		$("#tooltip-thumb").show();
	}
}

function hideTooltipThumb()
{
	$("#tooltip-thumb").hide();
}

function newsletterCode()
{
	$("div#newsletter input").blur(function(){
		if ($(this).val() == "") {
			$(this).val($(this).attr("rel"));
		}
	});
	
	$("#newsletter-arrow").click(function() {
		$("#advancedNewsletter").show();
	});
	
	$("input#newsletter-input").click(function(){
		$(this).val("");	
	});

	$("#form-newsletter input").click(function() {
		$(this).val("");
	});
	if ($("input#newsletter-email-input").attr("id")) {		
		/*if (newsletter) {
			newsletterSuccess();
		} else {*/
			$("#advancedNewsletter").hide();
			
			$("div#newsletter input").each(function(){
				$(this).val($(this).attr("rel"));
				$(this).attr("name", $(this).attr("id"));
				$(this).click(function() {
					if (tweening) {
						timing = true;
						$("#advancedNewsletter").show("slow", function() {timing = false;});
					} else {
						$("#advancedNewsletter").show();
					}
				});
				
				$(this).focus(function() {
					if (tweening) {
						timing = true;
						$("#advancedNewsletter").show("slow", function() {timing = false;});
					} else {
						$("#advancedNewsletter").show();
					}
				});
				
				$(this).keypress(function(e) {
					if ($(this).val() == $(this).attr("rel")) {
						$(this).val("");
					}
					removeFieldError(this.id);
					
					if (e.which == 13) {
						newsletterIt();	
					}
				});
			});
		//}
	}	
}

function checkField(field)
{
	var val = $("input#" + field).val();
	
	if (val && val != $("input#" + field).attr("rel")) {
		return val;
	} else {
		setFieldError(field);
		return false;
	}
}

function setFieldError(field)
{
	if (field == "newsletter-email-input") {
		$("#newsletter-arrow").addClass("error");
	}
	
	$("input#" + field).removeClass("normal");
	$("input#" + field).addClass("error");
	$("input#" + field).focus();
}

function removeFieldError(field)
{
	if (field == "newsletter-email-input") {
		$("#newsletter-arrow").removeClass("error");
	}
	$("input#" + field).removeClass("error");
	$("input#" + field).addClass("normal");
}

function isEmail(str) {

	if (str) {
		var at="@";
		var dot=".";
		var lat=str.indexOf(at);
		var lstr=str.length;
		var ldot=str.indexOf(dot);
		
		if (str.indexOf(at)==-1){
		   return false;
		}
	
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false;
		}
	
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false;
		}
	
		 if (str.indexOf(at,(lat+1))!=-1){
		    return false;
		 }
	
		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false;
		 }
	
		 if (str.indexOf(dot,(lat+2))==-1){
		    return false;
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false;
		 }
	}
	
	return true;					
}


function newsletterSuccess()
{
	$("#newsletter-form").html("<p>" + $("#newsletter-form").attr("rel") + "</p>");	
}

function newsletterIt()
{
	$("div#newsletter input").each(function(){
		removeFieldError(this.id);
	});
	
	var params = $("#form-newsletter").serialize();

	var email = checkField("newsletter-email-input");
	var emailRepeat = checkField("newsletter-email-repeat-input");
	var firstname = checkField("newsletter-firstname-input");
	var name = checkField("newsletter-name-input");
	
	if (email != emailRepeat) {
		setFieldError("newsletter-email-input");
		setFieldError("newsletter-email-repeat-input");
	}

	if (!isEmail(email)) {
		setFieldError("newsletter-email-input");
	}
	
	if (!isEmail(emailRepeat)) {
		setFieldError("newsletter-email-repeat-input");
	}
	
	if (isEmail(email) && firstname && name && email && (email == emailRepeat)) {
		$("a#newsletter").hide();
		$.ajax({
		   type: "POST",
		   url: "/ajax/validate-newsletter/",
		   data: params,
		   success: function(msg){
				newsletterSuccess();
				//window.location = $("#newsletter").attr("rel");
		   }
		 });
		
	}
}

var mouseX = 0;
var mouseY = 0;

function tooltipCode()
{
	$("#videoHolder, #imageHolder").hover(
		function(){
			showTooltip($(this).attr("rel"));
		},function(){
			hideTooltip();
		}
	);

	$("body").mousemove(function(e){
		mouseX = e.pageX;
		mouseY = e.pageY;
		
		if (mouseY > 235) {
			$("div#slideshow-over").hide();
			tweening = true;
		} else {
			tweening = false;
		}

		placeTooltip();
	});
}

function placeTooltip()
{
	var posLeft = mouseX - $("#tooltip").width() - 15;
	//if (posLeft < 10) {
		posLeft = mouseX+10;
	//}
	$("#tooltip-thumb").css("top", mouseY - 30);
	$("#tooltip").css("left", posLeft);
	$("#tooltip").css("top", mouseY - 5);
}
function hideTooltip()
{
	$("#tooltip").hide();
}
 
function showTooltip(content)
{	
	if(document.body){
		$("#tooltip").remove();
		var aElement=document.createElement("div");
		aElement.id = "tooltip";
		document.body.appendChild(aElement);
	}
	
	$("#tooltip").html(content);
	$("#tooltip").fadeIn();
}
/*
function slideSwitch() {
    var $active = $('div.jSlideshow img.active');
    if ( $active.length == 0 ) $active = $('div.jSlideshow img:last');
    var $next =  $active.next().length ? $active.next() : $('div.jSlideshow img:first');
    $active.addClass('last-active');
    $next.css({opacity: 0.0})
        .addClass('active')
        .animate({opacity: 1.0}, 500, function() {
            $active.removeClass('active last-active');
        });
}*/
