function cufonCode()
{
	//Cufon.replace('.cufon', {hover: true});
	//Cufon.replace(".link", {hover: 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>");
        }
    });
}

function contactSubmit()
{
	window.location = "/contact/succes";
}

var tweening = true;
//setInterval( "slideSwitch()", 4000 );
$(document).ready( function() {
	
	//$("#widgetbox_widget_iframe_0").contents().find("a.title").attr("target", "_blank");
	//$("#widgetbox_widget_iframe_0").contents().find("a").css("background-color","#BADA55");
	/*console.log($("#widgetbox_widget_iframe_0").contents().find("a"));
	$("#widgetbox_widget_iframe_0").contents().find("a").hide();
	alert($("#widgetbox_widget_iframe_0").contents().find("a").attr('href'));*/
	$('#form_person [rel$=required-1]').each( function() {
		var obj = $("#" + this.id);
		
		if (obj.attr("type") != "checkbox") {
			obj.parent().append("<span class='error'>*</span>");
		}
		
	});
	cufonCode();
	
	if (!ipad) {
		tooltipCode();
		hoverCode();
		clickCode();
		toolsCode();
	}
	
	timerCode();
	
	fixFlash();
	
	if (controller == "index") {
		flickrCode();
		udbCode();
	}
	calendarActions();
	newsletterCode();
	searchCode();
	
	
	$.fn.colorbox.settings.bgOpacity = "0.9";
	$("a.colorbox").colorbox({transition:"fade"});
});

function udbCode()
{
	$.ajax({
		type: "POST",
		url: "/ajax/get-udb/",
		success : function(msg) {
			msg = eval(msg);
			

			$("#udb").html(msg);
			
			if (!ipad) {
				hoverCode();
				clickCode();
			}
			
		}
	});
}

function flickrCode()
{
	$.ajax({
		type: "POST",
		url: "/ajax/get-flickr/",
		success : function(msg) {
			msg = eval(msg);
			var total = msg[0];
			var titleObj = $("#flickr .block .title");
			var title = titleObj.html() + " - " + total + " foto's";
			titleObj.html(title);
			$("#flickr-content").html(msg[1]);
			if (!ipad) {
				hoverCode();
				clickCode();
			}
			
		}
	});
}

function clickCode()
{
	$(".rollover").click(function(){
		var location = $(this).find(".route");
		var url = location.attr("href");
		
		if (url) {	
			if (url.indexOf("http://") == -1 || url.indexOf(website) != -1) {
				window.location = url;
			} else {
				//window.open(url);
			}
		}
	})
}
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 toolsCode()
{
	$("#print").click(function(event){
		event.preventDefault();
		print();
	});
	
	$("#cart").click(function(event){
		event.preventDefault();
		openWin();
	});
	
	$("#largetext").fontscale("body", "up", {cookie:true,unit:"em"});
	
	$("#smalltext").fontscale("body", "down", {cookie:true,unit:"em"});
	
	$("#largetext").click(function(event){
		event.preventDefault();
		cufonCode();
	});
	
	$("#smalltext").click(function(event){
		event.preventDefault();
		cufonCode();
	});
}

var banner = 0;

function timerCode()
{
	bannerCode();
	setTimeout("timerCode()",5000);
}

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);
	//$("#banner").height(h);
	$("#banners-holder").animate({"left": "-" + (banner) * 300 + "px"}, speed, ease, function() {
		if (children.length == banner+1) {
			banner = 0;
		} else {
			banner++;
		}
	});
	
}

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();

		var genres = "";
		
		if ($("#advancedSearch").attr("id")) {
			var arr = new Array("voorstellingen", "nieuws", "tekstpaginas");
			
			for (var i = 0; i < arr.length; i++) {
				if (genres) {
					genres += "-";
				}
				genres += arr[i]
			}
		}
			
		if (val && val != "zoek in de site") {
			val = val.split(" ").join("_");
			val = escape(val);
			val = val.split("+").join("&plus;");
		
			var location = "/zoeken/" + val + "/";
			
			if (genres) {
				location += "geavanceerd/" + genres + "/";
			}
			
			window.location = location;
		} else {
			$("input#search-input").removeClass("normal");
			$("input#search-input").addClass("error");
			$("input#search-input").focus();
		}
	}
}

function searchCode()
{
	$("input#search-input").autocomplete('/ajax/autocomplete/', {selectFirst: false});

	$("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").result(function(event, data, formatted) {
		searchIt();
	});
}

var old = null;
function hoverCode()
{
	$("div#navigation ul li").hover(function(){
		$(this).find("ul.sub").show();
		$(this).find("a.link").addClass("hover");
	},function(){
		//if ($(this).parent().parent().attr("id") != "navigation") {
			$(this).find("ul.sub").hide();
			$(this).find("a.link").removeClass("hover");
			//Cufon.refresh(".link");
		//}
		
	})
	
	$(".rollover, button").hover(function(){
		$(this).removeClass("rollover");
		$(this).addClass("hover");
	}, function() {
		$(this).removeClass("hover");
		$(this).addClass("rollover");
	});
}


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()
{
	$("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();	
					}
				});
			});
		}
	}
	
	$("#newsletter-arrow").click(function(){
		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)
{
	$("input#" + field).removeClass("normal");
	$("input#" + field).addClass("error");
	$("input#" + field).focus();
}

function removeFieldError(field)
{
	$("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)) {
		$("#newsletter-arrow").hide();
		$.ajax({
		   type: "POST",
		   url: "/ajax/validate-newsletter/",
		   data: params,
		   success: function(msg){
				newsletterSuccess();
		   }
		 });
		
	}
}

function showTooltip(msg, css)
{
	$("#tooltip img.bottom").attr("src", "/media/images/tooltip-arrow-bottom-" + css + ".png");
	$("#tooltip img.left").attr("src", "/media/images/tooltip-arrow-left-" + css + ".png");
	$("#tooltip div.content").removeClass("red");
	$("#tooltip div.content").removeClass("black");
	$("#tooltip div").html(msg)
	
	$("#tooltip div.content").addClass(css);
	
	if (msg) {
		$("#tooltip").show();
	}
	//cufonCode();
}

function hideTooltip()
{
	$("#tooltip").hide();
}

var mouseX = 0;
var mouseY = 0;
function tooltipCode()
{
	$("body").mousemove(function(e){
		mouseX = e.pageX;
	 	mouseY = e.pageY;
	 	
	 	placeTooltip();
	});
}

function placeTooltip()
{
	var height = $("#tooltip").height();
	var width = $("#tooltip").width();
	var limit = 20;
	var left = mouseX - 5 - limit;
 	var top = mouseY - height - 5 - limit;
 	
 	$("#tooltip img.left").hide();
	$("#tooltip img.bottom").hide();
 	
 	if (top < limit) {
 		top = -10;
 		left += 30;
 		$("#tooltip img.left").css("top", (mouseY - limit) + "px");
 		$("#tooltip img.left").show();	
 		
 	} else {
 		$("#tooltip img.bottom").show();	
 	}
 	
 	var imgLeft = 6;
 	if (left + width > $(window).width()) {
 		left = $(window).width()-width-30;
 		imgLeft = (width - 20);
 		
 	}
 	
 	$("#tooltip img.bottom").css("margin-left", imgLeft + "px"); 
	$("#tooltip").css("left", left);
	$("#tooltip").css("top", top);		
}


function formCode(form)
{
	if (form == "form_newsletter") {
		$("#form_newsletter_name").hide();
		$("#form_newsletter_email").hide();
		$("#form_newsletter_submit").hide();
		
		$("#form_newsletter_firstname").click(function(){
			$("#form_newsletter_name").show();
			$("#form_newsletter_email").show();
			$("#form_newsletter_submit").show();
		});
		
		$("#form_newsletter input").click(function(){
			$(this).val("");
		})
		
		$("#" + form + "_submit").click(function(){
			var firstname = $("#form_newsletter_firstname").val();
			firstname = firstname.split("voornaam").join("");
			$("#form_newsletter_firstname").val(firstname);
		
			var name = $("#form_newsletter_name").val();
			name = name.split("naam").join("");
			$("#form_newsletter_name").val(name);
			
			var email = $("#form_newsletter_email").val();
			email = email.split("email").join("");
			$("#form_newsletter_email").val(email);
			
			validate_form(form);
			return false;
		});
	} else {
		$("#" + form + "_submit").click(function(){
			validate_form(form)
			return false;
		})
	}
}

var validate = true;
function validate_form(form) {
	
	//functie die automatisch een formulier valideert via ajax, je moet hier niets veranderen
	
	$("#" + form + "_submit").hide();
	var validate = true;
	
	if (form == "form_reserve") {
		form = "form_abo";
		var r1Obj = $("#form_abo_r1_id");
		var r2Obj = $("#form_abo_r2_id");
		if (r1Obj.val() == r2Obj.val()) {
			r1Obj.attr("class", "error");
			r2Obj.attr("class", "error");
			validate = false;
		}
	}

	if (validate) {
		var params = $("#" + form).serialize();
		params += "&form_id=" + form;
		params += "&id=" + id;

		if (params.indexOf("form_abo_voornaam1") == -1) {
			var aantal = $("#form_abo_aantal");
			
			for (var i = 0; i < aantal; i++) {
				params += "&form_abo_voornaam" + (i+1) + "=" + $("form_abo_voornaam" + (i+1));
			}
		}
		
		
		$("#submit_form").attr("disabled", true);
		$("#submit_form").hide();
		
		
		$.ajax( {
			type : "POST",
			url : "/ajax/validate-form/",
			data : params,
			success : function(msg) {
				if (form != "form_event_surfer") {
					$("#" + form + "_submit").show();
				} else {
					$("#submit_form").show();
				}
				
				validate = true;
				
				$("#submit_form").removeAttr("disabled");
			
				msg = eval(msg);
	
				$("input, textarea, select").each( function() {
					if (this.id.indexOf(form) != -1) {
			
						$(this).removeClass("error");
						$(this).removeClass("error_text");
						$(this).addClass($(this).attr("type"));
					}
				});
	
				if (msg) {
					var goNext = true;
					

					if (form == "form_newsletter") {
						if (!msg[0]) {
							if ($("#form_newsletter_email").val() != $("#form_newsletter_email2").val()) {
								goNext = false;
								$("#form_newsletter_email").focus();
								$("#form_newsletter_email").select();
								$("#form_newsletter_email").attr("class", "error");
								$("#form_newsletter_email2").attr("class", "error");
								$("#submit_form").show();
							}	
						}
					}
					
					if (msg[0]) {
						
						$("#submit_form").show();
					
						for ( var i = 0; i < msg[1].length; i++) {
							var obj = $("#" + msg[1][i]);
							
							if (!obj.attr("id")) {
								$('input').each( function() {
									if (this.id.indexOf(msg[1][i])!=-1) {	
										
										obj = $("#" + this.id);
									}
								});
								
							}
								
							if (i == 0) {
								obj.focus();
								obj.select();
							}
							
							var error = "error";
							var type = obj.attr("type");
							
							if (type == "text" || type == "password") {
								error += "_" + type;
							}
	
							if (obj.attr("type") == "checkbox") {
								obj.parent().attr("class", error);			
							}
							obj.attr("class", error);
						}
					} else {
						$("form").parent().find("div.content").show();
						$("form").hide();
					}
		
				}
			}
	});
	}
	
	return false;
}

