jQuery.easing['jswing']=jQuery.easing['swing'];jQuery.extend(jQuery.easing,{def:'easeOutQuad',swing:function(x,t,b,c,d){return jQuery.easing[jQuery.easing.def](x,t,b,c,d)},easeInQuad:function(x,t,b,c,d){return c*(t/=d)*t+b},easeOutQuad:function(x,t,b,c,d){return-c*(t/=d)*(t-2)+b},easeInOutQuad:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b},easeInCubic:function(x,t,b,c,d){return c*(t/=d)*t*t+b},easeOutCubic:function(x,t,b,c,d){return c*((t=t/d-1)*t*t+1)+b},easeInOutCubic:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t+b;return c/2*((t-=2)*t*t+2)+b},easeInQuart:function(x,t,b,c,d){return c*(t/=d)*t*t*t+b},easeOutQuart:function(x,t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b},easeInOutQuart:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t+b;return-c/2*((t-=2)*t*t*t-2)+b},easeInQuint:function(x,t,b,c,d){return c*(t/=d)*t*t*t*t+b},easeOutQuint:function(x,t,b,c,d){return c*((t=t/d-1)*t*t*t*t+1)+b},easeInOutQuint:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t*t+b;return c/2*((t-=2)*t*t*t*t+2)+b},easeInSine:function(x,t,b,c,d){return-c*Math.cos(t/d*(Math.PI/2))+c+b},easeOutSine:function(x,t,b,c,d){return c*Math.sin(t/d*(Math.PI/2))+b},easeInOutSine:function(x,t,b,c,d){return-c/2*(Math.cos(Math.PI*t/d)-1)+b},easeInExpo:function(x,t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b},easeOutExpo:function(x,t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b},easeInOutExpo:function(x,t,b,c,d){if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b},easeInCirc:function(x,t,b,c,d){return-c*(Math.sqrt(1-(t/=d)*t)-1)+b},easeOutCirc:function(x,t,b,c,d){return c*Math.sqrt(1-(t=t/d-1)*t)+b},easeInOutCirc:function(x,t,b,c,d){if((t/=d/2)<1)return-c/2*(Math.sqrt(1-t*t)-1)+b;return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b},easeInElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4}else var s=p/(2*Math.PI)*Math.asin(c/a);return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b},easeOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4}else var s=p/(2*Math.PI)*Math.asin(c/a);return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b},easeInOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d/2)==2)return b+c;if(!p)p=d*(.3*1.5);if(a<Math.abs(c)){a=c;var s=p/4}else var s=p/(2*Math.PI)*Math.asin(c/a);if(t<1)return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b},easeInBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*(t/=d)*t*((s+1)*t-s)+b},easeOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},easeInOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;if((t/=d/2)<1)return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b},easeInBounce:function(x,t,b,c,d){return c-jQuery.easing.easeOutBounce(x,d-t,0,c,d)+b},easeOutBounce:function(x,t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b}else if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b}else if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b}else{return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b}},easeInOutBounce:function(x,t,b,c,d){if(t<d/2)return jQuery.easing.easeInBounce(x,t*2,0,c,d)*.5+b;return jQuery.easing.easeOutBounce(x,t*2-d,0,c,d)*.5+c*.5+b}});
(function($){$.fn.slides=function(g){g=$.extend({},$.fn.slides.option,g);return this.each(function(){$('.'+g.container,$(this)).children().wrapAll('<div class="slides_control"/>');var d=$(this),control=$('.slides_control',d),total=control.children().size(),width=control.children().outerWidth(),height=control.children().outerHeight(),start=g.start-1,effect=g.effect.indexOf(',')<0?g.effect:g.effect.replace(' ','').split(',')[0],paginationEffect=g.effect.indexOf(',')<0?effect:g.effect.replace(' ','').split(',')[1],next=0,prev=0,number=0,current=0,loaded,active,clicked,position,direction,imageParent,pauseTimeout,playInterval;function animate(a,b,c){if(!active&&loaded){active=true;g.animationStart(current+1);switch(a){case'next':prev=current;next=current+1;next=total===next?0:next;position=width*2;a=-width*2;current=next;break;case'prev':prev=current;next=current-1;next=next===-1?total-1:next;position=0;a=0;current=next;break;case'pagination':next=parseInt(c,10);prev=$('.'+g.paginationClass+' li.current a',d).attr('href').match('[^#/]+$');if(next>prev){position=width*2;a=-width*2}else{position=0;a=0}current=next;break}if(b==='fade'){if(g.crossfade){control.children(':eq('+next+')',d).css({zIndex:10}).fadeIn(g.fadeSpeed,g.fadeEasing,function(){if(g.autoHeight){control.animate({height:control.children(':eq('+next+')',d).outerHeight()},g.autoHeightSpeed,function(){control.children(':eq('+prev+')',d).css({display:'none',zIndex:0});control.children(':eq('+next+')',d).css({zIndex:0});g.animationComplete(next+1);active=false})}else{control.children(':eq('+prev+')',d).css({display:'none',zIndex:0});control.children(':eq('+next+')',d).css({zIndex:0});g.animationComplete(next+1);active=false}})}else{control.children(':eq('+prev+')',d).fadeOut(g.fadeSpeed,g.fadeEasing,function(){if(g.autoHeight){control.animate({height:control.children(':eq('+next+')',d).outerHeight()},g.autoHeightSpeed,function(){control.children(':eq('+next+')',d).fadeIn(g.fadeSpeed,g.fadeEasing)})}else{control.children(':eq('+next+')',d).fadeIn(g.fadeSpeed,g.fadeEasing,function(){if($.browser.msie){$(this).get(0).style.removeAttribute('filter')}})}g.animationComplete(next+1);active=false})}}else{control.children(':eq('+next+')').css({left:position,display:'block'});if(g.autoHeight){control.animate({left:a,height:control.children(':eq('+next+')').outerHeight()},g.slideSpeed,g.slideEasing,function(){control.css({left:-width});control.children(':eq('+next+')').css({left:width,zIndex:5});control.children(':eq('+prev+')').css({left:width,display:'none',zIndex:0});g.animationComplete(next+1);active=false})}else{control.animate({left:a},g.slideSpeed,g.slideEasing,function(){control.css({left:-width});control.children(':eq('+next+')').css({left:width,zIndex:5});control.children(':eq('+prev+')').css({left:width,display:'none',zIndex:0});g.animationComplete(next+1);active=false})}}if(g.pagination){$('.'+g.paginationClass+' li.current',d).removeClass('current');$('.'+g.paginationClass+' li:eq('+next+')',d).addClass('current')}}}function stop(){clearInterval(d.data('interval'))}function pause(){if(g.pause){clearTimeout(d.data('pause'));clearInterval(d.data('interval'));pauseTimeout=setTimeout(function(){clearTimeout(d.data('pause'));playInterval=setInterval(function(){animate("next",effect)},g.play);d.data('interval',playInterval)},g.pause);d.data('pause',pauseTimeout)}else{stop()}}if(total<2){return}if(start<0){start=0}if(start>total){start=total-1}if(g.start){current=start}if(g.randomize){control.randomize()}$('.'+g.container,d).css({overflow:'hidden',position:'relative'});control.children().css({position:'absolute',top:0,left:control.children().outerWidth(),zIndex:0,display:'none'});control.css({position:'relative',width:(width*3),height:height,left:-width});$('.'+g.container,d).css({display:'block'});if(g.autoHeight){control.children().css({height:'auto'});control.animate({height:control.children(':eq('+start+')').outerHeight()},g.autoHeightSpeed)}if(g.preload&&control.find('img').length){$('.'+g.container,d).css({background:'url('+g.preloadImage+') no-repeat 50% 50%'});var f=control.find('img:eq('+start+')').attr('src')+'?'+(new Date()).getTime();if($('img',d).parent().attr('class')!='slides_control'){imageParent=control.children(':eq(0)')[0].tagName.toLowerCase()}else{imageParent=control.find('img:eq('+start+')')}control.find('img:eq('+start+')').attr('src',f).load(function(){control.find(imageParent+':eq('+start+')').fadeIn(g.fadeSpeed,g.fadeEasing,function(){$(this).css({zIndex:5});$('.'+g.container,d).css({background:''});loaded=true;g.slidesLoaded()})})}else{control.children(':eq('+start+')').fadeIn(g.fadeSpeed,g.fadeEasing,function(){loaded=true;g.slidesLoaded()})}if(g.bigTarget){control.children().css({cursor:'pointer'});control.children().click(function(){animate('next',effect);return false})}if(g.hoverPause&&g.play){control.bind('mouseover',function(){stop()});control.bind('mouseleave',function(){pause()})}if(g.generateNextPrev){$('.'+g.container,d).after('<a href="#" class="'+g.prev+'">Prev</a>');$('.'+g.prev,d).after('<a href="#" class="'+g.next+'">Next</a>')}$('.'+g.next,d).click(function(e){e.preventDefault();if(g.play){pause()}animate('next',effect)});$('.'+g.prev,d).click(function(e){e.preventDefault();if(g.play){pause()}animate('prev',effect)});if(g.generatePagination){d.append('<ul class='+g.paginationClass+'></ul>');control.children().each(function(){$('.'+g.paginationClass,d).append('<li><a href="#'+number+'">'+(number+1)+'</a></li>');number++})}else{$('.'+g.paginationClass+' li a',d).each(function(){$(this).attr('href','#'+number);number++})}$('.'+g.paginationClass+' li:eq('+start+')',d).addClass('current');$('.'+g.paginationClass+' li a',d).click(function(){if(g.play){pause()}clicked=$(this).attr('href').match('[^#/]+$');if(current!=clicked){animate('pagination',paginationEffect,clicked)}return false});$('a.link',d).click(function(){if(g.play){pause()}clicked=$(this).attr('href').match('[^#/]+$')-1;if(current!=clicked){animate('pagination',paginationEffect,clicked)}return false});if(g.play){playInterval=setInterval(function(){animate('next',effect)},g.play);d.data('interval',playInterval)}})};$.fn.slides.option={preload:false,preloadImage:'/img/loading.gif',container:'slides_container',generateNextPrev:false,next:'next',prev:'prev',pagination:true,generatePagination:true,paginationClass:'pagination',fadeSpeed:350,fadeEasing:'',slideSpeed:350,slideEasing:'',start:1,effect:'slide',crossfade:false,randomize:false,play:0,pause:0,hoverPause:false,autoHeight:false,autoHeightSpeed:350,bigTarget:false,animationStart:function(){},animationComplete:function(){},slidesLoaded:function(){}};$.fn.randomize=function(c){function randomizeOrder(){return(Math.round(Math.random())-0.5)}return($(this).each(function(){var $this=$(this);var $children=$this.children();var a=$children.length;if(a>1){$children.hide();var b=[];for(i=0;i<a;i++){b[b.length]=i}b=b.sort(randomizeOrder);$.each(b,function(j,k){var $child=$children.eq(k);var $clone=$child.clone(true);$clone.show().appendTo($this);if(c!==undefined){c($child,$clone)}$child.remove()})}}))}})(jQuery);

$(function(){

	// cache
	var $html_body = $('html,body'),
		$body_main = $('body#main'),
		$sub_header_h1_a = $('body#sub h2#ddmlogo a'),
		$main_divisions = $('body#main div#divisions'),
		$sub_divisions = $('body#sub div#divisions'),
		$header_nav = $('ul#menu-header-menu'),
		$mask_loading = $('body#main div#mask_loading'),
		$main_header = $('body#main div#header'),
		$main_header_h2 = $('h2#ddmdesc'),
		$pagebody = $('div#pagebody'),
		$pagebody_inner = $('div#pagebody div.inner'),
		$mask = $('body#main div#mask'),
		$footnav_li_last = $('ul#menu-footer-menu li:last'),
		$divisions_divbox = $('div.divbox','div#divisions'),
		$divbox_button = $('div.divbox a.button','div#divisions'),
		$div_box = $('div.box','div#pagebody'),
		$div_box_small = $('div.box.small','div#pagebody'),
		$anim_links = $('ul#menu-header-menu li:not(:eq(0)) a, div#divisions a, ul#subnav a, div#footer a, div.box a, div.person a, body#main div#news a, div.news_item a, div#logos h3 a, span.prevnext a, #sub .top a #divisions a.fullclick'),
		$subnav = $('ul#subnav'),
		$loader_orange = $('div#loader_orange'),
		$newwindow = $('a.newwindow','div#pagebody'),
		$productbox = $('div.productbox','div#pagecontent'),
		$slides_ul = $('div#slider_logo div.slides_container ul');

	function equalHeight(element){ // category subpage boxes equal height
		var biggestHeight = 0;  
    	$(element).each(function(){  
        	if($(this).height() > biggestHeight){  
            	biggestHeight = $(this).height();  
        	}  
    	});
    	$(element).height(biggestHeight);
    }

    var deviceAgent = navigator.userAgent.toLowerCase();
	var agentID = deviceAgent.match(/(iphone|ipod|ipad|android|s60|symbian|windows ce|blackberry|palm)/);

	function hideToolbar(){
		var supportsOrientationChange = "orientationchange" in window,
		orientationEvent = supportsOrientationChange ? "orientationchange" : "resize";
		$(window).bind(orientationEvent, function() {
    		//alert('rotation:' + window.orientation + " " + screen.width);
    		window.scrollTo(0,0);
		}, false);
		window.scrollTo(0,0);
	}

	// GET THE PARTY STARTED

	// page load
	if ( $body_main[0] ) {
		$mask.css('display','block').delay(1200).fadeOut(750,function(){
			$mask_loading.fadeOut(500);
		});
		$divbox_button.each(function(){
			var halfwidth = $(this).outerWidth() / 2;
			$(this).css('margin-left','-'+halfwidth+'px');
		});
		$main_header_h2.stop().delay(1700).fadeIn(750);
		$header_nav.stop().delay(2800).animate({top:'30px'},750,'easeInOutExpo');
		$main_divisions.delay(750).animate({top:'269px'},500,'easeInOutExpo',function(){
			//animUP(0,$divisions_divbox.length,0,600,0);
			$('div.divbox:eq(0)','div#divisions').stop().delay(1700).animate({top:'0px'},750,'easeInOutBack');
			$('div.divbox:eq(1)','div#divisions').stop().delay(1800).animate({top:'0px'},750,'easeInOutBack');
			$('div.divbox:eq(2)','div#divisions').stop().delay(1900).animate({top:'0px'},750,'easeInOutBack');
		});
		$pagebody.stop().delay(2000).slideDown(750,function(){hideToolbar();});
	} else {
		if(agentID){
			$loader_orange.hide(0);
		}
		$pagebody.stop().delay(1000).fadeIn(0,function(){
			equalHeight($div_box_small);
			equalHeight($productbox);
			$loader_orange.stop().fadeOut(500);
			hideToolbar();
		});
	}
	
	// anim linkek
	$anim_links.live('click', function(e){
		var cel = $(this).attr('href');

		if ( $body_main[0] ) {
			$main_header_h2.fadeOut();
			//$main_divisions.stop().animate({top:'142px'},0,'easeInOutExpo');
			$('div.divbox:eq(0)','div#divisions').stop().animate({top:'-127px'},750,'easeInOutBack');
			$('div.divbox:eq(1)','div#divisions').stop().delay(100).animate({top:'-127px'},750,'easeInOutBack');
			$('div.divbox:eq(2)','div#divisions').stop().delay(200).animate({top:'-127px'},750,'easeInOutBack');
			$main_header.stop().css('border-bottom','0px').animate({height:'194px'},750,'easeInOutExpo');
			
			$pagebody_inner.stop().fadeOut(500);
			$pagebody.stop().slideUp(750,function(){
				window.location.href = cel;
			});
		} else {
			window.location.href = cel;
		}
		if ($(this).parent().parent('div.divbox')){ // vagyis a div.divbox linkjei
			var $parent = $(this).parent().parent('div.divbox');
			$parent.siblings('div.active').removeClass('active');
			$parent.find('img.divbox_dark').stop().fadeOut(250);
			$parent.find('img.divbox_light').stop().fadeIn(150);
			$parent.addClass('active');
		}
		if(!(agentID)){
			$loader_orange.stop().fadeIn(500);
		}
		
		e.preventDefault();
	});
		
	if ( $subnav.length == '0') {
		$pagebody_inner.addClass('no_submenu');
	}
	
	//if($browser = 'MSIE')
	$footnav_li_last.addClass('last');
	
	var $subnav_li = $('#subnav li'),
		$subnav_li_last = $('#subnav li:last'),
		$subnav_li_hover = $('#subnav li').hasClass('hover'),
		$subnav_li_active = $('#subnav li.active'),
		$subnav_li_not_active = $('#subnav li:not(.active)');
	
	$subnav_li_last.addClass('last');
	
	$subnav_li_active.prev('li').addClass('span_no_bg');
	
	$subnav_li_not_active.hover(function(){
		$(this).addClass('hover');
		$(this).prev('li').find('span').addClass('hoverprev');
	}, function(){
		$(this).removeClass('hover');
		$(this).prev('li').find('span').removeClass('hoverprev');
	});
	
	// main page sliders
	$('#slider_logo').slides({
		preload: true,
		preloadImage:'/wp-content/themes/ddm/images/loader-gray.gif',
		generateNextPrev: true,
		generatePagination: true,
		play: 4000,
		pause: 1000,
		slideSpeed: 750,
		autoHeight: false,
		slideEasing: 'easeInOutExpo'
	});
	$('#slider_news').slides({
		preload: true,
		preloadImage:'/wp-content/themes/ddm/images/loader-white.gif',
		generateNextPrev: false,
		generatePagination: true,
		play: 7000,
		pause: 1000,
		slideSpeed: 750,
		autoHeight: false,
		slideEasing: 'easeInOutExpo'
	});
	var $logo_pagination = $('#slider_logo .pagination'),
		$news_pagination = $('#slider_news .pagination');
	var logo_pagination_width = $('#slider_logo .pagination li').length * 18;
	var news_pagination_width = $('#slider_news .pagination li').length * 18;
	var logo_negative_margin = logo_pagination_width / 2;
	$logo_pagination.css({'width':logo_pagination_width+'px','margin-left':'-'+logo_negative_margin+'px'});
	$news_pagination.css({'width':news_pagination_width+'px'});	
	
	
	$newwindow.live('click',function(e){
		window.open(this.href);
		e.preventDefault();
	});
	
	//if(jQuery.support.opacity = true){

		/*$button.hover(function(){
			$(this).stop().fadeTo(250, 0.9);
		}, function(){
			$(this).stop().fadeTo(250, 1);
		});*/
	
	//}
	
	var $gmaps_inner = $('div#gmaps_inner'),
		$hqmaps = $('a#hqmaps'),
		$gmaps = $('div#gmaps');
	
	// map hardcode-olása :(
	function gmap(){
		$gmaps_inner.html('<a id="closemap" href="#">Close Map</a><iframe width="480" height="480" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=25+New+South+Street,+Suite+102+Northampton,+MA+01060+USA&amp;aq=&amp;sll=37.0625,-95.677068&amp;sspn=41.003738,78.134766&amp;ie=UTF8&amp;hq=&amp;hnear=25+New+S+St,+Northampton,+Hampshire,+Massachusetts+01060&amp;ll=42.318384,-72.633533&amp;spn=0.030463,0.041113&amp;z=14&amp;output=embed"></iframe>');
	}
	$hqmaps.live('click',function(e){
		if (agentID) {
			gmap();
			var terkep = $gmaps_inner.find('iframe').attr('src');
			window.open(terkep);
		} else {
			$gmaps.stop().fadeTo(250, 0.75, function(){
				$gmaps_inner.show().fadeTo(0, 1).animate({height:'490px',width:'500px',marginTop:'-300px',marginLeft:'-250px'},500,'easeInOutBack', function(){
					gmap();
				});
			});
		}
		e.preventDefault();
	});
	$('div#gmaps, a#closemap').live('click',function(e){
		$gmaps_inner.find('iframe, #closemap').fadeTo(250, 0, function(){
			$gmaps_inner.fadeTo(0, 0.5).animate({height:'0px',width:'0px',marginTop:'0px',marginLeft:'0px'},500,'easeInOutBack', function(){
				$(this).hide(0).empty();
				$gmaps.stop().fadeTo(250,0, function(){
					$gmaps.hide(0);
				});
			});
		});
		e.preventDefault();
	});


});
