$(document).ready(function(){
	AddMenuHovers();

	if($("#flash").length>0)
	{
		$(window).bind("resize",resize);
		resize();
	}

});

window.setTimeout("checklocation()",300);
navigatelocation.title=document.title;

function navigatelocation(url)
{
	checklocation.currentlocation=url;
	document.location.href=url;	
	document.title = navigatelocation.title;

}
function checklocation()
{
	checklocation.currentlocation=checklocation.currentlocation || "#";
	var s=document.location.href.match(/\#([a-z]+)\:([^#]*)$/i);
	var operation=null;
	var item=null;
	var newlocation=s ? s[0] : "#";
	if (s)
	{
		operation=s[1];
		item=s[2];
	}
	operation=operation || "";
	
	if(newlocation == "#")
	{
		document.title = navigatelocation.title;//"Nederland bloeit";
	}
	
	if (checklocation.currentlocation!=newlocation)
	{
		checklocation.currentlocation=newlocation;
		switch(operation)
		{
			case "item":
				OpenItem(Number(item));
				break;
			case "zoeken":
				OpenSearch(unescape(item));
				break;
			case "":
				if (newlocation=="#")				
					disablePopup(true);
				break;
		}
		
	}
	
	window.setTimeout("checklocation()",300);
}




function resize()
{
		AutoResize($("#flash"),{marginBottom:5});
		centerPopupv2($("#homead"));
}

function AddLightbox()
{
	try
	{
		hidesite({color:'#ccc'})
		
	}finally
	{
		
	}
}

function AddMenuHovers()
{
	$("#nav li:first,#header .logo .hometop").unbind('click');
	$("#nav li:first,#header .logo .hometop").bind('click',function()
	{
		LaadHome()
		return false;
	});
	
	$("#nav li").hover(
      function () {$(this).addClass("hover");}, 
      function () {$(this).removeClass("hover");}
    );
}

var addthis_share = 
{ 
templates: {twitter: 'Bekijk \'{{description}}\' op de Nederland Bloeit website: {{url}}'
,hyves: 'Bekijk \'{{description}}\' op de Nederland Bloeit website: {{url}}'}
}

function CloseItemClicks()
{
	//Click the x event!
	$("#lightboxClose").click(function(){
		disablePopup();
	});
	
	//Click out event!
	$("#backgroundPopup").click(function(){
		disablePopup();
	});
	
	//Press Escape event!
	$(document).keypress(function(e){
		if(e.keyCode==27 && popupStatus==1){
			disablePopup();
		}
	});
}

function OpenItem(itemid)
{
	var itemurl = "/templates/dispatcher.asp?page_id=showitem&action=10223056&r=" + Math.random() + "&itemid=" + itemid;
	var data = {itemid:itemid};
	cancelPopup=false;
	$("#lightbox .lightboxContent").load(itemurl,data,function(){
		if (cancelPopup) 
		{
			$("#lightbox .lightboxContent").html("");
			return;
		}
		PauseFlash(true);//pauze animation

		$("#lightbox .lightboxFooter .left .socialmedia").remove();
		$("#lightbox .lightboxFooter .left").append($(".socialmedia"));
		
		addthis.toolbox(".addthis_toolbox");
		navigatelocation("#item:"+itemid);
		loadPopup($("#lightbox")); //open popup
	});

}


function PauseFlash(pause)
{
	var swfObject = navigator.appName.indexOf("Microsoft") != -1 ? window["kaart"] : document["kaart"] ;
	if(swfObject)
	{
		if(pause)
			swfObject.kaart_PauseAnimations();
		else
			swfObject.kaart_ResumeAnimations();
	}
}


function OpenSearch(searchtext)
{

	var itemurl = "/templates/dispatcher.asp?page_id=searchresults&search=" + searchtext + "&r=" + Math.random();
	
	if(searchtext=='')
		itemurl = "/templates/dispatcher.asp?page_id=zoekscherm&r=" + Math.random();
	PauseFlash(true);
	$.ajax({
	type: "POST",
	url: itemurl,
	data:{search:searchtext},
	success: function(msg)
	{
		navigatelocation("#zoeken:"+escape(searchtext));
		$("#lightbox .lightboxContent").html(msg);
		$("#lightbox .lightboxContent form:first").wrap("<div class=\"searchresult\">");
		loadPopup($("#lightbox"));
	}
	});
	
}

function AddSearchPagingActions()
{
	$(".pagingfooter a").unbind('click');
	$(".pagingfooter a").bind('click', SearchPagingAction);
}

function SearchPagingAction(e)
{
	$.ajax({
	type: "GET",
	url: e.currentTarget.href,
	success: function(msg)
	{
		if($("#lightbox .lightboxContent .searchresult").length==0)
			$("#lightbox .lightboxContent").append("<div class=\"searchresult\"></div>");
		$("#lightbox .lightboxContent .searchresult").html(msg);
		loadPopup($("#lightbox"));
	}
	});
	return false;
}

function OpenSearchItem(itemid)
{
	var itemurl = "/templates/dispatcher.asp?page_id=showitem&action=10223056&r=" + Math.random();
	var data = {itemid:itemid,searchitem:true};

	$.ajax({
	type: "POST",
	url: itemurl,
	data: data,
	success: function(msg)
		{
			$("#lightbox .lightboxContent .searchresult").hide();
			$("#lightbox .lightboxContent .itemframe").remove();
			$("#lightbox .lightboxContent").append(msg);
			
			if($("#lightbox .lightboxContent .itemframe .rightcolumn .closesearchitem").length==0)
			{
				loadPopup($("#lightbox"));
			}
			navigatelocation("#item:"+itemid);
		}
	});
}

function CloseSearchItem()
{
	$("#lightbox .lightboxContent .searchresult").show();
	$("#lightbox .lightboxContent .itemframe").hide();
}

function SendCommentPost()
{
	var itemurl = "/templates/dispatcher.asp?page_id=itemcomment&r=" + Math.random();
	var data = {getcommentform:"true"};
	
	var form = $(".commentform form:first");
	$("input[name!=],textarea[name!=]",form).each(function(){
		data[this.name] = $(this).val();
		if(this.type!='hidden')
			$(this).val("");
	});
	
	if(data==null || !echeck(data.email) || data.comment=='')
	{
		//some emtpy fields
		if($("#lightbox .lightboxContent .commentform .message").length==0)
			$("#lightbox .lightboxContent .commentform").prepend("<div class=\"message\"></div>");
		$("#lightbox .lightboxContent .commentform .message").prepend("<b class=\"error\">Niet alle velden zijn (juist) ingevuld.</b>");
		RemoveObject($("#lightbox .lightboxContent .commentform b.error"), 2500);
		return false;
	}
	
	$.ajax({
	type: "POST",
	url: itemurl,
	data: data,
	success: function(msg)
		{
			if($("#lightbox .lightboxContent .commentform .message").length==0)
				$("#lightbox .lightboxContent .commentform").prepend("<div class=\"message\"></div>");
			$("#lightbox .lightboxContent .commentform .message").html(msg);
			RemoveObject($("#lightbox .lightboxContent .commentform .message"), 2500);
		}
	});
}

function ReportComment(commentid)
{
	var itemurl = "/templates/dispatcher.asp?page_id=itemcomment&r=" + Math.random();
	var data = {reportcomment:"true",commentid:commentid};
	
	$.ajax({
	type: "POST",
	url: itemurl,
	data: data,
	success: function(msg)
		{
			var comment = $("#lightbox .lightboxContent li.comment[commentid="+commentid+"]");
			if($(".message",comment).length==0)
				$(comment).prepend("<div class=\"message\"></div>");		
			$(".message",comment).html(msg);
			
			RemoveObject($(".message",comment), 2500);
		}
	});
}

function PrintThis()
{
window.print();
}

function MailThis(itemid,itemdescription)
{
	if($(".actions .mail").hasClass("open"))
	{
		$("#lightbox .lightboxContent .rightcolumn .item .mailform").remove();
		$(".actions .mail").removeClass("open")
	}
	else
	{
		var itemurl = "/templates/dispatcher.asp?page_id=mailform&r=" + Math.random();
		var data = {itemid:itemid,itemdescription:itemdescription};
		
		$.ajax({
		type: "POST",
		url: itemurl,
		data: data,
		success: function(msg)
			{
				if($("#lightbox .lightboxContent .rightcolumn .item .mailform").length==0)
					$("#lightbox .lightboxContent .rightcolumn .item").prepend("<div class=\"mailform kaartform\"></div>");
				$("#lightbox .lightboxContent .rightcolumn .item .mailform").html(msg);
				$(".actions .mail").addClass("open")
			}
		});	
	}

	
}

function MailThisNow()
{
	var itemurl = "/templates/dispatcher.asp?page_id=mailform&r=" + Math.random();
	var data = {};
	
	var form = $(".mailform form:first");
	$("input[name!=],textarea[name!=]",form).each(function(){
		data[this.name] = $(this).val();
	});
	
	$.ajax({
	type: "POST",
	url: itemurl,
	data: data,
	success: function(msg)
		{
			if($("#lightbox .lightboxContent .rightcolumn .item .mailform").length==0)
				$("#lightbox .lightboxContent .rightcolumn .item").prepend("<div class=\"mailform\"></div>");
			$("#lightbox .lightboxContent .rightcolumn .item .mailform").html(msg);
			
			RemoveObject($("#lightbox .lightboxContent .rightcolumn .item .mailform"), 2500);
		}
	});
}

function RemoveObject(o,time)
{
	window.setTimeout(function(){
		$(o).remove();
	}, time);
}

function GetAbsolutePosition(element)
{
    var top=0,left=0;
    var count=3;
	
    while($(element).offsetParent() && count>0)
    {
        if (String($(element).attr("tagName")).toLowerCase()=="body") break;
        var position=$(element).position();
        top+=position.top;
        left+=position.left;
        element=$(element).offsetParent();
        count--;
    }
    return {left:left,top:top};
}

function AutoResize(element,config)
{
    config=config || {};
    var position=GetAbsolutePosition(element);

    $(element).height(
    $(window).height()-(position.top+(config.marginBottom || 0))
    )
    
    $(element).width(
    $(window).width()-(position.left+(config.marginRight || 0))
    )
    
}

function nieuwsbriefok()
{
	var itemurl = "/templates/dispatcher.asp?page_id=aanmelden_nieuwsbrief&r=" + Math.random() + "&action=done";
	
	$.ajax({
	type: "POST",
	url: itemurl,
	success: function(msg)
		{
			if($("#lightbox .lightboxContent .rightcolumn .item .nieuwsbriefform").length==0)
				$("#lightbox .lightboxContent .rightcolumn .item").prepend("<div class=\"nieuwsbriefform kaartform\"></div>");
			$("#lightbox .lightboxContent .rightcolumn .item .nieuwsbriefform").html(msg);
			$(".actions .nieuwsbrief").addClass("open")
			
			RemoveObject($("#lightbox .lightboxContent .rightcolumn .item .nieuwsbriefform"), 3000);
		}
	});
}

function OpenNieuwsbrief()
{
	if($(".actions .nieuwsbrief").hasClass("open"))
	{
		$("#lightbox .lightboxContent .rightcolumn .item .nieuwsbriefform").remove();
		$(".actions .nieuwsbrief").removeClass("open")
	}
	else
	{
		var itemurl = "/templates/dispatcher.asp?page_id=aanmelden_nieuwsbrief&r=" + Math.random();
		
		$.ajax({
		type: "POST",
		url: itemurl,
		success: function(msg)
			{
				if($("#lightbox .lightboxContent .rightcolumn .item .nieuwsbriefform").length==0)
					$("#lightbox .lightboxContent .rightcolumn .item").prepend("<div class=\"nieuwsbriefform kaartform\"></div>");
				$("#lightbox .lightboxContent .rightcolumn .item .nieuwsbriefform").html(msg);
				$(".actions .nieuwsbrief").addClass("open")
			}
		});
	}
}

function AanmeldenNieuwsbrief(e)
{
	var email = $(".nieuwsbriefform input[name=field1003]").val();
	if(!email)
		return false;
	$(e).parent().append("<iframe border=\"0\" height=\"1px\" width=\"1px\" src=\"/templates/dispatcher.asp?page_id=aanmelden_nieuwsbrief&action=getiframeform&email="+email+"\" id=\"iframe_nieuwsbrief\"></iframe>");
}

function PostFeedbackSuccess(data){
	$("div.itempostfeedback").html(data).animate({height:"50px"}, function(){$("div.itempostfeedback").css("display", "block");});
	var time_two = window.setTimeout('$("div.itempostfeedback").animate({height:"0px"}, function(){$("div.itempostfeedback").remove()});', 2500);
}

function PostFeedback(){
	var sendername = $("input[name=naam]").attr("value");
	var feedback = $("textarea[name=feedback]").attr("value");
	var postid = $("input[name=postid]").attr("value");
	var senderemail = $("input[name=email]").attr("value"); 
	
	if(senderemail!=undefined  && sendername!=undefined  && feedback != undefined )
	{
		if(echeck(senderemail))
		{
			var submit = {submit:"verzenden",itempostid:postid}
			$("form#feedbackform").attr("action","/templates/dispatcher.asp?page_id=itempostfeedback")			
			$("form#feedbackform").ajaxSubmit({success:PostFeedbackSuccess, data:submit})
		}
		else{
			$("form#feedbackform").prepend("<b class=\"error\">Email adres is niet valide.</b>");
			RemoveObject($("form#feedbackform b.error"), 2500);
			//return false;			
			//alert("Email adres is niet valide");
		}
	}else{
		$("form#feedbackform").prepend("<b class=\"error\">Niet alle velden zijn ingevuld.</b>");
		RemoveObject($("form#feedbackform b.error"), 2500);	
	}
	return false;
}

function ShowItemPostFeedbackForm(data)
{
	var formheight = '220px';
	var destinationobject = data.destinationobject;
	var postid = data.postid;

	var prevpostid = $("div.itempostfeedback").attr("postid");
	
	if(prevpostid==postid)
	{
		if($("div.itempostfeedback").css("height")=="0px")
		{
			$("div.itempostfeedback").load("/templates/dispatcher.asp?page_id=itempostfeedback&postid="+postid,{},
				function(data)
				{
					$("div.itempostfeedback").animate({height:formheight});
				});
		}
		else
		{
			$("div.itempostfeedback").animate({height:"0px"}, function(){$("div.itempostfeedback").css("display", "none");});
		}
	}else
	{
		$("div.itempostfeedback").remove();
		$(destinationobject).after("<div class=\"itempostfeedback kaartform\" postid=\""+postid+"\"></div>");
		
		$("div.itempostfeedback").load("/templates/dispatcher.asp?page_id=itempostfeedback&postid="+postid,{},
			function(data)
			{
				$("div.itempostfeedback").css("height","0px");
				$("div.itempostfeedback").css("display", "block");
				$("div.itempostfeedback").animate({height:formheight});	
			});
	}
}

function echeck(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 LaadHome()
	{
		var swfObject = navigator.appName.indexOf("Microsoft") != -1 ? window["kaart"] : document["kaart"] ;
		if(swfObject)
		{
			swfObject.laadHome(); // Call back into the Flash file
		}else{
			window.location = "/kaart";
		}
	}
	
	