/*
	AnythingZoomer v1.1 minified
	Original by Chris Coyier: http://css-tricks.com
	Get the latest version: https://github.com/Mottie/AnythingZoomer
*/

(function(b){b.anythingZoomer=function(e,g){var f,c,a=this;a.$wrap=b(e).addClass("az-wrap").wrapInner('<span class="az-wrap-inner"/>');a.wrap=e;a.$wrap.data("zoomer",a);a.init=function(){a.options=c=b.extend({},b.anythingZoomer.defaultOptions,g);a.state=!0;a.$small=a.$wrap.find("."+c.smallArea);a.$large=a.$wrap.find("."+c.largeArea);if(c.clone)f=a.$small.clone().removeClass(c.smallArea).addClass(c.largeArea),a.$large.length?a.$large.html(f.html()):(a.$small.after(f),a.$large=a.$wrap.find("."+c.largeArea)); a.largeDim=[a.$large.wrapInner('<span class="az-large-inner"/>').find(".az-large-inner").width(),a.$large.height()];a.smallDim=[a.$small.wrapInner('<span class="az-small-inner"/>').find(".az-small-inner").width(),a.$small.height()];a.$large.addClass("az-large").wrap('<div class="az-zoom"></div>');a.$small.addClass("az-small");a.$zoom=a.$wrap.find(".az-zoom");a.ratio=[a.smallDim[0]===0?1:a.largeDim[0]/a.smallDim[0],a.smallDim[1]===0?1:a.largeDim[1]/a.smallDim[1]];a.$inner=a.$wrap.find(".az-wrap-inner").css({width:a.smallDim[0], height:a.smallDim[1]});a.zoomDim=a.last=[a.$zoom.width(),a.$zoom.height()];a.smallOffset=[a.$small.offset().left-a.$inner.position().left,a.$small.offset().top];a.$inner.bind("mouseenter.anythingZoomer",function(){a.state&&a.$zoom.fadeIn(100)}).bind("mouseleave.anythingZoomer",function(){if(a.state)a.timer=setTimeout(function(){a.$zoom.is(".az-windowed")&&a.hideZoom()},200)}).bind("mousemove.anythingZoomer",function(d){a.state&&(clearTimeout(a.timer),a.zoomAt(d.pageX-a.smallOffset[0],d.pageY-a.smallOffset[1]))}).bind(c.switchEvent+ (c.switchEvent!==""?".anythingZoomer":""),function(){a.state?a.showLarge():a.showSmall()});a.showSmall()};a.showSmall=function(){a.state=!0;a.$small.show();a.$zoom.removeClass("az-expanded").addClass("az-windowed az-zoom").css({width:a.zoomDim[0],height:a.zoomDim[1]});a.$inner.css({width:a.smallDim[0],height:a.smallDim[1]})};a.showLarge=function(){a.state=!1;a.$small.hide();a.$zoom.fadeIn(100).addClass("az-expanded").removeClass("az-windowed az-zoom").css({height:"auto",width:"auto"});a.$inner.css({width:a.largeDim[0], height:a.largeDim[1]});a.$large.css({left:0,top:0,width:a.largeDim[0],height:a.largeDim[1]})};a.setTarget=function(d,c,k){var e=0,h=0;a.$zoom.is(".az-windowed")||a.showSmall();!isNaN(d)&&!isNaN(c)?(e=parseInt(d,10),h=parseInt(c,10)):typeof d==="string"&&b(d).length&&(d=b(d),e=d.position().left+d.width()/2+(c?c[0]||0:0),h=d.position().top+d.height()/2+(c?c[1]||0:0));a.zoomAt(e,h,k)};a.zoomAt=function(d,e,b){var f=(b?b[0]||0:0)||a.last[0],b=(b?b[1]||b[0]||0:0)||a.last[1],h=f/2,g=b/2,i=c.edge||h*0.66, j=c.edge||g*0.66;a.last=[f,b];d<-i||d>a.smallDim[0]+i||e<-j||e>a.smallDim[1]+j?a.hideZoom():(a.$zoom.fadeIn(100),a.$zoom.css({left:d-h,top:e-g,width:f,height:b}),a.$large.css({left:-(d-h/2)*a.ratio[0],top:-(e-g/2)*a.ratio[1]}))};a.hideZoom=function(){a.last=a.zoomDim;a.$zoom.fadeOut(100)};a.init()};b.anythingZoomer.defaultOptions={smallArea:"small",largeArea:"large",clone:!1,switchEvent:"dblclick",edge:30};b.fn.anythingZoomer=function(e,g,f,c){return this.each(function(){var a=b(this).data("zoomer"); (typeof e).match("object|undefined")&&!a?new b.anythingZoomer(this,e):(typeof e==="string"||!isNaN(e)&&!isNaN(g))&&a.setTarget(e,g,f,c)})};b.fn.getAnythingZoomer=function(){return this.data("zoomer")}})(jQuery);


/* Copyright 2011, Ben Lin (http://dreamerslab.com/)
* Licensed under the MIT License (LICENSE.txt).
*
* Version: 1.0.5
*
* Requires: jQuery 1.2.3+
*/
;(function(a){a.fn.extend({actual:function(b,k){var c,d,h,g,f,j,e,i;if(!this[b]){throw'$.actual => The jQuery method "'+b+'" you called does not exist';}h=a.extend({absolute:false,clone:false,includeMargin:undefined},k);d=this;if(h.clone===true){e=function(){d=d.filter(":first").clone().css({position:"absolute",top:-1000}).appendTo("body");};i=function(){d.remove();};}else{e=function(){c=d.parents().andSelf().filter(":hidden");g=h.absolute===true?{position:"absolute",visibility:"hidden",display:"block"}:{visibility:"hidden",display:"block"};f=[];c.each(function(){var m={},l;for(l in g){m[l]=this.style[l];this.style[l]=g[l];}f.push(m);});};i=function(){c.each(function(m){var n=f[m],l;for(l in g){this.style[l]=n[l];}});};}e();j=d[b](h.includeMargin);i();return j;}});})(jQuery);

var font = (function () {
    var test_string = 'mmmmmmmmmwwwwwww';
    var test_font = '"Comic Sans MS"';
    var notInstalledWidth = 0;
    var testbed = null;
    var guid = 0;
    
    return {
        // must be called when the dom is ready
        setup : function () {
            if ($('#fontInstalledTest').length) return;

            $('head').append('<' + 'style> #fontInstalledTest, #fontTestBed { position: absolute; left: -9999px; top: 0; visibility: hidden; } #fontInstalledTest { font-size: 50px!important; font-family: ' + test_font + ';}</' + 'style>');
            
            
            $('body').append('<div id="fontTestBed"></div>').append('<span id="fontInstalledTest" class="fonttest">' + test_string + '</span>');
            testbed = $('#fontTestBed');
            notInstalledWidth = $('#fontInstalledTest').width();
        },
        
        isInstalled : function(font) {
            guid++;
        
            var style = '<' + 'style id="fonttestStyle"> #fonttest' + guid + ' { font-size: 50px!important; font-family: ' + font + ', ' + test_font + '; } <' + '/style>';
            
            $('head').find('#fonttestStyle').remove().end().append(style);
            testbed.empty().append('<span id="fonttest' + guid + '" class="fonttest">' + test_string + '</span>');
                        
            return (testbed.find('span').width() != notInstalledWidth);
        }
    };
})();

/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 5/25/2009
 * @author Ariel Flesler
 * @version 1.4.2
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);

jQuery.fn.reverse = function() {
    return this.pushStack(this.get().reverse(), arguments);
};

function swapHomeContent() {
	animating = true;
	clearInterval(swapCont);
	if ($('.logobars ul.bars li').length>1) {
		$('.logobars ul.bars li:eq(0)').fadeOut(500, function() {
			var showNext = $('.logobars ul li:eq(1)').get();
			$(showNext).fadeIn(500, function() {
				var moveNext = $('.logobars ul li:eq(0)').get();
				$('.logobars ul').append(moveNext);
			});
		});
	}
	if (swipeType=='left') {
		$('.brandbox ul').animate({marginLeft:-950},1000,function() {
			var moveNext = $('.brandbox ul li:eq(0)').get();
			$('.brandbox ul').append(moveNext);
			$('.brandbox ul').animate({marginLeft:0},0);
			animating = false;
			swapCont = window.setInterval('swapHomeContent()', 6000 );
		});
	} else if (swipeType=='right') {
		var moveNext = $('.brandbox ul li:eq('+($('.brandbox ul li').length-1)+')').get();
		$(moveNext).css('margin-left',0);
		
		$('.brandbox ul.boxes').prepend(moveNext).animate({marginLeft:-950},0);
		$('.brandbox ul.boxes').animate({marginLeft:0},1000,function() {
			animating = false;
			swipeType = 'left';
			swapCont = window.setInterval('swapHomeContent()', 6000 );
		});
	}
}

function slideNewsContent() {
	animatingNews = true;
	
	if (nwsSwipeType=='left') {
		$('.newsitems').animate({marginLeft:-550},600,function() {
			var moveNext = $('.newsitems li:eq(0)').get();
			$('.newsitems').append(moveNext);
			$('.newsitems').animate({marginLeft:0},0);
			$('.newsContainer').animate({height: $('.newsitems li:eq(0)').height()},0);
			
			$('.cnt_left .browsebtns a:eq(0)').show();
			if (curNewsBox==0) $('.cnt_left .browsebtns a:eq(1)').hide();
			else $('.cnt_left .browsebtns a:eq(1)').show();
			
			$('.smallitems').animate({marginLeft:0},300,function() {
				var moveNext = $('.smallitems li:eq(0)').get();
				$('.smallitems').append(moveNext);
				$('.smallitems').animate({marginLeft:0},0);
				$('.cnt_right .browsebtns a:eq(0)').show();
				if (curNewsBox==0) $('.cnt_right .browsebtns a:eq(1)').hide();
				else $('.cnt_right .browsebtns a:eq(1)').show();
				
				$('.cnt_right .smallitems .newsboxSm').removeClass('act');
				$('.cnt_right #li_'+curNewsBox+' .newsboxSm:eq(0)').addClass('act');
				animatingNews = false;
				
				$.scrollTo(0);
			});
		});
	} else if (nwsSwipeType=='right') {
		var moveNext = $('.newsitems li:eq('+($('.newsitems li').length-1)+')').get();
		var moveNextSmall = $('.smallitems li:eq('+($('.smallitems li').length-1)+')').get();
		var nextHeight = $('.newsitems li:eq('+($('.newsitems li').length-1)+')').height();
		
		$(moveNext).css('margin-left','0');
		$(moveNextSmall).css('margin-left','0');
		
		$('.newsitems').prepend(moveNext).animate({marginLeft:-550},0);
		$('.smallitems').prepend(moveNextSmall).animate({marginLeft:-230},0);
		
		$('.newsContainer').animate({height: nextHeight},0,function() {
			$('.newsitems').animate({marginLeft:0},600,function() {
				nwsSwipeType = 'left';
				$('.cnt_left .browsebtns a:eq(1)').show();
				
				if (curNewsBox==totNewsBox) $('.cnt_left .browsebtns a:eq(0)').hide();
				else $('.cnt_left .browsebtns a:eq(0)').show();
				
				$('.smallitems').animate({marginLeft:0},0,function() {
					$('.cnt_right .browsebtns a:eq(1)').show();
					if (curNewsBox==totNewsBox) $('.cnt_right .browsebtns a:eq(0)').hide();
					else $('.cnt_right .browsebtns a:eq(0)').show();
					
					$('.cnt_right .smallitems .newsboxSm').removeClass('act');
					$('.cnt_right #li_'+curNewsBox+' .newsboxSm:eq(0)').addClass('act');
					animatingNews = false;
					
					$.scrollTo(0);
				});
			});
		});
	}
}

function swapThumbs() {
	animating = true;
	if (swipeType=='left') {
		$('.collection .thumbs .thumbholder ul').animate({marginLeft:-148},600,function() {
			var moveNext = $('.collection .thumbs .thumbholder ul li:eq(0)').get();
			$('.collection .thumbs .thumbholder ul').append(moveNext);
			$('.collection .thumbs .thumbholder ul').animate({marginLeft:0},0);
			animating = false;
			
		});
	} else if (swipeType=='right') {
		var moveNext = $('.collection .thumbs .thumbholder ul li:eq('+($('.collection .thumbs .thumbholder ul li').length-1)+')').get();
		$(moveNext).css('margin-left',0);
		
		$('.collection .thumbs .thumbholder ul').prepend(moveNext).animate({marginLeft:-148},0);
		$('.collection .thumbs .thumbholder ul').animate({marginLeft:0},600,function() {
			animating = false;
			swipeType = 'left';
		});
	}
}
function swapNewsContent() {
	animatingNews = true;
	
	if (newItem=='') {
		curItem = parseInt($('.newsLeft .newsitems li:visible').attr('id').split('_')[1]);
		if (swipeNwsType=='left') newItem = curItem - 1;
		else newItem = curItem + 1;
	}
	
	$('.newsLeft .newsitems').slideUp(400,function() {
		$('.newsLeft .newsitems li').hide();
		$('.newsLeft .newsitems li:eq('+newItem+')').show();
		
		curID = $('.newsLeft .newsitems li:eq('+newItem+')').attr('id').split('_')[1];
		if (curID>0) $('.cnt_left .browsebtns a:eq(1)').show();
		else $('.cnt_left .browsebtns a:eq(1)').hide();
		
		lastID = ($('.newsLeft .newsitems li').length - 1);
		if (curID == lastID) $('.cnt_left .browsebtns a:eq(0)').hide();
		else $('.cnt_left .browsebtns a:eq(0)').show();
		
		$('.newsLeft .newsitems').slideDown(400,function() {
			animatingNews = false;
			$('.newsRight .newsboxSm').removeClass('act');
			$('.newsRight #curItem_'+$('.newsLeft ul li:eq('+newItem+')').attr('id').split('_')[1]).addClass('act');
			
			parentLi = $('.newsRight #curItem_'+$('.newsLeft ul li:eq('+newItem+')').attr('id').split('_')[1]).parent().attr('id').split('_')[1];
			if (parentLi!=curLi) { swipeNwsMenuType = 'right'; curMenuItem = parentLi; swapNewsMenu(); }
			newItem = '';
		});
	});
}

function swapNewsMenu() {
	if (swipeNwsMenuType=='left') {
		$('.newsRight ul').animate({marginLeft:-230},300,function() {
			var moveNext = $('.newsRight li:eq(0)').get();
			$('.newsRight ul').append(moveNext);
			$('.newsRight ul').animate({marginLeft:0},0);
			
			if (curMenuItem == ($('.newsRight li').length-1)) $('.newsRight .browsebtns a:eq(0)').hide();
			else $('.newsRight .browsebtns a:eq(0)').show();
			
			if (curMenuItem == 0) $('.newsRight .browsebtns a:eq(1)').hide();
			else $('.newsRight .browsebtns a:eq(1)').show();
			
			curLi = curMenuItem;
		});
	} else if (swipeNwsMenuType=='right') {
		var moveNext = $('.newsRight li:eq('+($('.newsRight li').length-1)+')').get();
		$(moveNext).css('margin-left','0');
		
		$('.newsRight ul').prepend(moveNext).animate({marginLeft:-230},0);
		$('.newsRight ul').animate({marginLeft:0},300,function() {
			if (curMenuItem == ($('.newsRight li').length-1)) $('.newsRight .browsebtns a:eq(0)').hide();
			else $('.newsRight .browsebtns a:eq(0)').show();
			
			if (curMenuItem == 0) $('.newsRight .browsebtns a:eq(1)').hide();
			else $('.newsRight .browsebtns a:eq(1)').show();
			
			curLi = curMenuItem;
		});
	}
}

function scrollThumbs(type,max) {
	if (type=='next' && ($('.thumbs ul').css('margin-left').replace('px','') > -max)) $('.thumbs ul').animate({'marginLeft':"-=50px"},1000,function() { scrollThumbs(type,max); });
}

function swapBrochuresMenu() {
	if (swipeBrMenuType=='right') {
		$('.newsRight ul').animate({marginLeft:-230},300,function() {
			var moveNext = $('.newsRight li:eq(0)').get();
			$('.newsRight ul').append(moveNext);
			$('.newsRight ul').animate({marginLeft:0},0);
			
			if (curMenuItem == ($('.newsRight li').length-1)) $('.newsRight .browsebtns a:eq(0)').hide();
			else $('.newsRight .browsebtns a:eq(0)').show();
			
			if (curMenuItem == 0) $('.newsRight .browsebtns a:eq(1)').hide();
			else $('.newsRight .browsebtns a:eq(1)').show();
			curLi = curMenuItem;
		});
	} else if (swipeBrMenuType=='left') {
		var moveNext = $('.newsRight li:eq('+($('.newsRight li').length-1)+')').get();
		$(moveNext).css('margin-left','0');
		
		$('.newsRight ul').prepend(moveNext).animate({marginLeft:-180},0);
		$('.newsRight ul').animate({marginLeft:0},300,function() {
			if (curMenuItem == ($('.newsRight li').length-1)) $('.newsRight .browsebtns a:eq(0)').hide();
			else $('.newsRight .browsebtns a:eq(0)').show();
			
			if (curMenuItem == 0) $('.newsRight .browsebtns a:eq(1)').hide();
			else $('.newsRight .browsebtns a:eq(1)').show();			
			curLi = curMenuItem;
		});
	}
}

function checkForm(type) {
	wrong = false;
	if (type=='login') {
		if ($('#loginbox input[name=email]').val()=='' || !validateEmail($('#loginbox input[name=email]').val())) { wrong = true; $('#loginbox p:eq(0)').addClass('redtxt'); }
		else $('#loginbox p:eq(0)').removeClass('redtxt');
		
		if ($('#loginbox input[name=password]').val()=='') { wrong = true; $('#loginbox p:eq(1)').addClass('redtxt'); }
		else $('#loginbox p:eq(1)').removeClass('redtxt');
	} else if (type=='forgot') {
		if ($('#forgotbox input[name=email]').val()=='' || !validateEmail($('#forgotbox input[name=email]').val())) { wrong = true; $('#forgotbox p:eq(0)').addClass('redtxt'); }
		else $('#forgotbox p:eq(1)').removeClass('redtxt');
	}
	
	return wrong;
}

function validateEmail(elementValue){
	var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	return emailPattern.test(elementValue);
}

function checkCredentials() {
	$.ajax({
		type: 'POST',
		url: '/services/getLogin.php',
		data: $("#loginbox form").serialize(),
		success: function(res) {
			if (res=='wrong') {
				$('#loginbox form .errortxt').remove();
				$('#loginbox form').append("<p class='errortxt redtxt'>Invalid email or password. Please try again.</p>");
			} else window.location.href = '/catalogs';
		}
	});
}

function checkLogin() {
	$.ajax({
		type: 'POST',
		url: '/services/checkLogin.php',
		data: $("#forgotbox form").serialize(),
		success: function(res) {
			$('#forgotbox form .errortxt').remove();
			if (res=='wrong') $('#forgotbox form').append("<p class='errortxt redtxt'>Emailaddress not found. Please try again.</p>");
			else {
				$('#forgotbox form input[type=text]').val('');
				$('#forgotbox form').append("<p class='errortxt greentxt'>Your new password is send to you by email.</p>");
			}
		}
	});
}

function downloadBrochure() {
	$.fancybox.close();
	window.location.href = '/download/'+$('#loginbox input[name=catalogID]').val()+'/'+$('#loginbox input[name=dwn_type]:checked').val();
}
