function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function nav_on_load() {
	// MM_preloadImages('../images/navigation/about_us_h.jpg','../images/navigation/advertisers_h.jpg','../images/navigation/approach_h.jpg','../images/navigation/branding_h.jpg','../images/navigation/build_h.jpg','../images/navigation/case_studies_h.jpg','../images/navigation/charities_h.jpg','../images/navigation/client_briefing_h.jpg','../images/navigation/client_login_h.jpg','../images/navigation/clients_h.jpg','../images/navigation/competitive_h.jpg','../images/navigation/contact_clients_h.jpg','../images/navigation/contact_us_h.jpg','../images/navigation/content_h.jpg','../images/navigation/creative_h.jpg','../images/navigation/employment_h.jpg','../images/navigation/general_h.jpg','../images/navigation/home_h.jpg','../images/navigation/hosting_disaster.gif','../images/navigation/information_h.gif','../images/navigation/letters_h.gif','../images/navigation/marketing_h.gif','../images/navigation/our_team.gif','../images/navigation/partnerships_h.gif','../images/navigation/portfolio_h.gif','../images/navigation/process_h.gif','../images/navigation/properties_h.gif','../images/navigation/publications_h.gif','../images/navigation/publishing_h.gif','../images/navigation/quality_h.gif','../images/navigation/request_quote_h.gif','../images/navigation/services_h.gif','../images/navigation/web_dev_h.gif')
	MM_preloadImages(
	    '../images/navigation/about_us_h.gif',
	    '../images/navigation/advertisers_h.gif',
	    '../images/navigation/approach_h.gif',
	    '../images/navigation/branding_h.gif',
	    '../images/navigation/build_h.gif',
	    '../images/navigation/case_studies_h.gif',
	    '../images/navigation/charities_h.gif',
	    '../images/navigation/client_briefing_h.gif',
	    '../images/navigation/client_login_h.gif',
	    '../images/navigation/clients_h.gif',
	    '../images/navigation/competitive_h.gif',
	    '../images/navigation/contact_clients_h.gif',
	    '../images/navigation/contact_us_h.gif',
	    '../images/navigation/content_h.gif',
	    '../images/navigation/creative_h.gif',
	    '../images/navigation/employment_h.gif',
	    '../images/navigation/general_h.gif',
	    '../images/navigation/home_h.gif',
	    '../images/navigation/hosting_disaster.gif',
	    '../images/navigation/information_h.gif',
	    '../images/navigation/letters_h.gif',
	    '../images/navigation/marketing_h.gif',
	    '../images/navigation/our_team.gif',
	    '../images/navigation/partnerships_h.gif',
	    '../images/navigation/portfolio_h.gif',
	    '../images/navigation/process_h.gif',
	    '../images/navigation/properties_h.gif',
	    '../images/navigation/publications_h.gif',
	    '../images/navigation/publishing_h.gif',
	    '../images/navigation/quality_h.gif',
	    '../images/navigation/request_quote_h.gif',
	    '../images/navigation/services_h.gif',
	    '../images/navigation/web_dev_h.gif')
}

// When moving to a new site, edit these variables, particularly Max_Element_Num which is the number
// of submenus on the page
var Menu_Timeout_Seconds = 1;

var Min_Element_Num      = 1;
var Max_Element_Num      = 5;

var Mouse_Over_SubMenu   = 0;
var Mouse_Over_MainMenu  = 0;

var Current_Menu_Num     = 0;

var Timeout_Handle;

function start_menu_timer(menunum) {
    if (Current_Menu_Num && Current_Menu_Num != menunum) {
        complete_current_timer();
    }

    Current_Menu_Num = menunum;

    Timeout_Handle = window.setTimeout("complete_current_timer()", Menu_Timeout_Seconds * 1000);
}

function reset_menu_timer(menunum) {
    if (Current_Menu_Num == menunum) {
        window.clearTimeout(Timeout_Handle);
        Timeout_Handle = window.setTimeout("complete_current_timer()", Menu_Timeout_Seconds * 1000);
    }
}

function complete_current_timer() {
    if (Current_Menu_Num) {

        if (Current_Menu_Num == Mouse_Over_SubMenu || Current_Menu_Num == Mouse_Over_MainMenu) {
            reset_menu_timer(Current_Menu_Num);
        }
        else {
            window.clearTimeout(Timeout_Handle);
            element_restore("sub_menu_", "", Current_Menu_Num, Page_Menu_Num);
            element_restore("main_menu_button_on_", "main_menu_button_", Current_Menu_Num, Page_Menu_Num);
            Current_Menu_Num = 0
        }
    }
}

function submenu_over(divnum) {
    Mouse_Over_SubMenu  = divnum;
    Mouse_Over_MainMenu = 0;
}
function submenu_out(divnum) {
    Mouse_Over_SubMenu = 0;
    reset_menu_timer(divnum);
}

function mainmenu_over(divnum) {
    Mouse_Over_MainMenu = divnum;
    Mouse_Over_SubMenu  = 0;
    element_restore_all_highlight_one("sub_menu_", "", divnum, Min_Element_Num, Max_Element_Num, Page_Menu_Num);
    element_restore_all_highlight_one("main_menu_button_on_", "main_menu_button_", divnum, Min_Element_Num, Max_Element_Num, Page_Menu_Num);
    start_menu_timer(divnum);
}
function mainmenu_out(divnum) {
    Mouse_Over_MainMenu = 0;
}

function element_restore(on_prefix, off_prefix, divnum, preserve_element_num) {
    var on_element;
    var off_element;

    if (divnum != preserve_element_num) {
        on_element = document.getElementById(on_prefix + divnum);
        on_element.style.visibility = "hidden";

        if (off_prefix != "") {
            off_element = document.getElementById(off_prefix + divnum);
            off_element.style.visibility = "visible";
        }
    }
}

function element_restore_all_highlight_one(on_prefix, off_prefix, divnum, min, max, preserve_element_num) {
    var i;
    var on_element;
    var off_element;

    // alert("op: " + on_prefix + "; ofp: " + off_prefix + "; dn: " + divnum + "; min: " + min + "; max: " + max + "; pen: " + preserve_element_num)

    for (i = min; i <= max; i++) {
        on_element = document.getElementById(on_prefix + i);

        if (i == divnum) {
            on_element.style.visibility = "visible";
        }
        else {
            if (i != preserve_element_num) {
                if (on_element) {
                    on_element.style.visibility = "hidden";
                }
                else {
                    alert('on_element does not exist: ' + on_prefix + i)
                }
            }
        }
        if (off_prefix != "") {
            if (i != preserve_element_num) {
                off_element = document.getElementById(off_prefix + i);
                if (i == divnum) {
                    off_element.style.visibility = "hidden";
                }
                else {
                    off_element.style.visibility = "visible";
                }
            }
        }
    }
}

function HighlightPageSubMenu() {
    mainmenu_over(Page_Menu_Num);
}

function HighlightPageImages() {
    var img_obj;

    var filename;
    var basename;
    var extension;

    var dot_pos;

    if (Page_Menu_Highlight_Image != '') {
        MM_swapImage(Page_Menu_Image_Name,'',Page_Menu_Highlight_Image,1);
    }


    if (Page_SubMenu_Image_Name != '') {
        MM_swapImage(Page_SubMenu_Image_Name,'',Page_SubMenu_Highlight_Image,1);
    }
}

function RestoreImages(image_name) {
    if (image_name != Page_Menu_Image_Name && image_name != Page_SubMenu_Image_Name) {
        MM_swapImgRestore();
    }
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}