// -----------------------------------------------------------------------------------
// simplyScroll 1.0.4 - a scroll-tastic jQuery plugin
//
// http://logicbox.net/jquery/simplyscroll
// http://logicbox.net/blog/simplyscroll-jquery-plugin
// http://plugins.jquery.com/project/simplyScroll
//
// Copyright (c) 2009 Will Kelly - http://logicbox.net
//
// Dual licensed under the MIT (MIT-LICENSE.txt)
// and GPL (GPL-LICENSE.txt) licenses.
//
// Last revised: 03/07/2009 21:13
// -----------------------------------------------------------------------------------
(function($){$.fn.simplyScroll=function(o){return this.each(function(){new $.simplyScroll(this,o);});};var defaults={className:'simply-scroll',frameRate:24,speed:1,horizontal:true,autoMode:'off',pauseOnHover:true,startOnLoad:false,localJsonSource:'',flickrFeed:'',jsonImgWidth:240,jsonImgHeight:180};$.simplyScroll=function(el,o){var self=this;this.o=$.extend({},defaults,o||{});this.auto=this.o.autoMode!=="off"?true:false;this.$list=$(el);this.$list.addClass('simply-scroll-list').wrap('<div class="simply-scroll-clip"></div>').parent().wrap('<div class="'+this.o.className+' simply-scroll-container"></div>');if(!this.o.auto){this.$list.parent().parent().prepend('<div class="simply-scroll-forward"></div>').prepend('<div class="simply-scroll-back"></div>');}
if(this.o.flickrFeed){$.getJSON(this.o.flickrFeed+"&format=json&jsoncallback=?",function(data){json=[];$.each(data.items,function(i,item){json.push({"src":item.media.m,"title":item.title,"link":item.link});});self.renderData(json);});}else if(this.o.localJsonSource){$.getJSON(this.o.localJsonSource,function(json){self.renderData(json);});}else{if(!this.o.startOnLoad){this.init();}else{$(window).load(function(){self.init();});}}};$.simplyScroll.fn=$.simplyScroll.prototype={};$.simplyScroll.fn.extend=$.simplyScroll.extend=$.extend;$.simplyScroll.fn.extend({init:function(){this.$items=this.$list.children();this.$clip=this.$list.parent();this.$container=this.$clip.parent();if(!this.o.horizontal){this.itemMax=this.$items.eq(0).outerHeight(true);this.clipMax=this.$clip.height();this.dimension='height';this.moveBackClass='simply-scroll-btn-up';this.moveForwardClass='simply-scroll-btn-down';}else{this.itemMax=this.$items.eq(0).outerWidth(true);this.clipMax=this.$clip.width();this.dimension='width';this.moveBackClass='simply-scroll-btn-left';this.moveForwardClass='simply-scroll-btn-right';}
this.posMin=0;this.posMax=this.$items.length*this.itemMax;this.$list.css(this.dimension,this.posMax+'px');if(this.o.autoMode=='loop'){var addItems=Math.ceil(this.clipMax/this.itemMax);this.$items.slice(0,addItems).clone(true).appendTo(this.$list);this.posMax+=(this.clipMax-this.o.speed);this.$list.css(this.dimension,this.posMax+(this.itemMax*addItems)+'px');}
this.interval=null;this.intervalDelay=Math.floor(1000/this.o.frameRate);while(this.itemMax%this.o.speed!==0){this.o.speed--;if(this.o.speed===0){this.o.speed=1;break;}}
var self=this;this.trigger=null;this.funcMoveBack=function(){self.trigger=this;self.moveBack();};this.funcMoveForward=function(){self.trigger=this;self.moveForward();};this.funcMoveStop=function(){self.moveStop();};this.funcMoveResume=function(){self.moveResume();};if(this.auto){if(this.o.pauseOnHover){this.$clip.hover(this.funcMoveStop,this.funcMoveResume);}
this.moveForward();}else{this.$btnBack=$('.simply-scroll-back',this.$container).addClass('simply-scroll-btn'+' '+this.moveBackClass+' '+'disabled').hover(this.funcMoveBack,this.funcMoveStop);this.$btnForward=$('.simply-scroll-forward',this.$container).addClass('simply-scroll-btn'+' '+this.moveForwardClass).hover(this.funcMoveForward,this.funcMoveStop);}},moveForward:function(){var self=this;this.movement='forward';if(this.trigger!==null){this.$btnBack.removeClass('disabled');}
self.interval=setInterval(function(){if(!self.o.horizontal&&self.$clip[0].scrollTop<(self.posMax-self.clipMax)){self.$clip[0].scrollTop+=self.o.speed;}else if(self.o.horizontal&&self.$clip[0].scrollLeft<(self.posMax-self.clipMax)){self.$clip[0].scrollLeft+=self.o.speed;}else if(self.o.autoMode=='loop'){self.resetPos();}else{self.moveStop(self.movement);}},self.intervalDelay);},moveBack:function(){var self=this;this.movement='back';if(this.trigger!==null){this.$btnForward.removeClass('disabled');}
self.interval=setInterval(function(){if(!self.o.horizontal&&self.$clip[0].scrollTop>0){self.$clip[0].scrollTop-=self.o.speed;}else if(self.o.horizontal&&self.$clip[0].scrollLeft>0){self.$clip[0].scrollLeft-=self.o.speed;}else if(self.o.autoMode=='loop'){self.resetPos();}else{self.moveStop(self.movement);}},self.intervalDelay);},moveStop:function(moveDir){clearInterval(this.interval);if(this.trigger!==null){if(typeof moveDir!="undefined"){$(this.trigger).addClass('disabled');}
this.trigger=null;}
if(this.auto){if(this.o.autoMode=='bounce'){moveDir=='forward'?this.moveBack():this.moveForward();}}},moveResume:function(){this.movement=='forward'?this.moveForward():this.moveBack();},resetPos:function(){if(!this.o.horizontal){this.$clip[0].scrollTop=0;}else{this.$clip[0].scrollLeft=0;}},renderData:function(json){if(json.length>0){var self=this;$.each(json,function(i,item){$("<img/>").attr({src:item.src,title:item.title,alt:item.title,width:self.o.jsonImgWidth,height:self.o.jsonImgHeight}).appendTo(self.$list);});this.init();}}});})(jQuery);

// -----------------------------------------------------------------------------------
// JCAROUSELLITE 1.0.1
// -----------------------------------------------------------------------------------
(function($){$.fn.jCarouselLite=function(o){o=$.extend({btnPrev:null,btnNext:null,btnGo:null,mouseWheel:false,auto:null,speed:200,easing:null,vertical:false,circular:true,visible:3,start:0,scroll:1,beforeStart:null,afterEnd:null},o||{});return this.each(function(){var b=false,animCss=o.vertical?"top":"left",sizeCss=o.vertical?"height":"width";var c=$(this),ul=$("ul",c),tLi=$("li",ul),tl=tLi.size(),v=o.visible;if(o.circular){ul.prepend(tLi.slice(tl-v-1+1).clone()).append(tLi.slice(0,v).clone());o.start+=v}var f=$("li",ul),itemLength=f.size(),curr=o.start;c.css("visibility","visible");f.css({overflow:"hidden",float:o.vertical?"none":"left"});ul.css({margin:"0",padding:"0",position:"relative","list-style-type":"none","z-index":"1"});c.css({overflow:"hidden",position:"relative","z-index":"2",left:"0px"});var g=o.vertical?height(f):width(f);var h=g*itemLength;var j=g*v;f.css({width:f.width(),height:f.height()});ul.css(sizeCss,h+"px").css(animCss,-(curr*g));c.css(sizeCss,j+"px");if(o.btnPrev)$(o.btnPrev).click(function(){return go(curr-o.scroll)});if(o.btnNext)$(o.btnNext).click(function(){return go(curr+o.scroll)});if(o.btnGo)$.each(o.btnGo,function(i,a){$(a).click(function(){return go(o.circular?o.visible+i:i)})});if(o.mouseWheel&&c.mousewheel)c.mousewheel(function(e,d){return d>0?go(curr-o.scroll):go(curr+o.scroll)});if(o.auto)setInterval(function(){go(curr+o.scroll)},o.auto+o.speed);function vis(){return f.slice(curr).slice(0,v)};function go(a){if(!b){if(o.beforeStart)o.beforeStart.call(this,vis());if(o.circular){if(a<=o.start-v-1){ul.css(animCss,-((itemLength-(v*2))*g)+"px");curr=a==o.start-v-1?itemLength-(v*2)-1:itemLength-(v*2)-o.scroll}else if(a>=itemLength-v+1){ul.css(animCss,-((v)*g)+"px");curr=a==itemLength-v+1?v+1:v+o.scroll}else curr=a}else{if(a<0||a>itemLength-v)return;else curr=a}b=true;ul.animate(animCss=="left"?{left:-(curr*g)}:{top:-(curr*g)},o.speed,o.easing,function(){if(o.afterEnd)o.afterEnd.call(this,vis());b=false});if(!o.circular){$(o.btnPrev+","+o.btnNext).removeClass("disabled");$((curr-o.scroll<0&&o.btnPrev)||(curr+o.scroll>itemLength-v&&o.btnNext)||[]).addClass("disabled")}}return false}})};function css(a,b){return parseInt($.css(a[0],b))||0};function width(a){return a[0].offsetWidth+css(a,'marginLeft')+css(a,'marginRight')};function height(a){return a[0].offsetHeight+css(a,'marginTop')+css(a,'marginBottom')}})(jQuery);





// -----------------------------------------------------------------------------------
// JQUERY VALIDATION -  GENERAL USE
// -----------------------------------------------------------------------------------
jQuery.extend(jQuery.validator.messages, {
        required: "required",
        remote: "&nbsp;",
        email: "invalid",
        url: "invalid",
        date: "invalid",
        dateISO: "invalid",
        number: "invalid",
        digits: "invalid",
        creditcard: "invalid",
        equalTo: "not_equal",
        accept: "check",
        maxlength: jQuery.validator.format("too long"),
        minlength: jQuery.validator.format("too short"),
        rangelength: jQuery.validator.format("invalid"),
        range: jQuery.validator.format("invalid"),
        max: jQuery.validator.format("invalid"),
        min: jQuery.validator.format("invalid")
});

/*
 * Localized default methods for the jQuery validation plugin.
 * Locale: NL
 */
jQuery.extend(jQuery.validator.methods, {
	date: function(value, element) {
		return this.optional(element) || /^\d\d?[\.\/-]\d\d?[\.\/-]\d\d\d?\d?$/.test(value);
	},
	number: function(value, element) {
		return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value);
	}
});

/* Localize datepicker for NL/DE/EN */
jQuery(function($){
	 $.datepicker.regional['nl'] = {
			 closeText: 'Sluiten',
			 prevText: 'vorige',
			 nextText: 'volgende',
			 currentText: 'Vandaag',
			 monthNames: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'],
			 monthNamesShort: ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
			 dayNames: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],
			 dayNamesShort: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'],
			 dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
			 weekHeader: 'Wk',
			 dateFormat: 'dd-mm-yy',
			 firstDay: 1,
			 isRTL: false
			 };

		$.datepicker.regional['de'] = {
			closeText: 'schließen',
			prevText: '&#x3c;zurück',
			nextText: 'Vor&#x3e;',
			currentText: 'heute',
			monthNames: ['Januar','Februar','März','April','Mai','Juni',
			'Juli','August','September','Oktober','November','Dezember'],
			monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
			'Jul','Aug','Sep','Okt','Nov','Dez'],
			dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
			dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
			dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
			weekHeader: 'Wo',
			dateFormat: 'dd.mm.yy',
			 firstDay: 1,
			 isRTL: false
			};

		$.datepicker.regional['en'] = {
			closeText: 'Done',
			prevText: 'Prev',
			nextText: 'Next',
			currentText: 'Today',
			monthNames: ['January','February','March','April','May','June',
			'July','August','September','October','November','December'],
			monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
			'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
			dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
			dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
			dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'],
			weekHeader: 'Wk',
			dateFormat: 'dd/mm/yy',
			 firstDay: 1,
			 isRTL: false
			 };

});
// -----------------------------------------------------------------------------------


// -----------------------------------------------------------------------------------
// UNIVERSAL CHECK IF OBJECT EXISTS
// -----------------------------------------------------------------------------------
function checkObject(jID) { 
	try { var o = document.getElementById(jID); if (o) { return true } else { return false }
	} catch (excp) { return false }
}


// -----------------------------------------------------------------------------------
// JQUERY INITS
// -----------------------------------------------------------------------------------
 $(document).ready(function(){ 

		
	// Submenu fix
	$("#submenu a:last").addClass("submenu_last");

	// Logo scroller
	$("#logo_bar ul").simplyScroll({ autoMode: 'loop', speed: 2, pauseOnHover: true });

	// SEARCH FIELD
	var jLabel_Search, jInput_Search, jLanguageCode = ''; 
	if (checkObject("lcID")) {  jLanguageCode = $('#lcID').val(); }
	if (jLanguageCode=='') { jLanguageCode = 'nl'; }


	// handle search fields
	if (jInput_Search!='') {
		$('#search_form_label').html(jLabel_Search);

		$('#qID').val(jInput_Search);
		$('#qID').focus(function(){		if ($(this).val()==jInput_Search) { $(this).val(''); }  });
		$('#qID').blur(function(){		if ($(this).val()=='') { $(this).val(jInput_Search); }  	});
	
	} else { $('#header_search').fadeOut(); }


	// DATEPICKER LANGUAGE
	$.datepicker.setDefaults($.datepicker.regional[jLanguageCode]);
	$(".form_calendar").datepicker({
			minDate: '1', 
			maxDate: '+2Y',
			showMonthAfterYear: false,								   
			changeYear: true,
			changeMonth: true,
			numberOfMonths: 1,
			showOtherMonths: true,
			showButtonPanel: true,
			showAnim: 'fadeIn',
			duration: 'fast',
			showOn: 'both',
			buttonImage: '/images/base/icon_calendar.gif',
			buttonImageOnly: true,
			yearSuffix: ''
	});



	// PORTFOLIO CAROUSEL
	$("#portfolio-carousel").carousel( {
		autoSlide: true,
		autoSlideInterval: 3000,
		loop: true,
		animSpeed: 'slow',
		btnsPosition: 'inside',
		nextBtn: 'next',
		prevBtn: 'prev',
		paginationPosition: 'outside',
		pagination: true
	});





	// Tweets
      $("#twitter_status div").tweet({
        join_text: null,
        username: "taalmissers",
        avatar_size: null,
        count: 4,
        loading_text: 'bezig met laden tweets...<div id="twitloaded">no</div>',
		template: function(info) { return info["text"] + info["time"]; }
      });



		$("#twitter_status").carousel({
			autoSlide: true,
			autoSlideInterval: 5000,
			loop: true,
			animSpeed: 'slow',
			btnsPosition: 'inside',
			nextBtn: '',
			prevBtn: '',
			direction: 'horizontal',
			effect: 'fade',
			pagination: false
		});
/* 	} */





	// CONTACT FORM
	
	$("select[name='Gewenste dienst'] option:first").attr("disabled", "disabled");
	$("select[name='Vestiging'] option:first").attr("disabled", "disabled");
	

	// Bestemming e-mail
	$("select[name='Vestiging']").change(function() {

	    switch($(this).val())
	    {
	        case "Amsterdam": $("input[name='to_mail']").val('i.nolet@hntb.nl');
	        break;
	        
	        case "Den Haag": $("input[name='to_mail']").val('k.henderickx@hntb.nl');
	        break;

	        case "Haarlem": $("input[name='to_mail']").val('t.gunning@hntb.nl');
	        break;
	        
	        case "Nijmegen": $("input[name='to_mail']").val('j.vandijk@hntb.nl');
	        break;
	        	        
	        case "Rijswijk": $("input[name='to_mail']").val('m.linn@hntb.nl');
	        break;
	        	  
	        case "Rotterdam": $("input[name='to_mail']").val('m.dewit@hntb.nl');
	        break;

	        case "Sittard": $("input[name='to_mail']").val('j.ketelaars@hntb.nl');
	        break;
	        
	        case "Veenendaal": $("input[name='to_mail']").val('a.verhoef@hntb.nl');
	        break;	        	        	  	        	  
	    }			
		
	});
	
	
	// Validatie
	$("#contact_form").validate({
		errorClass: "form_error",

		rules: {
			Contactpersoon: { required: true },
			Email: { required: true, email: true  },
			Telefoon: { required: true  },
			Vestiging: { required: true },
			Tekstsoort: { required: true },
			Onderwerp: { required: true },
			Gewenste_dienst: { required: true },
			Aantal_interviews_op_locatie: { required: true },
			Aantal_interviews_telefonisch: { required: true },
			Aantal_woorden: { required: true }
		},

		messages: {
			Contactpersoon:		{ required: "Verplicht" },
			Email: 	{ required: "Verplicht", email: "Ongeldig e-mailadres" },
			Telefoon: { required: "Verplicht"  },
			Vestiging: { required: "Verplicht" },
			Tekstsoort: { required: "Verplicht" },
			Onderwerp: { required: "Verplicht" },
			Gewenste_dienst: { required: "Verplicht" },
			Aantal_interviews_op_locatie: { required: "Verplicht" },
			Aantal_interviews_telefonisch: { required: "Verplicht" },
			Aantal_woorden: { required: "Verplicht" }
		},

		submitHandler: function(form){
			$(this).removeAttr('action');
			$('#form_submit').attr('disabled', 'disabled');
			$('#sendingformallowed').attr('value', '556d699968986a989a9869986e989a986c709d98989898989b996c986a9869');
			$('#contact_form').attr('action', '/uni-mailer/');
			
			this.submit();
		}
	});

	


 });




