// Set up form stylings
$(document).ready(function(){
    if ($('#h-query')) { $('#h-query').formStyler('Search Site'); }
    if ($('#eoffices')) { $('#eoffices').formStyler('Postcode or Town'); }
    externalLinks();
});

//jo:
$(document).ready(

    function() {
      $(window).load(function () {
      if(typeof rightColOff == 'undefined'){
          if( $("#right-col").outerHeight()<$("#left-col").outerHeight() ){
            var diffH= $("#right-col").outerHeight()-$("#right-col .col-section").height();
               $("#right-col .col-section").height( ($("#left-col").height()-diffH) );
         }

         if( $("#left-col").outerHeight()<$("#right-col").outerHeight() ){
            var diffH=$("#right-col").outerHeight()- $("#left-col").outerHeight();
            $("#lc-features").height(diffH+$("#lc-features").height());
         }

         if( $("#left-col").outerHeight()<$(".m-cont").outerHeight() &&  $("#left-col").outerHeight()<$(".m-cont").outerHeight() ){
            var diffHleft=$(".m-cont").outerHeight()- $("#left-col").outerHeight();
            var diffHright=$(".m-cont").outerHeight()- $("#right-col").outerHeight();
            $("#lc-features").height(diffHleft+$("#lc-features").height());
            $("#right-col .col-section").height(diffHright+$("#right-col .col-section").height());
         }}
      });

      function doHovr(obj, status){
         splscr=obj.src.split('.');
         splscr[splscr.length-2]=status;
         obj.src=splscr.join('.');
      }

   }
);

// jo: changes background of the sub nav ul when hovering over last link (gap-fix for older browsers)
$(document).ready(function(){

   $('#h-subnav li:last-child a').hover(
      function () {
        $('#h-subnav').addClass('hovr');
      },
      function () {
        $('#h-subnav').removeClass('hovr');
      }
    );

});

/**
* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
*
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne <brian@cherne.net>
*/
(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev]);}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev]);};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}if(p==this){return false;}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}if(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob);},cfg.timeout);}}};return this.mouseover(handleHover).mouseout(handleHover);};})(jQuery);

//jo:
$(document).ready(
   ////Hover Main Links
   function() {
      //init: turn off css flyout
        $("ul#h-mainnav li div ul").css("display","none");
      //jquery hover
      var confMainLinkHovr = {
           sensitivity: 7,
           interval: 100,
           over: function(){ $(this).find("ul").slideDown("fast") },
           timeout: 200,
           out:  function(){ $(this).find("ul").slideUp("slow") }
      }
      $("#h-mainnav > li").hoverIntent( confMainLinkHovr );
   }
);

// handler for drop downs in the side menus
var cache=0;
$(document).ready(function(){
   $('li.subMenuToggle > a').bind("click", function(e){

      // stop link click
      e.preventDefault();
      //close any other expanded menus
     if(cache !=0 && cache != $(this).html()){//alert($(this).html());
      $('> li  ul, > li  ol', $(this).parents('ul,ol').get(0)).slideUp('fast');
     }
      // expand the child <ol>
      $('+ ol.leftMenu',this).slideToggle('fast');
     cache=$(this).html();
   });
});

// handler for the contact form
$(document).ready(function(){
   $('select[name="contact_type"]').bind("change", function(e){
     $('div.' + e.target.value + 'form').slideToggle('fast');
   });
});

//jo: keeps top nav selected when using menus
$(document).ready(function(){

   function checkObj(obj){
      if( $(obj).parents('li').children('a:first').hasClass('imgLnk') ){
           return $(obj).parents('li').children('a');//home
      }else{
           return $(obj).parents('li').children('a:first');//default
      }
   }

   $('#h-mainnav div').hover(
      function () {
         obj=checkObj( this );
         $(obj).addClass('active');
      }
      ,
       function () {
         obj=checkObj( this );
         $(obj).removeClass('active');
       }
   );

});


// Way to open links in a new window while still being XHTML 1.0 Strict compliant
function externalLinks() {
    if ($('a')) {
    $('a').each(function() {
        if ((this.href) && (this.rel == 'external')) {
            $(this).attr('target','_blank');
            $(this).addClass('external');
        }
    });
    }
}
//jo: hover swap image: changes imgname.0.jpg to imgname.1.jpg
function doHovr(obj, status){
   splscr=obj.src.split('.');
   splscr[splscr.length-2]=status;
   obj.src=splscr.join('.');
}
//jo: hover swap image: changes imgname.0.jpg to imgname.1.jpg
