jQuery.fn.center = function () {
	this.css("position","fixed");
	//Set the popup window to center
	this.css('top',  $(window).height()/2- this.height()/2);
	this.css('left', $(window).width()/2- this.width()/2);
    return this;
}

$.download = function(url, data, method, callback){
	var inputs = '';
	var iframeX;
	var downloadInterval;
	if(url && data){
		// remove old iframe if has
		if($("#iframeX")) $("#iframeX").remove();
		// creater new iframe
		iframeX= $('<iframe src="[removed]false;" name="iframeX" id="iframeX"></iframe>').appendTo('body').hide();
		if($.browser.msie){
			downloadInterval = setInterval(function(){
				// if loading then readyState is "loading" else readyState is "interactive"
				if(iframeX&& iframeX[0].readyState !=="loading"){
					callback();
					clearInterval(downloadInterval);
				}
			}, 23);
		} else {
			iframeX.load(function(){
					callback();
			});
		}
		data =data.split("&");
		//split params into form inputs
		$.each(data, function(p, val){
			inputs+='<input type="hidden" name="'+ unescape(val.split("=")[0]) +'" value="'+ val.split("=")[1] +'" />';
		});

		//create form to send request
		$('<form action="'+ url +data+'" method="'+ (method||'post') + '" target="iframeX">'+inputs+'</form>').appendTo('body').submit();//.remove();
	}
}

function repeat(str, n) {
  return new Array( n + 1 ).join( str );
}

$(function(){
   //-- add link to logo
   if($('a[href$="/nl/project"]').size()>0){
	   $('a[href$="/nl/project"]').parent().find("ul").remove();
   }
   $("#logo").wrap('<a href="/"></a>');

	var url =document.location.href.replace(document.location.protocol + "//" + document.location.host,"");

	if(url.indexOf('/nl/disciplines/specialisaties')!=-1){
		//-- create the dicipiles arrow
		//-- diciplines
		$("#menu_22").addClass("selected");
		for(i=42;i<47;i++){
			if($("#menu_"+i).attr("href")==url){
				var next_url = (i==42)?($("#menu_46").attr("href")):(((i-1)==46)?($("#menu_42").attr("href")):($("#menu_"+(i-1)).attr("href")));
				var prev_url = (i==46)?($("#menu_42").attr("href")):(((i+1)==47)?($("#menu_42").attr("href")):($("#menu_"+(i+1)).attr("href")));
				$('.brand_prev').attr("href",next_url);
				$('.brand_next').attr("href",prev_url);
				$("#menu_"+i).addClass("selected").addClass('preSelected');
			}


		}
	}
   //-- remove EN from website
   //$('a[href$="/gb"]').css("display","none");
   
	$("#greenspot_invite").each(function(){
			$(this).LightBoxForm({link:"#show_contact_me",validate:{
				rules: {
					naam: "required",
					emailadres:{
						required: true,
						email: true
					}
				},
				messages: {
					naam: "Naam is verplicht",
					emailadres:  {
						required: "Email-adres is verplicht",
						email: "Ongeldig emailadres"
					}
				}}
		});
	});

	$("#send_form").each(function(){
		$(this).LightBoxForm({
			beforeShow:function( ){
				$("#send_form #page_url").val(document.location.href);
				$("#send_form #page_title").val(document.title);
			},
			link:"#send_to_button_small",
			validate:{
				rules: {
					naam: "required",
					emailadres:{
						required: true,
						email: true
					}
				},
				messages: {
					naam: "Naam is verplicht",
					emailadres:  {
						required: "Email-adres is verplicht",
						email: "Ongeldig emailadres"
					}
				}
			}
			
		});
	});
	$("#employee_contact").each(function(){
			$(this).LightBoxForm({
			link:"#employees li",
			default_show:false,
			send_link:"#employee_contact_submit",
			beforeShow:function( ){
						$.post(document.location.href,  {
							"cms_module[]": 'customers',
							"cms_searchfield[0][]": 'contact_idx',
							"cms_searchvalue[0]": $("#employees li.hovered").attr("id").substring(3),
							"cms_template":"1679091c5a880faf6fb5e6087eb1b2dc"

						}, function(data){
								$("#employee_contact").addClass("top_frame").addClass("employee_contact_form");
								$("#employee_contact").html(data);
								$('#tranparent_layer').addClass("blocklayer").fadeTo("fast",0.2,function(){
									$(".top_frame").fadeTo("fast",1.0);
								});
								$("#employee_contact_submit").bind("click",function(){
									$.post(document.location.href,$("#employee_contact form").serialize(),function() {
										setTimeout(function(){
											$("#employee_contact form").each(function(){
													this.reset();
											});
											$(".top_frame").removeClass("top_frame").css("display","none");
											$("#tranparent_layer").fadeTo("slow",0.0,function(){
												$("#tranparent_layer").removeClass("blocklayer");
											});
										},500)
									});
								});
								$("#employee_contact").center().css("display","block");
								$("#employee_contact form").validate({
																			rules: {
																				naam: "required",
																				bericht: "required",
																				emailadres:{
																					required: true,
																					email: true
																				}
																			},
																			messages: {
																				naam: "Naam is verplicht",
																				emailadres:  {
																					required: "Email-adres is verplicht",
																					email: "Ongeldig emailadres"
																				},
																				bericht: "Bericht is verplicht"
																			}
																		});
						});
			}
		}
	);
	});
	$('#content_left a[href^=mailto:]').addClass("spacial_link");


});



var infopane="";
//-- preint preview
$(".top_frame.printpreview .close,#employee_contact .close").live("click",
	function(){
			$(".top_frame").removeClass("top_frame").css("display","none");
			$("#tranparent_layer").fadeTo("slow",0.0,function(){
				$("#tranparent_layer").removeClass("blocklayer");
			});
			return false;
	}
);

var print_preview ={
	show:function(){
		infopane="print_preview";
		$(".printpreview").remove();
		var html_content  = '<h3> Print preview</h3><a href="#" class="close">Sluiten</a><iframe id="print_frame"></iframe><a href="#" onclick="print_preview.do_print(); return false;" class="do_print">Print</a>';
		if($(".top_frame").length>0){
			$(".top_frame").addCLass("printpreview").html(html_content);
		}else{
			$("body").append($("<div/>").addClass("top_frame").addClass("printpreview").html(html_content));
		}
		$("#print_frame")[0].contentWindow.document.write( '<html<head><title>'+document.title+'</title><script type="text/javascript" src="./jquery142.js"></script><script src="./jquery.clearlinks.js" type="text/javascript"></script><link rel="stylesheet" type="text/css" href="http://nieuwe.dartgroup.nl/styles/print.css"/></head><body>'+$("body").html()+'</body></html>');
		$("#print_frame")[0].contentWindow.document.close();
		//-- remove the print frame
		$("#print_frame").load(function(){
			$("#print_frame").contents().find("iframe").remove();
		});
		$('#tranparent_layer').addClass("blocklayer").fadeTo("fast",0.2,function(){
			$(".top_frame").fadeTo("fast",1.0);
		});
		$(".top_frame").center().css("display","block");
//		show_info_box();
		return false;
	},
	hide:function (){
	},
	do_print:function(){
		$("#print_frame").focus();
		$("#print_frame")[0].contentWindow.print();
		$(".top_frame").css("display","none");
		$("#tranparent_layer").fadeTo("slow",0.0,function(){
			$("#tranparent_layer").removeClass("blocklayer");
		});
		//close_info_box();
	}
}
//-- Printbasket
var print_basket ={
	show:function(){
		infopane="print_basket";
		$(".top_frame").html($("#print_basket").html());
		$("#print_basket").html("")
		if(print_basket_items.length>0){
			$(print_basket_items).each(function(index){
				$("#"+print_basket_items[index]).attr("checked","checked");
			});
		}
		$(".top_frame input").bind("click",function(){
			if($(this).attr("checked")==false){
				print_basket.remove_from_basket($(this).attr("id"));
			}else{
				print_basket_items.push($(this).attr("id"));
				$.post(document.location.href,{"page":$(this).attr("id"),"action":"add_to_printbasket"},function(){});
			}
		});
		show_info_box();
		return false;
	},
	hide:function (){
		$("#print_basket").html($(".top_frame").html());
		$(".top_frame").html("")
	},
	add_to_basket:function(l_sPage){
		$.post(document.location.href,{"page":l_sPage,"action":"add_to_printbasket"},function(){});
		print_basket_items.push(l_sPage);
		this.show();
	},
	remove_from_basket:function(l_sPage){
		for (key in print_basket_items) {
			if (print_basket_items[key] == l_sPage) {
				print_basket_items.splice(key, 1);
			}
		}
		$.post(document.location.href,{"page":l_sPage,"action":"remove_from_printbasket"},function(){});
	},
	bussy:function(){
		$(".print_basket_bussy").css("display","block");
	},
	done:function(){
		$(".print_basket_bussy").css("display","none");
		close_info_box();
	},
	do_print:function(){
		//-- add iframe with all the data
		// remove old iframe if has
		if($("#iframePRINT")) $("#iframePRINT").remove();
		// creater new iframe
		iframePRINT= $('<iframe src="[removed]false;" name="iframePRINT" id="iframePRINT"></iframe>').css({"visibility":"hidden","height":"1px"}).appendTo('body');
		$("#iframePRINT").focus();
		$("#iframePRINT")[0].contentWindow.print();
	},
	do_merge_download:function(){
		$.download(document.location.href, $("#print_basket_form").serialize()+"&cms_printbasket=merge_download","post", print_basket.done());
		return false;
	},
	do_compressed_download:function(){
		$.download(document.location.href, $("#print_basket_form").serialize()+"&cms_printbasket=compressed_download","post", print_basket.done());
		return false;
	}
}


function column_pager($wrapper_id,$pager_id){

	var pages=0;
	var pager="";
	//alert($wrapper_id+""+$($wrapper_id+" .column").length)
	$($wrapper_id+" .column").each(function(index,item){
			if($(item).html()!=""&&$(item).html()!="<p>&nbsp;</p>"){
				pages++;
				pager+='<a href="#" id="'+pages+'" class="small_pager'+(pages==1?" selected":"")+'">'+pages+'</a>';
			}
		}
	);
	if(pages>1){
		pager = '<a href="#" class="previous"></a>'+pager+'<a href="#" class="next active"></a>';
	}else{
		pager="";
	}
	$($wrapper_id).addClass("wrapper-set");
	$($pager_id).append(pager);
	var currentPage=1;
	$($pager_id+" > a").bind("click",function(){
					//var leftSwing = ($("#wrapper .column:nth-child(1)").width()*$(this).attr("id")+1)-$("#wrapper .column:nth-child(1)").width();
					if($(this).hasClass("next")){
						page = $($pager_id+" .selected:first").attr("id");
						page++;
						$($pager_id+" .previous").addClass("active");
						if(page>pages){
							page=pages;
							$(this).removeClass("active");
							return false;
						}else{
							$($pager_id+" .selected").removeClass("selected").next().addClass("selected");
						}
					}else if($(this).hasClass("previous")){
						page = $($pager_id+" .selected:first").attr("id");
						page--;
						$($pager_id+" .next").addClass("active");
						if(page<=0){
							page==1;
							$(this).removeClass("active");
							return false;
						}else{
							$($pager_id+" .selected").removeClass("selected").prev().addClass("selected");
						}
					}else{
						page=$(this).addClass("selected").siblings().removeClass("selected");
						page=$(this).attr("id");
					}
					if(page==1){
						$($pager_id+" .previous").removeClass("active");
					}else{
						$($pager_id+" .previous").addClass("active");
					}
					if(page<pages){
						$($pager_id+" .next").addClass("active");
					}else{
						$($pager_id+" .next").removeClass("active");
					}
					singleWidth=$($wrapper_id +" .column:nth-child(1)").outerWidth();
					$wrapper = $($wrapper_id);
					var dir = page < currentPage ? 1 : -1,
					n = Math.abs(currentPage - page),
					left = singleWidth * dir * n;
//alert($wrapper_id+""+dir+" "+left)
//scrollLeft : '+=' + left
					$wrapper.filter(':not(:animated)').animate({
					
						marginLeft : '+=' + left
					}, 500, function(){
						
						//if page == last page - then reset position
						if(page > pages){
							$wrapper.scrollLeft(singleWidth);
							page = 1;
						}else if(page == 0){
							page = pages;
							$wrapper.scrollLeft(singleWidth * pages);
						}
						currentPage = page;
					});
					return false;
				});
}


//-- set coraoucel on window load, this ensures that all images ar loaded befor rendering caroucel.
$(window).load(function(){
		if($('.infiniteCarousel').length>0){
			$('.infiniteCarousel').DartCarousel()
		}
	}
);

$().ready(function() {
	//-- pad diciplines
	if($('.diciplines>div').length>0){
		if (($('.diciplines>div').length % 6) != 0) {
		  $('.diciplines').append(repeat('<div class="empty" />', 6 - ($('.diciplines>div').length % 6)));
		}
	}
	//-- padd recent items
	if($('#container .recent_item').length>0){
		if (($('#container .recent_item').length % 6) != 0) {
		  $('#container').append(repeat('<div class="recent_item_empty" />', 6 - ($('#container .recent_item').length % 6)));
		}
	}

	//update_text columnize
	if($(".update_text").length>0){
		$(".update_text").DARTcolumns({default_hide:false,pager_selector:"#pager",target:".update_text"});
	}
	
	if($(".columnize_area").length>0){
		$(".columnize_area").removeClass("columnize_area").wrapInner('<div class="columnize_area"/>').append($('<div id="col_pager"/>'));
		$(".columnize_area").DARTcolumns({default_hide:false,pager_selector:"#col_pager",target:".columnize_area"});
	}

	// validate signup form on keyup and submit
	//$("#mailform").validate(employee_contact_form.settings);
	var hoverdelay="";
	var previous_hover="";

//	$("#employees li").bind("click",function(){
//		employee_contact_form.show($(this).attr("id"));
//		return false;
//	});

	$(".recent_item,.employee,.customer,.dashboardBox,.diciplines>div.category_menu").hover(
		function(){
			clearTimeout(hoverdelay);
			if(previous_hover!=""){
				previous_hover.removeClass("hovered").animate({opacity: 0.3},500);
			}else{
				$(this).siblings(":not(.hovered)").not(':animated').animate({opacity: 0.3},100);
			}
			previous_hover =$(this);
			$(this).addClass("hovered").animate({opacity: 1},10);
		},
		function(){
			clearTimeout(hoverdelay);
			hoverdelay = setTimeout(function(){
						previous_hover.removeClass("hovered").not(':animated').siblings().animate({opacity: 1},500);
						$(this).removeClass("hovered");
						previous_hover ="";
				},500);
		}
	);
	window.content_cache="";
	$(".employee,.recent_item,.customer,.dashboardBox,.diciplines>div.category_menu").hover(
			function(){
				if(window.content_cache==""){
					window.content_cache = $('.content_right_middle').html();
				}
				$('.content_right_middle').html($('> div',$(this)).html());
				//-- typeface render item! function added by PK.
				if($(this).hasClass("employee")){
					$('.content_right_middle h4').addClass("post_rendered").css({"font-weight":"normal","font-family":"DartFauxCRA-M"});
					_typeface_js.renderitem('.content_right_middle h4');
					$('.content_right_middle h3').addClass("post_rendered").css({"font-weight":"normal","font-family":"DartFauxCRA-M"});
					_typeface_js.renderitem('.content_right_middle h3');
				}else if($(this).hasClass("dashboardBox")||$(this).hasClass("category_menu")||$(this).hasClass("customer")){
					$('.content_right_middle h3').addClass("post_rendered").css({"font-weight":"normal","font-family":"DartFauxCRA-M"});
					_typeface_js.renderitem('.content_right_middle h3:first');
				}else{
					$('.content_right_middle h2 ').addClass("post_rendered").css({"font-weight":"normal","font-family":"DartFauxCRA-M"});
					_typeface_js.renderitem('.content_right_middle h2:first');
				}
			},
			function(){
				$('.content_right_middle').html(window.content_cache);
				$('.post_rendered').remove();
			}
		);
	$("#print_button_small").bind("click",function(){
		print_preview.show();
		return false;
	});

	//-- tmp data
	$("#print_all").bind("click",function(){
		print_basket.do_print();
		return false;
	});
	$("#add_to_print_button_small").bind("click",function(){
		print_basket.add_to_basket(print_id);
		return false;
	});

///-- defaults
//
	// Menu script
	$('#main_menu>div>div ul>li').mouseover(function(){
		$(this).find('a:eq(0)').addClass("selected")
		$(this).find('ul:eq(0)').css('display','block');
	});
	//--set hover class
	$('#main_menu>div>div ul>li').mouseout(function(){
		if(!$(this).find('a:eq(0)').hasClass('preSelected')){
			$(this).find('a:eq(0)').removeClass("selected")
		}
		$(this).find('ul:eq(0)').css('display','none');
	});
	$('#main_menu>div>div>ul>li:has(ul)').each(function(){
		$(">a>span",$(this)).append($('<span class="menu_arrow">&nbsp;</span>'))
	});
	//-- set default selected
	$('#main_menu').find('a.selected:eq(0)').addClass("preSelected");
	if($('#main_menu a.selected').length>0){
		var target = $('#main_menu a.selected').parents("div:first")
		if($("body").hasClass("home")||$("body").hasClass("greenspot")){
				target = target.parent();
		}
		target.addClass( 'hoverMainMenu' ).addClass( 'preSelected' );
	}
	$('#main_menu  li').hover(
		function(){
			var target = $(this).parents("div:first");
			if($("body").hasClass("home")||$("body").hasClass("greenspot")){
				target = target.parent();
			}
			target.addClass( 'hoverMainMenu' );
		}
		,function(){
			var target = $(this).parents("div:first");
			if($("body").hasClass("home")||$("body").hasClass("greenspot")){
				target = target.parent();
			}
			if(target.hasClass("preSelected")||$("li.level_2.selected").length!=0|| $(".selected",target).length!=0){
				return;
			}
			target.removeClass( 'hoverMainMenu' );
		}
	);
		//-- approach sub menu
		if($("#content_right.approach").length>0){
			if($(".content_right_middle .level_2.selected").length>0){
				$(".content_right_middle .level_2:not(.selected)").addClass("inactive");
			}
		}


	//Background color changer
	randomnumber=Math.floor(Math.random()*5);
	switch(randomnumber){
		case 5:
		case 4:
			$('body.home').css('background-image', 'url(/images/img_bg_blauw.jpg)');
			$('body.home').css('background-color', '#00a4e3');
			break;
		case 3:
			$('body.home').css('background-image', 'url(/images/img_bg_paars.jpg)');
			$('body.home').css('background-color', '#624b83');
			break;
		case 2:
//			$('body.home').css('background-image', 'url(/images/img_bg_groen.jpg)');
//			$('body.home').css('background-color', '#d0da00');
//			break;
		case 1:
			$('body.home').css('background-image', 'url(/images/img_bg_geel.jpg)');
			$('body.home').css('background-color', '#efbd06');
			break;
		default:
			$('body.home').css('background-image', 'url(/images/img_bg_roze.jpg)');
			$('body.home').css('background-color', '#f3118e');
			break;
	}
	//-- check if a customer is seeclted
	if($("#portfolio li.level_2.selected").length>0){
		//-- hide the "customer name" in the 'more' menu
		$("a.spacial_link.customer_name").css("display","none");
		//brand_list
		var item = $("#portfolio li.level_2.selected:first");
		var first = item.siblings().filter(":first");
		var last = item.siblings().filter(":last");
		var nextItem = item.next();
		var prevItem = item.prev();
		if($("a",prevItem).attr("href")!=undefined){
			$(".brand_list a:first").attr("href",$("a",prevItem).attr("href"));
		}else{
			$(".brand_list a:first").attr("href",$("a",last).attr("href"));
		}
		if($("a",nextItem).attr("href")!=undefined){
			$(".brand_list a:last").attr("href",$("a",nextItem).attr("href"));
		}else{
			$(".brand_list a:first").attr("href",$("a",first).attr("href"));
		}
	}
	if($("#portfolio li a.level_1.selected").length>0&&$("a.spacial_link.speciality").length>0&&$("#portfolio li.level_2.selected").length==0){
		$("a.spacial_link.speciality").css("display","none");
	}

	$(".disp_1").bind( "click",function(){
			return false;
		}
	).css("cursor","default");

	//Search box search term replace
	$('#searchvalue').bind('focus', function(){
		if($(this).val() == 'Zoek'){
			$(this).val('');
		}
	});

	$('#searchvalue').bind('blur', function(){
		if($(this).val() == ''){
			$(this).val('Zoek');
		}
	});

	// Populate the contact input box:
	var defaultContactFromVal = 'Straat, Plaats';
	$("#contactFrom").val( defaultContactFromVal ).focus(function(){
		if ( $(this).val() == defaultContactFromVal ) {
			$(this).val( '' );
		}
	}).blur(function(){
		if ( $(this).val() == '' ) {
			$(this).val( defaultContactFromVal );
		}
	});

	$( '#routeBox' ).submit(function(){

		$( '#showRoute' ).trigger( 'click' );
		return false;
	});

	$( '#showRoute' ).click(function(){

		var address = $( '#contactFrom' ).val();

		this.href = 'http://maps.google.com/maps?f=d&source=s_d&saddr=' + address + '&daddr=Singel+68,+1015+AC+Amsterdam,+Netherlands+(Dart)&hl=nl&mra=ls&sll=52.408912,4.908142&sspn=0.147232,0.528374&ie=UTF8&z=10';

		window.location.href = this.href;

		return false;
	});
});
