var bgImage = $('.changeableBg'); var mainNav; var bookingForm; var openedPage; var hiddenBg = false; var currentBg; var canClickEvent = false; function changeBg(newSrc) { newSrc = "images/"+newSrc+".jpg" mainBg.clone().prependTo('.container').addClass("bgHolder").css("z-index",2); mainBg.load(function(){ if(hiddenBg == true){ $('.bgHolder').remove(); hiddenBg = false; currentBg.fadeOut(1100,function(){ currentBg = undefined; }); } else { $('.bgHolder').fadeOut(1100, function(){ $(this).remove(); }); } }); mainBg.attr('src',newSrc); } function enlargeEvent(btnClicked,imgSrc){ imgSrc = imgSrc; $('#enlargeevent').attr('src',imgSrc); $('#shadow').fadeTo(600,0.7,function(){ navHandler(btnClicked,false,-100); }); } function hideShadow(){ $('#shadow').fadeTo(600,0,function(){ $(this).hide(); $('.mask').css("z-index",2); $('.formMask').css("z-index",5); }); } function navHandler(btnClicked,forceClose,overridePosX) { var clickedClass = btnClicked.attr('class').split(' '); var reinitialise = false; if($('#shadow').is(":visible") && mainNav.hasClass('on')){ hideShadow(); }; if(overridePosX == undefined){ changeBg(btnClicked.attr('rel')); } if(bookingForm.hasClass('on')){ if(forceClose == true) { toggleBookingForm(true,btnClicked,true); } else { toggleBookingForm(true,btnClicked,false); } } else { if(clickedClass[0] == openedPage || forceClose == true) { animateNav(-620); mainNav.removeClass('on'); openedPage = undefined; } else { if(mainNav.hasClass('on')){ animateNav(-620,true,clickedClass); } else { togglePage(clickedClass); if(overridePosX == undefined) { animateNav(-300); } else { animateNav(overridePosX); } } mainNav.addClass('on'); openedPage = clickedClass[0]; } } } function animateNav(posX,reinitialise,clickedClass) { mainNav.animate( {left: posX}, { duration: 1200, easing: 'expoinout', complete:function(){ if(reinitialise == true){ togglePage(clickedClass); animateNav(-300); } } } ); } function togglePage(switchPage){ $('.content div').each(function(){ $(this).hide(); }); $('div.'+switchPage).show(); } function toggleBookingForm(forceClose,btnClicked,reopen) { var posX; var reinitiateNav = false; if(bookingForm.hasClass('on')){ posX = -306; bookingForm.removeClass('on'); if(forceClose == true){ reinitiateNav = true; } } else { posX = 0; bookingForm.addClass('on'); } bookingForm.animate( {left: posX}, { duration: 1100, easing: 'expoinout', complete:function(){ if(reinitiateNav == true){ navHandler(btnClicked,reopen); } } } ); } function toggleNavState(clickedNav) { $('#nav li a').each(function() { $(this).removeClass("on"); }); if(clickedNav != undefined) { clickedNav.addClass("on"); } } function currUrl(){ url=document.location.href.split("#"); return url[0]; } function deepUrl(){ url=document.location.href.split("#"); if(url[1]){ checkurl=url[1].toLowerCase(); if(checkurl.indexOf('http://')<0 && checkurl.indexOf('https://')<0 && checkurl.indexOf('www.')<0){ if($('#nav li a.'+checkurl)){ pageSwitch($('#nav li a.'+checkurl),false); } } } } var last_url; function pageSwitch(theButton,clicked) { if(!clicked){ rel=theButton.attr('rel'); if(last_url==rel){ return; } else { last_url=rel; } } if(theButton.hasClass('whatson') || theButton.hasClass('contact')) { canClickEvent = false; hideShadow(); mainNav.stop(); mainNav.css("left",-620); if(!theButton.hasClass('on')){ $('.formMask').hide(); mainNav.removeClass('on'); mainNav.css("left",-620); var newBg; if(currentBg != undefined) { currentBg.css("z-index",2); } if(theButton.hasClass('contact')){ newBg = $('.contactusBg'); } else { newBg = $('.whatsonBg'); } hiddenBg = true; newBg.css("z-index",3); newBg.fadeIn(400,function(){ if(currentBg!=undefined){ currentBg.hide(); } currentBg = newBg; canClickEvent = true; }); navHandler(theButton,true); } } else if (theButton.hasClass('food')){ if(!$('.subnav').is(":visible")){ $('.subnav').slideToggle(300); } } else { $('.formMask').show(); $('.formMask').css("z-index",10); navHandler(theButton); } if(!theButton.parent().parent().hasClass("subnav")){ toggleNavState(theButton); } else { toggleNavState(theButton.parent().parent().prev()); } } $(window).load( function() { $('.loadingCurtain').fadeOut(400,function(){ $('.container').fadeIn(600); }); canClickEvent = false; mainNav = $(".content"); bookingForm = $('.functionForm'); mainBg = $('.changeableBg'); $('.sliderarrow').click(function(){ if($(this).parent().hasClass('content')){ navHandler($(this), true); toggleNavState(); last_url = ""; document.location = currUrl()+"#"; } else if($(this).parent().hasClass('functionForm')){ toggleBookingForm(); } }); $('.bookingFormBtn').click(function(){ toggleBookingForm(); }); $('.bgSwitch').fadeTo(0,0.4); $('.bgSwitch').hover( function(){ $(this).fadeTo(100,1); }, function(){ $(this).fadeTo(100,0.4); } ); $('.bgSwitch').click(function(){ changeBg($(this).attr('rel')); }); $('.feed').click(function(){ if(canClickEvent == true) { canClickEvent == false; currentBg.css("z-index",3); $('.mask').css("z-index",5); var imgSrc = $(this).attr('rel'); enlargeEvent($(this),imgSrc); } }); deepUrl(); setInterval("deepUrl();",100); } );