	//this is the second change

	// This extends the original ColorPicker.js and uses some of the methods from there
    var id;

	var is = new browserCheck();

	var linkPrefix = "_link";

	//
	// fill here for required 'default' ;) values
	//
	var parameterArray = [ 'CSO1','CSO2','CSO3','Call sign','Flag' ,'MMSI'];


	function closeParameter(){
		var picker = getObj('parampicker');
		var height = picker.offsetHeight ;
		var left = picker.offsetLeft;
		var top = picker.offsetTop;
		var width = picker.offsetWidth;

		var mouseX = event.clientX;
		var mouseY = event.clientY;

		if(mouseX > left && mouseX < left+width){
			if(mouseY > top && mouseY < top + height){
				return;
			}
		}

		var picker = getObj('parampicker');
		if(picker){
			pickerStyle = getStyleElement(picker);

			if(pickerStyle.visibility == 'visible') {
				pickerStyle.visibility = 'hidden'
				showAllElements();
				return;
			}
		}
	}

	function setParameter(object) {
		var picker = getObj('parampicker');
        var hex = getObj(id );

		hex.value = object.value;

        pickerStyle = getStyleElement(picker);
        pickerStyle.visibility = 'hidden';
		showAllElements();
	}

	/**
	 *	Creates the div to hold the picker.
	 *  This script should only ever be called once
	 */
	function setParameterDiv() {

		var html = '<span style="font-family:Verdana; font-size:11px;">'
				+ getParameterTable()
				+ '</span>';
		if(is.ns4){
			document.createElement = createElement;
		}

		var elemDiv;
		if(is.ns4){
			elemDiv = document.createElement('layer');
		} else {
			elemDiv = document.createElement('div');
		}
		elemDiv.name = 'parampicker';
		elemDiv.id = 'parampicker';
		elemDivStyle = getStyleElement(elemDiv);
		elemDivStyle.position = 'absolute';
		elemDivStyle.visibility = 'hidden';
		elemDivStyle.border = '#000000 1px solid';
		elemDivStyle.background = '#FFFFFF';

		if(is.ns4){
			elemDiv.open();
			elemDiv.write(html);
			elemDiv.close();
		} else {
			elemDiv.innerHTML = html;
			document.body.appendChild(elemDiv);
		}
		divSet = true;
	}

	/**
	 *  Used to show the picker popup.  This script is called from the
	 *  button next to the hex field.
	 */
	function pickParameter(id) {
		this.id = id;

		if (!divSet) {
			setParameterDiv();
		}

		var picker = getObj('parampicker');

		pickerStyle = getStyleElement(picker);

		if(pickerStyle.visibility == 'visible') {
			pickerStyle.visibility = 'hidden'
			showAllElements();
			return;
		}

		var linkField = getObj(id + linkPrefix);

		pickerStyle.top = getAbsoluteOffsetTop(linkField) + 20;
		pickerStyle.left = getAbsoluteOffsetLeft(linkField) ;
		pickerStyle.visibility = 'visible';
		pickerStyle.display = 'block';

	}

	/**
	 *	writes the actual html needed to display the color table in the div.
	 *  Should only be called once by setParameterDiv
	 */

	function getParameterTable() {
		var tableCode = '';
		tableCode += '<table border="0" cellspacing="0" cellpadding="2">';

		var select_size = 6;
		if( parameterArray.length < 3 ) {
			select_size = parameterArray.length;
		}
		for ( i = 0;i < parameterArray.length;i++ ) {
			tableCode += '<tr>';
			tableCode += '<input type="hidden" name="'+i+'" id="'+i+'" value="'+parameterArray[i]+'">';
			tableCode += '<td onClick="setParameter(getObj(\''+i+'\'))" onMouseOver="setBackgroundColor(\'#FFCC99\',this)"  onMouseOut="setBackgroundColor(\'#FFFFFF\',this)" CLASS="standard" style="cursor:hand" >';
			tableCode += parameterArray[i];
			tableCode += '</td>';
			tableCode += '</tr>';
		}
		tableCode += '</table>';

		return tableCode;
	}

	/**
     *  Positioning script for the div to ensure it is poistioned in the correct spot
     */
    function getAbsoluteOffsetTop(obj) {
        var top = obj.offsetTop;
		var parent = obj.offsetParent;
        while (parent != document.body) {
            top += parent.offsetTop;
            parent = parent.offsetParent;
        }
        return top + 7;
    }

    /**
     *  Positioning script for the div to ensure it is poistioned in the correct spot
     */
    function getAbsoluteOffsetLeft(obj) {
        var left = obj.offsetLeft;
        var parent = obj.offsetParent;
        while (parent != document.body) {
            left += parent.offsetLeft;
            parent = parent.offsetParent;
        }
        return left;
    }


/*	 getStyleElement(object){
        if(is.ns4){
            return object;
        } else {
            return object.style;
        }
    }


    !!!moved to base.js!!!

    */

	/**
    *  Browser safe getElementByName (or id) method.
    */
    function getObj(nameOfObject) {

        if (is.ie){
            return document.getElementById(nameOfObject)
        } else if (is.dom) {
            return findDOMObject(nameOfObject)
        } else if (is.ns4) {
            //For this script we are only concerned with elements that are positioned within form tags.
            for(var i=0; i<document.forms.length; i++){
                obj = eval("document.forms[i].elements['"+nameOfObject+"']");
                if(obj){
                    return obj;
                }
            }
			for(var i=0; i<document.forms.length; i++){
				var form = document.forms[i];
				for(var x=0; x<form.elements.length; x++){
					var element = form.elements[x];
					if(element.name == nameOfObject){
						return eval(element);
					}
				}
			}
            for(var i=0; i<document.layers.length; i++){
                if(document.layers[i].document.name == nameOfObject){
                    return document.layers[i].document;
                }
            }
        }

        return "Object not found";
    }

    function findDOMObject(nameOfObject) {
        for (var i = 0; i < document.images.length; i++) {
            if (document.images[i].name == nameOfObject) return document.images[i]
        }
        return document.getElementById(nameOfObject)
    }

	function createElement(name){
        document.layers[name] = new Layer(300);
        document.layers[name].document.open();
        document.layers[name].document.write("abcd");
        document.layers[name].document.close();
        document.layers[name].document.name = name;
        document.layers[name].document.id = id;
        return document.layers[name].document;
    }


