
	var MSIE = navigator.userAgent.indexOf('MSIE')>=0?true:false;
	var navigatorVersion = navigator.appVersion.replace(/.*?MSIE (\d\.\d).*/g,'$1')/1;
	
	var form_widget_amount_slider_handle = 'images/slider_handle.gif';
	var slider_handle_image_obj = false;
	var sliderObjectArray = new Array();
	var slider_counter = 0;
	var slideInProgress = false;
	var handle_start_x;
	var event_start_x;
	var currentSliderIndex;
	var color_picker_div = false;
	var color_picker_active_tab = false;
	var effind = 0;
	var color_picker_active_input = false;
	
	function form_widget_cancel_event()
	{
		return false;		
	}
	
	function getImageSliderHeight(){
		if(!slider_handle_image_obj){
			slider_handle_image_obj = new Image();
			slider_handle_image_obj.src = form_widget_amount_slider_handle;
		}
		if(slider_handle_image_obj.width>0){
			return;
		}else{
			setTimeout('getImageSliderHeight()',50);
		}
	}
	
	function positionSliderImage(e,theIndex,inputObj)
	{
		if(this)inputObj = this;
		if(!theIndex)theIndex = inputObj.getAttribute('sliderIndex');
		var handleImg = document.getElementById('slider_handle' + theIndex);
		var ratio = sliderObjectArray[theIndex]['width'] / (sliderObjectArray[theIndex]['max']-sliderObjectArray[theIndex]['min']);
		var currentValue = sliderObjectArray[theIndex]['formTarget'].value-sliderObjectArray[theIndex]['min'];		
		handleImg.style.left = currentValue * ratio + 'px';			
		setColorByRGB();
	}
	
	function adjustFormValue(theIndex)
	{
		var handleImg = document.getElementById('slider_handle' + theIndex);	
		var ratio = sliderObjectArray[theIndex]['width'] / (sliderObjectArray[theIndex]['max']-sliderObjectArray[theIndex]['min']);
		var currentPos = handleImg.style.left.replace('px','');
		sliderObjectArray[theIndex]['formTarget'].value = Math.round(currentPos / ratio) + sliderObjectArray[theIndex]['min'];
		
	}
		
	function initMoveSlider(e)
	{
	
		if(document.all)e = event;	
		slideInProgress = true;
		event_start_x = e.clientX;
		handle_start_x = this.style.left.replace('px','');
		currentSliderIndex = this.id.replace(/[^\d]/g,'');
		return false;
	}
	
	function startMoveSlider(e)
	{
		if(document.all)e = event;	
		if(!slideInProgress)return;	
		var leftPos = handle_start_x/1 + e.clientX/1 - event_start_x;
		if(leftPos<0)leftPos = 0;
		if(leftPos/1>sliderObjectArray[currentSliderIndex]['width'])leftPos = sliderObjectArray[currentSliderIndex]['width'];
		document.getElementById('slider_handle' + currentSliderIndex).style.left = leftPos + 'px';
		adjustFormValue(currentSliderIndex);
		if(sliderObjectArray[currentSliderIndex]['onchangeAction']){
			eval(sliderObjectArray[currentSliderIndex]['onchangeAction']);
		}
	}
	
	function stopMoveSlider()
	{
		slideInProgress = false;
	}
	
	
	function form_widget_amount_slider(targetElId,formTarget,width,min,max,onchangeAction)
	{
		if(!slider_handle_image_obj){
			getImageSliderHeight();		
		}
				
		slider_counter = slider_counter +1;
		sliderObjectArray[slider_counter] = new Array();
		sliderObjectArray[slider_counter] = {"width":width - 9,"min":min,"max":max,"formTarget":formTarget,"onchangeAction":onchangeAction};
		
		formTarget.setAttribute('sliderIndex',slider_counter);
		formTarget.onchange = positionSliderImage;
		var parentObj = document.createElement('DIV');
		parentObj.style.width = width + 'px';
		parentObj.style.height = '12px';	// The height of the image
		parentObj.style.position = 'relative';
		parentObj.id = 'slider_container' + slider_counter;
		document.getElementById(targetElId).appendChild(parentObj);
		
		var obj = document.createElement('DIV');
		obj.className = 'form_widget_amount_slider';
		obj.innerHTML = '<span></span>';
		obj.style.width = width + 'px';
		obj.id = 'slider_slider' + slider_counter;
		obj.style.position = 'absolute';
		obj.style.bottom = '0px';
		parentObj.appendChild(obj);
		
		var handleImg = document.createElement('IMG');
		handleImg.style.position = 'absolute';
		handleImg.style.left = '0px';
		handleImg.style.zIndex = 5;
		handleImg.src = slider_handle_image_obj.src;
		handleImg.id = 'slider_handle' + slider_counter;
		handleImg.onmousedown = initMoveSlider;
		if(document.body.onmouseup){
			if(document.body.onmouseup.toString().indexOf('stopMoveSlider')==-1){
				alert('You allready have an onmouseup event assigned to the body tag');
			}
		}else{
			document.body.onmouseup = stopMoveSlider;	
			document.body.onmousemove = startMoveSlider;	
		}
		handleImg.ondragstart = form_widget_cancel_event;
		parentObj.appendChild(handleImg);
		positionSliderImage(false,slider_counter);
	}
		

	
		



	function baseConverter (number,ob,nb) {
		number = number + "";
		number = number.toUpperCase();
		var list = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		var dec = 0;
		for (var i = 0; i <=  number.length; i++) {
			dec += (list.indexOf(number.charAt(i))) * (Math.pow(ob , (number.length - i - 1)));
		}
		number = "";
		var magnitude = Math.floor((Math.log(dec))/(Math.log(nb)));
		for (var i = magnitude; i >= 0; i--) {
			var amount = Math.floor(dec/Math.pow(nb,i));
			number = number + list.charAt(amount); 
			dec -= amount*(Math.pow(nb,i));
		}
		if(number.length==0)number=0;
		return number;
	}
	
	function colorPickerGetTopPos(inputObj)
	{
		
	  var returnValue = inputObj.offsetTop;
	  while((inputObj = inputObj.offsetParent) != null){
	  	returnValue += inputObj.offsetTop;
	  }
	  return returnValue;
	}
	
	function colorPickerGetLeftPos(inputObj)
	{
	  var returnValue = inputObj.offsetLeft;
	  while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetLeft;
	  return returnValue;
	}
	
	function cancelColorPickerEvent(){
		return false;
	}
	

	
	function createColorPickerTopRow(inputObj){
		var div = document.createElement('DIV');
		div.className='colorPicker_topRow';
	
		inputObj.appendChild(div);	
		var currentWidth = 0;
				var closeButton = document.createElement('DIV');
		closeButton.className='colorPickerCloseButton';
		closeButton.innerHTML = 'x';
		closeButton.onclick = closeColorPicker;
		closeButton.onmouseover = toggleCloseButton;
		closeButton.onmouseout = toggleOffCloseButton;
		div.appendChild(closeButton);
		
	}
	
	function toggleCloseButton()
	{
		this.style.color='#FFF';
		this.style.backgroundColor = '#317082';	
	}
	function toggleOffCloseButton()
	{
		this.style.color='';
		this.style.backgroundColor = '';			
		
	}
	function closeColorPicker()
	{
		myLightbox.end();
	}
	
	
	function createAllColorDiv(inputObj){
		var allColorDiv = document.createElement('DIV');
		allColorDiv.className = 'js_color_picker_allColorDiv';
		inputObj.appendChild(allColorDiv);	
		







			for(var r=0;r<=15;r+=3){
//for(var r=15;r>=0;r-=3){
			for(var g=0;g<=15;g+=3){
				for(var b=0;b<=15;b+=3){
					var red = baseConverter(r,10,16) + '';
					var green = baseConverter(g,10,16) + '';
					var blue = baseConverter(b,10,16) + '';
					
					var color = '#' + red + red + green + green + blue + blue;
					var div = document.createElement('DIV');
					div.style.backgroundColor=color;
					div.innerHTML = '<span></span>';
					div.className='colorSquare';	
					div.onclick =   chooseColor;
					div.setAttribute('rgbColor',color);
					allColorDiv.appendChild(div);
				}
			}
		}





var input = document.createElement('INPUT');
		input.id = 'js_color_picker_t';
		input.name = 'transparency';
		input.value = 0;
                input.type="hidden";
		allColorDiv.appendChild(input);
var input = document.createElement('INPUT');
               	input.id = 'js_color_picker_green_color';
		input.name = 'GreenColor';
                input.type="hidden";
		input.value = 0;

		allColorDiv.appendChild(input);
var input = document.createElement('INPUT');
                input.id = 'js_color_picker_red_color';
		input.name = 'redColor';
		input.value = 0;
                input.type="hidden";
		allColorDiv.appendChild(input);
var input = document.createElement('INPUT');
                input.id = 'js_color_picker_blue_color';
		input.name = 'BlueColor';
		input.value = 0;
                input.type="hidden";
		allColorDiv.appendChild(input);



var clearingDiv = document.createElement('DIV');
		clearingDiv.style.clear = 'both';
		allColorDiv.appendChild(clearingDiv);



		var labelDiv = document.createElement('DIV');
		labelDiv.className='colorSliderLabel';
		labelDiv.innerHTML = 'Red';
		allColorDiv.appendChild(labelDiv);	
		
		var innerDiv = document.createElement('DIV');
		innerDiv.className = 'colorSlider';
		innerDiv.id = 'sliderRedColor';		
		allColorDiv.appendChild(innerDiv);		
		
		
		
		var labelDiv = document.createElement('DIV');
		labelDiv.className='colorSliderLabel';
		labelDiv.innerHTML = 'Green';
		allColorDiv.appendChild(labelDiv);	
				
		var innerDiv = document.createElement('DIV');
		innerDiv.className = 'colorSlider';
		innerDiv.id = 'sliderGreenColor';		
		allColorDiv.appendChild(innerDiv);		
		
		
		


		
		var labelDiv = document.createElement('DIV');
		labelDiv.className='colorSliderLabel';
		labelDiv.innerHTML = 'Blue';
		allColorDiv.appendChild(labelDiv);			

		var innerDiv = document.createElement('DIV');
		innerDiv.className = 'colorSlider';
		innerDiv.id = 'sliderBlueColor';		
		allColorDiv.appendChild(innerDiv);




		

                var labelDiv = document.createElement('DIV');
		labelDiv.className='colorSliderLabel';
		labelDiv.innerHTML = 'Alpha';
		allColorDiv.appendChild(labelDiv);	
		
		var innerDiv = document.createElement('DIV');
		innerDiv.className = 'colorSlider';
		innerDiv.id = 'slidert';		
		allColorDiv.appendChild(innerDiv)





		
		












                var input = document.createElement('INPUT');
		input.id = 'js_uni';
		input.type="checkbox";
		input.name = 'unicolor';
		input.value = 0;
		allColorDiv.appendChild(input);

                var labelDiv = document.createElement('DIV');
		labelDiv.className='colorSliderLabel1';
		labelDiv.innerHTML = 'Make Map Monochrome';
                allColorDiv.appendChild(labelDiv);			
               
		






















	
		var mcolorPreview = document.createElement('DIV');
		mcolorPreview.id = 'mcolorPreview';
		mcolorPreview.style.backgroundImage = "url('/images/tbg.gif')";
		allColorDiv.appendChild(mcolorPreview);
		

	
		var colorPreview = document.createElement('DIV');
		colorPreview.className='colorPreviewDiv';
		colorPreview.id = 'colorPreview';
		colorPreview.style.backgroundColor = '#000000';
		colorPreview.innerHTML = '<span></span>';	
		colorPreview.title = 'Click on me to assign color';	
		mcolorPreview.appendChild(colorPreview);
		colorPreview.onclick = chooseColorSlider;
		






		var colorCodeDiv = document.createElement('DIV');
		colorCodeDiv.className='colorCodeDiv';		







		
	


             




	

	var input = document.createElement('INPUT');	

		input.type = "image";
                input.id = 'jscancel';
                input.src="images/cancel.jpg";
		input.onclick = closeColorPicker;
		allColorDiv.appendChild(input);

	var input = document.createElement('INPUT');	

		input.type = "image";
                input.id = 'jsok';
                input.src="images/apply.jpg";
		input.onclick = chooseColorSlider;
		allColorDiv.appendChild(input);
		
		var input = document.createElement('INPUT');
		input.id = 'js_color_picker_color_code';
			
		input.value = '#';
                input.type="hidden";
		input.onchange = setPreviewColorFromTxt;
		input.onblur = setPreviewColorFromTxt;
		allColorDiv.appendChild(input);


		
		form_widget_amount_slider('sliderRedColor',document.getElementById('js_color_picker_red_color'),170,0,255,"setColorByRGB()");
		form_widget_amount_slider('sliderGreenColor',document.getElementById('js_color_picker_green_color'),170,0,255,"setColorByRGB()");
		form_widget_amount_slider('sliderBlueColor',document.getElementById('js_color_picker_blue_color'),170,0,255,"setColorByRGB()");
        	form_widget_amount_slider('slidert',document.getElementById('js_color_picker_t'),170,0,127,"setColorByRGB()");
	
}
	
	function setPreviewColorFromTxt()
	{
		if(this.value.match(/\#[0-9A-F]{6}/g)){
			var r = this.value.substr(1,2);
			var g = this.value.substr(3,2);
			var b = this.value.substr(5,2);
                        var t = this.value.substr(7,2);
			document.getElementById('js_color_picker_red_color').value = baseConverter(r,16,10);
			document.getElementById('js_color_picker_green_color').value = baseConverter(g,16,10);
			document.getElementById('js_color_picker_blue_color').value = baseConverter(b,16,10);
			document.getElementById('js_color_picker_t').value = baseConverter(t,16,10) & 127;
			document.getElementById('js_uni').checked=baseConverter(t,16,10) & 128;

			positionSliderImage(false,1,document.getElementById('js_color_picker_red_color'));
			positionSliderImage(false,2,document.getElementById('js_color_picker_green_color'));
			positionSliderImage(false,3,document.getElementById('js_color_picker_blue_color'));
                        positionSliderImage(false,4,document.getElementById('js_color_picker_t'));
	
	}
		
	}
	
	function chooseColor()
	{


var t = document.getElementById('js_color_picker_t').value.replace(/[^\d]/,'');		 
                if(t/1>127)t=127;
if (document.getElementById('js_uni').checked) t=t | 128;                
t = baseConverter(t,10,16) + '';
                if(t.length==1) t = '0' + t;

     document.getElementById('js_color_picker_color_code').value=this.getAttribute('rgbColor')+t;	
     document.getElementById('js_color_picker_color_code').onblur();	
       

	}
	
	
	
	function chooseColorSlider()
	{
               setColorByRGB();
		seteffect(effind,document.getElementById('js_color_picker_color_code').value);
		myLightbox.end();		
               
	}
	
	
	function showColorPicker(inputObj,index)
	{
myLightbox.start("");
effind = index;
		if(!color_picker_div) {
			color_picker_div = document.createElement('DIV');
			color_picker_div.id = 'dhtmlgoodies_colorPicker';
			color_picker_div.style.display='none';
			document.body.appendChild(color_picker_div);
			createColorPickerTopRow(color_picker_div);			
			var contentDiv = document.createElement('DIV');
			contentDiv.id = 'color_picker_content';
			color_picker_div.appendChild(contentDiv);			
//			createWebColors(contentDiv);
			createAllColorDiv(contentDiv);	
		}
		
document.getElementById('overlay').style.display="block";
		if(color_picker_div.style.display=='none' || color_picker_active_input!=inputObj)color_picker_div.style.display='block'; else color_picker_div.style.display='none';		
		//color_picker_div.style.left = (colorPickerGetLeftPos(inputObj)+30) + 'px';
		//color_picker_div.style.top = colorPickerGetTopPos(inputObj) + inputObj.offsetHeight - 20 + 'px';
		
		color_picker_active_input = inputObj;	
                document.getElementById('js_color_picker_color_code').value="#"+geteffect(index);
                document.getElementById('js_color_picker_color_code').onblur();	
	}

	function setColorByRGB()
	{
		var formObj = document.forms[0];	
		var r = document.getElementById('js_color_picker_red_color').value.replace(/[^\d]/,'');
		var g = document.getElementById('js_color_picker_green_color').value.replace(/[^\d]/,'');
		var b = document.getElementById('js_color_picker_blue_color').value.replace(/[^\d]/,'');		
	        var t = document.getElementById('js_color_picker_t').value.replace(/[^\d]/,'');		
		
	        if(r/1>255)r=255;
		if(g/1>255)g=255;
		if(b/1>255)b=255;
                if(t/1>127)t=127;
document.getElementById('colorPreview').style.opacity=(127-t)/127;
document.getElementById('colorPreview').style.filter="alpha(opacity="+(127-t)/127*100+")";


if (document.getElementById('js_uni').checked) t=t | 128;		
                r = baseConverter(r,10,16) + '';
		g = baseConverter(g,10,16) + '';
		b = baseConverter(b,10,16) + '';
                t = baseConverter(t,10,16) + '';
		if(r.length==1)r = '0' + r;
		if(g.length==1)g = '0' + g;
		if(b.length==1)b = '0' + b;
                if(t.length==1)t = '0' + t;
                
                
		document.getElementById('colorPreview').style.backgroundColor = '#' + r + g + b;
		document.getElementById('js_color_picker_color_code').value = '#' + r + g + b +t;
	    
	}	