function runiSlider(id, transition, transitionSpeed) {
	var totalWidth=0;
	var positions = new Array();
	jQuery('#artislider' + id + ' .artislide').each(function(i) {
		positions[i]= totalWidth;
		totalWidth += jQuery(this).width();
	});
	
	jQuery('#artislides' + id).width(totalWidth);
  if (!transitionSpeed) {
    transitionSpeed = 3000;
  }
  if (!transition) {
    transition = 'linear';
  }
	jQuery('#artimenu_' + id + ' ul li a').click(function(event) {
			event.preventDefault();
			event.cancelBubble = true;
			
			jQuery('#artimenu_' + id + ' li.menuItem').removeClass('act').addClass('inact');
			jQuery(this).parent().addClass('act');
			var pos = jQuery(this).parent().prevAll('.menuItem').length;
			if (transition) {
				if (transition == 'fade') {
					jQuery('#artislides' + id).stop().fadeOut("slow", function () {
						jQuery('#artislides' + id).css({marginLeft:-positions[pos]+'px'});
						//jQuery('#artislides' + id).fadeIn("slow");
						jQuery('#artislides' + id).css("opacity", "1");
						jQuery('#artislides' + id).css("display", "");
					});
				} else {
					jQuery('#artislides' + id).stop().animate({marginLeft:-positions[pos]+'px'}, {"duration": parseInt(transitionSpeed), "easing": transition });
				}
			} else {
				jQuery('#artislides' + id).stop().animate({marginLeft:-positions[pos]+'px'});
			}
			event.preventDefault();
			event.cancelBubble = true;
			return false;
	});	
	jQuery('#artimenu_' + id + ' ul li.menuItem:first').addClass('act').siblings().addClass('inact');
};

function artislider_fireEvent(element,event) {
   if (document.createEvent) {
       // dispatch for firefox + others
       var evt = document.createEvent("HTMLEvents");
       evt.initEvent(event, true, true ); // event type,bubbling,cancelable
       if (element && element.dispatchEvent) {
        return !element.dispatchEvent(evt);
      }
   } else {
       // dispatch for IE
       var evt = document.createEventObject();
       if (element && element.fireEvent) {
        return element.fireEvent('on'+event,evt);
      }
   }
}

