var log=function(a){if(typeof console!="undefined"&&console!==null){if(typeof console.log=="function"){console.log(a)}}};var $j=jQuery.noConflict();var LoadingManager=SingletonClass.create({initialize:function(){this.loadingList=new Array();this.loaded=0;this.loadedFunc=null;this.hideLoaderFunc=null;this.showLoaderFunc=null},Initialize:function(){},Load:function(a){for(i=0;i<a.length;i++){if(a[i]!=""&&a[i]!=undefined){this.loadingList.push(a[i]);var b=new Image();b.src=a[i];b.onload=function(){LoadingManager.get().loaded++;LoadingManager.get().isLoaded()}}}if(this.showLoaderFunc!=null){this.showLoaderFunc.call()}this.isLoaded()},isLoaded:function(){if(this.loaded==this.loadingList.length){if(this.loadedFunc!=null){this.loadedFunc.call()}if(this.hideLoaderFunc!=null){this.hideLoaderFunc.call()}}},OnLoad:function(a){this.loadedFunc=a},ShowLoader:function(a){this.showLoaderFunc=a},HideLoader:function(a){this.hideLoaderFunc=a}});var PageManager=SingletonClass.create({initialize:function(){this.pages=new Array();log("PageManager this.pages initialized.");this.currentPage=null;this.oldPage=null},Initialize:function(){$j(window).bind(PageEvent.get().LoadingComplete,function(b,a){a.Display();this.currentPage=PageManager.get().pages[a.id]})},AddPage:function(a){this.pages.push(a)},AddPages:function(a){for(i=0;i<a.length;i++){this.pages.push(a[i])}},Direction:function(){var a=null;var b=null;for(i=0;i<this.pages.length;i++){if(this.pages[i].id==this.oldPage.id){if(b==null){return"rightToLeft"}}if(this.pages[i].id==this.currentPage.id){return"leftToRight"}}},Previous:function(){},Next:function(){},Goto:function(b){if(this.currentPage!=null){this.oldPage=this.currentPage}else{if(PageManager.get().pages[0].id!=b){this.oldPage=PageManager.get().pages[0]}}for(i=0;i<this.pages.length;i++){var a=this.pages[i];if(b==a.id){this.currentPage=a;break}}if(this.oldPage!=null){if(this.oldPage.id!=this.currentPage.id){this.currentPage.Display()}else{$j("body").removeClass("waiting_for_transition")}}else{$j("body").removeClass("waiting_for_transition")}}});var Page=Class.create({initialize:function(h,e,g,c,f,d,b,a){this.id=h;this.title=e;this.header=g;this.content=c;this.footer=f;this.metas=d;this.url=b;this.displayed=false;if(a==undefined){this.loaded=false}else{this.loaded=a}},Load:function(){$j(window).trigger(PageEvent.get().LoadingStart,[this]);$j.ajax({url:_ajaxURL,type:"POST",dataType:"xml",data:"action=get_page_js&id="+this.id,page:this,error:function(a,c,b){},success:function(a){this.page.ajaxResponse(a)}})},ajaxResponse:function(a){this.loaded=true;this.title=$j(a).find("title").text();this.header=$j(a).find("header").text();this.content=$j(a).find("content").text();this.metas=$j(a).find("metas");this.Loaded()},Loaded:function(){$j(window).trigger(PageEvent.get().LoadingComplete,[this])},Display:function(){if(this.loaded){this.Launch()}else{this.Load()}},Delete:function(){},Appear:function(){if(!_transitions){$j(".background:last").animate({left:"0px"},1000);$j(".foreground:last").animate({left:"0px"},1200);$j(".contener").animate({opacity:"1"},1000)}else{$j(".foreground:last, .background:last").css("left","0px");$j(".background-ipad:last").css("left","0px");$j(".background-ipad:last").css("opacity","1");$j(".contener").css("opacity","1")}$j(window).trigger(PageEvent.get().AppearStart,[this]);var a=setTimeout(this.AppearComplete,1200,this)},Disappear:function(){switch(PageManager.get().Direction()){case"leftToRight":if(!_transitions){$j(".background:first").animate({left:$j(window).width()+"px"},1000);$j(".background-ipad:first").animate({left:$j(window).width()+"px"},1000);$j(".foreground:first").animate({left:$j(window).width()+"px"},1200);$j(".contener").animate({opacity:"0"},1000)}else{$j(".foreground:first, .background:first").css("left",$j(window).width()+"px");$j(".background-ipad:first").css("left",$j(window).width()+"px");$j(".background-ipad:first").css("opacity","0");$j(".contener").css("opacity","0")}break;case"rightToLeft":if(!_transitions){$j(".background:first, .background-ipad:first").animate({left:-$j(window).width()+"px"},1000);$j(".foreground:first").animate({left:-$j(window).width()+"px"},1200)}else{$j(".foreground:first, .background:first, .background-ipad:first").css("left",-$j(window).width()+"px");$j(".background-ipad:first").css("opacity","0")}break}var a=setTimeout(this.DisappearComplete,1200,this);$j(window).trigger(PageEvent.get().DisappearStart,[this])},AppearComplete:function(a){$j(".foreground:first").remove();$j(".background:first").remove();$j(".background-ipad:first").remove();$j(window).trigger(PageEvent.get().AppearComplete,[a])},DisappearComplete:function(a){$j(window).trigger(PageEvent.get().DisappearComplete,[a])},InjectContent:function(){$j(".header:last").html(this.header);$j(".article:last").html(this.content)},Launch:function(){$j("body").css("background-image","none");$j(".navigation:last").html($j(this.metas).find("nav").text());switch(PageManager.get().Direction()){case"leftToRight":$j("body").append('<div class="foreground" style="left:'+(-$j(window).width()+10)+'px"></div>');$j("body").append('<div class="background" style="left:'+(-$j(window).width()+10)+'px"></div>');break;case"rightToLeft":$j("body").append('<div class="foreground" style="left:'+($j(window).width()-10)+'px"></div>');$j("body").append('<div class="background" style="left:'+($j(window).width()-10)+'px"></div>');break}$j("body").append('<div class="background-ipad" style="opacity:0"></div>');var b=$j(this.metas).find("foreground").text();if(b!=""){$j(".foreground:last").css("background-image","url("+b+")")}else{$j(".foreground:last").css("background-image","none")}var a=$j(this.metas).find("background").text();$j(".background:last").css("background-image","url("+a+")");var c=$j(this.metas).find("background-ipad").text();$j(".background-ipad:last").css("background-image","url("+c+")");LoadingManager.get().Initialize();LoadingManager.get().HideLoader(function(){});LoadingManager.get().OnLoad(function(){PageManager.get().oldPage.Disappear();PageManager.get().currentPage.Appear()});LoadingManager.get().Load([b,a,c]);$j(".foreground:first").css("z-index",-1);$j(".foreground:last").css("z-index",-2);$j(".background:first").css("z-index",-3);$j(".background:last").css("z-index",-4);$j(".background-ipad:first").css("z-index",-3);$j(".background-ipad:last").css("z-index",-4);setNavigation()}});var PageEvent=SingletonClass.create({initialize:function(){this.LoadingStart="PAGE_EVENT_LOADING_START";this.LoadingComplete="PAGE_EVENT_LOADING_COMPLETE";this.AppearStart="PAGE_EVENT_APPEAR_START";this.AppearComplete="PAGE_EVENT_APPEAR_COMPLETE";this.DisappearStart="PAGE_EVENT_DISAPPEAR_START";this.DisappearComplete="PAGE_EVENT_DISAPPEAR_COMPLETE"}});function setProjectsPlayer(){$j("#list-projects").css("overflow","hidden");$j("#js-page #previous a").click(function(d){if(!$j("body").hasClass("waiting-for-transition")){$j("body").addClass("waiting-for-transition");var c=0;var a=0;var b=false;$j("#list-projects-contener article").each(function(f){if(($j(this).css("display")=="block")&&(!b)){b=true;a=c;$j(this).prev().show("slow");var e=$j(this).next().next().next();e.next().css("clear","both");e.hide(400,function(){$j(this).next().css("clear","none");$j(this).css("clear","both")}).show(400,function(){$j(this).css("clear","none");$j("body").removeClass("waiting-for-transition")})}c++});if(!b){$j("#list-projects-contener article:last").show("slow");log("JS Page : Hiding article:last")}viewNavigationProjects(a-1)}return false});$j("#js-page #next a").click(function(f){if(!$j("body").hasClass("waiting-for-transition")){var d=$j("#list-projects-contener article").length;var a=8;var b=8;var c=false;$j("#list-projects-contener article").each(function(g){if(($j(this).css("display")=="block")&&(!c)){c=true;a=b;if(b<d){$j(this).hide(800);var e=$j(this).next().next().next().next();e.css("clear","both");e.hide(400,function(){$j(this).css("clear","none");$j(this).next().css("clear","both")}).show(400,function(){$j(this).next().css("clear","none");$j("body").removeClass("waiting-for-transition")})}}b++});if(!c){$j("#list-projects-contener article:first").hide("slow");log("JS Page : Hiding article:first")}viewNavigationProjects(a-3)}return false});$j("#list-projects-contener article a").mouseover(function(a){$j(this).parent().parent().addClass("rollover")});$j("#list-projects-contener article a").mouseout(function(a){$j(this).parent().parent().removeClass("rollover")})}function viewNavigationProjects(a){$j("#js-page #previous, #js-page #next").css("display","none");if($j("#list-projects-contener article").length>8){if((a+4)<($j("#list-projects-contener article").length)){$j("#js-page #next").css("display","block")}if(a>0){$j("#js-page #previous").css("display","block")}}}function loadStack(){if(_isReadyToLoad){log("loadStack "+_stackToLoad[_stackToLoad.length-1][0]);load(_stackToLoad[_stackToLoad.length-1][0],_stackToLoad[_stackToLoad.length-1][1]);_isReadyToLoad=false}else{_stackTimeOut=setTimeout(loadStack,1000)}}function setReadyToLoad(){_isReadyToLoad=true;_readyTimeOut=setTimeout(setReadyToLoad,1200)}function setStack(){_readyTimeOut=setTimeout(setReadyToLoad,1200)}function composeBackground(){$j("body").append('<div class="foreground" style="background-image: url('+_foreground+');"></div>');$j("body").append('<div class="background" style="background-image: url('+_background+');"></div>');$j("body").append('<div class="background-ipad" style="background-image: url('+_backgroundIpad+');"></div>')}function transitionsSupported(){var a=false;if(($j(".contener").css("-moz-transition-property")=="opacity")||($j(".contener").css("-webkit-transition-property")=="opacity")||($j(".contener").css("-o-transition-property")=="opacity")||($j(".contener").css("transition-property")=="opacity")){a=true}if(_ios){a=true}return a}function setPageManager(){PageManager.get().Initialize();PageManager.get().AddPages(_pagesArr);$j.history.init(function(b){if(b==""){$j.history.load(PageManager.get().pages[0].title)}else{$j("body").addClass("waiting_for_transition");var a=b.split("_");_stackToLoad.push([a[0],b]);loadStack()}},{unescape:",/"})}function load(b,a){if(typeof b!="undefined"&&b!=null){PageManager.get().Goto(b)}}function setGlobalNavigation(){$j("#services_link").click(function(a){pausePlayer();get_page("services");desactivateNavigation();$j("#services_link").addClass("active");return false});$j("#contact_link").click(function(a){pausePlayer();get_page("contact");desactivateNavigation();$j("#contact_link").addClass("active");return false});$j("#clients-awards_link").click(function(a){pausePlayer();get_page("clients-awards");desactivateNavigation();$j("#clients-awards_link").addClass("active");return false});setFacebookShare()}function setFacebookShare(){$j("#facebook_share_page a").unbind("click");$j("#facebook_share_page a").click(function(c){var a=_blogURL+"/";var d=PageManager.get().currentPage.title;var b=d.split("_");b=d.substr(b[0].length+1);FB.ui({method:"feed",name:$j("#titles h2").ucwords()+" - Agence Diplomatic-Cover",link:a+"#"+d,picture:a+"wp-content/uploads/2011/facebook/"+b+".jpg",description:$j("#titles h3").text()},function(e){if(e&&e.post_id){log("Post was published.");$j("#facebook_share_page a").remove()}else{log("Post was not published.")}});return false})}function desactivateNavigation(){$j("#menu ul li a").removeClass("active")}function get_page(a){$j.ajax({url:_ajaxURL,type:"POST",dataType:"xml",data:"action=get_page_html_js&id="+a,error:function(b,d,c){},success:function(b){show_page($j(b).find("content").text())}})}function show_page(b){$j("#box").remove();$j("body").append('<div id="box"><div class="box-page"><div id="js-page"><div id="close"><a class="smooth shadowed" href="#"><span>Fermer</span></a></div><section id="rub">'+b+"</section></div></div></div>");resizeBox();$j("#close a").click(function(c){$j("#box").remove();desactivateNavigation();$j("#products_link").addClass("active");return false});setNavigation();$j("#newsletterLoading img").attr("src",_loaderURL);var a=$j("a.mailto").html();if(a!=null){a=a.replace(" [arobase] ","@");$j("a.mailto").html(a);$j("a.mailto").attr("href","mailto:"+a)}}function resizeBox(){if($j("#box")){$j("#box").height($j(window).height()-$j("#header").height())}}function get_projects(){$j.ajax({url:_ajaxURL,type:"POST",dataType:"xml",data:"action=get_projects_js",error:function(a,c,b){},success:function(a){show_projects($j(a).find("content").text());viewNavigationProjects(0)}})}function show_projects(a){$j("#box").remove();$j("body").append('<div id="box"><div class="box-page"><div id="js-page"><div id="close"><a class="smooth shadowed" href="#"><span>Fermer</span></a></div>'+a+"</div></div></div>");$j("#close a").click(function(b){$j("#box").remove();return false});setProjectsPlayer();setNavigation()}function setTipNavigation(){if(!_isiPad&&!_isiPhone){$j("a.project_link").mouseover(function(d){var b=$j(d.target).parent().attr("id");var c=0;var a=0;$j(".tip").appendTo("body");switch(b){case"next":c=-40;a=-120;$j(".tip:last").removeClass("previous");$j(".tip:last").addClass("next");$j(".tip:first").hide();$j(".tip:last").fadeIn("fast");break;case"previous":c=-40;a=40;$j(".tip:first").removeClass("next");$j(".tip:first").addClass("previous");$j(".tip:last").hide();$j(".tip:first").fadeIn("fast");break}$j(".tip").css({top:(_mouseY+c)+"px",left:(_mouseX+a)+"px"});$j(document).mousemove(function(f){_mouseX=f.pageX;_mouseY=f.pageY;$j(".tip").css({top:(_mouseY+c)+"px",left:(_mouseX+a)+"px"})})});$j("a.project_link").mouseout(function(a){$j(".tip").hide()})}}function setNavigation(){$j("a.project_link").click(function(b){if(!$j("body").hasClass("waiting_for_transition")){$j(".tip").remove();var a=$j(this).attr("data-id");$j("#box").remove();if(!$j(this).parent().hasClass("active")){pausePlayer();$j.history.load(a)}}return false});$j("#list_links a").click(function(a){pausePlayer();get_projects();return false});$j("#siteweb_link a").click(function(a){pausePlayer();if($j(this).attr("href")!=undefined&&$j(this).attr("href")!=""){window.open($j(this).attr("href"),"_blank")}return false});$j("#video_link a").click(function(d){pausePlayer();var b=$j(this).attr("href");if(b!=undefined&&b!=""){var a=$j(this).attr("data-width");var c=$j(this).attr("data-height");var g=(980-a)/2;var f=(350-c)/2;show_page('<iframe src="'+b+'" width="'+a+'" height="'+c+'" frameborder="0" style="margin-top:'+f+"px; margin-left:"+g+'px;"></iframe>')}return false});mouseMoveGesture();setTipNavigation();setAutomaticPlayer();setFacebookShare()}function loadAutomaticNext(){if(_isAutomaticPlaying){var b;for(i=0;i<PageManager.get().pages.length;i++){var a=PageManager.get().pages[i];if(a.id==PageManager.get().currentPage.id){if((i+1)>=PageManager.get().pages.length){b=PageManager.get().pages[0].title}else{b=PageManager.get().pages[i+1].title}break}}$j.history.load(b);_automaticSetTimeOut=setTimeout(loadAutomaticNext,_automaticPlayingTimer)}}function setAutomaticPlayer(){$j("#play_pause a").show();$j("#play_pause a").click(function(a){_lastMouseEvent=a;if($j(this).hasClass("pause")){pausePlayer()}else{resumePlayer()}return false});if(_isAutomaticPlaying){resumePlayer()}}function resumePlayer(){$j("#play_pause a").addClass("pause");if(!_isAutomaticPlaying){_isAutomaticPlaying=true;loadAutomaticNext()}}function pausePlayer(){_isAutomaticPlaying=false;$j("#play_pause a").removeClass("pause")}var _isAutomaticPlaying=false;var _automaticSetTimeOut;var _automaticPlayingTimer=8000;function mouseMoveGesture(){$j(document).mousemove(function(a){_mouseX=a.pageX;_mouseY=a.pageY})}function Initialize(){_isiPad=navigator.userAgent.match(/iPad/i)!=null;_isiPhone=navigator.userAgent.match(/iPhone/i)!=null;if(_isiPad||_isiPhone){_ios=true}_transitions=transitionsSupported();setProjectsPlayer();composeBackground();setPageManager();setGlobalNavigation();setNavigation();setStack();$j(window).resize(function(){resizeBox()})}var _stackTimeOut;var _isReadyToLoad=true;var _readyTimeOut;var _stackToLoad=new Array();var _transitions=false;var _isiPad=false;var _isiPhone=false;var _ios=false;var _mouseX=0;var _mouseY=0;var _pendingPage=null;$j(window).bind(PageEvent.get().DisappearComplete,function(a){log("DisappearComplete Event fired !");$j("body").removeClass("waiting_for_transition")});$j(window).bind(PageEvent.get().AppearStart,function(c,b){log("AppearStart Event fired !");_pendingPage=b;var a=500;if(!_transitions){a=100}var d=setTimeout(function(){_pendingPage.InjectContent()},a)});$j(window).bind(PageEvent.get().AppearComplete,function(a){log("AppearComplete Event fired !")});$j(window).bind(PageEvent.get().DisappearStart,function(a){log("DisappearStart Event fired !")});var log=function(a){if(typeof console!="undefined"&&console!==null){if(typeof console.log=="function"){console.log(a)}}};var _sweepLength=300;var _nodeStyledOnTouchLR;var _nodeStyledOnTouchRL;var touchFxInitialize=function(){_nodeStyledOnTouchLR=$j("#previous a");_nodeStyledOnTouchRL=$j("#next a")};var touchFxReset=function(){_nodeStyledOnTouchLR.css("margin-left","1px");_nodeStyledOnTouchRL.css("margin-left","938px");_nodeStyledOnTouchLR.removeClass("hover");_nodeStyledOnTouchRL.removeClass("hover")};var touchFxApply=function(a,b){if(a>0){_nodeStyledOnTouchLR.addClass("hover");_nodeStyledOnTouchRL.removeClass("hover")}else{_nodeStyledOnTouchRL.addClass("hover");_nodeStyledOnTouchLR.removeClass("hover")}};jQuery.fn.ucwords=function(){var b,a="";if(typeof this=="string"){b=this}else{b=$j(this).text()}b=b.split(" ");for(var d=0;d<b.length;d++){a+=b[d].substring(0,1).toUpperCase()+b[d].substring(1,b[d].length)+(d+1==b.length?"":" ")}return a};var $j=jQuery.noConflict();$j(document).ready(function(){if(!$j.browser.msie){Initialize();$j(".hover").bind("touchstart",function(b){$j(this).addClass("hover_fx")});$j(".hover").bind("touchend",function(b){$j(this).removeClass("hover_fx")});var a=$j("div.page");a.bind("touchstart",function(b){var d=b.originalEvent;if(d.touches.length==1){var c=d.touches[0];this.startX=c.pageX;this.startY=c.pageY;log("startX : "+this.startX);log("startY : "+this.startY);touchFxInitialize()}else{log("Finger #"+d.touches.length+" ignored.")}});a.bind("touchend",function(b){touchFxReset()});a.bind("touchmove",function(f){f.stopPropagation();var h=f.originalEvent;var d;if(h.touches.length==1){var g=h.touches[0];log("pageX : "+g.pageX);log("pageY : "+g.pageY);var c=g.pageX-this.startX;var b=g.pageY-this.startY;log("diff : X = "+c+" | Y = "+b);if(!$j("body").hasClass("waiting_for_transition")){touchFxApply(c,b)}if(c>_sweepLength){log("Sweeping L->R");if(!$j("body").hasClass("waiting_for_transition")){if($j("#previous a")&&(d=$j("#previous a").attr("data-id"))){$j("body").addClass("waiting_for_transition");touchFxReset();$j.history.load(d);log("  > Going to the left to "+d)}else{log("  > Already leftmost !")}}else{log("  > Swipe canceled because transition is not finished.")}}if(c<-1*_sweepLength){log("Sweeping R->L");if(!$j("body").hasClass("waiting_for_transition")){if($j("#next a")&&(d=$j("#next a").attr("data-id"))){$j("body").addClass("waiting_for_transition");touchFxReset();$j.history.load(d);log("  > Going to the right to "+d)}else{log("  > Already rightmost !")}}else{log("  > Swipe canceled because transition is not finished.")}}return false}})}else{$j("body").append('<div class="foreground" style="background-image: url('+_foreground+');"></div>')}});$j(document).ready(function(){$j(document).bind("keydown","left",function(){if(!$j("body").hasClass("waiting_for_transition")){var a;if($j("#previous a")&&(a=$j("#previous a").attr("data-id"))){$j("body").addClass("waiting_for_transition");$j.history.load(a);log("Going to the left to "+a)}else{log("Already leftmost !")}}else{log("Keyboard left input ignored, wait for transition to finish.")}});$j(document).bind("keydown","right",function(){if(!$j("body").hasClass("waiting_for_transition")){var a;if($j("#next a")&&(a=$j("#next a").attr("data-id"))){$j("body").addClass("waiting_for_transition");$j.history.load(a);log("Going to the right to "+a)}else{log("Already rightmost !")}}else{log("Keyboard right input ignored, wait for transition to finish.")}})});
