/*
CSS Browser Selector v0.3.3 (Sep 09, 2009)
Rafael Lima (http://rafael.adm.br)
http://rafael.adm.br/css_browser_selector
License: http://creativecommons.org/licenses/by/2.5/
Contributors: http://rafael.adm.br/css_browser_selector#contributors
*/
function css_browser_selector(u){var ua = u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1;},g='gecko',w='webkit',s='safari',h=document.getElementsByTagName('html')[0],b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3')?g+' ff3':is('gecko/')?g:/opera(\s|\/)(\d+)/.test(ua)?'opera opera'+RegExp.$2:is('konqueror')?'konqueror':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?'mobile':is('iphone')?'iphone':is('ipod')?'ipod':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win':is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; c = b.join(' '); h.className += ' '+c; return c;}; css_browser_selector(navigator.userAgent);

/*
 * doTimeout - v0.4 - 7/15/2009
 * http://benalman.com/projects/jquery-dotimeout-plugin/
 * 
 * Copyright (c) 2009 "Cowboy" Ben Alman
 * Licensed under the MIT license
 * http://benalman.com/about/license/
 */
(function($){var a={},c="doTimeout",d=Array.prototype.slice;$[c]=function(){return b.apply(window,[0].concat(d.call(arguments)))};$.fn[c]=function(){var e=d.call(arguments),f=b.apply(this,[c+e[0]].concat(e));return typeof e[0]==="number"||typeof e[1]==="number"?this:f};function b(l){var m=this,h,k={},n=arguments,i=4,g=n[1],j=n[2],o=n[3];if(typeof g!=="string"){i--;g=l=0;j=n[1];o=n[2]}if(l){h=m.eq(0);h.data(l,k=h.data(l)||{})}else{if(g){k=a[g]||(a[g]={})}}k.id&&clearTimeout(k.id);delete k.id;function f(){if(l){h.removeData(l)}else{if(g){delete a[g]}}}function e(){k.id=setTimeout(function(){k.fn()},j)}if(o){k.fn=function(p){o.apply(m,d.call(n,i))&&!p?e():f()};e()}else{if(k.fn){j===undefined?f():k.fn(j===false);return true}else{f()}}}})(jQuery);

$(document).ready(function() {
	
	$("div.box-title a").each(function() {
	    $(this).wrapInner("<span></span>");
    });
    
    // remove tooltips
    $(".col-right .thumb-box a, ul.illustrators a").hover(
      function () {
      	$(this).attr("title", "");
      }
  	);
    // side navigation mouseovers
    $("div#col-right .thumb-box img").attr("alt", "")
    $("div#col-right .thumb-box").hover(
      function () {
      	//$(this).contents().find("a").attr("title", "");
      	$(this).contents().find("img").hide();
      }, 
      function () {
        $(this).contents().find("img").fadeIn("fast");
      }
  	);
  	
  	// easing for animation
	$.easing.custom = function (x, t, b, c, d) 
	{ 
	    // easeInOutQuint from http://gsgd.co.uk/sandbox/jquery/easing/jquery.easing.1.3.js
		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;
	}
	
	// anti-spam email
	$('.mail').each(function() 
	{
	    var obfAddress = $(this).text();
	    var realAddress = obfAddress.replace(/\[at\]/g, '@').replace(/\[dot\]/g, '.');
	    var emailLink = document.createElement('a');
	    $(emailLink).attr(
	    {
	        'href': 'mailto:' + realAddress,
	        'title': 'Email: ' + realAddress,
	        'class': 'email-address'
	    }).text(realAddress);
	    $(this).replaceWith(emailLink);
	});
    
    // input clearing on focus
    $.fn.clearInputText = function() {
		return this.focus(function() {
			if( this.value == this.defaultValue) {
				this.value = "";
			}
		}).blur(function() {
			if(!this.value.length) {
				this.value = this.defaultValue;
			}
		});
	};
    
    // jQuery SmoothScroll
	// from http://blog.medianotions.de/en/articles/2009/smoothscroll-for-jquery
	$('a.target[href*=#], a.toggler[href*=#]').click(function() {
	    
		// make sure it's the same location      
	   if(location.pathname.replace(/^\//,'')==this.pathname.replace(/^\//,'') && location.hostname==this.hostname && this.hash.replace(/#/,'')) {
	      // get parameters
	      var hash=this.hash;
	      var target=$(hash).offset().top;
	      
	      // animate to target and set the hash to the window.location after the animation
	      $.doTimeout(300, function(){ // wait a second
	    	//console.log("hammertime!");
	    	$("html:not(:animated),body:not(:animated)").animate({ scrollTop: target }, 1500, "custom", function() { /*location.hash=hash;*/ });
		  });
	      // cancel default click action
	      return false;
	   }
	});
	
	// link back
	$('a.back').click(function() {
		history.back();
		return false;
	});
    
    // toggler
	$("a.toggler").addClass('toggler-off');
	$('#view_work').css('overflow', 'auto');
	$('#view_work').css('height', 'auto');
	$('#view_work ul').hide();

	$.fn.toggler = function(div) {	
		
		$(div).slideToggle(175);
    	if($(this).is('.toggler-on') ) {
          $(this).removeClass('toggler-on').addClass('toggler-off');
        } else {
          $(this).removeClass('toggler-off').addClass('toggler-on');
        }
        return false;
	};

	// initialize scrollables
    $("div.scrollable").scrollable(
    {
    	size: 1,
    	loop: true,
    	easing: "custom",
    	speed: 500,
    	next: ".scrollable-next",
    	prev: ".scrollable-prev",
    	disabledClass: "disabled",
    	keyboard: "static",
    	onSeek: function(event, i) { 
        	//console.log("current page is " + this.getPageIndex()); 
    	}
    }).navigator(
    {
    	navi: ".scrollable-navi"
    });
        
    $("div.thumb-wrapper").scrollable(
    {
    	size: 1,
    	clickable: false,
    	loop: false,
    	vertical: true,
    	easing: "custom",
    	speed: 500,
    	disabledClass: "disabled",
    	keyboard: false,
    	onSeek: function(event, i) { 
        	//console.log("current page is " + this.getPageIndex()); 
    	}
    }).navigator(
    {
    	navi:'ul.thumb-navi' 
    }).navigator(
    {
    	navi:'ul.thumb-navi2' 
    });
    
    function video_player() {
	    
	    flowplayer("video-player", "http://www.pekkafinland.fi/js/flowplayer/flowplayer.commercial-3.1.5.swf", { 
	    key: '#$f68634de9d01596d5c5',
	    
	    onLoad: function() {   
	        this.setVolume(40);  
	    },
	    clip: { 
	        autoPlay: false, 
	        autoBuffering: true, 
	        scaling: 'fit'
	    },
	    canvas: {
	    	backgroundColor: '#000000',
	    	backgroundGradient: 'none'
	    },
	    plugins: {
	      controls: {
	    	timeColor: '#ffffff',
	      	volumeSliderColor: '#333333',
	      	tooltipColor: '#ffffff',
	      	backgroundGradient: 'none',
	      	volumeSliderGradient: 'none',
	      	buttonOverColor: '#4C82CE',
	      	tooltipTextColor: '#454545',
	      	sliderGradient: 'none',
	      	sliderColor: '#000000',
	      	borderRadius: '0',
	      	buttonColor: '#333333',
	      	backgroundColor: '#111111',
	      	progressColor: '#4C82CE',
	      	bufferColor: '#333333',
	      	timeBgColor: '#111111',
	      	bufferGradient: 'none',
	      	durationColor: '#ffffff',
	      	progressGradient: 'none',
	      	height: 32,
	      	opacity: 1.0
	      }
		}
		});
	}
	if($('a#video-player').length) video_player();
	
    
    //
    // ajax loading
	//
	
	var ajax_load = "<img src='js/ajax-loader.gif' alt='Loading...' style='margin: 30px 0 0 294px' />";  
	
    $("body#work div#col-right .thumb-box a.link").click(function(){  
		
		var ajaxUrl = $(this).attr('href');
        var ajaxId = ajaxUrl.split("=");
           
        $("#ajax-container").
        html(ajax_load).
        load($(this).attr('href') + " #ajax-container", function(){  
			
			if($('a#video-player').length) video_player();
			
        	//$(".addthis_button").attr("addthis:url", $.new_addthis_prefix + '/work/?id=' + ajaxId[1]);
        	$(".scrollable").addClass("scrollable-" + ajaxId[1]);
            $(".scrollable-next").addClass("scrollable-next-" + ajaxId[1]);
            $(".scrollable-prev").addClass("scrollable-prev-" + ajaxId[1]);
            $(".scrollable-navi").addClass("scrollable-navi-" + ajaxId[1]);
            
            $("div.scrollable-" + ajaxId[1]).scrollable(
    		{
		    	size: 1,
		    	loop: true,
		    	easing: "custom",
		    	speed: 500,
		    	next: ".scrollable-next-" + ajaxId[1],
		    	prev: ".scrollable-prev-" + ajaxId[1],
		    	disabledClass: "disabled",
		    	keyboard: "static"
		    }).navigator(
		    {
		    	navi: ".scrollable-navi-" + ajaxId[1]
		    });
        });
        
    	return false;
    });
    
    $("form#mailinglist").submit(function() {
		if ($("form#mailinglist #Name").val() == "" || $("form#mailinglist #Email").val() == "") {
		   	$('form#mailinglist p.error').html("Please, fill in all fields.").fadeIn();
		   	return false;
		} 
	});
	
	/*
	$(".item_addtocart").click(function(){ 
		$(this).parent().append('<span class="item_addedtocart quiet" style="display: none">Item was added to cart.</span>');
		$(this).next().hide().fadeIn();
		$(this).fadeTo(700, 0.60);
		//return false;
	});
	*/
	
	$("body#shop p#js-warning").hide();
	
	$(".item_addtocart").click(function(){ 
		$("#jcart-footer").show();
	});
	
	// price conversions
	
	$("body#shop p.price .item_price").each(function() {
		
		var this_price = $(this).text();
	
		$(this).append(" &euro; (approx. $<span class='price_usd'>???</span> / &pound;<span class='price_gbp'>???</span>) + shipping.");
		$(this).find(".price_usd").
        load("ext/currency.ajax.php?action=rate&currfrom=EUR&currto=USD&amt=" + this_price, function(){  
    		return false;
    	});
    	$(this).find(".price_gbp").
        load("ext/currency.ajax.php?action=rate&currfrom=EUR&currto=GBP&amt=" + this_price, function(){  
    		return false;
    	});
    });
	
	// shipping dropdown (adds to cart)
	
	$('select#Shipping_amount').change(function () {

		var itemVal = $('select#Shipping_amount :selected').val();
		var itemName = $('select#Shipping_amount :selected').text();
		var itemId = $('select#Shipping_amount :selected').attr("rel");
		if(itemVal != 'disabled')	{
		
			// remove any existing shipping items
			$("td.shipping").each(function() {
			
				var removeId = $(this).prev().find("input:eq(1)").val();
				//console.log(removeId);
				
				// SEND ITEM ID VIA GET TO INTERMEDIATE SCRIPT WHICH CALLS jcart.php AND RETURNS UPDATED CART HTML
				$.get('jcart/jcart-relay.php', { "jcart_remove": removeId, "jcart_is_checkout":  true },
					function(data) {
					// REPLACE EXISTING CART HTML WITH UPDATED CART HTML
					$('#jcart').html(data);
					$('.jcart-hide').remove();
					$("#jcart input[value*='Shipping']").parent().next("td").addClass("shipping");
				});
			});
			
			// GET INPUT VALUES FOR USE IN AJAX POST
			var itemQty = 1;
			var itemAdd = "Add to Cart";
	
			// SEND ITEM INFO VIA POST TO INTERMEDIATE SCRIPT WHICH CALLS jcart.php AND RETURNS UPDATED CART HTML
			$.post('jcart/jcart-relay.php', { "my-item-id": itemId, "my-item-price": itemVal, "my-item-name": "Shipping to " + itemName, "my-item-qty": itemQty, "my-add-button" : itemAdd }, function(data) {
				// REPLACE EXISTING CART HTML WITH UPDATED CART HTML
				$('#jcart').html(data);
				$('.jcart-hide').remove();
				$('input#jcart-checkout').hide();
				//$("#jcart-item-id-" + itemId).parent().addClass("shipping");
				$("#jcart input[value*='Shipping']").parent().next("td").addClass("shipping");
				$("#jcart-subtotal .txt").html("Total");
			});
			
			// PREVENT DEFAULT FORM ACTION
			return false;
		}
		
		//var myform = $(this).parent();
		//myform.submit();
	
	});
	// check for any existing shipping items and remove amount buttons
	$("#jcart input[value*='Shipping']").parent().next("td").addClass("shipping");
	
	if($("td.shipping").length) {
		$("#jcart-subtotal .txt").html("Total");
	}
	
	$("body#shop form#checkout").submit(function(){  
        
        
        // form validation 
        var error = false;
        var shipping = false;
        $("div.error").fadeOut();
        
        //if($('select#Shipping_amount :selected').val() == "disabled") {
        
        if($('td.shipping').length) {
        	shipping = true;
        }
        if(!shipping) {
        	$("p#checkout-submit").append('<div class="error">Please choose a region for shipping costs.</div>');
        	return false;
        }
        
        
        if ($("input#First_Name").val() == "" || $("input#Last_Name").val() == "" || $("input#Address_1").val() == "" || $("input#Zip").val() == "" || $("input#City").val() == "" || $("select#Country").val() == "" || $("input#Email").val() == "" || $("input#Phone_Number").val() == "") {
			error = "Please fill in all required fields.";
		}
        if(error) {
        	$("p#checkout-submit").append('<div class="error">' + error + '</div>');
        	return false;
        }

        
        // ajax load form values
        
        $("p#checkout-submit").css("background","url(js/ajax-loader-small.gif) top right no-repeat");
        
        var str = $("form#checkout").serialize();
        $("div#checkout-svm").load("checkout_svm.php?"+str, function(){  
        	$("form#svm").submit();
        });
        
    	return false;
    });
	
});

// google analytics

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-1011169-14']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();