jQuery.easing["jswing"]=jQuery.easing["swing"];jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(a,b,c,d,e){return jQuery.easing[jQuery.easing.def](a,b,c,d,e)},easeInQuad:function(a,b,c,d,e){return d*(b/=e)*b+c},easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c},easeInOutQuad:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b+c;return-d/2*(--b*(b-2)-1)+c},easeInCubic:function(a,b,c,d,e){return d*(b/=e)*b*b+c},easeOutCubic:function(a,b,c,d,e){return d*((b=b/e-1)*b*b+1)+c},easeInOutCubic:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b+c;return d/2*((b-=2)*b*b+2)+c},easeInQuart:function(a,b,c,d,e){return d*(b/=e)*b*b*b+c},easeOutQuart:function(a,b,c,d,e){return-d*((b=b/e-1)*b*b*b-1)+c},easeInOutQuart:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b*b+c;return-d/2*((b-=2)*b*b*b-2)+c},easeInQuint:function(a,b,c,d,e){return d*(b/=e)*b*b*b*b+c},easeOutQuint:function(a,b,c,d,e){return d*((b=b/e-1)*b*b*b*b+1)+c},easeInOutQuint:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b*b*b+c;return d/2*((b-=2)*b*b*b*b+2)+c},easeInSine:function(a,b,c,d,e){return-d*Math.cos(b/e*(Math.PI/2))+d+c},easeOutSine:function(a,b,c,d,e){return d*Math.sin(b/e*(Math.PI/2))+c},easeInOutSine:function(a,b,c,d,e){return-d/2*(Math.cos(Math.PI*b/e)-1)+c},easeInExpo:function(a,b,c,d,e){return b==0?c:d*Math.pow(2,10*(b/e-1))+c},easeOutExpo:function(a,b,c,d,e){return b==e?c+d:d*(-Math.pow(2,-10*b/e)+1)+c},easeInOutExpo:function(a,b,c,d,e){if(b==0)return c;if(b==e)return c+d;if((b/=e/2)<1)return d/2*Math.pow(2,10*(b-1))+c;return d/2*(-Math.pow(2,-10*--b)+2)+c},easeInCirc:function(a,b,c,d,e){return-d*(Math.sqrt(1-(b/=e)*b)-1)+c},easeOutCirc:function(a,b,c,d,e){return d*Math.sqrt(1-(b=b/e-1)*b)+c},easeInOutCirc:function(a,b,c,d,e){if((b/=e/2)<1)return-d/2*(Math.sqrt(1-b*b)-1)+c;return d/2*(Math.sqrt(1-(b-=2)*b)+1)+c},easeInElastic:function(a,b,c,d,e){var f=1.70158;var g=0;var h=d;if(b==0)return c;if((b/=e)==1)return c+d;if(!g)g=e*.3;if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g))+c},easeOutElastic:function(a,b,c,d,e){var f=1.70158;var g=0;var h=d;if(b==0)return c;if((b/=e)==1)return c+d;if(!g)g=e*.3;if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*b)*Math.sin((b*e-f)*2*Math.PI/g)+d+c},easeInOutElastic:function(a,b,c,d,e){var f=1.70158;var g=0;var h=d;if(b==0)return c;if((b/=e/2)==2)return c+d;if(!g)g=e*.3*1.5;if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);if(b<1)return-.5*h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g)+c;return h*Math.pow(2,-10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g)*.5+d+c},easeInBack:function(a,b,c,d,e,f){if(f==undefined)f=1.70158;return d*(b/=e)*b*((f+1)*b-f)+c},easeOutBack:function(a,b,c,d,e,f){if(f==undefined)f=1.70158;return d*((b=b/e-1)*b*((f+1)*b+f)+1)+c},easeInOutBack:function(a,b,c,d,e,f){if(f==undefined)f=1.70158;if((b/=e/2)<1)return d/2*b*b*(((f*=1.525)+1)*b-f)+c;return d/2*((b-=2)*b*(((f*=1.525)+1)*b+f)+2)+c},easeInBounce:function(a,b,c,d,e){return d-jQuery.easing.easeOutBounce(a,e-b,0,d,e)+c},easeOutBounce:function(a,b,c,d,e){if((b/=e)<1/2.75){return d*7.5625*b*b+c}else if(b<2/2.75){return d*(7.5625*(b-=1.5/2.75)*b+.75)+c}else if(b<2.5/2.75){return d*(7.5625*(b-=2.25/2.75)*b+.9375)+c}else{return d*(7.5625*(b-=2.625/2.75)*b+.984375)+c}},easeInOutBounce:function(a,b,c,d,e){if(b<e/2)return jQuery.easing.easeInBounce(a,b*2,0,d,e)*.5+c;return jQuery.easing.easeOutBounce(a,b*2-e,0,d,e)*.5+d*.5+c}})

$(document).ready(function(){

    $(window).scrollTop(0);
    initialize_map();
    
    if($("body").hasClass("isNoMobi") && $(".main-container").width()>900 ){
        controlTheSliders();
    }
    var currActItem = $(".nav-container").find("li.active");
    var currActLoc = $(".location-selector").find("li.active");
    var navContSlider = $(".main-nav .nav-bar .nav-slider");
    var locContSlider = $(".location-selector .nav-bar .nav-slider");
    var navIndex = 0;
    var locIndex = 0;
    var triggered = false;
    slideTheSlider(currActItem,navContSlider);        
    slideTheSlider(currActLoc,locContSlider);
    
    $(".main-banner").imageSlider({slideDelay:6});
    
    //$(window).scroll(function(){jQuery('html,body').queue([]).stop();})

    
    $(".main-nav li").click(function(e){
        e.preventDefault();
        animateTheSlider($(this),navContSlider);
        navIndex = $(this).index();
        triggered = true;
    });
    
    $(".location-selector li").click(function(e){
        e.preventDefault();
        animateTheSlider($(this),locContSlider);
        locIndex = $(this).index();
    });
    
    $(".trigger").stop().hover(function(){
        var pinkie = $(this).find(".pink");
        pinkie.stop().animate({bottom:"3px"},150);
    },function(){
        var pinkie = $(this).find(".pink");
        pinkie.stop().animate({bottom:"5px"},100);    
    });
    
    
    $(".trigger,.trigga").click(function(e){
        e.preventDefault();
        var pinkie = $(this).find(".pink");
        if(pinkie.length>0){
            pinkie.stop().animate({bottom:"0px"},100,function(){
                pinkie.stop().animate({bottom:"5px"},100,function(){
                    $("html,body").stop().animate({scrollTop:0},{duration:1000,easing:"easeOutExpo",complete:function(){
                    $(".main-nav li").eq(0).trigger("click");
                    }});
                });
            });
        }else{
        
        $("html,body").stop().animate({scrollTop:0},{duration:1000,easing:"easeOutExpo",complete:function(){
            $(".main-nav li").eq(0).trigger("click");
        }});
    
        }
        
    })
    
    $(".trigga,.foot-social a span").css({opacity:0});
    
    $(".trigga").hover(function(){
        $(this).stop().animate({opacity:1},600);    
    },function(){
        $(this).stop().animate({opacity:0},600);
    });

    $(".foot-social a").hover(function(){
        $(this).find("span").stop().animate({opacity:1},600);    
    },function(){
        $(this).find("span").stop().animate({opacity:0},600);
    });
    
    
    $(".outsource").hover(function(){ $(this).stop().animate({backgroundColor:"#ED148C"},500);},function(){$(this).stop().animate({backgroundColor:"#b1b3b3"},500);})
    
    $("html,body").mousewheel(function(){
       $(this).queue([]).stop();
    });
    
    $("html,body").bind("touchmove",function(){
       $(this).queue([]).stop();
        if(triggered){
            triggered = false;
        }
    });
    
    $(window).scroll(function(){
        if($(window).scrollTop()>=0 && !triggered){
              $(".main-nav li").eq(0).trigger("click");
        }
    });
    
    var hasBeenSmaller = false;
    
    $(window).resize(function(){
        
        var currActItem = $(".nav-container li").eq(navIndex);
        var currActLoc = $(".location-selector li").eq(locIndex);
        var navContSlider = $(".main-nav .nav-bar .nav-slider");
        var locContSlider = $(".location-selector .nav-bar .nav-slider");
      
        slideTheSlider(currActItem,navContSlider);        
        slideTheSlider(currActLoc,locContSlider);
        
        if($("body").hasClass("isNoMobi") && $(".main-container").width() == 960 && hasBeenSmaller ){
            resetTheSliders();
            controlTheSliders();
            $("html,body").scrollTop(0);
            hasBeenSmaller = false;
        }else if($(".main-container").width() < 800){
            resetTheSliders();
            hasBeenSmaller = true;
        }
        
    });
    
    $(".location-selector li").click(function(e){
        
        e.preventDefault();
        if($(this).find("a").attr("id") == "chelt"){
           map.panTo(cheltLt); 
        }else{
           map.panTo(londonLt); 
        }
        //map.panBy(-(projL.x-projC.x),-(projL.y-projC.y));
        
    });
   
    if($("body").hasClass("isMobi")){
      document.getElementById("map_canvas").addEventListener("touchstart", thisTouchStart, true);
      document.getElementById("map_canvas").addEventListener("touchend", thisTouchEnd, true);
      document.getElementById("map_canvas").addEventListener("touchmove", thisTouchMove, true);  
    }
    
    
});

function slideTheSlider(currActItem,navContSlider){
    navContSlider.css({left: get_the_position(currActItem,navContSlider) ,width:currActItem.width()});
}

function animateTheSlider(currActItem,navContSlider,animateC){
     navContSlider.stop().animate({left: get_the_position(currActItem,navContSlider),width:currActItem.width()},{duration:1000,easing:"easeOutElastic",complete:function(){
       
         if($("#"+currActItem.find("a").attr("id")+"_target").length>0){
            var dist = Math.abs($(window).scrollTop() - ($("#"+currActItem.find("a").attr("id")+"_target").offset().top-62));
            $("html,body").stop().animate({scrollTop:$("#"+currActItem.find("a").attr("id")+"_target").offset().top-62},{duration:dist,easing:"easeOutBack"});
         }
    }});
       currActItem.siblings().removeClass("active");
        currActItem.siblings().find("a").removeAttr("style").removeClass("active");
        currActItem.find("a").animate({color:"#74A8D8"},300);
}

var dragFlag = false;
var start = 0, end = 0;

function thisTouchStart(e)
{
    dragFlag = true;
    start = e.touches[0].pageY; 
}

function thisTouchEnd()
{
    dragFlag = false;
}

function thisTouchMove(e)
{   
    if ( !dragFlag ) return;
    if ( map.draggable ) return;
    end = e.touches[0].pageY;
    window.scrollBy( 0,( start - end ) );
}

function get_the_position(actItem,slider){
    
    var parentAct = actItem.parent();
    var parentSli = slider.parent();
    var parentActPos = parentAct.offset().left;
    var parentSliPos = parentSli.offset().left;
    var edge = parentAct.parent().offset().left - parentSliPos;

    var pushval = (actItem.offset().left-parentAct.parent().offset().left);
    
    return edge+pushval;
}

(function(a){function d(b){var c=b||window.event,d=[].slice.call(arguments,1),e=0,f=!0,g=0,h=0;return b=a.event.fix(c),b.type="mousewheel",c.wheelDelta&&(e=c.wheelDelta/120),c.detail&&(e=-c.detail/3),h=e,c.axis!==undefined&&c.axis===c.HORIZONTAL_AXIS&&(h=0,g=-1*e),c.wheelDeltaY!==undefined&&(h=c.wheelDeltaY/120),c.wheelDeltaX!==undefined&&(g=-1*c.wheelDeltaX/120),d.unshift(b,e,g,h),(a.event.dispatch||a.event.handle).apply(this,d)}var b=["DOMMouseScroll","mousewheel"];if(a.event.fixHooks)for(var c=b.length;c;)a.event.fixHooks[b[--c]]=a.event.mouseHooks;a.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=b.length;a;)this.addEventListener(b[--a],d,!1);else this.onmousewheel=d},teardown:function(){if(this.removeEventListener)for(var a=b.length;a;)this.removeEventListener(b[--a],d,!1);else this.onmousewheel=null}},a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery)
