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];}
}

function Max(a,b) {
  if (a > b) return a
  else return b;
}

function Min(a,b) {
  if (a < b) return a
  else return b;
}

function checkEnter(e){ //e is event object passed from function invocation
  var characterCode //literal character code will be stored in this variable

  if(e && e.which){ //if which property of event object is supported (NN4)
    e = e
    characterCode = e.which //character code is contained in NN4's which property
  }
  else{
    e = event
    characterCode = e.keyCode //character code is contained in IE's keyCode property
  }

  if(characterCode == 13) return true
  else return false
}

function autoTab(input, e) {      

      input.form[(getIndex(input)+1) % input.form.length].focus();
      
      function getIndex(input) {
            var index = -1, i = 0, found = false;
            while (i < input.form.length && index == -1)
                  if (input.form[i] == input)index = i;
                  else i++;
            return index;
      }
      
      return false;
}
            
function PopupPic(pic, sizeX, sizeY) {
  var top, left;
  
  top = ((screen.height - sizeY) / 2) - 30;
  left = (screen.width - sizeX) / 2; 
  
  return window.open( "http://www.businessliving.co.uk/popup.htm?"+pic, "","resizable=1,scrollbars=1,HEIGHT="+sizeY+",WIDTH="+sizeX+",SCREENY="+top+",SCREENX="+left);
}

function PopupWindow(url, sizeX, sizeY) {
  var top, left;
  
  top = ((screen.height - sizeY) / 2) - 30;
  left = (screen.width - sizeX) / 2; 
  
  return window.open( url, "","resizable=1, scrollbars=1,HEIGHT="+sizeY+",WIDTH="+sizeX+",SCREENY="+top+",SCREENX="+left);
}

function Disable(obj) {
  obj.style.background = "#CCC";
  obj.style.borderColor = "#999";
  obj.style.color = "#555";
  obj.disabled = true;
  
  return true;
}

function bookmark(url, description) {
  netscape="Please hit CTRL+D to add a bookmark to this site."
  if (navigator.appName=='Microsoft Internet Explorer') window.external.AddFavorite(url, description)
  else if (navigator.appName=='Netscape') alert(netscape);
}

function confirmDelete() {
  return confirm("Are you sure you want to delete this entry?")      
}

function show_loading_image() {                       
  setTimeout('document.getElementById("loading").src = "images/loading.gif"', 50);
  document.getElementById('loading').style.display='inline';      
} 

function showMessage() {                       
  document.getElementById('helpmessage').style.display='inline';      
}
function hideMessage() {                        
  document.getElementById('helpmessage').style.display='none';      
}

function mouseX(evt) {
      if (!evt) evt = window.event; 
      if (evt.pageX) return evt.pageX; 
      else if (evt.clientX) return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft); 
      else return 0;
}

function mouseY(evt) {
      if (!evt) evt = window.event; 
      if (evt.pageY) return evt.pageY; 
      else if (evt.clientY) return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); 
      else return 0;
}


var offX = 50;       // X offset from mouse position, for follow function
var offY = -30;      // Y offset from mouse position, for follow function      
      
function follow(evt) {

      if (document.getElementById) {
            var obj = document.getElementById('infoDiv');
                               
            obj.style.left = (parseInt(mouseX(evt))+offX) + 'px';            
            obj.style.top = (parseInt(mouseY(evt))+offY) + 'px';
      }      
}

function show_infoDiv(evt, text, w) {            
      document.onmousemove=follow; 
            
      document.getElementById('infoDiv').style.width=w + 'px';
      document.getElementById('infoDiv').style.display='inline';
      document.getElementById('infoDiv').innerHTML=text;            
}

function hide_infoDiv() {
      document.getElementById('infoDiv').style.display='none';
}

function toggle_checkbox(chk, value) {
      var i;
      
      for (i=0; i<chk.length; i++){            
            if (chk[i].value == value) {                 
                  if (chk[i].checked == 1) chk[i].checked = 0
                  else chk[i].checked = 1
            }                  
      }
      return false;
}

function fckeditor_toggleheight(fckname, link, small, big) {
      var fckobj = document.getElementById(fckname);
      
      if (fckobj.height == small) {
            fckobj.height = big;
            link.innerHTML='Smaller';
      }
      else {
            fckobj.height = small;
            link.innerHTML='Bigger';
      }
}
