
/*------------------------------------------------------------------*/
/*  Obsolete Functions											    

var sHoverColourOn   		= "#F1F1F1"; //"#000080"; //dark blue
var sHoverBackOn     		= "#C0C0C0"; //dark grey
var sHoverColourOff  		= "#000080"; //dark blue
var sHoverBackOff    		= "#F1F1F1"; //light grey
var sHoverColourOnSMC  	= "#F1F1F1";
var sHoverBackOnSMC    	= "#0080FF"; //"#C0C0C0";
var sHoverColourOffSMC 	= "#F1F1F1";
var sHoverBackOffSMC   	= "#000080";
var oDebugWindow;
var iDebugLine		 			= 0;

function _jsHover(r_Id, r_On, r_SMC)
  { // dg 01/08/2001
		var sId = r_Id + "L";
  	var sBgColour, sColour, sStyle, sCursor, sStatus;
  	var oDoc = document;
      
  	if ( dsBrowser == "MSIE" )
  		{ 
  			if ( vOn == true ) // hover over
  				{ 
  					if ( vSMC == true )
  						{	
  							sColour   = sHoverColourOnSMC;
  							sBgColour = sHoverBackOnSMC;
  						}
  					else
  						{	
  							sColour   = sHoverColourOn;
  							sBgColour = sHoverBackOn;
  						}
						
  					sStyle  = "bold";
  					sCursor = "hand";
  					sStatus = oDoc.all(sId).innerText;
  				}
  			else
  				{	
  					if ( r_SMC == true )
  						{	
  							sColour   = sHoverColourOffSMC;
  							sBgColour = sHoverBackOffSMC;
  						}
  					else
  						{	
  							sColour   = sHoverColourOff;
  							sBgColour = sHoverBackOff;
  						}
						
  					sStyle  = "normal";
  					sCursor = "default";
  					sStatus = "";
  				}
  			
  			oDoc.all(vId).style.color = sColour;
  			oDoc.all(vId).style.backgroundColor = sBgColour;
  			oDoc.all(vId).style.cursor = sCursor;
  			oDoc.all(vId).style.borderwidth = 2;
				
				// Update text on status bar.
  			jsStatusText(sStatus);
				
  		}
  }

function _jsDebug(r_Msg)
  { // dg 20/05/2002
		if ( oDebugWindow == "Undefined" )
      { 
				oDebugWindow = new Object();
  	    oDebugWindow = jsOpenWin('','dsDebug',600,200,true);
  			
  			oDebugWindow.document.writeln("<p style='font-family:verdana;font-size:8pt'>");
      }
		
		// Increment line counter.
		iDebugLine++;
		
    oDebugWindow.document.writeln("<font color=red>#" + iDebugLine + ":</font> " + r_Msg + "<br>");
  }

function _jsChangeImg(r_Image, r_NewImage)
  { // dg 02/05/2003
		document.images[r_Image].src = eval(r_NewImage + ".src")	
  }

function jsInsertWarning()
  { // dg 01/05/2003 
  	var sText		= "";
    
  	sText += '<table border="0" width="475" style="border: 2 solid red" bgcolor="#FFE6B7" bordercolor="red" cellspacing="0" cellpadding="3" align="center">';
  	sText += '<tr>';
  	sText += '  <td width="100%">';
  	sText += '    <p><strong style="color: red;">Warning</strong>: Users of <em class="reg">DATASPEED</em>® Software not on a current <U>Software Maintenance Contract</U> (SMC) are NOT authorised to download any updates from our web site. Please note that ‘unauthorised’ downloading of <em class="reg">DATASPEED</em>® updates <em>may</em> result in errors in your <em class="reg">DATASPEED</em>® software when trying to update. <em class="reg">DATASPEED</em>® accepts no responsibility should any errors occur for Non SMC clients.</P>';
  	sText += '  </td>';
  	sText += '</tr>';
  	sText += '</table>';
  	
  	document.write(sText);
  	
  }
	
/*--------------------------------------------------------------------*/
/* John Plsek's additional stuff */
// IE/ActiveX "embedded activeX content" patch will mean embedded content
// (object, embed, applet) will need to be "clicked" to be enabled. This script
// provides a neat workaround.
//
// based on a script found at http://therippa.blogspot.com/
// reworked to work with flash objects, and not pollute the window namespace
// with various flotsam of variables, as was the case in it's original form
//
function ieFixActiveX() {
	//Array of elements to be replaced
	var arrElements = ["OBJECT", "EMBED", "APPLET"];
	//Loop through element types
  for (var n = 0; n < arrElements.length; n++) {
		var replaceObj = document.getElementsByTagName(arrElements[n]);
		//loop over element objects returned
		for (var i = 0; i < replaceObj.length; i++ ) {
  		//set object for brevity
		  var obj=replaceObj[i];
  		//set parent object for brevity
			var parentObj = obj.parentNode;
			//grab the html inside of the element before removing it from the DOM
			var newHTML = parentObj.innerHTML;
			// for OBJECTS only
			if(obj.nodeName.toUpperCase() == 'OBJECT') {
  			var tSpan=document.createElement("S");
			  var trigN=Math.floor(Math.random()*999999)+1000000;
			  var trig="{{{"+trigN+"}}}";
			  var tLen=trig.length+7; //<S> & </S>
			  tSpan.innerHTML=trig;
			  tSpan=parentObj.insertBefore(tSpan, obj);
				var mHTML=parentObj.innerHTML;
				var startTrig=mHTML.indexOf(trig)-3;
				var endTrig=startTrig+tLen;
  			var params='';
	  		for(var j=0; j < obj.childNodes.length; j++)
				// for PARAM childNodes
				  if(obj.childNodes[j].nodeName.toUpperCase() == "PARAM")
				    params+=obj.childNodes[j].outerHTML;
				// find the end of the <OBJECT ...> tag		
   			var tagEnd=mHTML.indexOf('>', endTrig);
				// add the PARAMS back in to the innerHTML
			  newHTML=mHTML.substring(0, startTrig)+
				        mHTML.substring(endTrig, tagEnd+1)+
								params+
								mHTML.substring(tagEnd+1);
			}
			//remove element from the DOM
			parentObj.removeChild(obj);
			//stick the element right back in, but as a new object
			parentObj.innerHTML = newHTML;
		}
	}
}
if(window.attachEvent) {
  window.attachEvent('onload', ieFixActiveX);
}

