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);

      }

   }

}


