// JavaScript Document


Event.observe ( window, 'load', function() { init_slider(); });

function init_slider() {
	
	
	
	Event.observe($('message'), 'keyup', checkHeight );
	
	if ($('handle_scroll') && $('track_scroll') ) {
	
		document.slider = new Control.Slider('handle_scroll', 'track_scroll', {
			axis: 'vertical',
			onSlide: function(v) { scrollVertical(v, $('message'), document.slider);  },
			onChange: function(v) { scrollVertical(v, $('message'), document.slider); }
		});
	}
	
	checkHeight();

}

function scrollVertical(value, element, slider) {
	element.scrollTop = Math.round(value/slider.maximum*(element.scrollHeight-element.offsetHeight));
}


function checkHeight() {
		
	obj = $('message');
	
	
	if( obj && ( obj.getHeight() < obj.scrollHeight ) ) {
		if ($('track_scroll') && $('track_scroll').getStyle('display')!='block') {
			$('textarea_pack').setStyle({width:'260px'});
			$('message').setStyle({width:'277px', overflow:'auto'});
			$('track_scroll').setStyle({display:'block', visibility:'visible'}); 
			$('contacts_txtarea').setStyle({width:'273px' });
		}
		
		element = obj;
		document.slider.setValue(( element.scrollTop * document.slider.maximum / ( element.scrollHeight-element.offsetHeight ) ));
		
	} else {
		if ($('track_scroll')) $('track_scroll').setStyle({display:'none'}); 
		$('textarea_pack').setStyle({width:'275px'});	
		$('message').setStyle({width:'275px', overflow:'hidden'});
	}
}
	


/* Mouse Wheel */

Object.extend(Event, {
	wheel:function (event){
		var delta = 0;
		if (!event) event = window.event;
		if (event.wheelDelta) {
			delta = event.wheelDelta/120; 
			//if (window.opera) delta = -delta;
		} else if (event.detail) { delta = -event.detail/3;	}
		return Math.round(delta); //Safari Round
	}
});


SetupMouseWheel = {
	initialize: function() {
		Event.observe(document, 'dom:loaded', this.setup_mouse_wheel);
	},
	setup_mouse_wheel: function() {
		Event.observe($('contacts_txtarea'), "mousewheel", function(e) { SetupMouseWheel.handleDiv(e) }, false);
		Event.observe($('contacts_txtarea'), "DOMMouseScroll", function(e) { SetupMouseWheel.handleDiv(e) }, false); // Firefox
	},
	
	handleDiv: function(e) {
		direction = Event.wheel(e) < 0 ? leftSeek : rightSeek;
		direction(); 
	}
};

SetupMouseWheel.initialize();


function leftSeek() {
	if (document.slider) document.slider.setValueBy(0.1);
}
function rightSeek() {
	if (document.slider) document.slider.setValueBy(-0.1);
}	

