/* jquery.event.drag.js  */
(function(E){E.fn.drag=function(L,K,J){if(K){this.bind("dragstart",L)}if(J){this.bind("dragend",J)}return!L?this.trigger("drag"):this.bind("drag",K?K:L)};var A=E.event,B=A.special,F=B.drag={not:":input",distance:0,which:1,dragging:false,setup:function(J){J=E.extend({distance:F.distance,which:F.which,not:F.not},J||{});J.distance=I(J.distance);A.add(this,"mousedown",H,J);if(this.attachEvent){this.attachEvent("ondragstart",D)}},teardown:function(){A.remove(this,"mousedown",H);if(this===F.dragging){F.dragging=F.proxy=false}G(this,true);if(this.detachEvent){this.detachEvent("ondragstart",D)}}};B.dragstart=B.dragend={setup:function(){},teardown:function(){}};function H(L){var K=this,J,M=L.data||{};if(M.elem){K=L.dragTarget=M.elem;L.dragProxy=F.proxy||K;L.cursorOffsetX=M.pageX-M.left;L.cursorOffsetY=M.pageY-M.top;L.offsetX=L.pageX-L.cursorOffsetX;L.offsetY=L.pageY-L.cursorOffsetY}else{if(F.dragging||(M.which>0&&L.which!=M.which)||E(L.target).is(M.not)){return}}switch(L.type){case"mousedown":E.extend(M,E(K).offset(),{elem:K,target:L.target,pageX:L.pageX,pageY:L.pageY});A.add(document,"mousemove mouseup",H,M);G(K,false);F.dragging=null;return false;case!F.dragging&&"mousemove":if(I(L.pageX-M.pageX)+I(L.pageY-M.pageY)<M.distance){break}L.target=M.target;J=C(L,"dragstart",K);if(J!==false){F.dragging=K;F.proxy=L.dragProxy=E(J||K)[0]}case"mousemove":if(F.dragging){J=C(L,"drag",K);if(B.drop){B.drop.allowed=(J!==false);B.drop.handler(L)}if(J!==false){break}L.type="mouseup"}case"mouseup":A.remove(document,"mousemove mouseup",H);if(F.dragging){if(B.drop){B.drop.handler(L)}C(L,"dragend",K)}G(K,true);F.dragging=F.proxy=M.elem=false;break}return true}function C(M,K,L){M.type=K;var J=E.event.handle.call(L,M);return J===false?false:J||M.result}function I(J){return Math.pow(J,2)}function D(){return(F.dragging===false)}function G(K,J){if(!K){return}K.unselectable=J?"off":"on";K.onselectstart=function(){return J};if(K.style){K.style.MozUserSelect=J?"":"none"}}})(jQuery);

/* jquery.accordion.js */
(function($){$.fn.accordion=function(options){var settings=$.extend({},$.fn.accordion.defaults,options);return this.each(function(i,accordion){$(accordion).find('li').each(function(y,li){var title=$(li).find(settings.titleSel);li.content_height=$(li).find(settings.contentSel).show().outerHeight();if(!$(li).hasClass(settings.openClass)){if(!$('body').hasClass('mobile')){$(li).find(settings.contentSel).height(0);}else{$(li).find(settings.contentSel).hide();}}
$(title).bind('click.accordion',function(e){if($(li).hasClass(settings.openClass)){closeContent(li);}else{closeContent($(accordion).find('li.active'));openContent(li);}
e.preventDefault();});});});function closeContent(li){li.content_height=$(li).find(settings.contentSel).outerHeight();if(!$('body').hasClass('mobile')){$(li).removeClass(settings.openClass).find(settings.contentSel).animate({height:0},settings.speed);}else{$(li).removeClass(settings.openClass).find(settings.contentSel).hide();}}
function openContent(li){if(!$('body').hasClass('mobile')){$(li).addClass(settings.openClass).find(settings.contentSel).animate({height:li.content_height},settings.speed,function(){$(this).height('auto');});}else{$(li).addClass(settings.openClass).find(settings.contentSel).show();}}};$.fn.accordion.defaults={speed:300,titleSel:'h3 a',contentSel:'div.text',openClass:'active',easing:'linear'};})(jQuery);

/* jquery.innerLabel.js */
(function($){$.fn.innerLabel=function(options){var settings=$.extend({},$.fn.innerLabel.defaults,options);return this.each(function(i,elem){elem.label=$('label[for='+$(elem).attr('id')+']:last').text();if(elem.label){if($(elem).attr('type')!='password'){$(elem).focus(function(){removeLabel(elem);}).blur(function(){addLabel(elem);});addLabel(elem);}else{var replacer=$('<input type="text" />').insertAfter($(elem)).attr('class',settings.className+' '+$(elem).attr('class')).attr('value',elem.label).attr('maxlength',$(elem).attr('maxlength')).attr('size',$(elem).attr('size'))
$(elem).hide();$(replacer).focus(function(){$(this).hide();$(elem).show().focus();});$(elem).blur(function(){if($.trim($(this).val())==''){$(this).val('').hide();$(replacer).show();}});}
$(elem).closest('form').bind('submit',function(){if($.trim($(elem).val())==elem.label){$(elem).val('');}});}});function addLabel(elem){if($.trim($(elem).val())==''){$(elem).val(elem.label).addClass(settings.className);}};function removeLabel(elem){if($(elem).val()==elem.label){$(elem).val('').removeClass(settings.className);}};};$.fn.innerLabel.defaults={className:'innerlabel'};})(jQuery);

/* jquery.lightbox.js */
(function($){$.fn.lightBox=function(options){var settings=$.extend({},$.fn.lightBox.defaults,options);return this.each(function(i,elem){$(this).bind('click',function(){var content=$($(this).attr('href')).html();$('body').append('<div id="overlay"></div><div id="lightbox"><div id="lightbox-container"><div class="top"></div><div class="middle"><div class="content"><a href="#" class="btn close"><span><span>X</span></span></a>'+content+'</div></div><div class="bottom"></div></div></div>');var page_size=getPageSize();$('#overlay').css({backgroundColor:settings.overlayBgColor,opacity:settings.overlayOpacity,width:page_size[0],height:page_size[1]});var page_scroll=getPageScroll();$('#lightbox').css({top:page_scroll[1]+(page_size[3]/15),left:page_scroll[0]});$('#lightbox .thumbs a').bind('click',function(){$('#lightbox .thumbs a').removeClass('active');$(this).addClass('active');$('#lightbox .enlarged').html('<img src="'+$(this).attr('href')+'" alt="" />');return false;});$('#lightbox .thumbs a:first').trigger('click');$(window).bind('resize.lightBox',function(){var page_size=getPageSize();$('#overlay').css({width:page_size[0],height:page_size[1]});var page_scroll=getPageScroll();$('#lightbox').css({top:page_scroll[1]+(page_size[3]/10),left:page_scroll[0]});});$('#overlay, #lightbox').bind('click',function(e){if($(e.target).closest('#lightbox-container').length==0){removeLightbox();}});$('#lightbox a.close').bind('click',function(e){e.preventDefault();removeLightbox();});return false;});});function removeLightbox(){$(window).unbind('resize.lightBox');$('#lightbox, #overlay').remove();}
function getPageScroll(){var xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft;}else if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft;}
arrayPageScroll=new Array(xScroll,yScroll);return arrayPageScroll;};function getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;}
windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=xScroll;}else{pageWidth=windowWidth;}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight);return arrayPageSize;};};$.fn.lightBox.defaults={overlayBgColor:'#000',overlayOpacity:0.45};})(jQuery);

/* general.js */
$(document).ready(function(){function setOriPosition(box){var pos=$(box).position();box.ori_top=pos.top;box.ori_left=pos.left;$(box).css({top:box.ori_top,left:box.ori_left});}
function setOnTop(box){var oldz=$(box).css('z-index');$(box).siblings('.box').each(function(i,elem){var z=$(elem).css('z-index');if(z>oldz){$(elem).css('z-index',(z-1));}});$(box).css('z-index',$('.box').length);}
$('#logo').bind('click',function(){$(this).removeClass('reset').attr('title','');$('.box').each(function(i,elem){$(elem).animate({top:elem.ori_top,left:elem.ori_left},250);});});function openNewBrowser(){$('.blank').live('click',function(){window.open($(this).attr('href'));return false;});}
if(!$('body').hasClass('mobile')){$('.box').each(function(i,box){setOriPosition(box);$(box).bind('click',function(){setOnTop(box);}).bind('dragstart',function(event){if(!$(event.target).is('h2')){return false;}
return $(this).clone().css({opacity:.5,zIndex:1000}).addClass('active').insertAfter(this);}).bind('drag',function(event){$(event.dragProxy).css({top:event.offsetY,left:event.offsetX});}).bind('dragend',function(event){$(event.dragProxy).remove();$(this).find('h2').removeClass('drag');$('#logo').addClass('reset').attr('title','Klik hier om alle kaders naar hun originele positie te verplaatsen.');setOnTop(box);$(box).animate({top:event.offsetY,left:event.offsetX},250);}).find('h2').attr('title','Klik en sleep om het kader te verplaatsen').bind('mousedown',function(){$(this).addClass('drag');}).bind('mouseup',function(){$(this).removeClass('drag');});});$('#portfolio ul.projects a').lightBox();}else{$('#portfolio ul.projects a').bind('click',function(e){$($(this).attr('href')).toggle().siblings('.project').hide();$($(this).attr('href')+' .thumbs a:first').trigger('click');e.preventDefault();});$('#portfolio .thumbs a').bind('click',function(){$('#portfolio .thumbs a').removeClass('active');$(this).addClass('active');$(this).closest('.project').find('.enlarged').html('<img src="'+$(this).attr('href')+'" alt="" />');return false;});}
$(':text, textarea').innerLabel();$('form').bind('submit',function(){var form=$(this);$(form).find(':input').each(function(i,elem){$(elem).val($.trim($(elem).val()));});$(form).find(':input.required').removeClass('error').each(function(i,elem){if($(elem).val()==""){$(elem).addClass('error');}});var filter=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;var email=$(form).find(':input[name=email]');if(!filter.test($(email).val())){$(email).addClass('error');}
if($(form).find('.error:input').length===0){$.post($(form).attr('action'),$(this).serialize(),function(obj){if(obj.error==true){$(form).prepend(obj.error);}else{$(form).replaceWith(obj.succes.toString());}},'json');}else{$(form).find(':input').trigger('blur');}
return false;});openNewBrowser();$('ul.accordion').accordion();if(!$('body').hasClass('mobile')){}});
