
        /*
        
        to use this, you need to declare an array.
        
        var arrInfo = new Array();
        arrInfo[ 'Delivery message type' ]  = 'You have 2 delivery options: WAP Push or normal text SMS message. <br><br>A WAP Push message is a simple link sent down to the phone, that the user clicks on to connect to the download page. Some handsets do not support this, especially Microsoft phones. Other phones have a separate inbox for these messages and sometimes do not alert users when a message is received (the SonyEricsson P910 can do this). WAP Push messages must be sent at cost to your wallet, so are a slightly more expensive way to send the link. If your application is available on the \'3 UK\' network, the link message will be sent as a normal SMS type.<br><br>Normal SMS messages are supported by all handsets, but some are not able to detect and use a URL sent in this way. Microsoft smartphones and phones on the \'3 UK\' network require messages in this format.<br><br>NOTE - you need to keep your sms wallet topped up if you select WAP Push link because the WAP Push messages will be sent at cost to your wallet after the Premium rate billing message.';
        arrInfo[ 'WAP link message title' ] = 'This is the title of the message as it will appear on the customers phone for the WAP link delivery message.';
            
        This script will declare a few global js variables.
        
        to use it:
        
        ... <div id="info" name="info" class="hiliteBox1" style="position:absolute; visibility:hidden; left: 10; width:400; z-index:1000">div</div> ... 
        ... <IMG border=0 align=top src="' . $cppicdir . 'icon_question.gif"  onMouseOver="showInfo(\'Delivery message type\', \'info\', arrInfo)" onMouseOut="hideInfo( 'info' )"> ...
                    
        showInfo parameters are: (KEY for the array, name of the div, the array).
                    
        In the div, the array KEY will be used as the title, and the VALUE will be written underneath.
        The div will be positioned as top-left corner to the pointer.
                    
        */
        
        // to get the mouse position, see http://www.quirksmode.org/js/events_properties.html

        var posx = 0;
        var posy = 0;
    
        function updateMousePosition(e)
        {
        	if (!e) var e = window.event;
        	if (e.pageX || e.pageY)
        	{
        		posx = e.pageX;
        		posy = e.pageY;
        	}
        	else if (e.clientX || e.clientY)
        	{
        		posx = e.clientX + document.body.scrollLeft;
        		posy = e.clientY + document.body.scrollTop;
        	}
        	// posx and posy contain the mouse position relative to the document
        	// Do something with this information
        }
        
        document.onmousemove = updateMousePosition;
    
        function showInfo( selection, divName, arr ) {

            doTheActualHidingThing( divName );
            clearTimeout( gTimeoutHandle );

            // resize the box & show the information.
            obj = document.getElementById(divName);
            obj.innerHTML = '<b>' + selection + '</b><br><br>' + arr[ selection ];
            obj.style.visibility = "visible";
            obj.style.top  = posy;
            obj.style.left = posx;
            
        }
        
        var gTimeoutHandle;
        
        // this will call the actual hiding function in 10 seconds, so that the user has the chance to click on a link in a div.
        function hideInfo( divName ) {

            gTimeoutHandle = setTimeout( "doTheActualHidingThing( '" + divName + "' )", 10 );
        }
        
        function doTheActualHidingThing( divName ) {
            
            obj = document.getElementById( divName );
            obj.style.visibility = "hidden";
            
        }
        
        
