isDOM=document.getElementById //DOM1 browser (MSIE 5+, Netscape 6, Opera 5+)
isMSIE=document.all && document.all.item //Microsoft Internet Explorer 4+
isNetscape4=document.layers //Netscape 4.*
isOpera=window.opera //Opera
isOpera5=isOpera && isDOM //Opera 5+
isMSIE5=isDOM && isMSIE && !isOpera //MSIE 5+
isMozilla=isNetscape6=isDOM && !isMSIE && !isOpera

function getLayer(layerName, parentLayerName){
  if(isDOM){ return document.getElementById("help_" + layerName); }
  if(isMSIE){ return document.all["help_" + layerName]; }
  if(isNetscape4){ return eval('document.layers["help_" + layerName]'); }
  return false;
}

function getobject(objid){
  if(isDOM){ return document.getElementById(objid); }
  if(isMSIE){ return document.all[objid]; }
  if(isNetscape4){ return eval('document.layers[objid]'); }
  return false;
}

function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }
  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }
  
  function set_hover_position(positionobj,strid,offsetx,offsety) {
  
        var pageyoff = offsety;
        var pagexoff = offsetx;
   
        if(getobject(strid)){

            if(isNetscape4)
                obj = getobject(strid);
            else
                obj = getobject(strid).style;
                
                
            if(obj){
            
                if(obj.visibility=='show') return true;
            
                obj.top = 0;
                obj.left = 0;
            
                var helpx = findPosX(positionobj);
                var helpy = findPosY(positionobj);
                
                //alert(helpx);
                //alert(helpy);

                //leftoff = mousex-pagexoff;
                //obj.left = (mousex+pagexoff);
                //obj.left = (findPosX(elem_div_pos)-elem_image.width) + (mousex-findPosX(pic));

                topoff = helpy-pageyoff;

                //gen
                if(isOpera && topoff <= 10)
                {
                    obj.top = (mousey+pageyoff) - 160;
                }
                else 
                if( helpy <= - 10) 
                {
                    obj.top = (mousey+pageyoff) - 160;

                }
                else if (isOpera)
                {

                    obj.top = (mousey+pageyoff) - 160;
                }
                else //AM & Internet Explorer
                {
                    obj.top = helpy+pageyoff+'px';
                    obj.left = helpx+pagexoff+'px';
                }

                //if(isNetscape4)
                //    obj.visibility = 'show';
                //else
                //    obj.visibility = 'visible';                    
            }
            
        }
  
  }
  
  
    function show_item_details(obj,id,itemname, offsetx,offsety) {
        var divobj = document.getElementById(itemname + id);
        set_hover_position(obj, itemname + id, offsetx, offsety);
        divobj.style.display = "block";
    }

    function hide_item_details(obj,id,itemname) {
        var divobj = document.getElementById(itemname + id);
        divobj.style.display = "none";
    }

  
  function show_tag_details(cnt,obj,id,offsetx,offsety) {
    if(cnt==1) return false;
    var divobj = document.getElementById("div_tag_details_" + id);
    set_hover_position(obj,"div_tag_details_" + id, offsetx, offsety);
    divobj.style.display = "block";
  }
  function hide_tag_details(id) {
    var divobj = document.getElementById("div_tag_details_" + id);
    divobj.style.display = "none";
  }
  
  function show_smtp_details(obj,id,offsetx,offsety) {
    var divobj = document.getElementById("div_smtp_details_" + id);
    set_hover_position(obj,"div_smtp_details_" + id, offsetx, offsety);
    divobj.style.display = "block";
  }
  function hide_smtp_details(id) {
    var divobj = document.getElementById("div_smtp_details_" + id);
    divobj.style.display = "none";
  }
  
  function show_contact_details(obj,id,offsetx,offsety) {
    var divobj = document.getElementById("div_contact_details_" + id);
    set_hover_position(obj,"div_contact_details_" + id, offsetx, offsety);
    divobj.style.display = "block";
  }
  function hide_contact_details(id) {
    var divobj = document.getElementById("div_contact_details_" + id);
    divobj.style.display = "none";
  }
  
  function show_help(qm_obj, help_item_no) {
        
        var pageyoff = 1;
        var pagexoff = 18;      
   
        if(getLayer(help_item_no)){

            if(isNetscape4)
                obj = getLayer(help_item_no);
            else
                obj = getLayer(help_item_no).style;
                
                
            if(obj){
            
                if(obj.visibility=='show') return true;
            
                obj.top = 0;
                obj.left = 0;
            
                var helpx = findPosX(qm_obj);
                var helpy = findPosY(qm_obj);

                //leftoff = mousex-pagexoff;
                //obj.left = (mousex+pagexoff);
                //obj.left = (findPosX(elem_div_pos)-elem_image.width) + (mousex-findPosX(pic));

                topoff = helpy-pageyoff;

                //gen
                if(isOpera && topoff <= 10)
                {
                    obj.top = (mousey+pageyoff) - 160;
                }
                else 
                if( helpy <= - 10) 
                {
                    obj.top = (mousey+pageyoff) - 160;

                }
                else if (isOpera)
                {

                    obj.top = (mousey+pageyoff) - 160;
                }
                else //AM & Internet Explorer
                {
                    obj.top = helpy+pageyoff+'px';
                    obj.left = helpx+pagexoff+'px';
                }

                if(isNetscape4)
                    obj.visibility = 'show';
                else
                    obj.visibility = 'visible';                    
            }
            
        }
    
  }
  
  function hide_help(help_item_no) {
    var obj;
    if(getLayer(help_item_no)){
        if(isNetscape4)
          obj = getLayer(help_item_no);
        else
          obj = getLayer(help_item_no).style;

        if(obj){
            if(isNetscape4)
              obj.visibility = 'show';
            else
              obj.visibility= 'hidden';
        }
    }
  }


function showtip(imageid,e, pic) {
    var obj;
    var elem_image = document.getElementById('img_pop_' + imageid);
    var elem_div_pos = document.getElementById('img_colour_image_pos');
    
  mousex = e.clientX;
  mousey = findPosY(pic);

  pagexoff = -50;
  pageyoff = -elem_image.height;
  if(getLayer(imageid)){

	if(isNetscape4)
      obj = getLayer(imageid);
    else
      obj = getLayer(imageid).style;
 	
	if(obj){

		leftoff = mousex-pagexoff;
    	obj.left = (mousex+pagexoff);
    	obj.left = (findPosX(elem_div_pos)-elem_image.width) + (mousex-findPosX(pic));

		topoff = mousey-pageyoff;
		
		//gen
		if(isOpera && topoff <= 10)
		{
    		
			obj.top = (mousey+pageyoff) - 160;
		}
	    else 
		if( mousey <= - 10) 
		{
			obj.top = (mousey+pageyoff) - 160;
			
		}
		else if (isOpera)
		{
    	    
			obj.top = (mousey+pageyoff) - 160;
		}
	    else //AM & Internet Explorer
		{
    			obj.top = mousey+pageyoff;
		}

		if(isNetscape4)
    	  obj.visibility = 'show';
	    else
    	  obj.visibility = 'visible';
	  }
   }
   
  return true;
}

function movetip(imageid,e,pic) {

    // if Mac Firefox then exit code
    if (navigator.appVersion.indexOf('Mac') != -1) {
        if (isMozilla) {
            return;
        }
    }

    var obj;
    var elem_image = document.getElementById('img_pop_' + imageid);
    var elem_div_pos = document.getElementById('img_colour_image_pos');
    
  mousex = e.clientX;
  mousey = findPosY(pic);

  pagexoff = -50;
  pageyoff = -elem_image.height;
  if(getLayer(imageid)){

	if(isNetscape4)
      obj = getLayer(imageid);
    else
      obj = getLayer(imageid).style;
 	
	if(obj){

		leftoff = mousex-pagexoff;
    	obj.left = (mousex+pagexoff);
    	obj.left = (findPosX(elem_div_pos)-elem_image.width) + (mousex-findPosX(pic));

		topoff = mousey-pageyoff;
		
		//gen
		if(isOpera && topoff <= 10)
		{
    		
			obj.top = (mousey+pageyoff) - 160;
		}
	    else 
		if( mousey <= - 10) 
		{
			obj.top = (mousey+pageyoff) - 160;
			
		}
		else if (isOpera)
		{
    	    
			obj.top = (mousey+pageyoff) - 160;
		}
	    else //AM & Internet Explorer
		{
    			obj.top = mousey+pageyoff;
		}

		if(isNetscape4)
    	  obj.visibility = 'show';
	    else
    	  obj.visibility = 'visible';
	  }
   }
   
  return true;
}

function cleartip(imageid){
    var obj;
    if(getLayer(imageid)){

        if(isNetscape4)
          obj = getLayer(imageid);
        else
          obj = getLayer(imageid).style;

        if(obj){
            if(isNetscape4)
              obj.visibility = 'show';
            else
              obj.visibility= 'hidden';
        }
    }
}

function returnObjById( id ) 
{ 
    if (document.getElementById) 
        var returnVar = document.getElementById(id); 
    else if (document.all) 
        var returnVar = document.all[id]; 
    else if (document.layers) 
        var returnVar = document.layers[id]; 
    return returnVar; 
}