var KISSMobile = {
	test: function() { alert('lala'); },
	
	$: function(_element) {
		if(!_element && !document.getElementById(_element)) { return null; }
		return document.getElementById(_element) ?  document.getElementById(_element) : _element;
	},
	
	hasClassName: function (element, className) {
    if (!(element = this.$(element))) return;
    var elementClassName = element.className;
    return (elementClassName.length > 0 && (elementClassName == className ||
      new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName)));
  },

  addClassName: function(element, className) {
    if (!(element = this.$(element))) return;
    if (!this.hasClassName(element, className))
      element.className += (element.className ? ' ' : '') + className;
    return element;
  },

  removeClassName: function(element, className) {
    if (!(element = this.$(element))) return;
    element.className = element.className.replace(
      new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').replace(/^\s+/, '').replace(/\s+$/, '');
    return element;
  },

  toggleClassName: function(element, className) {
    if (!(element = this.$(element))) return;
    	if(this.hasClassName(element, className))
      		this.removeClassName(element, className);
      	else 
      		this.addClassName(element, className);
      
      return element;
  }
  	
};

var MobilePromoSlideshow = function MPS(_id, _duration) {
	var MPS = this;
	var slideshowDiv = null;
	var activeSlide = null;
	var slideNo = 0;
	var slides = null;
	var timer = null;
	var duration = null;
	
	$ = KISSMobile.$;
		
	function init() {
		slideshowDiv = $(_id);
		slides = slideshowDiv.getElementsByTagName('LI');
	
		if(!slideshowDiv || !slides) { return; }
		
		var i = parseInt(_duration)
		duration = (i > 0) ? (i * 1000) : 3000; 

		var controlHTML = '<div class="control">';
			controlHTML += '<a href="#zur&uuml;ck" rel="back" onclick="mps_' + _id + '.prevSlide(); this.blur(); return false;" class="back">&nbsp;</a><a href="#vor" rel="next" onclick="mps_' + _id + '.nextSlide(); this.blur(); return false;" class="next">&nbsp;</a>';
			controlHTML += '</div>';
				 
		slideshowDiv.getElementsByTagName('UL')[0].parentNode.innerHTML += controlHTML;
			
		MPS.nextSlide();
	};  

	this.nextSlide = function () {
		MPS.stop();
		
		if(activeSlide) {
			KISSMobile.removeClassName(activeSlide, 'active');
		}
		
		if((slideNo + 1 < slides.length) && activeSlide) {
			slideNo++;
		} 
		else {
			slideNo = 0;
		}
		
		activeSlide = slides[slideNo];
		
		KISSMobile.addClassName(activeSlide, 'active');
		
		MPS.start();
	}
	
	this.prevSlide = function () {
		MPS.stop();
		
		if(activeSlide) {
			KISSMobile.removeClassName(activeSlide, 'active');
		}
		
		if((slideNo - 1 > -1) && activeSlide) {
			slideNo--;
		} 
		else {
			slideNo = slides.length -1;
		}
		
		activeSlide = slides[slideNo];
		
		KISSMobile.addClassName(activeSlide, 'active');
		
		MPS.start();
	}
	
	this.stop = function () {
		if(timer != null) { 
			window.clearInterval(timer);
		}

		timer = null;
	}
	
	this.start = function () {
		timer = window.setInterval(MPS.nextSlide, duration);
	}
	
	this.toggle = function () {
		if(timer != null) { this.stop(); }
		else { this.start(); }
	}	
	
	init();
};
