/**
 * 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: 3/9/2009
 * @author Ariel Flesler
 * @version 1.4.1
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
;(function($){var m=$.scrollTo=function(b,h,f){$(window).scrollTo(b,h,f)};m.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1};m.window=function(b){return $(window).scrollable()};$.fn.scrollable=function(){return this.map(function(){var b=this,h=!b.nodeName||$.inArray(b.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!h)return b;var f=(b.contentWindow||b).document||b.ownerDocument||b;return $.browser.safari||f.compatMode=='BackCompat'?f.body:f.documentElement})};$.fn.scrollTo=function(l,j,a){if(typeof j=='object'){a=j;j=0}if(typeof a=='function')a={onAfter:a};if(l=='max')l=9e9;a=$.extend({},m.defaults,a);j=j||a.speed||a.duration;a.queue=a.queue&&a.axis.length>1;if(a.queue)j/=2;a.offset=n(a.offset);a.over=n(a.over);return this.scrollable().each(function(){var k=this,o=$(k),d=l,p,g={},q=o.is('html,body');switch(typeof d){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px)?$/.test(d)){d=n(d);break}d=$(d,this);case'object':if(d.is||d.style)p=(d=$(d)).offset()}$.each(a.axis.split(''),function(b,h){var f=h=='x'?'Left':'Top',i=f.toLowerCase(),c='scroll'+f,r=k[c],s=h=='x'?'Width':'Height';if(p){g[c]=p[i]+(q?0:r-o.offset()[i]);if(a.margin){g[c]-=parseInt(d.css('margin'+f))||0;g[c]-=parseInt(d.css('border'+f+'Width'))||0}g[c]+=a.offset[i]||0;if(a.over[i])g[c]+=d[s.toLowerCase()]()*a.over[i]}else g[c]=d[i];if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],u(s));if(!b&&a.queue){if(r!=g[c])t(a.onAfterFirst);delete g[c]}});t(a.onAfter);function t(b){o.animate(g,j,a.easing,b&&function(){b.call(this,l,a)})};function u(b){var h='scroll'+b;if(!q)return k[h];var f='client'+b,i=k.ownerDocument.documentElement,c=k.ownerDocument.body;return Math.max(i[h],c[h])-Math.min(i[f],c[f])}}).end()};function n(b){return typeof b=='object'?b:{top:b,left:b}}})(jQuery);
;(function($){$.fn.lazyload=function(options){var settings={threshold:0,failurelimit:0,event:"scroll",effect:"show",container:window};if(options){$.extend(settings,options);}
var elements=this;if("scroll"==settings.event){$(settings.container).bind("scroll",function(event){var counter=0;elements.each(function(){if($.abovethetop(this,settings)||$.leftofbegin(this,settings)){}else if(!$.belowthefold(this,settings)&&!$.rightoffold(this,settings)){$(this).trigger("appear");}else{if(counter++>settings.failurelimit){return false;}}});var temp=$.grep(elements,function(element){return!element.loaded;});elements=$(temp);});}
this.each(function(){var self=this;if(undefined==$(self).attr("original")){$(self).attr("original",$(self).attr("src"));}
if("scroll"!=settings.event||undefined==$(self).attr("src")||settings.placeholder==$(self).attr("src")||($.abovethetop(self,settings)||$.leftofbegin(self,settings)||$.belowthefold(self,settings)||$.rightoffold(self,settings))){if(settings.placeholder){$(self).attr("src",settings.placeholder);}else{$(self).removeAttr("src");}
self.loaded=false;}else{self.loaded=true;}
$(self).one("appear",function(){if(!this.loaded){$("<img />").bind("load",function(){$(self).hide().attr("src",$(self).attr("original"))
[settings.effect](settings.effectspeed);self.loaded=true;}).attr("src",$(self).attr("original"));};});if("scroll"!=settings.event){$(self).bind(settings.event,function(event){if(!self.loaded){$(self).trigger("appear");}});}});$(settings.container).trigger(settings.event);return this;};$.belowthefold=function(element,settings){if(settings.container===undefined||settings.container===window){var fold=$(window).height()+$(window).scrollTop();}else{var fold=$(settings.container).offset().top+$(settings.container).height();}
return fold<=$(element).offset().top-settings.threshold;};$.rightoffold=function(element,settings){if(settings.container===undefined||settings.container===window){var fold=$(window).width()+$(window).scrollLeft();}else{var fold=$(settings.container).offset().left+$(settings.container).width();}
return fold<=$(element).offset().left-settings.threshold;};$.abovethetop=function(element,settings){if(settings.container===undefined||settings.container===window){var fold=$(window).scrollTop();}else{var fold=$(settings.container).offset().top;}
return fold>=$(element).offset().top+settings.threshold+$(element).height();};$.leftofbegin=function(element,settings){if(settings.container===undefined||settings.container===window){var fold=$(window).scrollLeft();}else{var fold=$(settings.container).offset().left;}
return fold>=$(element).offset().left+settings.threshold+$(element).width();};$.extend($.expr[':'],{"below-the-fold":"$.belowthefold(a, {threshold : 0, container: window})","above-the-fold":"!$.belowthefold(a, {threshold : 0, container: window})","right-of-fold":"$.rightoffold(a, {threshold : 0, container: window})","left-of-fold":"!$.rightoffold(a, {threshold : 0, container: window})"});})(jQuery);





$(function (){  

$(window).load(
    function() {
    	$('#screen-one #wait').hide();
    	$('#screen-one #go').fadeIn(100);
        $('#start-apple').show(1);
        $('#screen-three #video-full').html('<object width="625" height="345" type="application/x-shockwave-flash" data="http://vimeo.com/moogaloop.swf?clip_id=9041820&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=f0000c&amp;fullscreen=1&amp;autoplay=0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9041820&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=f0000c&amp;fullscreen=1&amp;autoplay=0" /></object>');
    }
);
   //    $('#content').show(900);

    $('span.home').hide();
  

    var winWidth = $(window).width();
    var winHeight  = $(window).height();
    

    if(winWidth){
        var totalX = 0;
        $("div.block-it").each(
            function( intIndex ){
                var blockWidth = $(this).width();                
                var blockPosition = $(this).position();
                
                var insideElement =  $(this).find("div.inside");
                if(insideElement.length){
                    var insideElementWidth = insideElement.width();
                    var adjustMargin = (blockWidth - insideElementWidth) / 2;
                    
                    var adjustMargin = ($.browser.msie && $.browser.version=="6.0") ? adjustMargin : adjustMargin;
                     
                    insideElement.css({'margin-left': adjustMargin+'px'});
                    var adjustPosition = blockPosition.left + ((blockWidth - winWidth) / 2);
                    var adjustPosition = ($.browser.msie && $.browser.version=="6.0") ? adjustPosition : adjustPosition;
                    $(this).attr('title', adjustPosition);
                } 
            
            }            
        );
        /*
        //init scroll
        var screenOne = $("div#screen-one").width();
        var initialPosition = (screenOne - winWidth) / 2; 
        $.scrollTo({top: 0, left: initialPosition+'px'}, 0);
        */
    }
    
    $("span.home a").click(function() {
        $('span.home').hide('fast');  
        
         $.scrollTo($('#screen-two').attr('title'), {duration: 1000, easing:'easeOutCubic', axis: 'x', lazy:true});
         return false;
          
    });
    $("a.next").click(function() {
        $('span.home').hide('fast');         
        var destinyAnchor = ($(this).attr("href")).substr(1);
        var destinyAnchorPosition = $('#'+destinyAnchor).attr('title');
        var destinyScrollTo = destinyAnchorPosition == "" ? $(this).attr("href") : {top: 0, left: destinyAnchorPosition};  
        
        var scrollDuration;
        switch(destinyAnchor){
            default:
                scrollDuration = 100;
            break;
            case 'screen-two':
                scrollDuration = 700;
            break;
            case 'screen-three':
                scrollDuration = 1600;
            break;
            case 'screen-four':
            	var openWindow = $('#screen-four').parent();
            	if(openWindow.data('open')){
            		destinyScrollTo = '#screen-margin';
            	}
                scrollDuration = 1400;;
            break;
            
        }
        $.scrollTo(destinyScrollTo, {duration: scrollDuration, easing:'easeOutCubic', axis: 'x', lazy:true, onAfter:function(){
            if(destinyAnchor == 'screen-three' || destinyAnchor == 'screen-four'){
                $('span.home').show('fast');     
            } else {
                $('span.home').hide('fast');    
            }}            
            });    
         
        return false;
  });   
  
    $("div#put-work a.contact").click(function() {
        $.scrollTo('#screen-margin', {duration: 200, easing:'swing', axis: 'x', lazy:true , onAfter:function(){
             $('div#contact-form').fadeIn('fast'); }});
        $('div#screen-four').parent().data('open', true);
        return false;
    });

   

    $("a.prev").click(function() {
        var destinyAnchor = ($(this).attr("href")).substr(1);
        var destinyAnchorPosition = $('#'+destinyAnchor).attr('title');
        var destinyScrollTo = destinyAnchorPosition == "" ? $(this).attr("href") : {top: 0, left: destinyAnchorPosition};  
        $.scrollTo(destinyScrollTo, {duration: 1400, easing:'easeOutCubic', axis: 'x', lazy:true} ); 
        return false;
  });    
    

    /* more about */
    $("div#screen-four a.info-box").click(function() {
        var linkItem = $(this).parent();
        var linkItemTitle = $(this).attr('title');
        if(linkItemTitle == 'press'){
            return true;
        }
        if(linkItem.data('open')){
            
            $('div#screen-four div#content-credits').hide();
            $('div#screen-four div#content-press').hide();
            
            $('div#info').animate({ right: "-500px", easing:'easeOut'}, 300).fadeOut('fast');
            $('div#screen-four a.info-box').parent().data('open', false);
            
            return false;
        } else {

            $('div#screen-four div#content-'+linkItemTitle).show();
            var rightPosition = ($.browser.msie && $.browser.version=="6.0") ? "15" : "35";
            $('div#info').fadeIn('fast').animate({ right: rightPosition+"px", easing:'easeOutCubic'}, 300);
            linkItem.data('open', true);
            return false;    
        }     
        
    });
    
    $("div#screen-four a.return").click(function() {
        $('div#screen-four div#content-credits').hide();
        $('div#screen-four div#content-press').hide();
        
        $('div#info').animate({ right: "-500px", easing:'easeOut'}, 300).fadeOut('fast');
        $('div#screen-four a.info-box').parent().data('open', false);
        
        return false;
          
    });    

        
    //http://gsgd.co.uk/sandbox/jquery.easing.php
    $.easing.easeOutCubic = function (x, t, b, c, d) {
        return c*((t=t/d-1)*t*t + 1) + b;
    };
            
    
    /* form contact */
    function focusClass (elem) {
        var $elem = elem;
        $elem.removeClass("iddle").addClass("focus");        
    }

    function blurClass (elem) {
        var $elem = elem;
        $elem.removeClass("focus").addClass("iddle");
                if ($.trim(this.value) == ''){
                    this.value = (this.defaultValue ? this.defaultValue : '');
                }
    }   
    $('textarea').focus(function() {  focusClass($(this));   });
    $('textarea').blur(function() {  blurClass($(this));   });
    $('input[type="text"]').focus(function() {  focusClass($(this));   });
    $('input[type="text"]').blur(function() {  blurClass($(this));   });             

    $("a.prev").click(function() {
        
        return false;
  }); 
  
  $("form#ContactForm").submit(function() {
    if(jQuery.trim($('#ContactName').val()) == ''){
        $('#ContactName').val("[ Please complete your name ]");
        focusClass($('#ContactName'));
        return false;
    }
    if(!checkMail($('#ContactEmail').val())){                                                        
        $('#ContactEmail').val("[ Please enter a valid email ]"); 
        focusClass($('#ContactEmail'));
        return false;
    }
           
    if(jQuery.trim($('#ContactMessage').val()) == '') {
        $('#ContactMessage').val("[ Plase fill your message ]");
        focusClass($('#ContactMessage'));
        return false;
    }
    
    var dataString = $("form#ContactForm").serialize();
    $.ajax({
        type: "POST",
        url: "contact.php",
        data: dataString,
        success: function(data) {
        
            if(data == 'success'){
                var newContent = '<div class="thanks"></div>'
                $('div#contact-form div#form-wrapper').fadeOut('fast', function() {
                    $(this).html(newContent).fadeIn('fast');
                });                               
            } else {
                var newContent = '<div class="thanks"></div>'
                $('div#contact-form div#form-wrapper').fadeOut('fast').html(newContent).fadeIn('fast');                        }
      }
     });                                                     
            return false;
   
        
    });  
    
    
        $("#ContactName").click(function() {
            var query = $("#ContactName").val();
            if(query == "[ Please complete your name ]") {
                $("#ContactName").val("");
            }
        });  

        $("#ContactEmail").click(function() {
            var query = $("#ContactEmail").val();
            if(query == "[ Please enter a valid email ]") {
                 $("#ContactEmail").val("");
            }
        }); 
                    
        $("#ContactMessage").click(function() {
            var query = $("#ContactMessage").val();
            if(query == "[ Plase fill your message ]") {
                $("#ContactMessage").val("");
            }
        }); 
                          
        function checkMail(str) {     
            var at="@"
            var dot="."
            var lat=str.indexOf(at)
            var lstr=str.length
            var ldot=str.indexOf(dot)
            if (str.indexOf(at)==-1){
               return false
            }

            if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
               return false
            }

            if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
                return false
            }

             if (str.indexOf(at,(lat+1))!=-1){
                return false
             }

             if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
                return false
             }

             if (str.indexOf(dot,(lat+2))==-1){
                return false
             }
            
             if (str.indexOf(" ")!=-1){
                return false
             }
             return true;                    
            }    
  
});
