var speed_ = 0;
function calc_speed( x, offsetWidth, region )
{
	region = region * offsetWidth;
	var from_left = x; // distance from left edge
	var from_right = offsetWidth-x; // from right edge
	var speed = 0;
	if ( from_left < region ) // if close enough to the left edge
		speed = (region-from_left) / region;
	if ( from_right < region ) // if close enough to the right edge
		speed = -(region-from_right) / region;
	return speed;
}

jQuery(document).ready(function() {
	jQuery("#footerIconNavigation *").pngFix();
	// creates "supermenu"-wrap
	jQuery("#footerIconNaviList").supermenu({oClass:'_footerIconNavi'});
	// implements mousewheel
	jQuery(".supermenu_footerIconNavi").mousewheel(function(eventA, deltaA) {
			if (deltaA > 0) jQuery("#footerIconNaviList").trigger("left",[104]);
			else if (deltaA < 0) jQuery("#footerIconNaviList").trigger("right",[104]);
			eventA.stopPropagation();
			eventA.preventDefault();
	})
	jQuery("#footerIconNavigationLeft").bind("mouseup",function() {
		jQuery("#footerIconNaviList").trigger("left",[104]);
	});
	jQuery("#footerIconNavigationRight").bind("mouseup",function() {
		jQuery("#footerIconNaviList").trigger("right",[104]);
	});
	jQuery("#footerIconNavigation").bind("mousemove",function(e) {
		var par = jQuery(".supermenu_footerIconNavi");
		var x = e.pageX - par.offset().left;
		speed_ = calc_speed( x, par[0].offsetWidth, 1/4 );
	});
	
	jQuery("#footerIconNavigation").bind("mouseover",function(e) {
		var x = e.pageX - jQuery(this).offset().left;
		speed_ = calc_speed( x, this.offsetWidth, 1/4 );
//		if ( Math.abs( speed_ ) < 0.05 ) speed_ = 0;
		
		var offset_ = 20;
		this.interval_ = window.setInterval(function() {
/*			if ( offset_ <= 15 )
				offset_ = (offset_) +(offset_);*/
				if ( speed_ > 0 )
					jQuery("#footerIconNaviList").trigger("left",[offset_*speed_]);
				else
					jQuery("#footerIconNaviList").trigger("right",[offset_*-speed_]);
		},40);
	}).bind("mouseout",function() {
		window.clearInterval(this.interval_);
		this.offset_ = 0;
	});
	
/*	// Arrow navigation with acceleration
	jQuery("#footerIconNavigationLeft").bind("mouseover",function() {
		var offset_ = 1;	
		this.interval_ = window.setInterval(function() {
			if ( offset_ <= 15 )
				offset_ = (offset_) +(offset_);
			jQuery("#footerIconNaviList").trigger("left",[offset_]);
		},40);
	}).bind("mouseout",function() {
		window.clearInterval(this.interval_);
		this.offset_ = 0;
	});
	jQuery("#footerIconNavigationRight").bind("mouseover",function() {
		var offset_ = 1;
		this.interval_ = window.setInterval(function() {
			if ( offset_ <= 15 )
				offset_ = (offset_) +(offset_);
			jQuery("#footerIconNaviList").trigger("right",[offset_]);
		},40);
	}).bind("mouseout",function() {
		window.clearInterval(this.interval_);
		this.offset_ = 0;
	});*/
	
	// BUTTON HOVER EFFECT
	if (jQuery.browser.msie && jQuery.browser.version.substr(0,1)<7) { // In IE6 with PNGFIX, we need classes for the <span> tags
		jQuery.each( jQuery(".FIdark"), function(i, val) {
			jQuery(this).removeClass("FIdark");
			jQuery(this).parent().addClass("FIdark");
		});
		jQuery.each( jQuery(".FIhover"), function(i, val) {
			jQuery(this).removeClass("FIhover");
			jQuery(this).parent().addClass("FIhover");
			jQuery(this).parent().hide();
		});
	}
	jQuery(".FIdark").parent().bind("mouseover",function(e) { //hover
		 jQuery(this).find(".FIhover").show();
		 jQuery(this).find(".FIdark").hide();
		 var li = jQuery(this).parents("#footerIconNaviList li");
		 jQuery(this).parent().addClass("footer_hover");
	});
	jQuery(".FIhover").parent().bind("mouseout",function(e) { //mouseout
		 jQuery(this).find(".FIhover").hide();
		 jQuery(this).find(".FIdark").show();
		 jQuery(this).parent().removeClass("footer_hover");
	});
	
});
