function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		Topbar_Map_Websites_Map_over = newImage("images/Topbar_Map-websites.jpg");
		Topbar_Map_Consultancy_Map_over = newImage("images/Topbar_Map-consultancy.jpg");
		Topbar_Map_Hosting_Map_over = newImage("images/Topbar_Map-hosting.jpg");
		leftmenu_home_over = newImage("images/leftmenu_home-over.gif");
		leftmenu_clients_over = newImage("images/leftmenu_clients-over.gif");
		leftmenu_support_over = newImage("images/leftmenu_support-over.gif");
		leftmenu_shop_over = newImage("images/leftmenu_shop-over.gif");
		leftmenu_contactus_over = newImage("images/leftmenu_contactus-over.gif");
		preloadFlag = true;
	}
}

function MM_displayStatusMsg(msgStr) { //v1.0
  status=msgStr;
  document.MM_returnValue = true;
}

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_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_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;
}

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];}
}


/* ******************************************************
 * SHOW AND HIDE DHTML LAYERS
 * Author: Dominic Winsor
 * Dependencies: User-agent detection code (this.browser)
 * Usage: use showLayer(); hideLayer(); hideLast();
 *            or showLayer2(); as appropriate
 * ****************************************************** */

// definitions outside functions
// This bit to do with the way I do cross-browser, (non-DOM browser) layer manipulation.
 if (this.nav && (this.mozilla==false)) {
   layerRef = '.layers';
   styleRef = '';
   vis_on = "show";
   vis_off = "hide";
 }

 if(this.ie){
   layerRef = '.all';
   styleRef = '.style';
   vis_on = "visible";
   vis_off = "hidden";
 }

 var last=0; // used to remember which layer was last made visible
 var menuLastChanged; // used to remember last mouseover for menu fx below




/*  Hide layer previously made visible (useful for menus)
 *  Use hideLast() to hide last layer made visible; 
 */
 function hideLast() { 
	if(last != 0) hideLayer(last);
 }



/*  Hide a specific layer by its ID 
 *  Use hideLayer(this.id), where this.id is the id of the layer to hide.
 */
 function hideLayer(layerName) { 
	if (document.getElementById) {
		document.getElementById(layerName).style.visibility = 'hidden';
	} else {
		eval( "document" + layerRef + "." + [layerName] + styleRef + ".visibility = vis_off");
	}
 }



/*  Show a specific layer by its ID 
 *  invoke hideLayer(this.id), where this.id is the id of the layer to hide.
 *  If you call this function with the stayVisible parameter set to 1
 *  then the layer will not get hidden again when the hideLast() function is called.
 */
 function showLayer(layerName,StayVisible) { 
	if (StayVisible!=1) {
		hideLast();
		last=layerName;
	}
	
	if (document.getElementById) {
		document.getElementById(layerName).style.visibility = 'visible';
		// Uncomment below to make layers go translucent in IE5.5 and up (very nice!)
		// doFilter(layerName,90);
	} else {
		eval( "document" + layerRef + "." + [layerName] + styleRef + ".visibility = vis_on");
	}
	
	// A specific bugfix, positioning in navigator 4.x. for www.get2dom.com only.
	if ((this.nav==true)&&(this.mozilla==false)) document.layers[layerName].top = 80;

 }

// -----------------------------------------------------------------------------------------------








/* *************************************************************
 * VARIABLE LAYER OPACITY IN IE5.5
 *           cool, but only works in Internet Explorer V5.5
 * Author: Dominic Winsor
 * Usage: index is the layer id, opacity is a positive 
 *        integer, 0=totally transparent, 100=solid
 * ************************************************************* */

 function doFilter(index, opacity) {
   if(this.ie55) {
     eval([index] +'.style.filter = "alpha(opacity=" + opacity + ")"');
   }
 }