var addthis_options = 'email,facebook,myspace,twitter,more';
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();
		$("#search span").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();
		}
	}
}


var validate = true;
function validate_form(form) {
	
	//functie die automatisch een formulier valideert via ajax, je moet hier niets veranderen
	
	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();
		
		fixColumns();
		
		$.ajax( {
			type : "POST",
			url : "/ajax/validate-form/",
			data : params,
			success : function(msg) {
				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 (form == "form_abo") {
						goNext = false;						
					}
					
					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 if (goNext) {
						window.location = "/" + form.split("form_").join("") + "/succes";
					} else {
						window.location = msg[1];						
					}
					fixColumns();
				}
			}
	});
	}
	
	return false;
}

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($("#newsletter-form").attr("rel"));	
	fixColumns();
}

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 checkMaxlength(obj)
{
	obj = $(obj);
	var val = obj.val();
	var length = val.length;
	var maxlength = obj.attr("maxlength");
	obj.val(val.substr(0, maxlength));
	var id = "#" + obj.attr("id") + "-maxlength";

	var number = maxlength-length;
	
	if (number > maxlength) {
		number = maxlength;
	} else if(number < 0) {
		number = 0;
	}

	$(id).html(number);
	setTimeout(function() {checkMaxlength(obj)}, 300);
}
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>");
        }
    });
    
    $("iframe").each(function() {
    	if ($(this).attr("src").indexOf("youtube") != -1) {
    		$(this).attr("src", $(this).attr("src") + "?wmode=Opaque");
    	}    	
    })
}

var timing = false;
var tweening = false;
var timingVar = 50;




$(document).ready( function() {
	if ($("#popup").attr("id")) {
		var overlay = jQuery('<div id="overlay"> </div>');
		overlay.appendTo(document.body)
		
		$('#popup').dialog({width: 523});
		$("#popup .close").attr("title", "klik hier om te sluiten");
		$("#popup .close, #overlay").click(function() {
			$("#popup").hide();
			$("#overlay").remove();
			$.ajax( {
				type : "POST",
				url : "/ajax/close-popup/",
				data : "",
				success : function(msg) {
					
				}
			});
		});
		
		if ($("#popup").attr("rel")) {
			$("#popup .title, #popup .info").click(function() {
				
				$.ajax( {
					type : "POST",
					url : "/ajax/close-popup/",
					data : "",
					success : function(msg) {
						var rel = $("#popup").attr("rel");
						
						if (rel.indexOf(website) != -1) {
							window.location = rel;
						} else {
							window.open(rel);
						}
					}
				});
			});
		}
	

	}
	
	Cufon.replace('.subtitel');
	Cufon.replace('.titel');
	 $('body').fontResizer({sizeType: 'px', minFont:12,maxFont:16,increment:2});	
	//checkFontsize("", "");
	 $("#largetext, #smalltext").click(function(){
		 cufon();
	 })
	
	fixFlash();
	$('[rel$=required-1]').each( function() {
		var obj = $("#" + this.id);
		
		if (obj.attr("type") != "checkbox") {
			obj.parent().append("<span class='error'>*</span>");
		}
		
	});
	
	$("textarea, input").each(function(){
		var obj = $(this);
		
		if (obj.attr("maxlength")) {
			if (obj.attr("maxlength") != -1 && obj.attr("maxlength") < 2000) {
			
				obj.parent().append("<span class='maxlength' id='" + this.id + "-maxlength'></span>");
				checkMaxlength(this);
			}
		}
	});
	
	$("input#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() {
					$('#newsletter-email-input').val('e-mail');
					if (tweening) {
						timing = true;
						$("#advancedNewsletter").show("slow", function() {timing = false;});
					} else {
						$("#advancedNewsletter").show();
					}
					fixColumns();
				});
				
				$(this).focus(function() {
					if (tweening) {
						timing = true;
						$("#advancedNewsletter").show("slow", function() {timing = false;});
					} else {
						$("#advancedNewsletter").show();
					}
					
					fixColumns();
				});
				
				$(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();
	});
	
	$.fn.colorbox.settings.bgOpacity = "0.9";
	
	$("a.colorbox").colorbox({transition:"fade"});
	
	$("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();
	});
	
	//$("#autocomplete").attr("autocomplete", "off");
	$("#search-input").autocomplete('/ajax/autocomplete/', {selectFirst: false});
	
	$("#search-input").result(function(event, data, formatted) {
		searchIt();
	});
	
	//mouse move for tooltip
	$(this).mousemove(function(e){
		var posLeft = e.pageX - $("#tooltip").width() - 15;
		if (posLeft < 10) {
			posLeft = e.pageX+10;
		}
		$("#tooltip-thumb").css("top", e.pageY - 30);
		$("#tooltip").css("left", posLeft);
		$("#tooltip").css("top", e.pageY - 5);
		
		if ($("#plan").attr("id")) {
			$("#plan").css("left", posLeft - 300);
			$("#plan").css("top", e.pageY + 20);
		}
	});
	
	$("span.pers").click(function(){
		window.location = $(this).attr("rel");
	});

	$("ul#sidebar li").click(function(){
		var url = $(this).attr("rel");

		var subs = $(this).find('div.subnav ul.navigation li.navigation a');
		if (subs.length > 0) {
			//window.location $('')
			window.location = $(subs[0]).attr('href');
		}
		
		if (url) {
			var cls = $(this).attr("class");
	
			if (cls.indexOf("_blank") != -1) {
				window.open(url);
			} else {
				window.location = url;	
			}
		} else {
			var origId = $(this).attr("id");
			if (origId) {	
				$("ul#sidebar li.active").each(function(){
					oldMenu = $(this);
				});		
				
				openMenu($(this));
		
			}
			cufon();

			fixColumns();
		}
	});
});

var oldMenu = null;

function closeMenu()
{
	if (oldMenu) {
		oldMenu.removeClass("active");
		
		if (tweening) {
			timing = true;
			oldMenu.find("div").hide("slow",function(){
				timing = false;
				fixColumns();
			});
		} else {
			oldMenu.find("div").hide();
			fixColumns()
		}
	}
}

function openMenu(evt)
{
	closeMenu();
	var obj = evt.find("div");
	var css = evt.attr("class");
	if (css.indexOf("active") == -1) {
		evt.addClass("active");
		oldMenu = evt;
		if (tweening) {
			timing = true;
			obj.show("slow",function(){
				timing = false;
				fixColumns();
			});
		} else {
			obj.show(0, function(){
				fixColumns();
			});
		}
	}
	
}

/**
 * flash calendar stuff
 */
function hideTooltip()
{
	$("#tooltip").hide();
}
 
function openWin()
{
	window.open('http://esro5.basic-orange.be/digipolis/tickets/my_basket.asp','welcome','width=655,height=600, scrollbars=yes, resizable=yes');
}

function showTooltip(content)
{
	if(document.body){
		$("#tooltip").remove();
		var aElement=document.createElement("div");
		aElement.id = "tooltip";
		document.body.appendChild(aElement);
	}
	
	$("#tooltip").html(content);
	$("#tooltip").show();
}

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 alt='tooltip' src='" + rel + "' class='tooltip' />";
		$("#tooltip-thumb").css('z-index', 1000);
		$("#tooltip-thumb").html(content);
		$("#tooltip-thumb").show();
	}
}

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

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

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


var curImage = "";
var curAlt = "";
function replaceImage() 
{
	$('#mainimage').attr('src', curImage);
	$('#mainimage').attr('alt', curAlt);
	$('#mainimage').load(function(){
		$(this).fadeIn(500);
	});
}

