
/*
SHADOWBOX cosmoblonde- temporarily switched off, because it was undefined and broke Streamnavi & MT
*/


/*SHADOWBOX*/

Shadowbox.loadSkin('custom2', '/scripts/sspgallery/shadowbox/build/skin'); // use sputnik skin
Shadowbox.loadLanguage('de-DE', '/scripts/sspgallery/shadowbox/build/lang'); // use german
Shadowbox.loadPlayer(['img', 'html', 'iframe'], '/scripts/sspgallery/shadowbox/build/player'); // use img and qt players

// Funktion lädt die Bilder für eine Galerie per AJAX nach und startet die Lightbox
function getContentIntoBox(aid) {

    if($("#galerie"+aid+" span").length==0) {
	    $("#galerie"+aid+":empty").append("<span style='display:none'></span>");
    	$("#galerie"+aid+" span").load("/scripts/sspgallery/shaddowadapter.php?w=galerie&aid="+aid,'',function(){
	   		Shadowbox.setup();
	   		$('#galerie'+aid+' span a:first').trigger('click');
    	});
    }
    else {
        $('#galerie'+aid+' span a:first').trigger('click');
    }
    var zufallz   = Math.round(Math.random()*10000000);
	var zufallstr = zufallz.toString();
	$('#shadowbox_info').append('<img id="sbpixel" width="1" height="1" src="http://mdr.ivwbox.de/cgi-bin/ivw/CP/sputnik/galerien;k=10&i=sputnik/galerien&p=www.sputnik.de/sputnik/galerien&z=' + zufallstr +'">');

}

// für Multiplayer Teaser

// Funktion legt innerhalb von #wrapperContent ein span an und startet den AJAX Call zum nachladen der Bilder mittels getContentIntoBox
function openAlbum(aid) {
    if ($("#galerie"+aid).length==0) {
       $('#wrapperContent').append("<span id='galerie"+aid+"'></span>");
    }
    getContentIntoBox(aid);
}

// Funktion legt innerhalb von #wrapperContent ein span mit der Videozeit als ID an und startet die Lightbox mit dem Videoplayer im iFrame
function openVideo(v,d) {

    var i = v.lastIndexOf("/");
    if($("#"+v.slice(i+1,i+15)).length==0) {
    	$('body').append("<span id='"+v.slice(i+1,i+15)+"'><a href='/scripts/sspgallery/shadowbox/mediaplayer.php?v="+v+"' rel='shadowbox;width=420;height=415;' title='"+d+"' album='Video' style='display:none'>#</a></span>");
    	Shadowbox.setup();
    }
    $('#'+v.slice(i+1,i+15)+' a:first').trigger('click');

    return false;
}

// Funktion legt innerhalb von #wrapperContent ein span mit der VideoID als ID an und startet die Lightbox mit dem Videoplayer im iFrame
function openVideoID(id,d) {

    if($("#v"+id).length==0) {
    	$('body').append("<span id='v"+id+"'><a href='/scripts/sspgallery/shadowbox/mediaplayer.php?id="+id+"' rel='shadowbox;width=420;height=415;' title='"+d+"' permalink='http://www.sputnik.de?l="+id+"&t=v' album='Video' style='display:none'>#</a></span>");
    	Shadowbox.setup();
    }
    $('#v'+id+' a:first').trigger('click');

    return false;
}



/*
cosmoblonde- streamNavi-Icons will only be displayed correctly in Webkit-Browsers (Safari, Chrome),
if all images in it are loaded

caching for lower bandwidth...
and trigger on window.onload
*/
var streamnaviImages = [];
streamnaviImages.push("webradio");
streamnaviImages.push("club");
streamnaviImages.push("rock");
streamnaviImages.push("insomnia");
streamnaviImages.push("popkult");
streamnaviImages.push("black");
streamnaviImages.push("makossa");
streamnaviImages.push("soundcheck");
var streamnaviImagesDir = "/img/streamnavi/";
//
for(var i=0;i<streamnaviImages.length;i++){
	var imgName = streamnaviImages[i];
	var img = new Image();
	img.src = streamnaviImagesDir+imgName+".png";
	var img_o = new Image();
	img_o.src = streamnaviImagesDir+imgName+"_o.png";
}
//
var MTImages = [];
MTImages.push("multiteaser_left_o");
MTImages.push("multiteaser_right_o");
MTImages.push("multiteaser_pause_o");
MTImages.push("multiteaser_play_o");
var MTImagesDir = "/img/icon/";
for(var i=0;i<MTImages.length;i++){
	var imgName = MTImages[i];
	var img = new Image();
	img.src = MTImagesDir+imgName+".png";
}

function ___init(){
	try{
		var curStreamNavi = new Sputnik.StreamNavi("streamNavi");
	}catch(err){
		setTimeout("___init()", 1000);
	}
}
$(window).load( function (){
	___init();

	/*SHADOWBOX_STUFF*/

    var options = {
        handleOversize:     'drag',
        displayNav:         true,
        handleUnsupported:  'remove',
        autoplayMovies:     false,
		animateFade:		true,
		continuous: 		true,
		overlayOpacity:		0.8,
		viewportPadding:    5,
		counterType:		'default',
		modal:				true,
		onChange:           function() {
		                      var zufallz   = Math.round(Math.random()*10000000);
	                          var zufallstr = zufallz.toString();
                              $('#sbpixel').attr("src","http://mdr.ivwbox.de/cgi-bin/ivw/CP/sputnik/galerien;k=10&i=sputnik/galerien&p=www.sputnik.de/sputnik/galerien&z="+zufallstr);
		}
    };
    Shadowbox.init(options);

// Permalink
    HTTP_GET_VARS=new Array();
    strGET=document.location.search.substr(1,document.location.search.length);
    if(strGET!='') {
      gArr=strGET.split('&');
      for(i=0;i<gArr.length;++i) {
        v='';
		vArr=gArr[i].split('=');
        if(vArr.length>1){ v=vArr[1]; }
        HTTP_GET_VARS[unescape(vArr[0])]=unescape(v);
      }
    }


	 var v_sl = HTTP_GET_VARS["l"];
	 var v_tp = HTTP_GET_VARS["t"];


	if (v_tp == "v") {
	   // open video
       openVideoID(v_sl,"Video")
	}

	if (v_tp == "a") {
	   // open audio
       Shadowbox.open({
         content:    '<div>Here should be an audio playa!</div>',
         player:     "iframe",
         title:      "AUDIO",
         height:     250,
         width:      440
       });
	}

	if (v_tp == "p") {
	   // open photo
	   $("#wrapperContent").append("<span id=\"galerie"+v_sl+"\"></span>");
       getContentIntoBox(v_sl);
	}
	// end permalink

    // used for lightbox trigger in article
    if($('a.artikelbild').length) {

    	Shadowbox.setup($('a.artikelbild'), {
       		player: 'img'
    	});
    }

    if($('a.artikelflash').length) {

    	Shadowbox.setup($('a.artikelflash'), {
       		player: 'iframe'
    	});
    }

    /*SHADOWBOX_STUFF*/

    /*LINEUPTOOL STUFF*/
	if($("#content_lineup").length) {
	    // set minus
	    $("#content_lineup li:first a span").removeClass("plus").addClass("minus");

	    // get artist from top of lineup
	    LineUp_ActiveArtist = 0;

        // load artist info
	    LineUpGetArtistInfo($("#content_lineup li:first").attr("id").substr(11,10));
    }

	/*LINEUPTOOL STUFF END*/

});

/*LINEUPTOOL STUFF*/

var LineUp_FestivalID = 1;
    var LineUp_Day        = '';
    var LineUp_Filter     = '';
    var LineUp_Sort       = '';
    var LineUp_Menu       = 1;
    var LineUp_ActiveArtist;

    var LineUp_MeinPlan = new Array();

/*LINEUPTOOL STUFF END*/


$(".teaser").ready( function (){
	$(".sizeL > .teaser:odd").addClass("floatRight");
});



$(document).ready( function (){
 	SPUTNIK = new Sputnik();

	SPUTNIK.setHandler("Dom");
	//SPUTNIK.DOM_HANDLE.appendToNode("body", "<div id=\"debug\" style=\"top:0px; z-index:2000000; position:absolute;background-color:black;color:#FFFFFF\"></div>");

 	SPUTNIK.setHandler("Event");
 	SPUTNIK.setHandler("Ajax");

	SPUTNIK.setHandler("Engine");

	SPUTNIK.defineTeaserConstants();
 	SPUTNIK.EVENT_HANDLE.bindOneTime(
	 	SPUTNIK.TEASER_WRAPPER+" "+SPUTNIK.SHOW_TEASER_OVERLAY_BTN,
	 	"click",
	 	function() {
	 		SPUTNIK.defineTeaserConstants();
	 		SPUTNIK.EVENT_HANDLE.unbind(SPUTNIK.TEASER_WRAPPER+" "+SPUTNIK.SHOW_TEASER_OVERLAY_BTN, "click");
 			SPUTNIK.setHandler("Dom");
 			//give 'clicked'-element Object as parameter
	 		new Sputnik.Teaser(SPUTNIK.DOM_HANDLE.getObject(this)[0], "Teaser");

			return false;
	 	}
	 );


	SPUTNIK.defineNewsConstants();
	SPUTNIK.EVENT_HANDLE.bindOneTime(
	 	SPUTNIK.NEWS_WRAPPER+" "+SPUTNIK.NEWS_BTN,
	 	"click",
	 	function() {
	 		SPUTNIK.EVENT_HANDLE.unbind(SPUTNIK.NEWS_WRAPPER+" "+SPUTNIK.NEWS_BTN, "click");
 			SPUTNIK.setHandler("Dom");
 			//give 'clicked'-element Object as parameter
	 		new Sputnik.Teaser(SPUTNIK.DOM_HANDLE.getObject(this)[0], "News");


			return false;
	 	}
	 );

	/********************************/
	if($("#wrapperWeltkarte").length){
 		SPUTNIK.setHandler("Css");
		SPUTNIK.WELTKARTE_EXISTS = true;
	}

	SPUTNIK.defineAbisZConstants();
  	SPUTNIK.EVENT_HANDLE.bindOneTime(
	  	SPUTNIK.A_BIS_Z_BTN,
	  	"click",
	  	function(e){
	  		SPUTNIK.EVENT_HANDLE.unbind(SPUTNIK.A_BIS_Z_BTN, "click");
	  		//e.preventDefault();
	  		new Sputnik.AbisZ();

			return false;
  		}
  	);

  	if($(".frequencies").length){
  		new Sputnik.FrequencyTool();
  	}
	if($(".teaserVoting").length){
		new Sputnik.teaserVoting();
	}

  	/* LigthBox Initialisierung
  	Shadowbox.loadSkin('custom1', 'http://www.sputnik.de/scripts/sspgallery/shadowbox/build/skin'); // use sputnik skin
	Shadowbox.loadLanguage('de-DE', 'http://www.sputnik.de/scripts/sspgallery/shadowbox/build/lang'); // use german
	Shadowbox.loadPlayer(['img', 'html', 'iframe'], 'http://www.sputnik.de/scripts/sspgallery/shadowbox/build/player'); // use img and qt players

    var options = {
       		handleOversize:     'drag',
       		displayNav:         true,
       		handleUnsupported:  'remove',
       		autoplayMovies:     false,
			animateFade:		true,
			continuous: 		true,
			overlayOpacity:		0.8,
			modal:				true,
			viewportPadding:    20,
			counterType:		'default'
    };

    Shadowbox.init(options);
	*/

	//SPUTNIK.EVENT_HANDLE.bindOneTime(
	//  	"#sdiisjj a",
	//  	"click",
	//  	function(e){
	//  		new Sputnik.LightBox();
  	//		return false;
  	//	}
  	//);




	/* cosmoblonde- not really sure, how/where to start that stuff - remove if necessary*/


	try{
		var curMultiTeaser = new Sputnik.MultiTeaser("multiTeaser_1", 7000, 1000, 1000);
		}
		catch(err){
		}
	try{
		$("#wrapperContent .col").find(".topNews").each(function(i){
			//alert(this.id);
			var curTopNews = new Sputnik.TopNews(this);
			//alert(this);
		});
	}catch(err){
	}
	try{var curLanguageChoice = new Sputnik.LanguageChoice("languageChoice_1");}catch(err){}

	/* /cosmoblonde */


	new Sputnik.MainNavigation();

	new Sputnik.Bildrechte();

  	/**
  	 * Die nachfolgende Initialisierung ersetzt die Fkt.: sp6_colSizeFinder() und addLoadEvent()
  	 */

  	new Sputnik.InitGaleryAndVideoThumbs();

	if(typeof(naviTrigger) == "undefined"){
		new Sputnik.InitArticleFeatures(false);
	}
	else{
		new Sputnik.InitArticleFeatures(naviTrigger);
	}


  	new Sputnik.PlayList();

  	new Sputnik.OnAir();

	if($('.thumbMask').length){
		new Sputnik.SlidingThumbGalery();
	}

  	//MYSPUTNIK-LOGIN
  	//$("#mysputnikLogin").fadeIn(2000);
  	//$("#loginService").fadeIn(2000);

 	new Sputnik.InitializeForms("Contact", true);
 	new Sputnik.InitializeForms("Search", false);
 	new Sputnik.InitializeForms("SearchInContent", false);
 	//new Sputnik.InitializeForms("MySputnik", false);




 });


 /**
  * Sputnik Namensraum
  *
  *
  *
  * @constructor
  * @namespace
  */
 Sputnik = Class.create()
 Sputnik.prototype = {
 	/**
 	 * Alle Handler werden als statische Variablen verfügbar gemacht
 	 *
 	 * @final EFFECTS_HANDLE Handler
 	 * @final CSS_HANDLE
 	 * @final DOM_HANDLE
 	 * @final EVENT_HANDLE
 	 * @final AJAX_HANDLE
 	 * @final FORM_HANDLE
 	 */
 	initialize: function(){

 		this.VERSION_STAMP = "15:20";

		this.CONTENT_WRAPPER = "#wrapperContent";

		this.ALL_ELEMENTS = "*";

		this.TEASER_OVERLAY_ACTIVE = false;

		this.EFFECTS_HANDLE = null;
 		this.CSS_HANDLE = null;
 		this.DOM_HANDLE = null;
 		this.EVENT_HANDLE = null;
 		this.AJAX_HANDLE = null;
 		this.FORM_HANDLE = null;
 		this.COOKIE_HANDLE = null;

 		this.COOKIE_EXISTS = false;
 		this.COOKIE_VALUES = Array();

 		this.SHADOWBOX = Shadowbox;

 		this.WELTKARTE_EXISTS = false;

 	},
 	/**
 	 * Handler initialisieren
 	 *
 	 * @param {String} utilName Effects, Css, Dom, Event, Ajax, Forms
 	 */
 	setHandler: function(utilName){
 		switch(utilName){
			case "Engine":
 				if(this.ENGINE_HANDLE == null){
 					this.ENGINE_HANDLE =  new Sputnik.Util.Engine();
					this.ENGINE_HANDLE.detect();
 				}
 			break;
 			case "Effects":
 				if(this.EFFECTS_HANDLE == null){
 					this.EFFECTS_HANDLE =  new Sputnik.Util.Effects();
 				}
 			break;
 			case "Css":
 				if(this.CSS_HANDLE == null){
 					this.CSS_HANDLE =  new Sputnik.Util.Css();
 				}
 			break;
 			case "Dom":
 				if(this.DOM_HANDLE == null){
 					this.DOM_HANDLE =  new Sputnik.Util.Dom();
 				}
 			break;
 			case "Event":
 				if(this.EVENT_HANDLE == null){
 					this.EVENT_HANDLE =  new Sputnik.Util.Event();
 				}
 			break;
 			case "Ajax":
 				if(this.AJAX_HANDLE == null){
 					this.AJAX_HANDLE =  new Sputnik.Util.AjaxRequest();
 				}
 			break;
 			case "Forms":
 				if(this.FORM_HANDLE == null){
 					this.FORM_HANDLE =  new Sputnik.Util.FormValidator();
 				}
 			break;
 			case "Cookie":
 				if(this.COOKIE_HANDLE == null){
 					this.COOKIE_HANDLE =  new Sputnik.Util.Cookie();
 				}
 			break;

 		}
 	},
 	/**
 	 * Erstellt ein CSS-Objekt
 	 *
 	 * @return {JSON-Object} obj liefert ein CSS-Objekt
 	 */
 	getCssObj: function(){

 		var obj = {};

 		for(i=0;i<arguments.length;(i=i+2)){
 			obj[arguments[i]] = arguments[i+1];
 		}
		return obj;
 	},
 	/**
 	 *
 	 *
 	 * @final A_BIS_Z_WRAPPER
 	 * @final A_BIS_Z_BTN
 	 * @final A_BIS_Z_OVERLAY
 	 * @final A_BIS_Z_LINK_LST
 	 *
 	 */
 	defineAbisZConstants: function(){
 		this.A_BIS_Z_WRAPPER = "#a-z";
		this.A_BIS_Z_BTN = "a.a-z";
		this.A_BIS_Z_OVERLAY = "#a-z_overlay";
		this.A_BIS_Z_LINK_LST = ".linkList";
 	},

 	/**
 	 *
 	 * @final ARTICLE_WRAPPER
 	 * @final ARTICLE_NAVI_WRAPPER
 	 * @final ARTICLE_RECOMMEND_BTN
 	 * @final ARTICLE_PRINT_BTN
 	 * @final ARTICLE_LISTEN_BTN
 	 * @final ARTICLE_GALERY_BTN
 	 * @final ARTICLE_PODCAST_BTN
 	 * @final ARTICLE_VIDEO_BTN
 	 *
 	 */
 	defineArticleConstants: function(){
 		this.ARTICLE_WRAPPER = ".article";
		this.ARTICLE_NAVI_WRAPPER = ".navi";
		this.ARTICLE_RECOMMEND_BTN = ".recommend";
		this.ARTICLE_PRINT_BTN = ".print";
		this.ARTICLE_LISTEN_BTN = ".listen";
		this.ARTICLE_GALERY_BTN = ".galery";
		this.ARTICLE_PODCAST_BTN = ".podcast";
		this.ARTICLE_VIDEO_BTN = ".video";
 	},

 	/**
 	 *
 	 * @final ARTICLEFORM_WRAPPER
 	 * @final ARTICLEFORM_BTN
 	 * @final ARTICLEFORM_FIELDS
 	 *
 	 * @final ARTICLEFORM_AJAX_REQUEST_METHOD
 	 * @final ARTICLEFORM_AJAX_REQUEST_PARAMS
 	 * @final ARTICLEFORM_AJAX_FEEDBACK_FIELD_ID
 	 * @final ARTICLEFORM_AJAX_RESULT_FIELD_ID
 	 * @final ARTICLEFORM_AJAX_PROGRESS_FIELD_ID
 	 * @final ARTICLEFORM_AJAX_CALL_FUNCTION_ON_SERVER
 	 * @final ARTICLEFORM_AJAX_CALLBACK_FUNCTION
 	 *
 	 */
 	defineArticleFormConstants: function(){
 		this.ARTICLEFORM_WRAPPER = "#articleForm";
		this.ARTICLEFORM_BTN = ".submit";
		this.ARTICLEFORM_FIELDS = Array("#from", "Dein Name...", "#from_mail", "Deine Email...", "#to","An...","#to_mail", "An Email...","#n3","...laut Adam Riese?");

		this.ARTICLEFORM_AJAX_REQUEST_METHOD = "POST";
	 	this.ARTICLEFORM_AJAX_REQUEST_PARAMS = null;
	 	this.ARTICLEFORM_AJAX_FEEDBACK_FIELD_ID = "#articleFormResponse";
	 	this.ARTICLEFORM_AJAX_RESULT_FIELD_ID = null;
	 	this.ARTICLEFORM_AJAX_PROGRESS_FIELD_ID = null;
	 	this.ARTICLEFORM_AJAX_CALL_FUNCTION_ON_SERVER = null;
	 	this.ARTICLEFORM_AJAX_CALLBACK_FUNCTION = null;
 	},

 	/**
 	 *
 	 *
 	 * @final MYSPUTNIK_LOGIN_WRAPPER
 	 * @final MYSPUTNIK_LOGIN_BTN
 	 * @final MYSPUTNIK_LOGIN_FIELDS
 	 *
 	 * @final MYSPUTNIK_LOGIN_AJAX_REQUEST_METHOD
 	 * @final MYSPUTNIK_LOGIN_AJAX_REQUEST_PARAMS
 	 * @final MYSPUTNIK_LOGIN_AJAX_FEEDBACK_FIELD_ID
 	 * @final MYSPUTNIK_LOGIN_AJAX_RESULT_FIELD_ID
 	 * @final MYSPUTNIK_LOGIN_AJAX_PROGRESS_FIELD_ID
 	 * @final MYSPUTNIK_LOGIN_AJAX_CALL_FUNCTION_ON_SERVER
 	 * @final MYSPUTNIK_LOGIN_AJAX_CALLBACK_FUNCTION
 	 */
 	defineMySputnikConstants: function(){
 		this.MYSPUTNIK_LOGIN_WRAPPER = "#mySputnik .content";
	 	this.MYSPUTNIK_LOGIN_BTN = "#mysputnikSubmit";
	 	this.MYSPUTNIK_LOGIN_FIELDS = Array("#mysputnikUsername", "Dein Benutzername...","#mysputnikPassword", "Dein Passwort...");

	 	this.MYSPUTNIK_LOGIN_AJAX_REQUEST_METHOD = "POST";
	 	this.MYSPUTNIK_LOGIN_AJAX_REQUEST_PARAMS = null;
	 	this.MYSPUTNIK_LOGIN_AJAX_FEEDBACK_FIELD_ID = null;
	 	this.MYSPUTNIK_LOGIN_AJAX_RESULT_FIELD_ID = null;
	 	this.MYSPUTNIK_LOGIN_AJAX_PROGRESS_FIELD_ID = null;
	 	this.MYSPUTNIK_LOGIN_AJAX_CALL_FUNCTION_ON_SERVER = null;
	 	this.MYSPUTNIK_LOGIN_AJAX_CALLBACK_FUNCTION = null;
 	},

 	/**
 	 *
 	 *
 	 * @final CONTACTFORM_WRAPPER
 	 * @final CONTACTFORM_BTN
 	 * @final CONTACTFORM_FIELDS
 	 *
 	 * @final CONTACTFORM_AJAX_REQUEST_METHOD
 	 * @final CONTACTFORM_AJAX_REQUEST_PARAMS
 	 * @final CONTACTFORM_AJAX_FEEDBACK_FIELD_ID
 	 * @final CONTACTFORM_AJAX_RESULT_FIELD_ID
 	 * @final CONTACTFORM_AJAX_PROGRESS_FIELD_ID
 	 * @final CONTACTFORM_AJAX_CALL_FUNCTION_ON_SERVER
 	 * @final CONTACTFORM_AJAX_CALLBACK_FUNCTION
 	 *
 	 */
 	defineContactFormConstants: function(){
 		this.CONTACTFORM_WRAPPER = "#kontaktForm";
		this.CONTACTFORM_BTN = ".image";

		//this.CONTACTFORM_FIELDS = Array("#kontaktName", "Dein Name ...", "#kontaktMessage", "Deine Message ...");
		/* the following line replaces the previous for the time of "SPUTNIK KANZLERCHECK": */
		this.CONTACTFORM_FIELDS = Array(
		  "#kontaktName", "Dein Name ...",
		  "#kontaktMessage", "Deine Message ...",
		  "#kontaktCity", "Dein Wohnort ...",
		  "#kontaktPhone", "Deine Telefonnummer ...",
		  "#kontaktEmail", "Deine E-Mail-Adresse",
		  "#kontaktQuestionMerkel", "Deine Frage an Frau Merkel",
		  "#kontaktQuestionSteinmeier", "Deine Frage an Herrn Steinmeier"
		);

		this.CONTACTFORM_AJAX_REQUEST_METHOD = "POST";
	 	this.CONTACTFORM_AJAX_REQUEST_PARAMS = null;
	 	this.CONTACTFORM_AJAX_FEEDBACK_FIELD_ID = "#kontaktFormResponse";
	 	this.CONTACTFORM_AJAX_RESULT_FIELD_ID = null;
	 	this.CONTACTFORM_AJAX_PROGRESS_FIELD_ID = null;
	 	this.CONTACTFORM_AJAX_CALL_FUNCTION_ON_SERVER = null;
	 	this.CONTACTFORM_AJAX_CALLBACK_FUNCTION = null;

 	},

 	/**
 	 *
 	 *
 	 * @final SEARCHFORM_WRAPPER
 	 * @final SEARCHFORM_BTN
 	 * @final SEARCHFORM_FIELDS
 	 *
 	 * @final SEARCHFORM_AJAX_REQUEST_METHOD
 	 * @final SEARCHFORM_AJAX_REQUEST_PARAMS
 	 * @final SEARCHFORM_AJAX_FEEDBACK_FIELD_ID
 	 * @final SEARCHFORM_AJAX_RESULT_FIELD_ID
 	 * @final SEARCHFORM_AJAX_PROGRESS_FIELD_ID
 	 * @final SEARCHFORM_AJAX_CALL_FUNCTION_ON_SERVER
 	 * @final SEARCHFORM_AJAX_CALLBACK_FUNCTION
 	 *
 	 */
 	defineSearchForm: function(){
 		this.SEARCHFORM_WRAPPER = "#searchForm";
		this.SEARCHFORM_BTN = ".image";
		this.SEARCHFORM_FIELDS = Array(".text", "Suchbegriff");

		this.SEARCHFORM_AJAX_REQUEST_METHOD = "GET";
	 	this.SEARCHFORM_AJAX_REQUEST_PARAMS = null;
	 	this.SEARCHFORM_AJAX_FEEDBACK_FIELD_ID = null;
	 	this.SEARCHFORM_AJAX_RESULT_FIELD_ID = null;
	 	this.SEARCHFORM_AJAX_PROGRESS_FIELD_ID = null;
	 	this.SEARCHFORM_AJAX_CALL_FUNCTION_ON_SERVER = null;
	 	this.SEARCHFORM_AJAX_CALLBACK_FUNCTION = null;
 	},

 	/**
 	 *
 	 *
 	 * @final SEARCHFORM_IN_CONTENT_WRAPPER
 	 * @final SEARCHFORM_IN_CONTENT_BTN
 	 * @final SEARCHFORM_IN_CONTENT_FIELDS
 	 *
 	 * @final SEARCHFORM_IN_CONTENT_AJAX_REQUEST_METHOD
 	 * @final SEARCHFORM_IN_CONTENT_AJAX_REQUEST_PARAMS
 	 * @final SEARCHFORM_IN_CONTENT_AJAX_FEEDBACK_FIELD_ID
 	 * @final SEARCHFORM_IN_CONTENT_AJAX_RESULT_FIELD_ID
 	 * @final SEARCHFORM_IN_CONTENT_AJAX_PROGRESS_FIELD_ID
 	 * @final SEARCHFORM_IN_CONTENT_AJAX_CALL_FUNCTION_ON_SERVER
 	 * @final SEARCHFORM_IN_CONTENT_AJAX_CALLBACK_FUNCTION
 	 *
 	 */
 	defineSearchFormInContent: function(){
 		this.SEARCHFORM_IN_CONTENT_WRAPPER = "#searchFormInContent";
		this.SEARCHFORM_IN_CONTENT_BTN = ".image";
		this.SEARCHFORM_IN_CONTENT_FIELDS = Array(".text", "Suchbegriff...");

		this.SEARCHFORM_IN_CONTENT_AJAX_REQUEST_METHOD = "GET";
	 	this.SEARCHFORM_IN_CONTENT_AJAX_REQUEST_PARAMS = null;
	 	this.SEARCHFORM_IN_CONTENT_AJAX_FEEDBACK_FIELD_ID = null;
	 	this.SEARCHFORM_IN_CONTENT_AJAX_RESULT_FIELD_ID = null;
	 	this.SEARCHFORM_IN_CONTENT_AJAX_PROGRESS_FIELD_ID = null;
	 	this.SEARCHFORM_IN_CONTENT_AJAX_CALL_FUNCTION_ON_SERVER = null;
	 	this.SEARCHFORM_IN_CONTENT_AJAX_CALLBACK_FUNCTION = null;

 	},

 	/**
 	 *
 	 *
 	 * @final NEWS_WRAPPER
 	 * @final NEWS_BTN
 	 * @final NEWS_OVERLAY
 	 * @final NEWS_OVERLAY_LAYER
 	 *
 	 */
 	defineNewsConstants: function(){
 		this.NEWS_WRAPPER = ".news";
		this.NEWS_BTN = ".content .place";
		this.NEWS_OVERLAY =	".overlay";
		this.NEWS_OVERLAY_LAYER = ".overlayMask";

 	},

 	/**
 	 *
 	 *
 	 * @final TEASER_WRAPPER
 	 * @final TEASER_OVERLAY
 	 * @final SHOW_TEASER_OVERLAY_BTN
 	 * @final TEASER_OVERLAY_LAYER
 	 *
 	 */
 	defineTeaserConstants: function(){
 		this.TEASER_WRAPPER = ".teaser";
		this.TEASER_OVERLAY = ".overlay";
		this.SHOW_TEASER_OVERLAY_BTN = ".plus";
		this.TEASER_OVERLAY_LAYER = ".overlayMask";

 	},

 	/**
 	 *
 	 * @final PLAYLIST_WRAPPER
 	 * @final PLAYLIST_ITEMS
 	 * @final PLAYLIST_OVERLAY
 	 *
 	 *
 	 */
 	definePlayListContants: function(){
 		this.PLAYLIST_WRAPPER = "#playlistPatch";//".onAirPatch";
 		/*
 		this.PLAYLIST_ITEMS = Array(".moderator", ".show", ".current_song", ".previous_songs");
 		this.PLAYLIST_OVERLAY = ".patch";
 		*/

 	},

 	/**
 	 *
 	 * @final ONAIR_WRAPPER
 	 *
 	 */
 	defineOnAirContants: function(){
 		this.ONAIR_WRAPPER = "#onAirPatch";
 	},

 	/**
 	 *
 	 * @final EVENT_DETAILS_WRAPPER
 	 *
 	 */
 	defineEventnavigatorContants: function(){
 		this.EVENT_DETAILS_WRAPPER = "#mt_fn_details";
 	}
 };



 /**
  * Klasse - Teaser
  *
  * @constructor
  *	@base Sputnik
  */
 Sputnik.Teaser = Class.create();
 Sputnik.Teaser.prototype = {
 	/**
 	 * Initialisieren
 	 *
 	 * An alle DOM-(Artikel-Teaser)-Elemente werden 'click'-Events gehangen. Diese öffnen entweder das 'Overlay'-Element oder die 'Artikel'-Seite des Artikels.
 	 */
	 	initialize: function(elem, type){

	 		var element_wrapper = SPUTNIK.TEASER_WRAPPER;
	 		var element_overlay_btn = SPUTNIK.SHOW_TEASER_OVERLAY_BTN;
	 		var element_overlay_layer = SPUTNIK.TEASER_OVERLAY_LAYER;
	 		var element_overlay_content = SPUTNIK.TEASER_OVERLAY;
	 		var active_element;


	 		if(type == "Teaser"){ //TEASER
	 			element_wrapper = SPUTNIK.TEASER_WRAPPER;
	 			element_overlay_btn = SPUTNIK.SHOW_TEASER_OVERLAY_BTN;
	 			element_overlay_layer = SPUTNIK.TEASER_OVERLAY_LAYER;
	 			element_overlay_content = SPUTNIK.TEASER_OVERLAY;
	 			active_element = false;

	 		}
	 		else if(type == "News"){ //NEWS
		 		element_wrapper = SPUTNIK.NEWS_WRAPPER;
				element_overlay_btn = SPUTNIK.NEWS_BTN;
				element_overlay_layer = SPUTNIK.NEWS_OVERLAY_LAYER;
				element_overlay_content = SPUTNIK.NEWS_OVERLAY;
				active_element = false;

	 		}


	 		SPUTNIK.setHandler("Effects");
	 		SPUTNIK.setHandler("Css");
			SPUTNIK.setHandler("Dom");
 			SPUTNIK.setHandler("Event");

	 		SPUTNIK.EVENT_HANDLE.initEvent(
	 		element_wrapper+" "+element_overlay_btn,
	 		"click",
	 		function() {
	 			//TODO:this is a jQuery-Function
	      		//e.stopPropagation();

				//TODO:
	      		var domEl = SPUTNIK.DOM_HANDLE.getObject(this)[0];//jQuery = $(this).get(0);
	      		var p =  SPUTNIK.DOM_HANDLE.getPosition(domEl);

	 			//TODO:this is a jQuery-Function
	  			var parentEls = SPUTNIK.DOM_HANDLE.getPrevNodeByClass(domEl, element_wrapper, "DIV");

 						if(SPUTNIK.CSS_HANDLE.isHidden(element_overlay_layer)){


 							//SPUTNIK.CSS_HANDLE.setCss("eins,zwei");
 							SPUTNIK.CSS_HANDLE.setCss(
							 	element_overlay_layer,
								SPUTNIK.getCssObj(
									"z-index", "10000",
									"top", p.top,
									"left", (p.left+SPUTNIK.CSS_HANDLE.getWidth(domEl, false))
								)
							);

							SPUTNIK.DOM_HANDLE.setHtml(
								element_overlay_layer,
								SPUTNIK.DOM_HANDLE.getHtml(element_overlay_content, parentEls)
							);


							if(type == "News") $(element_overlay_layer).attr("class", "overlayMask newsOverlayMask");
							else $(element_overlay_layer).attr("class", "overlayMask overlay bordered large");

							SPUTNIK.EFFECTS_HANDLE.fadeIn(element_overlay_layer, false, false);

							//SPUTNIK.EFFECTS_HANDLE.animateElem(
							//element_overlay_layer,
							//SPUTNIK.getCssObj("height", "toggle"),
							//500,
							//"easeOutBounce",
							//null)

 							//Element that identifies the overlay that is active (fadeIn)
							SPUTNIK.TEASER_OVERLAY_ACTIVE = (p.top+p.left);
 						}
 						else{
 							SPUTNIK.EFFECTS_HANDLE.fadeOut(
 								element_overlay_layer,
 								false,

 							//SPUTNIK.EFFECTS_HANDLE.animateElem(
							//element_overlay_layer,
							//SPUTNIK.getCssObj("height", "toggle"),
							//500,
							//"easeInBack",

 								function(){

 									//Checks if the click-Element should only fadeOut the Overlay or fadeOut(old) and fadeIn(new)
 									if(SPUTNIK.TEASER_OVERLAY_ACTIVE != (p.top+p.left)){
 										SPUTNIK.CSS_HANDLE.setCss(
										 	element_overlay_layer,
											SPUTNIK.getCssObj(
												"z-index", "10000",
												"top", p.top,
												"left", (p.left+SPUTNIK.CSS_HANDLE.getWidth(domEl, false))
											)
										);
										SPUTNIK.DOM_HANDLE.setHtml(
											element_overlay_layer,
											SPUTNIK.DOM_HANDLE.getHtml(element_overlay_content, parentEls)
										);
										//TODO:
										if(type == "News") $(element_overlay_layer).attr("class", "overlayMask newsOverlayMask");
										else $(element_overlay_layer).attr("class", "overlayMask overlay bordered large");

										SPUTNIK.EFFECTS_HANDLE.fadeIn(element_overlay_layer, false, false);

										//SPUTNIK.EFFECTS_HANDLE.animateElem(
										//element_overlay_layer,
										//SPUTNIK.getCssObj("height", "toggle"),
										//500,
										//"easeOutBounce",
										//null)

 										//Element that identifies the overlay that is active (fadeIn)
			 							SPUTNIK.TEASER_OVERLAY_ACTIVE = (p.top+p.left);
 									}
 								}
 							);
 						}

					return false;
			 });

			//open when linkList is initialized
			//TODO:this is a jQuery-Function
			$(elem).trigger("click");
		},
		/**
		 *
		 * Tausch den Inhalt des OVERLAY-Elements und macht das OVERLAY-Lement wieder Sichtbar
		 * @param {Object} p Objekt mit zwei Member-Variablen (left, top)
		 * @param {String, Object} elem DOM-Element
		 * @param {String, Object} parentEls DOM-Element
		 */
		switchOverlayContent: function(p, elem, parentEls){
		 	SPUTNIK.CSS_HANDLE.setCss(
			 	SPUTNIK.TEASER_OVERLAY_LAYER,
				SPUTNIK.getCssObj(
					"z-index", "10000",
					"top", p.top,
					"left", (p.left+SPUTNIK.CSS_HANDLE.getWidth(elem, false))
				)
			);
			SPUTNIK.DOM_HANDLE.setHtml(
				SPUTNIK.TEASER_OVERLAY_LAYER,
				SPUTNIK.DOM_HANDLE.getHtml(SPUTNIK.TEASER_OVERLAY, parentEls)
			);
			SPUTNIK.EFFECTS_HANDLE.fadeIn(SPUTNIK.TEASER_OVERLAY_LAYER, false, false);

		}

 }

Sputnik.teaserVoting = Class.create();
Sputnik.teaserVoting.prototype = {
	initialize: function(teaser) {


		$("p.control a.go").click(function(){
			votingWrapper =	$(this).closest("div");



			$.ajax({
				type: "GET",
				url: this.href,
				dataType: "html",
				success: function(msg, eventText){
					$(votingWrapper).html(msg);
				},
				error: function(XMLHttpRequest, textStatus, errorThrown) {
	  				$(votingWrapper).html("Fehler bei der &Uuml;bertragung!!!");
				}
 			});

 			return false;

		})



		/*
		_C_NUM_VOTINGTEASERS++;
		teaser.id = "votingTeaser_"+_C_NUM_VOTINGTEASERS;
		teaser.index = _C_NUM_VOTINGTEASERS;
		//var radioBtns = C_byClass('icon aqua radio', teaser);
		var radioBtns = C_byTagAndClassName('p', 'control', teaser);
		var numRadios = 0;
		if (radioBtns.length) {
			for ( var i = 0; i < radioBtns.length; i++){
				var radio = radioBtns[i];
				numRadios++;
				//var radio = radioBtns[i];
				radio.id = "votingRadio_"+teaser.id+"_"+numRadios;
				radio.getVoteResult = this.getVoteResult;
				Event.observe(radio, 'click', function(e){
					this.getVoteResult(this);
					Event.stop(e);
					}.bindAsEventListener(radio),
					false
				);
			};
		}
		return this;
		* */
	},
	getVoteResult : function (item){
		var link = C_byTagAndClassName('a', 'icon go', item)[0];
		var linkHref = link.href == undefined ? link : link.href;
		//alert(linkHref);
		if(linkHref){
			var query = linkHref.split('?')[1];

			var params = query.parseQuery();
			if(params['voting']){
				var votingID = params['voting'];
				var displayContainer = $('display-' + votingID);
				if(displayContainer){
					var params;
					var ajax = new Ajax.Updater(
						{success: displayContainer},
						linkHref,
						{	method: 'get',
							parameters: params,
							onFailure: C_reportError,
							onComplete: function(transport, object){
								//alert("DONE :)");
							}
						}
					);
				}else{
					C_reportError('No displayContainer for ' + votingID);
				}
			}else{
				C_reportError('No voting in href');
			}
		}else{
			C_reportError('No voting-href in item');
		}
	}
}








 /**
  * Klasse - AbisZ
  *
  * Teilt die übergebene Liste und stellt sie in 4 splaten dar.
  *
  * @constructor
  * @base Sputnik
  */
 Sputnik.AbisZ = Class.create();
 Sputnik.AbisZ.prototype = {

 	/**
 	 *
 	 */
	initialize: function() {

		SPUTNIK.setHandler("Effects");
		SPUTNIK.setHandler("Css");
		SPUTNIK.setHandler("Dom");
		SPUTNIK.setHandler("Event");

		SPUTNIK.DOM_HANDLE.setHtml(SPUTNIK.A_BIS_Z_OVERLAY+" "+SPUTNIK.A_BIS_Z_LINK_LST, this.getDevidedList());


		//set position near a-z-Button
		if($("#a-z").length){
			$(SPUTNIK.A_BIS_Z_OVERLAY).css("top", $("#a-z").offset().top+"px");
		}

		//this.weltkarteIsHidden = SPUTNIK.CSS_HANDLE.isHidden($("#weltkarte div:first"));

		if(SPUTNIK.WELTKARTE_EXISTS === true){

			//$("#debug").html($("#debug").html()+"Weltkarte toggleFading<br />");

				if($("#wrapperWeltkarte div:first:hidden").length){
					$("#a-z_overlay").fadeOut("fast",
					function(){
						$("#wrapperWeltkarte div").fadeIn("fast");
						$("#wrapperWeltkarte").animate({
							"opacity": "1.0"
							}, { "duration": "fast"});
						//SPUTNIK.EFFECTS_HANDLE.fadeOut(SPUTNIK.A_BIS_Z_OVERLAY, false, false);
					});
				}
				else{
					$("#wrapperWeltkarte div").fadeOut("fast",
					function(){
						$("#wrapperWeltkarte").animate({
							"opacity": "0.5"
							}, { "duration": "fast"});
						$("#a-z_overlay").fadeIn("fast");
						//SPUTNIK.EFFECTS_HANDLE.fadeIn(SPUTNIK.A_BIS_Z_OVERLAY, false, false);
					});
				}

		}
		else{
			SPUTNIK.EFFECTS_HANDLE.toggleFading(SPUTNIK.A_BIS_Z_OVERLAY, false, false);
		}

		$(SPUTNIK.A_BIS_Z_WRAPPER+" .a-z").toggleClass("minus");



		//TODO
		//$(SPUTNIK.A_BIS_Z_WRAPPER+" .a-z").toggleClass("minus");

		SPUTNIK.EVENT_HANDLE.bind(
		SPUTNIK.A_BIS_Z_BTN,
		"click",
		function(){

			//set position near a-z-Button
			if($("#a-z").length){
				$(SPUTNIK.A_BIS_Z_OVERLAY).css("top", $("#a-z").offset().top+"px");
			}

			if(SPUTNIK.WELTKARTE_EXISTS === true){
				if($("#wrapperWeltkarte div:hidden").length){
					$("#a-z_overlay").fadeOut("fast",
					function(){
						$("#wrapperWeltkarte div").fadeIn("fast");
						$("#wrapperWeltkarte").animate({
							"opacity": "1.0"
							}, { "duration": "fast"});
					});
				}
				else{$("#wrapperWeltkarte div").fadeOut("fast",
					function(){
						$("#wrapperWeltkarte").animate({
							"opacity": "0.4"
							}, { "duration": "fast"});
						$("#a-z_overlay").fadeIn("fast");
					});
				}
			}
			else{
				SPUTNIK.EFFECTS_HANDLE.toggleFading(SPUTNIK.A_BIS_Z_OVERLAY, false, false);
			}

			$(SPUTNIK.A_BIS_Z_WRAPPER+" .a-z").toggleClass("minus");

			return false;
		})

		/*SPUTNIK.EVENT_HANDLE.bind(
		"#a-z .minus",
		"click",
		function(){
			SPUTNIK.EFFECTS_HANDLE.fadeOut(SPUTNIK.A_BIS_Z_WRAPPER+" "+SPUTNIK.A_BIS_Z_OVERLAY, false, false);
		})*/

		//TODO:this is a jQuery-Function
		//open when linkList is initialized

	},
	/**
	 * Teilt die übergebene Liste in eine (vorher definierte) Anzahl von Listen
	 *
	 * @return {DOM-ELement} tempString Liste mit n Teillisten
	 */
	getDevidedList: function(){
		//default settings
		//Count of cols that linkList has
		var countUl = 4;
		//Count of rows the original linkList has
		var countLi = SPUTNIK.DOM_HANDLE.getObject(SPUTNIK.A_BIS_Z_OVERLAY+" "+SPUTNIK.A_BIS_Z_LINK_LST+" li").length;

		var countLiPerUl = parseInt(countLi/countUl);
		var countLiLeft = countLi%countUl;
		var tempString = '';
		var elem = SPUTNIK.DOM_HANDLE.getFirstNode(SPUTNIK.A_BIS_Z_OVERLAY+" "+SPUTNIK.A_BIS_Z_LINK_LST+" li");

		for(var i=0; i<countUl; i++) {
			tempString += "<ul>";

			//appends the listelements are left
			if((i==(countUl-1)) && (countLiLeft > 0)){countLiPerUl = (countLiPerUl+countLiLeft);}

			for(var j=0; j<countLiPerUl; j++) {
				tempString += "<li>"+SPUTNIK.DOM_HANDLE.getHtml(elem)+"</li>";
				elem = SPUTNIK.DOM_HANDLE.getNextNode(elem);
			}
			tempString += "</ul>";
		}
		return tempString;
	}
}


 /**
  * Diese Funktion bindet das onFocus und onBlur Event an die Felder eines Formulars, welches aus Texteingabefeldern besteht.
  * Hierbei kann der Standartext (bei keiner Eingabe) mit übergeben werden. Das zu initialisierende Formular wird über den 1. Übergabeparamter indentifiert.
  * Zusätzlich werden beim auslösen des submit-events alle Textfelder validiert.
  * Sollte ein Feedback-Feld zur Verfügung stehen, wird dieses mit einem Fehlertext befüllt.
  *
  * Mit Hilfe des zweiten Übergabeparamter wird festgelegt, ob ein Ajax-Request auszuführen ist.
  * Ist der zweite Übergabeparamter 'false' und sämtliche Formulareingaben 'valid' wird ein das Standard-Submit-Event ausgelöst.
  * ist eine Formulareingabe 'invalid', wird werden ein Ajax-Request noch ein Standard-Submit-Event ausgelöst.
  *
  * WICHTIG: Für Formulare müssen Standardvariablen gesetzt sein!!(z.b. Wrapper, Feldnamen, Ajax-Req-URL,... )
  *
  * @constructor
  * @base Sputnik
  * @param {String} type Name des Formulars (Funktionsname)
  * @param {Boolean} ajaxReq true = Formular wird per AjaxRequest uebermittelt, false = standardformularübergabe
  */
 Sputnik.InitializeForms = Class.create();
 Sputnik.InitializeForms.prototype = {
 	/**
 	 *
 	 */
 	initialize: function(type, ajaxReq){

		SPUTNIK.setHandler("Event");
		SPUTNIK.setHandler("Css");
		SPUTNIK.setHandler("Forms");
		SPUTNIK.setHandler("Ajax");

 		this.form_send_wrapper = null;
		this.form_send_btn = null;
		this.form_fields = null;
		this.form_feedback = null;
		this.form_url = null;
		this.form_method = null;

 		this.setFormDefaultsByName(type);

	 	for(var i=0; i<this.form_fields.length; (i=i+2)) {
	 		this.bindValidation(i, this.form_send_wrapper, this.form_feedback, this.form_fields);
	 	}

	  	this.setSubmitAction(
		  	this.form_send_wrapper+" form",
		  	this.form_send_wrapper,
			this.form_feedback,
			this.form_fields,
			ajaxReq,
			this.form_method,
			this.form_url
		);

	 	//TODO:
	 	//$(formId+" :input").trigger("blur");
	 	$("form :input").trigger("blur");

 	},
 	/**
 	 *
 	 */
 	bindValidation: function(i, wrapper, feedback, form_fields){
 		SPUTNIK.EVENT_HANDLE.bind(
	 			//form_fields[i],
	 			wrapper+" "+form_fields[i],
	 			"focus",
	 			function(){
	 				SPUTNIK.FORM_HANDLE.validateStringOnFocus(wrapper+" "+form_fields[i], form_fields[i+1]);

	 				//TODO: jquery-style
	 				//TODO: delete the feedbackmessage
	 				//alert("text: "+$(feedback).text());
	 				//if($(form_feedback+" > *").length) $(form_feedback).empty();
	 			}
	 		)

	 		SPUTNIK.EVENT_HANDLE.bind(
	 			wrapper+" "+form_fields[i],
	 			"blur",
	 			function(){
					SPUTNIK.FORM_HANDLE.validateStringOnBlur(wrapper+" "+form_fields[i], form_fields[i+1]);

				}
			)
 	},
 	/**
 	 *
 	 */
 	setFormDefaultsByName: function(formType){
 		if(formType == "Search"){ //News

 			SPUTNIK.defineSearchForm();

			this.form_send_wrapper = SPUTNIK.SEARCHFORM_WRAPPER;
			this.form_send_btn = SPUTNIK.SEARCHFORM_BTN;
			this.form_fields = SPUTNIK.SEARCHFORM_FIELDS;
			this.form_feedback = SPUTNIK.SEARCHFORM_AJAX_FEEDBACK_FIELD_ID;
			this.form_url = $(this.form_send_wrapper+" form").attr("action");//SPUTNIK.SEARCHFORM_AJAX_URL;
			this.form_method = SPUTNIK.SEARCHFORM_AJAX_REQUEST_METHOD;
	 	}
	 	else if(formType == "SearchInContent"){

	 		SPUTNIK.defineSearchFormInContent();

			this.form_send_wrapper = SPUTNIK.SEARCHFORM_IN_CONTENT_WRAPPER;
			this.form_send_btn = SPUTNIK.SEARCHFORM_IN_CONTENT_BTN;
			this.form_fields = SPUTNIK.SEARCHFORM_IN_CONTENT_FIELDS;
			this.form_feedback = SPUTNIK.SEARCHFORM_IN_CONTENT_AJAX_FEEDBACK_FIELD_ID;
			this.form_url = $(this.form_send_wrapper+" form").attr("action");//SPUTNIK.SEARCHFORM_IN_CONTENT_AJAX_URL;
			this.form_method = SPUTNIK.SEARCHFORM_IN_CONTENT_AJAX_REQUEST_METHOD;
	 	}
	 	else if(formType == "Article"){

	 		SPUTNIK.defineArticleFormConstants();

			this.form_send_wrapper = SPUTNIK.ARTICLEFORM_WRAPPER;
			this.form_send_btn = SPUTNIK.ARTICLEFORM_BTN;
			this.form_fields = SPUTNIK.ARTICLEFORM_FIELDS;
			this.form_feedback = SPUTNIK.ARTICLEFORM_AJAX_FEEDBACK_FIELD_ID;
			this.form_url = $(this.form_send_wrapper+" form").attr("action");//SPUTNIK.SEARCHFORM_IN_CONTENT_AJAX_URL;
			this.form_method = SPUTNIK.ARTICLEFORM_AJAX_REQUEST_METHOD;
	 	}
	 	else if(formType == "MySputnik"){

	 		SPUTNIK.defineMySputnikConstants();

			this.form_send_wrapper = SPUTNIK.MYSPUTNIK_LOGIN_WRAPPER;
			this.form_send_btn = SPUTNIK.MYSPUTNIK_LOGIN_BTN;
			this.form_fields = SPUTNIK.MYSPUTNIK_LOGIN_FIELDS;
			this.form_feedback = SPUTNIK.MYSPUTNIK_LOGIN_AJAX_FEEDBACK_FIELD_ID;
			this.form_url = $(this.form_send_wrapper+" form").attr("action");//SPUTNIK.SEARCHFORM_IN_CONTENT_AJAX_URL;
			this.form_method = SPUTNIK.MYSPUTNIK_LOGIN_AJAX_REQUEST_METHOD;
	 	}
	 	else{

	 		SPUTNIK.defineContactFormConstants();

 			this.form_send_wrapper = SPUTNIK.CONTACTFORM_WRAPPER;
		 	this.form_send_btn = SPUTNIK.CONTACTFORM_BTN;
			this.form_fields = SPUTNIK.CONTACTFORM_FIELDS;
			this.form_feedback = SPUTNIK.CONTACTFORM_AJAX_FEEDBACK_FIELD_ID;
			this.form_url = $(this.form_send_wrapper+" form").attr("action");//;SPUTNIK.CONTACTFORM_AJAX_URL;
			this.form_method = SPUTNIK.CONTACTFORM_AJAX_REQUEST_METHOD;
	 	}
 	},
 	/**
 	 *
 	 */
 	setSubmitAction: function(elem, wrapper, feedback, form_fields, ajaxReq, form_method, form_url){

 		$(wrapper+" form").submit(function() {
	  	 	var valid = true;
	  	 	var fieldCounter = 1;
			/* REMOVED FOR KANZLERCHECK:
	  	 	for(var i=0; i<form_fields.length; (i=i+2)) {
	  	 		if(SPUTNIK.FORM_HANDLE.validateString(wrapper+" "+form_fields[i], form_fields[i+1])){
	  	 			fieldCounter++;
	  	 		}
	  	 		else{
	  	 			if(feedback != null){
	  	 				SPUTNIK.EFFECTS_HANDLE.stopEffect(feedback, true, true);
	  	 				SPUTNIK.EFFECTS_HANDLE.showElem(feedback);
	  	 				SPUTNIK.DOM_HANDLE.setHtml(wrapper+" "+feedback, "Soll das "+fieldCounter+". Feld leer bleiben?");
	  	 				SPUTNIK.EFFECTS_HANDLE.fadeOut(feedback, 6000, false);
	  	 			}
	  	 			i=form_fields.length;
	  	 			valid = false;
	  	 		}
	 		} */
	  	 	//alert("Valid : "+valid+"\nAJAX: "+ajaxReq);
	 		if((valid == true) && (ajaxReq == true)){

		 		SPUTNIK.AJAX_HANDLE.send(
		 			wrapper+" form",
			 		form_method,
			 		form_url,
			 		$(wrapper+" form").serializeArray(),
			 		wrapper+" "+feedback,
			 		null,
			 		null,
			 		null
			 	);
	 		}
	 		if((valid == true) && (ajaxReq == false)){
	 			return true;
	 		}

	 		//return false stops the submit-action
	  	 	return false;
  	 	});

 	}

 }

 /**
  * Initialisiert eine einzeilige Bildergalerie mit einer bestimmten Anzahl (n) von Bildern. {n = (s / b ; n = Spaltenbreite in px, b = Bildbreite in px}
  *
  * @constructor
  * @base Sputnik
  */

 Sputnik.InitGaleryAndVideoThumbs = Class.create();
 Sputnik.InitGaleryAndVideoThumbs.prototype = {
 	/**
 	 *
 	 */
 	initialize: function(){

		SPUTNIK.setHandler("Dom");
		SPUTNIK.setHandler("Ajax");

	  	var teaserElem = SPUTNIK.DOM_HANDLE.getPrevNodeByClass("#teaserEmbedPlatzhalterB", ".col", "DIV");
	  	var str = SPUTNIK.DOM_HANDLE.hasClass(teaserElem, "sizeM") ? "M" : SPUTNIK.DOM_HANDLE.hasClass(teaserElem, "sizeL") ? "L" : "S";
	  	SPUTNIK.AJAX_HANDLE.loadContent("#teaserEmbedPlatzhalterB", "/galerie/teaser?colsize="+str);


	  	var teaserElem = SPUTNIK.DOM_HANDLE.getPrevNodeByClass("#teaserEmbedPlatzhalterA", ".col", "DIV");
	  	var str = SPUTNIK.DOM_HANDLE.hasClass(teaserElem, "sizeM") ? "M" : SPUTNIK.DOM_HANDLE.hasClass(teaserElem, "sizeL") ? "L" : "S";
	 	SPUTNIK.AJAX_HANDLE.loadContent("#teaserEmbedPlatzhalterA", "/video/teaser?colsize="+str);

 	}

 }


/**
  * Klasse - InitArticleFeatures
  *
  *  @constructor
  * @base Sputnik
  */

 Sputnik.InitArticleFeatures = Class.create();
 Sputnik.InitArticleFeatures.prototype = {
 	/**
 	 *
 	 */
 	initialize: function(trigger){


		SPUTNIK.setHandler("Event");
		SPUTNIK.setHandler("Effects");

	 	new Sputnik.InitializeForms("Article", true);
	 	SPUTNIK.defineArticleConstants();

 		SPUTNIK.EVENT_HANDLE.initEvent(SPUTNIK.ARTICLE_WRAPPER+" "+SPUTNIK.ARTICLE_RECOMMEND_BTN,"click", function(){
 			SPUTNIK.EFFECTS_HANDLE.toggleSliding(SPUTNIK.ARTICLEFORM_WRAPPER, 100, false);
			return false;
  		});

 		SPUTNIK.EVENT_HANDLE.initEvent(SPUTNIK.ARTICLE_WRAPPER+" "+SPUTNIK.ARTICLE_PRINT_BTN, "click", function(){
 			print(window.document);
 			return false;
 		})


 		var elem = SPUTNIK.DOM_HANDLE.getObject(SPUTNIK.ARTICLE_WRAPPER+" "+SPUTNIK.ARTICLE_NAVI_WRAPPER+" p:first");
 		var leange = SPUTNIK.DOM_HANDLE.getObject(SPUTNIK.ARTICLE_WRAPPER+" "+SPUTNIK.ARTICLE_NAVI_WRAPPER+" p").length;
 		var _t = "";


 		for(var i=0; i<leange; i++) {
 			if(elem.hasClass("inactive") == false){
 				if(elem.hasClass("podcast")){

 					//TODO: do not set css and positioning stuff per JS -> use styles(*.css)
					var pos = SPUTNIK.DOM_HANDLE.getOffset(".navi .podcast");
					//SPUTNIK.CSS_HANDLE.setCss("#podcastLinks", SPUTNIK.getCssObj("position", "absolute","left", (pos.left+30), "top", (pos.top-30)));

 					SPUTNIK.EVENT_HANDLE.initEvent(".navi .podcast", "click", function(){

 						SPUTNIK.EFFECTS_HANDLE.toggleFading("#podcastLinks", false, false);
 						return false;
 					});
 				}
 				if(elem.hasClass("listen")){
 					SPUTNIK.EVENT_HANDLE.initEvent(".navi .listen", "click", function(){
 						SPUTNIK.EFFECTS_HANDLE.toggleFading("#inlinePlayer", false, false);
 						return false;
 					});
 				}

 				//_t = _t+elem.html();
 				//_t = _t+"\n";
 			}
 			elem = elem.next();
 		}
 		//alert(_t);
 		if(trigger !== false) this.fireIfTrigger(trigger);

 	},
 	fireIfTrigger: function(el){
 		//alert("naviTrigger: "+el);
 		try{
 			$(".navi a."+el).triggerHandler("click");
 		}
 		catch(err){

 			return;
 		}




 	}

 }

 /**
  * Klasse - SlidingThumbGalery
  *
  * Nach Initialisierung kann man Bilder nach rechts bzw. links scrollen.
  *
  * @constructor
  * @base Sputnik
  */
 Sputnik.SlidingThumbGalery = Class.create();
 Sputnik.SlidingThumbGalery.prototype = {
 	/**
 	 *
 	 */
 	initialize: function(){

 		var instance = this;
 		this.instance = instance;
		this.thumbWidth = 82;
		this.thumbLeftDistance = 19;
		//this.countPics = $(".thumbs div.pictures a").length;
		this.thumbnailsDivWidth = $('.thumbMask .thumbs').width();
		this.posLeft = $('.thumbs div.pictures').position().left;
		this.scrolling = true;
		this.direction = null;
		//this.maxScrollingLeft = -(this.countPics*this.thumbWidth)+this.thumbnailsDivWidth-this.thumbLeftDistance;

		this.elemToSlide = $('.thumbs div.pictures');

		this.elemToSlide.data("instance", instance);

		//give the slidingElement the shiftLeft or shifRight-Flag
		//to handle the sliding-thing when the pic is not showed up in the full size
		$('.thumbs div.pictures').data("shiftright", true);
		$('.thumbs div.pictures').data("shiftleft", true);

		//this.shiftright = true;
		//this.shiftleft = true;

		this.speed = 820;

		$('.slideLeft')
			.mousedown(function(){
		    	instance.scrolling = true;
		        //added this to handle more than 1 thumbnailsgalery
		        instance.elemToSlide = $(this).parent().parent().find("div.pictures");
		        instance.elemToSlide.stop();
		        instance.scrollElem("left");

		    });
		    //.mouseup(function(){
		    //    //added this to handle more than 1 thumbnailsgalery
		    //    instance.elemToSlide = $(this).parent().parent().find("div.pictures");
		    //	instance.elemToSlide.stop();
		    //	instance.scrolling = false;
		   	// });
		$('.slideRight')
			.mousedown(function(){
		    	instance.scrolling = true;
		        //added this to handle more than 1 thumbnailsgalery
		        instance.elemToSlide = $(this).parent().parent().find("div.pictures");
		    	instance.elemToSlide.stop();
		    	instance.scrollElem("right");
		    });
		    //.mouseup(function(){
		    //    //added this to handle more than 1 thumbnailsgalery
		    //    instance.elemToSlide = $(this).parent().parent().find("div.pictures");
		    //	instance.elemToSlide.stop();
		    //	instance.scrolling = false;
			//});
 	},
	scrollElem: function(direction){

		if(this.scrolling){

			this.countPics = this.elemToSlide.find("a").length;
			this.maxScrollingLeft = -(this.countPics*this.thumbWidth)+this.thumbnailsDivWidth-this.thumbLeftDistance;

			var posLeft = this.elemToSlide.position().left;
			var speed = this.instance.speed;
			var srollPos = null;


			if(direction == "right"){


				srollPos = Number(posLeft-speed/10);
				/*debug("posLeft-speed = scrollPos -> "+posLeft+"-"+speed/10+" = "+srollPos);
				debug("tempMod: "+(srollPos % (this.thumbWidth) - this.thumbLeftDistance));
				debug("shiftright: "+this.elemToSlide.data("shiftright"));*/
				if(((srollPos % (this.thumbWidth) - this.thumbLeftDistance) != 82) && this.elemToSlide.data("shiftright")){
					srollPos = srollPos+43;
		        	this.elemToSlide.data("shiftright", false);
		        	this.elemToSlide.data("shiftleft", true);
				}

				if(Number(posLeft-speed/10) < this.maxScrollingLeft) srollPos = this.maxScrollingLeft;
			}
			else{
				speed = -speed;
		    	srollPos = Number(posLeft-speed/10);

				/*debug("srollPos: "+srollPos);
				debug("tempMod: "+(-srollPos % (this.thumbWidth) - this.thumbLeftDistance));
				debug("shiftleft: "+this.elemToSlide.data("shiftleft"));*/
				if(((srollPos % (this.thumbWidth) - this.thumbLeftDistance) != 82) && this.elemToSlide.data("shiftleft")){
					srollPos = srollPos+39-this.thumbWidth;
		        	this.elemToSlide.data("shiftright", true);
		        	this.elemToSlide.data("shiftleft", false);
				}

		    	/*
		    	tempMod = (-srollPos % (82));
				if((-srollPos % (82)) != 0 ) {
					alert("tempMod: "+tempMod);
					srollPos = srollPos + (-srollPos % (speed/10));
				}
				*/
				if(srollPos > this.thumbLeftDistance) srollPos = this.thumbLeftDistance;
			}

			this.elemToSlide.animate(
			 	{left: srollPos+"px"},
			 	100,
			 	"linear",
			 	function(){
			 		//$(this).data("instance").scrollElem($(this).data("instance").direction);
			 	}
		 	)
		}

		this.direction = direction;

 	}

 }

 /**
  * Klasse - LoadEventContents
  *
  * @constructor
  * @base Sputnik
  */
Sputnik.LoadEventContents = Class.create();
Sputnik.LoadEventContents.prototype = {
 	/**
 	 *
 	 */
	initialize: function(eventid){

		SPUTNIK.defineEventnavigatorContants();
		SPUTNIK.AJAX_HANDLE.loadContent(SPUTNIK.EVENT_DETAILS_WRAPPER, "http://www.sputnik.de/sputnik/" + eventid + "/sp6_d_event_ausgabe_links");
	}
}

 /**
  * Klasse - OnAir
  *
  * @constructor
  * @base Sputnik
  */
Sputnik.OnAir = Class.create();
Sputnik.OnAir.prototype = {
 	/**
 	 *
 	 */
	initialize: function(){

		SPUTNIK.defineOnAirContants();

		SPUTNIK.AJAX_HANDLE.loadContent(SPUTNIK.ONAIR_WRAPPER, "http://www.sputnik.de/scripts/ajaxonair.php");
		call = "SPUTNIK.AJAX_HANDLE.loadContent(\""+SPUTNIK.ONAIR_WRAPPER+"\", \"http://www.sputnik.de/scripts/ajaxonair.php\")";

		setInterval(call, 60000);
	}
}


 /**
  * Klasse - FrequencyTool
  *
  * @constructor
  * @base Sputnik
  */
Sputnik.FrequencyTool = Class.create();
Sputnik.FrequencyTool.prototype = {
 	/**
 	 *
 	 */
	initialize: function(){
		instance = this;
		$("select#land option").click(function(){
			if(this.value != "none"){
				//requestURL = this.value+".html";
				requestURL = "/sputnik/frequenzen/get?land=" + this.value;

				$(".frequencies div#bundesland").slideUp("fast", function(){
			    	$(this).load(requestURL, function(){
			    		$(".frequencies div#bundesland").slideDown("fast");
			       	});
	            });
			}
		})

		return false;
	}
}


/**
  * Klasse - PlayList
  *
  * @constructor
  * @base Sputnik
  */
Sputnik.PlayList = Class.create();
Sputnik.PlayList.prototype = {
 	/**
 	 *
 	 */
	initialize: function(){

		SPUTNIK.definePlayListContants();

		SPUTNIK.AJAX_HANDLE.loadContent(SPUTNIK.PLAYLIST_WRAPPER, "http://www.sputnik.de/scripts/ajaxplaylist.php");

		//IE bugfixing
		//if ( $.browser.msie && ($.browser.version == "6.0") ){
  		//	$("#debug").html("AJAX REQUEST<br />"+$(SPUTNIK.PLAYLIST_WRAPPER).html());
		//}
		//else{
			call = "SPUTNIK.AJAX_HANDLE.loadContent(\""+SPUTNIK.PLAYLIST_WRAPPER+"\", \"http://www.sputnik.de/scripts/ajaxplaylist.php\")";
			setInterval(call, 10000);
		//}



		//for(var i=0; i<SPUTNIK.ONAIR_ITEMS.length; i++) {
		//	this.initClicks(SPUTNIK.ONAIR_WRAPPER, SPUTNIK.ONAIR_ITEMS[i], SPUTNIK.ONAIR_OVERLAY);
		//}
	}
}


 /**
  * Klasse - Bildrechte
  *
  * @constructor
  * @base Sputnik
  */
Sputnik.Bildrechte = Class.create();
Sputnik.Bildrechte.prototype = {
 	/**
 	 *
 	 */
	initialize: function(){

		$("a.bildrechteBtn").click(function(){
			var isInMultiteaser = false;

			try{
				var ppp = $(this).parent().parent().parent();
				isInMultiteaser = ppp.attr("class") == "multiTeaser";
			}catch(e){
			}

			var res = $(this+" > span.bildrechteBtn").toggleClass("close");
			if($(this).parent().find(".bildrechteItem").css("display") == "none"){
				$(this).parent().find(".bildrechteItem").slideDown("slow");
				if(isInMultiteaser){
					$(ppp).data("instance").wasPaused = $(ppp).data("instance").paused;
					$(ppp).data("instance").startSlideShow(false);
				}
				//return false;
			}
			else{
				$(this).parent().find(".bildrechteItem").slideUp("slow");
				//return false;

				if(isInMultiteaser){
					var paused = $(ppp).data("instance").wasPaused == null ? $(ppp).data("instance").paused : $(ppp).data("instance").wasPaused;
					$(ppp).data("instance").startSlideShow(!paused);
					$(ppp).data("instance").wasPaused = null;

				}
			}

			return false;
		})
	}
}

/**
  * Klasse - MainNavigation
  *
  * @constructor
  * @base Sputnik
  */
Sputnik.MainNavigation = Class.create();
Sputnik.MainNavigation.prototype = {
 	/**
 	 *
 	 */

 	 //TODO:
	initialize: function(){

 		SPUTNIK.setHandler("Events");
 		SPUTNIK.setHandler("Css");

 		SPUTNIK.setHandler("Cookie");

 		SPUTNIK.COOKIE_HANDLE.isCookieSet();

 		if(SPUTNIK.COOKIE_EXISTS){
 			this.setMainNavigation();
 		}

 		SPUTNIK.EVENT_HANDLE.bind(
			"#subNavigation a.button",
			"click",
			function(e){

		 		if(this.hash == "#radio"){
		 			if($("div#radio:hidden").length){
		 				SPUTNIK.COOKIE_VALUES[0] = 0;
		 			}
		 			else{
						SPUTNIK.COOKIE_VALUES[0] = 1;
		 			}
		 		}
		 		else{
		 			SPUTNIK.COOKIE_VALUES[0] = $("#subNavigation div#radio:hidden").length;
		 		}

		 		if(this.hash == "#musik"){
		 			if($("div#musik:hidden").length){
		 				SPUTNIK.COOKIE_VALUES[1] = 0;
		 			}
		 			else{
		 				SPUTNIK.COOKIE_VALUES[1] = 1;
		 			}
		 		}
		 		else{
		 			SPUTNIK.COOKIE_VALUES[1] = $("#subNavigation div#musik:hidden").length;
		 		}
		 		if(this.hash == "#popkultur"){
		 			if($("div#popkultur:hidden").length){
		 				SPUTNIK.COOKIE_VALUES[2] = 0;
		 			}
		 			else{
		 				SPUTNIK.COOKIE_VALUES[2] = 1;
		 			}
		 		}
		 		else{
		 			SPUTNIK.COOKIE_VALUES[2] = $("#subNavigation div#popkultur:hidden").length;
		 		}
		 		if(this.hash == "#events"){
		 			if($("div#events:hidden").length){
		 				SPUTNIK.COOKIE_VALUES[3] = 0;
		 			}
		 			else{
		 				SPUTNIK.COOKIE_VALUES[3] = 1;
		 			}
		 		}
		 		else{
		 			SPUTNIK.COOKIE_VALUES[3] = $("#subNavigation div#events:hidden").length;
		 		}

		 		var res = SPUTNIK.COOKIE_HANDLE.setCookie(SPUTNIK.COOKIE_VALUES);

				if (SPUTNIK.ENGINE_HANDLE.isMSIE && !SPUTNIK.ENGINE_HANDLE.isMSIE7){
					SPUTNIK.EFFECTS_HANDLE.toggleHiding(this.hash);
				}
				else{
					$(this.hash).slideToggle(500);
				}
		 		$(this).toggleClass("plus");

		        return false;
			}
		)

		$("#subNavigation div:not(.current) a.home, #subNavigation div:not(.current) a.radio, #subNavigation div:not(.current) a.musik, #subNavigation div:not(.current) a.popkultur, #subNavigation div:not(.current) a.events")
		.not(".button a")
		.mouseover(function(){
			$(this).prev().css("backgroundImage","url(/img/navigation/bg_1px_menu_a.png)");
		})
		.mouseout(function(){
			$(this).prev().css("backgroundImage","url(/img/navigation/bg_1px_menu.png)");
		})

		$("#subNavigation div ul:not(.current) li a")
		.mouseover(function(){

			SPUTNIK.CSS_HANDLE.setBgImage($(this).next(), "/img/navigation/bg_1px_subM_a.png", "scale");

			//if (SPUTNIK.ENGINE_HANDLE.isMSIE){
			//	$(this).next().css({ backgroundImage : "none" });
			//	$(this).next().css('filter', "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/img/navigation/bg_1px_subM_a.png', sizingMethod='scale');");
			//}
			//else{
			//	$(this).next().css("backgroundImage","url(/img/navigation/bg_1px_subM_a.png)");
			//}

		})
		.mouseout(function(){


			SPUTNIK.CSS_HANDLE.setBgImage($(this).next(), "/img/navigation/bg_1px_subM.png", "scale");

			//if (SPUTNIK.ENGINE_HANDLE.isMSIE){
			//	$(this).next().css({ backgroundImage : "none" });
			//	$(this).next().css('filter', "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/img/navigation/bg_1px_subM.png', sizingMethod='scale');");
			//}
			//else{
			//	$(this).next().css("backgroundImage","url(/img/navigation/bg_1px_subM.png)");
			//}

		})
	},
	setMainNavigation: function(){
		//alert("IS COOKIE!!!!!!!!!\nSPUTNIK.COOKIE_VALUES :"+SPUTNIK.COOKIE_VALUES);
		if(SPUTNIK.COOKIE_VALUES[0] == 1){
		 	$("#subNavigation a.radio").next().addClass("plus");
			$("#subNavigation div#radio").hide();
		}
		if(SPUTNIK.COOKIE_VALUES[1] == 1){
		 	$("#subNavigation a.musik").next().addClass("plus");
			$("#subNavigation div#musik").hide();
		}
		if(SPUTNIK.COOKIE_VALUES[2] == 1){
		 	$("#subNavigation a.popkultur").next().addClass("plus");
			$("#subNavigation div#popkultur").hide();
		}
		if(SPUTNIK.COOKIE_VALUES[3] == 1){
		 	$("#subNavigation a.events").next().addClass("plus");
			$("#subNavigation div#events").hide();
		}
	}
}





 /**
  * Klasse - Util
  *
  * Diese Klasse stellt die Schnittstelle zu jQuery dar.
  *
  * @constructor
  * @base Sputnik
  *
  */
 Sputnik.Util = Class.create();
 Sputnik.Util.prototype = {
 	/**
 	 *
 	 */
 	initialize:function(){
 		this.libName = "jQuery";

 	}
 }


/**
  * Klasse -  Cookie/Css
  *
  * @constructor
  * @base Sputnik.Util
  */
 Sputnik.Util.Cookie = Class.create();
 Sputnik.Util.Cookie.prototype = {
 	/**
	  * Initialisiert
	  *
 	  *
	  */
 	initialize: function(){


 		this.COOKIE_NAME = "sputnik.de.Navigation";
 		this.options = { path: '/', expires: 10 };
 		//'0;1;0;0'
 		this.isCookieSet();

 	},

 	isCookieSet: function(){
		/*please keep in mind:
		SPUTNIK.COOKIE_VALUES[100]
		SPUTNIK.COOKIE_VALUES[101]
		are used for streamNavi-Status
		*/
 		if($.cookie(this.COOKIE_NAME)){
 			SPUTNIK.COOKIE_EXISTS = true;
 			this.getCookieAsArray();
 		}
 		else{
 			SPUTNIK.COOKIE_VALUES[0] = 0;
 			SPUTNIK.COOKIE_VALUES[1] = 0;
 			SPUTNIK.COOKIE_VALUES[2] = 0;
 			SPUTNIK.COOKIE_VALUES[3] = 0;

 			//alert("setzt Cookie:"+SPUTNIK.COOKIE_VALUES);
 			this.setCookie();

 			SPUTNIK.COOKIE_EXISTS = true;

 		}

 	},

 	setCookie: function(){
 		$.cookie(this.COOKIE_NAME, SPUTNIK.COOKIE_VALUES, this.options);
 	},
 	getCookieAsArray: function(){
 		SPUTNIK.COOKIE_VALUES = $.cookie(this.COOKIE_NAME).split(",");

 	}
 };

 /**
  * Klasse - Util/Events
  *
  * @constructor
  * @base Sputnik.Util
  */
 Sputnik.Util.Event = Class.create();
 Sputnik.Util.Event.prototype = {
 	/**
 	 * Initialisierung
 	 *
 	 *
 	 */
 	initialize: function(){
 		this.defaultDuration = "5000";
 	},
 	/**
 	 * Bindet ein 'EVENT' an ein Element
 	 *
 	 * @param {String} elem DOM-Selektor (z.B. id, class)
 	 * @param {String} event Eventname (z.B. click, hover)
 	 * @param {String} call Callback-Funktions
 	 *
 	 */
 	bind: function(elem, event, call){
 		$(elem).bind(event, call);
 	},
 	/**
 	 * Setzt bestimmtes 'EVENT' an ein Element
 	 *
 	 * @param {String} elem DOM-Selektor (z.B. id, class)
 	 * @param {String} event Eventname (z.B. click, hover)
 	 * @param {String} call Callback-Funktions
 	 *
 	 */
 	initEvent: function(elem, event, call){
		switch(event){
		case "click":	$(elem).click(call);
			break;
		}
 	},
 	/**
 	 * Löst eine Bind-Event von einem Element
 	 *
 	 * @param {String} elem DOM-Selektor (z.B. id, class)
 	 * @param {String} event Eventname (z.B. click, hover)
 	 *
 	 */
 	unbind: function(elem, event){
 		$(elem).unbind(event);
 	},
 	/**
 	 * Bindet ein 'EVENT' an ein Element (einmalig)
 	 *
 	 * @param {String} elem DOM-Selektor (z.B. id, class)
 	 * @param {String} event Eventname (z.B. click, hover)
 	 * @param {String} call Callback-Funktions
 	 *
 	 */
 	bindOneTime: function(elem, event, call){
 		$(elem).one(event, call);
 	},
 	/**
 	 * Feuert ein angegebenes Event
 	 *
 	 * @param {String} elem DOM-Selektor (z.B. id, class)
 	 * @param {String} content Standardtext
 	 *
 	 */
 	triggerHandler: function(){

 	}

 }
 /**
  * Klasse - Util/Engine
  *
  * @constructor
  * @base Sputnik.Util
  */
 Sputnik.Util.Engine = Class.create();
 Sputnik.Util.Engine.prototype = {
	initialize: function(){
 	},
	detect: function() {
		var UA = navigator.userAgent;
		this.isKHTML = /Konqueror|Safari|KHTML/.test(UA);
		this.isGecko = (/Gecko/.test(UA) && !this.isKHTML);
		this.isOpera = /Opera/.test(UA);
		this.isChrome = /Chrome/.test(UA);
		this.isMSIE  = (/MSIE/.test(UA) && !this.isOpera);
		this.isMSIE7 = this.isMSIE && !(/MSIE 6\./.test(UA) && !this.isOpera);
		//alert(UA+"\nisKHTML: "+this.isKHTML+" isGecko: "+this.isGecko+" isOpera: "+this.isOpera+" isChrome: "+this.isChrome+" isMSIE: "+this.isMSIE+" isMSIE7:" +this.isMSIE7);
    }
 }

//
 /**
  * Klasse - Util/Effects
  *
  * @constructor
  * @base Sputnik.Util
  */
 Sputnik.Util.Effects = Class.create();
 Sputnik.Util.Effects.prototype = {
 	/**
	  * Initialisiert
	  *
 	  *
	  */
 	initialize: function(){
 		this.DEFAULT_DURATION = "fast";
 	},
 	/**
 	 *
 	 */
 	animateElem: function(elem, param, duration, easing, callback){
 		$(elem).animate(
 			param,
	      	duration,
	      	easing,
	      	callback );
 	},
 	/**
	  * Blendet ein Element ein
	  *
	  * @param {String} elem
	  * @param {String} time Dauer des Einblendevorgangs. (DEFAULT: DEFAULT_DURATION)
	  * @param {String} callback
	  *
 	  *
	  */
 	fadeOut: function(elem, time, callback){
 		time ? $(elem).fadeOut(time, callback) : $(elem).fadeOut(this.DEFAULT_DURATION, callback);
 	},
 	/**
	  * Blendet ein Element aus
	  *
	  * @param {String} elem
	  * @param {String} time Dauer des Ausblendevorgangs. (DEFAULT: DEFAULT_DURATION)
	  * @param {String} callback
	  *
 	  *
	  */
 	fadeIn: function(elem, time, callback){
 		if(time){
 			$(elem).fadeIn(time, callback);
 		}
 		else{
 			$(elem).fadeIn(this.DEFAULT_DURATION, callback);
 		}
 	},
 	/**
	  * Wechselt (toggle) zwischen Ein- und Ausblenden eines Elements
	  *
	  * @param {String} elem
	  * @param {String} time Dauer des Einblendevorgangs. (DEFAULT: DEFAULT_DURATION)
	  * @param {String} callback
	  *
 	  *
	  */
 	toggleFading: function(elem, time, callback){
 		$(elem+":visible").length ? $(elem).fadeOut(this.defaultDuration, callback):$(elem).fadeIn(this.DEFAULT_DURATION, callback) ;
 	},
 	/**
 	 *
 	 */
 	toggleSliding: function(elem, time, callback){
 		$(elem+":visible").length ? $(elem).slideUp(this.defaultDuration, callback):$(elem).slideDown(this.DEFAULT_DURATION, callback) ;
 	},

 	/**
 	 *
 	 */
 	toggleHiding: function(elem){
 		$(elem+":visible").length ? $(elem).hide():$(elem).show() ;
 	},
 	/**
 	 *
 	 */
 	showElem: function(elem){
 		$(elem).show();
 	},
 	/**
 	 *
 	 */
 	hideElem: function(elem){
 		$(elem).hide();
 	},
 	/**
 	 *
 	 */
 	stopEffect: function(elem, clearQueue, goToEnd){
 		$(elem).stop(clearQueue, goToEnd);
 	}


 }
 /**
  * Klasse -  Util/Css
  *
  * @constructor
  * @base Sputnik.Util
  */
 Sputnik.Util.Css = Class.create();
 Sputnik.Util.Css.prototype = {
 	/**
	  * Initialisiert
	  *
 	  *
	  */
 	initialize: function(){

 	},
 	/**
	  * Setzt CSS-Wert
	  *
	  * @param {String} elem DOM-Knotenname
	  * @param {String} cssValue CCS-Element
	  *
	  */
 	setCss: function(elem, cssObj){
 		$(elem).css(cssObj);
 	},
 	/**
	  * Gibt CSS-Wert zurück
	  *
	  * @param {String} elem DOM-Knotenname
	  * @param {String} cssValue CCS-Element
	  *
	  * @return {String} val Wert des CCS-Elements
	  */
 	getCss: function(elem, cssValue){	return $(elem).css(cssValue);	},
 	/**
	  * Ermittelt die Breite eines Elements
	  *
	  * @param {String} elem DOM-Knotenname
	  * @param {Boolean} includeMargin Abstände (margin) in die Berechnung mit einbeziehen
	  *
	  * @return {String} val Breite des ELements (Ohne Zusatz "px")
	  */
 	getWidth: function(elem, includeMargin){
	 	var val = 0;
	 	if (includeMargin === true){
	 		val = $(elem).width(includeMargin);
	 	}
	 	else{
	 		val = $(elem).width();
	 	}

	 	return val;
 	},
 	/**
 	 *
 	 */
 	isHidden:function(elem){
 		return $(elem+":hidden").length;
 	},
 	/**
 	 *
 	 */
 	setBgImage:function(elem, url, sizingMethod){
 		if (SPUTNIK.ENGINE_HANDLE.isMSIE && !SPUTNIK.ENGINE_HANDLE.isMSIE7){
 			$(elem).css({ backgroundImage : "none" });
			$(elem).css('filter', "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+url+"', sizingMethod='"+sizingMethod+"');");
		}
		else{
			$(elem).css("backgroundImage","url("+url+")");
		}
 	}
 }
 /**
  * Klasse - Util/Dom
  *
  *
  * @constructor
  * @base Sputnik.Util
  */
 Sputnik.Util.Dom = Class.create();
 Sputnik.Util.Dom.prototype = {

 	/**
 	 *
 	 */
 	initialize: function(){

 	},

 	/**
 	 *
 	 */
 	getObject: function(elem)	{	return $(elem);			},
 	/**
 	 *
 	 */
 	getFirstNode: function(elem){	return $(elem+":first");},
 	/**
 	 *
 	 */
 	getNextNode: function(elem)	{	return $(elem).next();	},
 	/**
 	 *
 	 */
 	getPrevNode: function(elem)	{ 	return $(elem).prev(); 	},
 	/**
 	 *
 	 */
 	getLastNode: function(elem)	{	return $(elem+":last"); },
 	/**
 	 *
 	 */
 	getEvenLst: function(elem)	{	return $(elem+":even"); },
 	/**
 	 *
 	 */
 	getOddLst: function(elem)	{	return $(elem+":odd"); 	},
 	/**
 	 *
 	 */
 	getHtml: function(elem, context){
 		if(arguments.length == 2){
 			return $(elem, context).html();
 		}
 		else{
 			return $(elem).html();
 		}

 	},
 	/**
 	 * Fügt HTML als neuen Inhalt eines Elements (DOM-Element) ein.
 	 *
 	 * @param {String} elem 			DOM-Selektor (z.B. id, class)
 	 * @param {String} content			HTML
 	 * @param {Object} callBackFunc		Funktionsname
 	 */
 	setHtml: 		function(elem, content, callBack){	$(elem).html(content, callBack); },
 	/**
 	 * Liefert den Inhalt (Text) eines DOM-Elements
 	 *
 	 * @param {String} elem DOM-Selektor (z.B. id, class)
 	 * @return {String} Inhalt des DOM-Elements (Text)
 	 */
 	getText: 		function(elem)			{	return $(elem).text(); 	},
 	/**
 	 * Überprüft ob ein Element eine bestimmtes Klassenattribute besitzt
 	 *
 	 * @param {String} elem DOM-Selektor (z.B. id, class)
 	 * @param {String} className Klassenname
 	 *
 	 * @return {Bool}
 	 */
 	hasClass: 		function(elem, className){ 	return $(elem).hasClass(className); },
 	/**
 	 * Fügt Text als neuen Inhalt eines Elements (DOM-Element) ein.
 	 *
 	 * @param {String} elem DOM-Selektor (z.B. id, class)
 	 * @param {String} content Text
 	 *
 	 */
 	setText: 		function(elem, content)	{	$(elem).text(content); 	},
 	/**
 	 * Ermittelt die Position eines Elements
 	 *
 	 * @param {String} elem 		DOM-Selektor (z.B. id, class)
 	 * @return {Object}	position	Objekt mit zwei Member-Variablen (left, top)
 	 *
 	 */
 	getPosition: 	function(elem)			{ 	return $(elem).position(); 		},
 	/**
 	 * Ermittelt den Offset eines Elements
 	 *
 	 * @param {String} elem 		DOM-Selektor (z.B. id, class)
 	 * @param {String, DOM-Element} content	Anzuhängendes Element
 	 *
 	 * @return {Object}	offset		Objekt mit zwei Member-Variablen (left, top)
 	 *
 	 */
 	getOffset: 		function(elem)			{ 	return $(elem).offset(); 		},
 	/**
 	 * Hängt ein Element an ein existierendes
 	 *
 	 * @param {String} elem 		DOM-Selektor (z.B. id, class)
 	 * @param {String, DOM-Element} content	Anzuhängendes Element
 	 *
 	 */
 	appendToNode: 	function(elem, content)	{ 	$(elem).append(content);		},
 	/**
 	 * Gibt den nächstgelegenen Eltern-Knoten, mit einer bestimmten  eines übergebenen Knotens zurück
 	 *
 	 * @param {String} elem 				DOM-Selektor (z.B. id, class)
 	 * @param {String} nameOfClass 			Bezeichnung des Klassenattibuts
 	 * @param {String} nodesOnlyByThisTag 	DOM-Knotentyp
 	 *
 	 * @return {DOM-Object} res DOM-Element
 	 *
 	 */
 	getPrevNodeByClass: function(elem, nameOfClass, nodesOnlyByThisTag){
 		var res = 	$(elem).parents(nodesOnlyByThisTag)
			        	.map(function () {
			            	if($(this).hasClass(nameOfClass.substr(1)))
			                	return this;
			                }
			        );
		return res;
 	}


 }
 /**
  * Klasse - Util/AjaxRequest
  *
  * @constructor
  * @base Sputnik.Util
  */
 Sputnik.Util.AjaxRequest = Class.create();
 Sputnik.Util.AjaxRequest.prototype = {
 	/**
	  * Initialisierung
	  *
	  * Setzt Standard Text- und Hintergrundfarbe für den Fall, dass noch keine Eingabe gemacht wurde.
	  */
 	initialize: function(){

		//initalize a picture that will be showed when a ajax-request is in progress
		this.INPROGRESS_IMG = "..images/ajax_loader.gif";

	},
	/**
	  * Ajax Request
	  *
	  * @param {String} requestMethod 			GET/POST (default GET)
	  * @param {String} requestUrl				URL zur Datei, die den Request bearbeitet
	  * @param {String/Object} requestParams	String/Objekt (JSON-Notation)
	  * @param {String} resultFieldId			DOM-Nodename
	  * @param {String} progressFieldId			DOM-Nodename
	  * @param {String} callFuncOnServer		Funktionsname
	  * @param {Object} callBackFunc			Funktionsname
	  */
	send: function(formId, requestMethod, requestUrl, requestParams, resultFieldId, progressFieldId, callFuncOnServer, callBackFunc){


		$(resultFieldId).stop(true, true);
		$(resultFieldId).empty();
		$(resultFieldId).html("Formular wird gesendet...");
	  	$(resultFieldId).show();

		$.ajax({
			type: requestMethod,
			url: requestUrl,
			data: requestParams,
			//dataType: "xml",
			success: function(msg, eventText){
				//alert("type :"+msg+"\nevent: "+eventText+"\nvalue: "+$(msg).find("message").text());
				$(resultFieldId).html($(msg).find("message").text());	//.fadeOut(3000);
				//resets the form
				$(formId)[0].reset();
				$(formId+" :input").trigger("blur");
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {
				//alert("type :"+XMLHttpRequest+"\nevent: "+textStatus+"\nerror: "+errorThrown+"\nvalue: "+$(msg).find("message").text());
  				$(resultFieldId).html("Fehler bei der &Uuml;bertragung!!!");	//.fadeOut(3000);
			}
 		});

	},

	/**
	  * handleFeedback
	  *
	  * @param {String} resultFieldId	DOM-Nodename
	  * @param {String} progressFieldId	DOM-Nodename
	  * @param {Object} callBackFunc	Funktionsname
	  */
	handleFeedback: function(resultFieldId, progressFieldId, callBackFunc){

	},

	/**
	  * AJAX-Request zum nachladen von Inhalten
	  *
	  * @param {String} elem DOM-Nodename
	  * @param {String} url	Quelldatei
	  */

	loadContent: function(elem, url){
		if($(elem).length){
			$(elem).load(url);
		}
		else if(elem == "tempObj"){
			res = false;
			$.ajax({
			  type: "GET",
			  url: url,
			  success: function(html){
			    res = html;
			  }
			});
			return res;
		}
	}

 }

 /**
  * Klasse - Util/FormValidator
  *
  * @constructor
  * @base Sputnik.Util
  */
 Sputnik.Util.FormValidator = Class.create();
 Sputnik.Util.FormValidator.prototype = {
	 /**
	  * Initialisierung
	  *
	  * Setzt Standard Text- und Hintergrundfarbe für den Fall, dass noch keine Eingabe gamcht wurde.
	  */
 	initialize: function(){
 		this.formValide = false;

		this.defaultColor = $(".formtexteingabe").css("color");
		this.defaultBgColor = $(".formtexteingabe").css("background-color");
		this.inactiveColor = "#AAAAAA";
		this.inactiveBgColor = this.defaultBgColor;//"#FFFFFF";
	},
	/**
	  * String-Validierung.
	  *
	  * Überprüft String-Eingaben.
	  * Fügt Standardtext ein.
	  *
	  * @param {String} elem DOM-Selektor (z.B. id, class)
	  * @param {String} defaultStr Standardtext, falls noch keine Text eingegeben wurde
	  */
	validateString: function(elem, defaultStr){
		if($(elem).val() == defaultStr)
		{
			return false;
		}
		else return true;

	},
	/**
	  * e-Mail-Validierung
	  *
	  * @param {String} str Emailadresse
	  */
	validateEmail: function(str){


	},
	/**
	  * String-Validierung bei einem 'onFocus'-Event
	  *
	  * Überprüft String-Eingaben.
	  * Leert das Eingabefel, wenn noch keine Eingabe gemacht wurde.
	  *
	  * @param {String} elem DOM-Selektor (z.B. id, class)
	  * @param {String} defaultStr Standardtext, falls noch keine Text eingegeben wurde
	  */
	validateStringOnFocus: function(elem, defaultStr){

		//$(elem).css("background-color", this.defaultBgColor);
		$(elem).css("color", this.defaultColor);
		if($(elem).val() == defaultStr)
		{
			$(elem).val("");
		}
	},
	/**
	  * String-Validierung bei einem 'onBlur'-Event
	  *
	  * Überprüft String-Eingaben.
	  * Fügt Standardtext ein.
	  *
	  * @param {String} elem DOM-Selektor (z.B. id, class)
	  * @param {String} defaultStr Standardtext, falls noch keine Text eingegeben wurde
	  */
	validateStringOnBlur: function(elem, defaultStr){

		//$(elem).css("background-color", this.inactiveBgColor);
		$(elem).css("color", this.inactiveColor);

		//Javascript 1.2 type
		if($(elem).val().length == 0)
		{
			$(elem).val(defaultStr);
		}
	}

 }










/* cosmoblonde 09-02-25 */



 /**
  * Klasse - MultiTeaser
  *
  * @constructor
  * @base Sputnik
  */

Sputnik.MultiTeaser = Class.create();
Sputnik.MultiTeaser.prototype = {
	initialize: function(holderId, timeoutLength, fadein_length, fadeout_length) {
		SPUTNIK.setHandler("Css");
		SPUTNIK.setHandler("Dom");
		SPUTNIK.setHandler("Event");
		//
		//this._name = "MultiTeaser";

		var instance = this;
		var i=0;
		this.itemIdx = 0;
		this.holderId = holderId;
		this.fadein_length = fadein_length == null ? 0 : fadein_length;
		this.fadeout_length = fadeout_length == null ? 0 : fadeout_length;

		this.isAnimating = true;
		//
		this.timeoutLength = timeoutLength == null ? 3000 : timeoutLength;
		this.holder = $("#"+holderId);
		this.itemList = [];
		this.linkList = [];
		if(this.holder.length==0){
			return;
		}
		$(this.holder).data("instance", instance) ;
		this.items = this.holder.find("div.items");
		this.btns = this.holder.find("div.btns");
		this.btns.data("mouseInside",false);
		this.naviUl = this.holder.find("div.navi ul");
		this.teasers = this.holder.find("div.teaser");
		this.paused = false;
		this.wasPaused = null;//will be set by BildrechtBtn
		//

		SPUTNIK.EVENT_HANDLE.bind(
			this.btns,
			"mouseover",
			function(e){
				if(this.fadeTimeout){
					clearTimeout(this.fadeTimeout)
				};
			}
		)
		SPUTNIK.EVENT_HANDLE.bind(
			this.btns,
			"mouseout",
			function(e){
				//$(this).fadeOut("fast");
			}
		)
		SPUTNIK.EVENT_HANDLE.bind(
			this.holder,
			"mousemove",
			function(e){
				if(SPUTNIK.CSS_HANDLE.mouseWithIn(this, e, {bottom:350})){
					//$(this).parent().find("div.btns").fadeIn("slow");
					SPUTNIK.CSS_HANDLE.setCss($(this).parent().find("div.btns"), SPUTNIK.getCssObj("display","block"));
					if(this.fadeTimeout){
						clearTimeout(this.fadeTimeout)
					};
					this.fadeTimeout = setTimeout(function(){
						//$(this).parent().find("div.btns").fadeOut("fast");
						SPUTNIK.CSS_HANDLE.setCss($(this).parent().find("div.btns"), SPUTNIK.getCssObj("display","none"));
					},3000);
				}
			}
		)
		SPUTNIK.EVENT_HANDLE.bind(
			this.holder,
			"mouseout",
			function(e){
				if(!SPUTNIK.CSS_HANDLE.mouseWithIn(this, e, {bottom:350})){
					clearTimeout(this.fadeTimeout);
					//$(this).parent().find("div.btns").fadeOut("fast");
					SPUTNIK.CSS_HANDLE.setCss($(this).parent().find("div.btns"), SPUTNIK.getCssObj("display","none"));
				}
			}
		)
		var btns = ["prev","next"];
		for(i=0;i<btns.length;i++){
			var cur = btns[i];
			//var btn = $("btn_"+cur);
			this.holder.find("div.btns "+"#btn_"+cur).each(function(i){
				this.func = cur;
				this.instance = instance;
				SPUTNIK.EVENT_HANDLE.bind(
					this,
					"click",
					function(){
						if(this.instance.isAnimating){return;}
						this.instance.startSlideShow(false);
						this.instance[this.func](i);
						if(!this.instance.paused){
							this.instance.startSlideShow(true);
						}
					}
				)
				SPUTNIK.EVENT_HANDLE.bind(
					this,
					"mouseover",
					function(e){

						//if(this.isOver)return;
						$(this).find("span.over").toggle();
						$(this).find("span.normal").toggle();
						var self = this;
						//SPUTNIK.CSS_HANDLE.setCss($(this).find("span.normal"), SPUTNIK.getCssObj("visibility","hidden"));
						//setTimeout(function(){},10)
						//this.isOver = true;
					}
				)
				SPUTNIK.EVENT_HANDLE.bind(
					this,
					"mouseout",
					function(e){

						$(this).find("span.over").toggle();
						$(this).find("span.normal").toggle();
						this.isOver = false;
					}
				)
			})
		}

		this.holder.find("div.btns #btn_play_pause").each(function(i){
				this.instance = instance;
				SPUTNIK.EVENT_HANDLE.bind(
					this,
					"click",
					function(){
						this.instance.startSlideShow(this.instance.paused);
						var _className = this.instance.paused ? "play":"pause";
						$(this).attr("class", "btn "+_className);
						this.wasPaused = null;
						//$(this).find("span.over").toggle();
						//$(this).find("span.normal").toggle();
					}
				)
				SPUTNIK.EVENT_HANDLE.bind(
					this,
					"mouseover",
					function(){
						$(this).find("span.over").toggle();
						$(this).find("span.normal").toggle();
						//SPUTNIK.CSS_HANDLE.setCss($(this).find("span.over"), SPUTNIK.getCssObj("visibility","visible"));
						//SPUTNIK.CSS_HANDLE.setCss($(this).find("span.normal"), SPUTNIK.getCssObj("visibility","hidden"));
					}
				)
				SPUTNIK.EVENT_HANDLE.bind(
					this,
					"mouseout",
					function(){
						$(this).find("span.over").toggle();
						$(this).find("span.normal").toggle();
						//SPUTNIK.CSS_HANDLE.setCss($(this).find("span.over"), SPUTNIK.getCssObj("visibility","hidden"));
						//SPUTNIK.CSS_HANDLE.setCss($(this).find("span.normal"), SPUTNIK.getCssObj("visibility","visible"));
					}
				)
			})

		this.holder.find("div.btns").fadeOut("fast");
		i=0;
		this.holder.find("div.teaser").each(function(teaser){
				instance.itemList.push(teaser);
			}
		)
		this.holder.find("div.navi ul li a").each(function(i){
				this.instance = instance;
				this.index = i;
				instance.linkList.push(this);
				SPUTNIK.EVENT_HANDLE.bind(
					this,
					"click",
					function(){
						this.instance.setSelectedItemIndex(i);
						return false;
					}
				)
				if(i==0){
					$(this).trigger("click");
				}
		})
		//return;
		this.startSlideShow(true);
	},
	startSlideShow : function(flag) {
		this.paused = !flag;
		var self = this;
		if(this.timeout){
			clearTimeout(this.timeout);
			this.timeout = null;
		}
		if(flag){
			self.timeout = setTimeout(function () {
				self.next();
			}, 	self.timeoutLength);
		}else{
			//clearInterval(self.interval);
		}
	},
	setSelectedItemIndex: function(index){
		var index = index;
		if(index > this.itemList.length-1){
			index = 0;
		}else if(index < 0){
			index = this.itemList.length-1;
		}
		if(this.lastLink){
			this.lastLink.className = "";
		}
		var link = this.linkList[index];
		link.className = "selected";
		this.lastLink = link;
		this.selectItem(this.teasers[index]);
		this.itemIdx = index;
		this.paused = false;
	},
	selectItem: function(item){
		if(this.lastItem){
			//$(this.lastItem).stop();
			/*
			if($(this.lastItem).is(':animated')){
				$(this.lastItem).stop().fadeTo(this.fadeout_length, 0);
			}else{

			}
			*/
			$(this.lastItem).find("img").fadeOut(this.fadeout_length);
			//alert(this.fadeout_length);
			SPUTNIK.CSS_HANDLE.setCss($(this.lastItem), SPUTNIK.getCssObj("z-index","-1"));
			//$(this.lastItem).css("display","none");
			SPUTNIK.CSS_HANDLE.setCss($(this.lastItem).find("div.content"), SPUTNIK.getCssObj("visibility","hidden"));
			SPUTNIK.CSS_HANDLE.setCss($(this.lastItem).find("div.links"), SPUTNIK.getCssObj("visibility","hidden"));
			SPUTNIK.CSS_HANDLE.setCss($(this.lastItem).find("div.bildrechteBtn"), SPUTNIK.getCssObj("visibility","hidden"));
		}
		SPUTNIK.CSS_HANDLE.setCss($(item), SPUTNIK.getCssObj(
			"z-index", "1",
			"display","block"));
		SPUTNIK.CSS_HANDLE.setCss($(item).find("img"), SPUTNIK.getCssObj("display","none"));
		if(this.init){
			$(item).find("img").fadeIn(this.fadein_length);
		}else{
			SPUTNIK.CSS_HANDLE.setCss($(item).find("img"), SPUTNIK.getCssObj("display","block"));
			this.init=true;
		}
		SPUTNIK.CSS_HANDLE.setCss($(item).find("div.content"), SPUTNIK.getCssObj("visibility","visible"));
		SPUTNIK.CSS_HANDLE.setCss($(item).find("div.links"), SPUTNIK.getCssObj("visibility","visible"));
		SPUTNIK.CSS_HANDLE.setCss($(item).find("div.bildrechteBtn"), SPUTNIK.getCssObj("visibility","visible"));
		//$(item).find("img").fadeIn(this.fadein_length);
		/*
		if($(item).is(':animated')){
			$(item).stop().fadeTo(this.fadein_length, 1);
		}else{

		}
		*/
		/*
		var self = this;
		self.isAnimating = true;
		self.resetTimeout = setTimeout(function () {
				self.isAnimating = false;
			},this.fadein_length)
		$(item).fadeIn(this.fadein_length);
		*/
		/*
		$(item).fadeIn(600,function(){

		});
		*/
		//debug(item.data("animated"));
		this.lastItem = item;
		this.startSlideShow(!this.paused);
	},
	next: function(){
		this.setSelectedItemIndex(this.itemIdx+1);
	},
	prev: function(){
		this.setSelectedItemIndex(this.itemIdx-1);
	}
}



Sputnik.StreamNavi = Class.create();
Sputnik.StreamNavi.prototype = {
	initialize: function(holderId, shouldAnimate) {
		//
		SPUTNIK.setHandler("Cookie");
		SPUTNIK.setHandler("Effects");
		SPUTNIK.setHandler("Css");
		SPUTNIK.setHandler("Dom");
		SPUTNIK.setHandler("Event");
		//
		SPUTNIK.COOKIE_HANDLE.isCookieSet();
		SPUTNIK.COOKIE_HANDLE.getCookieAsArray();
		//
		this.holder = $("#"+holderId);
		var icons = this.holder.find("div.navi ul li a");
		this.numIcons = icons.length;
		this.firstTimeAnimated = SPUTNIK.COOKIE_VALUES[100];
		SPUTNIK.COOKIE_VALUES[100] = 1;
		this.scrollOffset = SPUTNIK.COOKIE_VALUES[101];
		this.scrollOffset = this.scrollOffset == undefined ? 0 : this.scrollOffset%this.numIcons;
		//
		SPUTNIK.COOKIE_HANDLE.setCookie();
		//
		this.shouldAnimate = shouldAnimate != undefined || shouldAnimate != false;
		this.shouldAnimate = this.firstTimeAnimated == 1 ? false : true;
		//
		//alert(this.shouldAnimate);
		this.scrollStopped = false;
		this.numVisibleIcons = 6;
		this.direction = null;

		this.itemList = [];
		this.overlayList = [];
		this.item_width = 139;
		this.max_width = 650;
		this.scroll_speed = 200;//pixel per second
		this.slide_duration = 2000;
		this.fps = 25;//"frames" per second
		this.checks_per_s = 15;//checks of icons per second
		this.itemIdx = this.totalNaviWidth = this.maskWidth = 0;

		//
		var instance = this;
		var tempString = "";
		var i = w = 0;
		this.holder.find("div.navi").each(function(){
			this.instance = instance;
		});

		if(this.numIcons <=6 ){
			//this.shouldAnimate=false;
		}
		//there should be more than 6 to avoid blinking
		if(this.numIcons <=6 ){
			icons.each(function(i, a){
				$(this).parent().parent().append($(this).parent().clone(true));
			});
		}

		this.holder.find("div.navi ul a").each(function(i, a){
			$(this).data("index", i);
			$(this).data("init_id", this.id);
			$(this).data("instance", instance);
			instance.itemList.push($(this));
			w = Number(SPUTNIK.CSS_HANDLE.getCss($(this).find("span"), "width").replace("px",""));
			//sometimes this doesn't work in Webkit in lower bandwidth, so we take the value from the css
			w = w == 0 ? this.item_width : w;
			$(this).css("left", (instance.totalNaviWidth)+"px");

			SPUTNIK.EVENT_HANDLE.bind(
				this,
				"click",
				function(){
					/* if($(this).data("instance").lastItem == this){
						$(this).data("instance").showOverlay(false);
						$(this).data("instance").selectItem(this, false);
						$(this).data("instance").lastItem = null;
						return false;
					}
					if($(this).data("instance").lastItem){
						$(this).data("instance").selectItem($(this).data("instance").lastItem, false);
					}

					$(this).data("instance").selectItem(this, true);
					 $(this).data("instance").showOverlay($(this)); */
					var untrimmedID = this.id;
					takeover = new Object();
					takeover = untrimmedID.replace(/stream_/i, "");
					var nwl = (screen.width-336)/2;
  					var nwh = (screen.height-294)/2;
  					popUp=window.open('/programm/player/', 'oneclick', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=294,height=336,left='+nwl+',top='+nwh+'');
					return false;
					//$(this).data("instance").lastItem = this; */
				}
			)

			SPUTNIK.EVENT_HANDLE.bind(
				this,
				"mouseover",
				function(){
					$(this).data("instance").selectItem(this, true, false);
				}
			)

			SPUTNIK.EVENT_HANDLE.bind(
				this,
				"mouseout",
				function(){
					if($(this).data("instance").lastItem == this){
						return;
					}
					$(this).data("instance").selectItem(this, false, false);
				}
			)
			instance.totalNaviWidth += w;
			if((i+1) <= instance.numVisibleIcons){
				instance.maskWidth += w;
			}
		});

		this.holder.find("div.overlays div.overlay").each(function(i){
			$(this).data("index",i);
			$(this).data("instance",instance);
			instance.overlayList.push($(this));
		});
		SPUTNIK.CSS_HANDLE.setCss(this.holder.find("div.naviMask"), SPUTNIK.getCssObj("width",this.maskWidth));

		if(this.shouldAnimate){
			/*
			if(this.scrollOffset>0){
				var offset = this.scrollOffset;
			}else{
				var offset = (this.numIcons + this.scrollOffset);
			}
			*/
			var offset = this.scrollOffset;
			var naviX = (offset) * this.item_width;
			//alert(this.scrollOffset+" "+offset+" "+naviX);
			this.holder.find("div.navi").css("left", -(this.totalNaviWidth)+"px").animate(
				{left:100+"px"},
				{	duration:this.slide_duration,
					easing :"swing",
					complete:function(){
						$(this).parent().parent().find("div.btns #btn_back").find("span.over").hide();
						$(this).parent().parent().find("div.btns #btn_back").find("span.normal").show();
						$(this).parent().parent().find("div.btns #btn_forward").find("span.over").show();
						$(this).parent().parent().find("div.btns #btn_forward").find("span.normal").hide();
					}
				}
			) .animate(
				{ left:naviX + "px"},
				{	duration:Number(this.slide_duration/2),
					easing :"swing",
					complete:function(){
						//setTimeout(function(){$("#debug").css("display","block");},1000);
						for(var i=0;i<instance.numIcons;i++){
							instance.checkItems();
						}
						$(this).parent().parent().find("div.btns #btn_forward").find("span.over").hide();
						$(this).parent().parent().find("div.btns #btn_forward").find("span.normal").show();
					}
			});
			this.checkItems();
		}else{
			var naviX = this.scrollOffset * this.item_width;
			SPUTNIK.CSS_HANDLE.setCss(this.holder.find("div.navi"), SPUTNIK.getCssObj("left", naviX + "px"));
			//var numChecks = this.numIcons - this.scrollOffset;
			for(var i=0;i<this.numIcons;i++){
				this.checkItems();
			}
			clearTimeout(this.checkTimeout);
		}
		//this.checkItems();
		var btns = ["back","forward"];
		for(i=0;i<btns.length;i++){
			var cur = btns[i];
			//var btn = $("btn_"+cur);
			this.holder.find("div.btns #btn_"+cur).each(function(i){
				if(instance.numIcons <=6 ){
					//$(this).hide();
				}
				this.func = cur;
				this.instance = instance;
				this.init_id = this.id;
				instance["btn_"+cur] = this;
				SPUTNIK.EVENT_HANDLE.bind(
					this,
					"mousedown",
					function(){
						//this.instance.scroll(null);
						if(this.instance.lastItem){
							this.instance.selectItem(this.instance.lastItem, false);
							this.instance.lastItem = null;
						}
						this.instance.showOverlay(false);
						//
						var self = this;
						return;
						SPUTNIK.EVENT_HANDLE.bind(
							document,
							"mouseup",
							function(){
								self.instance.finishScroll();
								SPUTNIK.EVENT_HANDLE.unbind(
									document,
									"mouseup"
								);
							}
						);
					}
				);
				SPUTNIK.EVENT_HANDLE.bind(
					this,
					"mouseup",
					function(){
						this.instance[this.func]();
						var self=this;
						setTimeout(function(){SPUTNIK.CSS_HANDLE.setCss($(self), SPUTNIK.getCssObj("cursor","pointer"))},20);
					}
				);
				SPUTNIK.EVENT_HANDLE.bind(
					this,
					"mouseover",
					function(){
						//this.id = this.init_id+"_over";
						$(this).find("span.over").toggle();
						$(this).find("span.normal").toggle();
					}
				);
				SPUTNIK.EVENT_HANDLE.bind(
					this,
					"mouseout",
					function(){
						$(this).find("span.over").toggle();
						$(this).find("span.normal").toggle();
						//this.instance.finishScroll();
					}
				);

				if(instance.shouldAnimate){
					$(this).find("span.over").show();
					$(this).find("span.normal").hide();
				}else{
					$(this).find("span.over").hide();
					$(this).find("span.normal").show();
				}
			})
		}
	},
	checkItems: function(){
		if(this.scrollStopped){
			//return;
		}
		var naviPos = SPUTNIK.DOM_HANDLE.getPosition(this.holder.find("div.navi"));
		var firstPos = SPUTNIK.DOM_HANDLE.getPosition(this.itemList[0]);
		var lastPos = SPUTNIK.DOM_HANDLE.getPosition(this.itemList[this.itemList.length-1]);
		//var lastWidth = SPUTNIK.CSS_HANDLE.getWidth(this.itemList[this.itemList.length-1].find("span"),false);
		//for better performance, we take it from the css
		var lastWidth = this.item_width;
		var absFirstPos = naviPos.left + firstPos.left;
		if(absFirstPos < -this.item_width){
			this.itemList.push(this.itemList.shift());
			SPUTNIK.CSS_HANDLE.setCss(this.itemList[this.itemList.length-1], SPUTNIK.getCssObj("left", (lastPos.left+lastWidth)+"px"));
		}else if(absFirstPos > 0 ){
			this.itemList.unshift(this.itemList.pop());
			SPUTNIK.CSS_HANDLE.setCss(this.itemList[0], SPUTNIK.getCssObj("left", (firstPos.left-lastWidth)+"px"));
		}
		//debug(absFirstPos+" "+Number(1000/this.checks_per_s));
		//debug(this.itemList.length+" "+naviPos.left+" "+(lastPos.left+this.item_width)+"px");
		var self = this;
		clearTimeout(this.checkTimeout);
		this.checkTimeout = setTimeout(function(){self.checkItems()}, Number(1000/this.checks_per_s));
	},
	scroll: function(direction){
		if(this.scrollStopped ){
			return;
		}
		this.scrollStopped = true;
		var posLeft = SPUTNIK.DOM_HANDLE.getPosition(this.holder.find("div.navi")).left;
		switch(direction){
			case "back":
				this.scrollOffset++;
				break;
			case "forward":
				this.scrollOffset--;
				break;
			default:
				break;
		}
		SPUTNIK.COOKIE_VALUES[101] = this.scrollOffset;
		SPUTNIK.COOKIE_HANDLE.setCookie();
		//alert(posLeft+speed);
		if(this.direction==null){
			this.checkItems();
		}
		var naviX = this.scrollOffset*this.item_width;
		this.holder.find("div.navi").animate(
			{left:(naviX)+"px"},
			200,
			"swing",
			function(){
				this.instance.scrollStopped = false;
				//this.instance.scroll(this.instance.direction);
			}
		)
		this.direction = direction;
	},
	showOverlay: function(link){
		var isBadBrowser = SPUTNIK.ENGINE_HANDLE.isMSIE || SPUTNIK.ENGINE_HANDLE.isChrome;
		if(this.lastOverlay){
			//this.lastItem.css("display","none");
			if(isBadBrowser){
				//uncommented COSMOBLONDE-CODE
				//$(this.lastOverlay).hide();

				//replace this by Steven 09/07/22
				//there was a Bug in IE6/IE7/IE8
				//if the user clicked on a link nothing happens except the overlay hides itself
				//it should work if we set a timeout for hiding the overlay
				tempThisLastOverlay = this.lastOverlay;
				setTimeout("$(tempThisLastOverlay).hide()", 1000);

			}else{
				$(this.lastOverlay).fadeOut("fast");
			}
		}
		if(link == false){
			return;
		}

		var index = link.data("index")%this.numIcons;
		//alert(index);
		var overlay = this.overlayList[index];
		var links = ["recommend", "stream"];
		var instance = this;
		for(i=0;i<links.length;i++){
			var cur = links[i];
			//debug(".icon "+cur)
			overlay.find("a").each(function(i){
				this.instance = instance;
				SPUTNIK.EVENT_HANDLE.bind(
					this,
					"mousedown",
					function(){
						this.instance.selectItem(this.instance.lastItem, false);
						this.instance.lastItem = null;
						this.instance.showOverlay(false);
					}
				);
			})
		}
		var naviMaskPosLeft = SPUTNIK.DOM_HANDLE.getPosition(this.holder.find("div.naviMask")).left;
		var naviPosLeft = SPUTNIK.DOM_HANDLE.getPosition(this.holder.find("div.navi")).left;
		var linkPosLeft = SPUTNIK.DOM_HANDLE.getPosition(link).left;
		var linkWidth = SPUTNIK.CSS_HANDLE.getWidth(link);
		var overlayWidth = SPUTNIK.CSS_HANDLE.getWidth(overlay);
		var mostLeft = naviMaskPosLeft+naviPosLeft+linkPosLeft;
		var mostRight = mostLeft+linkWidth;
		var nubsi_left = $(overlay).find("div.nubsi_left");
		var nubsi_right = $(overlay).find("div.nubsi_right");
		if(mostRight>this.maskWidth+naviMaskPosLeft-overlayWidth){
			SPUTNIK.CSS_HANDLE.setCss(overlay, SPUTNIK.getCssObj("left", (mostLeft-overlayWidth-10)+"px"));
			SPUTNIK.CSS_HANDLE.setCss(nubsi_left, SPUTNIK.getCssObj("display","none"));
			SPUTNIK.CSS_HANDLE.setCss(nubsi_right, SPUTNIK.getCssObj("display","block"));
		}else{
			SPUTNIK.CSS_HANDLE.setCss(overlay, SPUTNIK.getCssObj("left", mostRight+"px"));
			SPUTNIK.CSS_HANDLE.setCss(nubsi_left, SPUTNIK.getCssObj("display","block"));
			SPUTNIK.CSS_HANDLE.setCss(nubsi_right, SPUTNIK.getCssObj("display","none"));
		}
		//debug(linkWidth+" mostLeft: "+mostLeft+" "+mostRight+" "+linkPosLeft+" "+overlayWidth);
		//overlay.css("display","block");
		if(isBadBrowser){
			$(overlay).show();
		}else{
			$(overlay).fadeIn("slow");
		}
		this.lastOverlay = overlay;
	},
	selectItem: function(item, flag, saveAsLastItem){
		if(item==null){
			return;
		}

		if(flag){
			SPUTNIK.CSS_HANDLE.setCss($(item).find("span.normal"), SPUTNIK.getCssObj("display","none"));
			SPUTNIK.CSS_HANDLE.setCss($(item).find("span.over"), SPUTNIK.getCssObj("display","block"));
		}else{
			SPUTNIK.CSS_HANDLE.setCss($(item).find("span.normal"), SPUTNIK.getCssObj("display","block"));
			SPUTNIK.CSS_HANDLE.setCss($(item).find("span.over"), SPUTNIK.getCssObj("display","none"));
		}
		if(saveAsLastItem != false){
			this.lastItem = item;
		}
	},
	back: function(){
		this.scroll("back");
	},
	forward: function(){
		this.scroll("forward");
	},
	scrollTo: function(posIndex){

	}
}





 /**
  * Klasse - TopNews
  *
  * @constructor
  * @base Sputnik
  */

Sputnik.TopNews = Class.create();
Sputnik.TopNews.prototype = {
	initialize: function(holder) {
		SPUTNIK.setHandler("Css");
		SPUTNIK.setHandler("Dom");
		SPUTNIK.setHandler("Event");
		//
		var instance = this;
		//this.holderId = holderId;
		this.holder = holder;
		if(this.holder == undefined){
			return;
		}
		$(this.holder).find("div.content div.top").each(function(i){
			this.instance = instance;
			this.isOpen = false;
			this.close = function(){

				$(this).parent().find("p").slideToggle("slow");
				if(!this.isOpen){
					$(this).parent().find("a").removeClass("icon open").addClass("icon close");
				}else{
					$(this).parent().find("a").removeClass("icon close").addClass("icon open");
				}
				this.isOpen = !this.isOpen;
			}
			SPUTNIK.EVENT_HANDLE.bind(
				$(this),
				"click",
				function(){
					this.close();
				}
			);
		})
	}
}
/**
  * Klasse - LanguageChoice
  *
  * @constructor
  * @base Sputnik
  */

Sputnik.LanguageChoice = Class.create();
Sputnik.LanguageChoice.prototype = {
	//this is only stub-code, to show the labels
	initialize: function(holderId) {
		SPUTNIK.setHandler("Css");
		SPUTNIK.setHandler("Dom");
		SPUTNIK.setHandler("Event");
		//
		var instance = this;
		this.holderId = holderId;
		this.holder = $("#"+holderId);
		this.language = "de";
		if(this.holder == undefined){
			return;
		}
		this.holder.each(function(i){
			this.instance = instance;
			SPUTNIK.EVENT_HANDLE.bind(
				$(this),
				"click",
				function(){

					this.instance.language = this.instance.language == "de" ? "eng" : "de";
					$(this).find("div.de").toggle();
					$(this).find("div.eng").toggle();
					$(this).find(".prev").toggle();
					$(this).find(".next").toggle();
				}
			);
		})
	}
}
Sputnik.Util.Css.prototype.getHeight = function(elem, includeMargin){
	var val = 0;
	if (includeMargin === true){
		val = $(elem).height(includeMargin);
	}
	else{
		val = $(elem).height();
	}

	return val;
}

Sputnik.Util.Css.prototype.mouseWithIn = function(elem, e,  bounds){
	var x = e.pageX - elem.offsetLeft;
	var y = e.pageY - elem.offsetTop;
	var w = bounds.right == null ? SPUTNIK.CSS_HANDLE.getWidth(elem) : bounds.right;
	var h = bounds.bottom == null ? SPUTNIK.CSS_HANDLE.getHeight(elem) : bounds.bottom;
	//debug(x+" "+y+" "+w+" "+h);
	if(x<=0 || x>=w || y<=0 || y>= h){
		return false;
	}
	return true;
}

Sputnik.LightBox = Class.create();
Sputnik.LightBox.prototype = {

    initialize: function() {

		//alert("init");
		SPUTNIK.SHADOWBOX = Shadowbox;
		//alert(	"Shadowbox : "+Shadowbox+"\nSPUTNIK.SHADOWBOX : "+SPUTNIK.SHADOWBOX);
		SPUTNIK.SHADOWBOX.loadSkin('custom1', 'http://www.sputnik.de/scripts/sspgallery/shadowbox/build/skin'); // use sputnik skin
		SPUTNIK.SHADOWBOX.loadLanguage('de-DE', 'http://www.sputnik.de/scripts/sspgallery/shadowbox/build/lang'); // use german
		SPUTNIK.SHADOWBOX.loadPlayer(['img', 'html', 'iframe'], 'http://www.sputnik.de/scripts/sspgallery/shadowbox/build/player'); // use img and qt players

	    var options = {
	       		handleOversize:     'drag',
	       		displayNav:         true,
	       		handleUnsupported:  'remove',
	       		autoplayMovies:     false,
				animateFade:		true,
				continuous: 		true,
				overlayOpacity:		0.8,
				modal:				true,
				viewportPadding:    20,
				counterType:		'default'
	    };

	    SPUTNIK.SHADOWBOX.init(options);

    },

    getContentIntoBox: function(aid) {
    	//alert("getContentIntoBox");
        $("#galerie"+aid).append("<span style='display:none'></span>");
    	$("#galerie"+aid+" span").load("http://www.sputnik.de/scripts/sspgallery/shaddowadapter.php?w=galerie&aid="+aid,'',function(){
	   		SPUTNIK.SHADOWBOX.setup();
	   		$('#galerie'+aid+' span a:first').trigger('click');
    	});
    }

}


function debug(msg){
	if($("#debug").length){
		if(typeof (msg) == "object"){
			$("#debug").append(msg);
		}
		else{
			$("#debug").html($("#debug").html()+"<br/>"+msg);
		}
	}
	else{
		$("body").append("<div id=\"debug\" style=\"position:absolute;background-color: white; color:#000000; width: 400px;z-index:10000\"></div>");
		if(typeof (msg) == "object"){
			$("#debug").append(msg);
		}
		else{
			$("#debug").html($("#debug").html()+"<br/>"+msg);
		}
	}

}

/* / cosmoblonde */



////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LINEUP STUFF


var LineUp_FestivalID = 1;
var LineUp_Day        = '';
var LineUp_Filter     = '';
var LineUp_Sort       = '';
var LineUp_Menu       = 1;
var LineUp_ActiveArtist;

var LineUp_MeinPlan = new Array();


function LineUpToggleActive(e){

	$(".lineup_active").removeClass("lineup_active").addClass("lineup_inactive").hide();
	$("#"+e).removeClass("lineup_inactive").addClass("lineup_active").fadeIn(500);

	$(".lineup_constrains").hide();

	if (e=="content_lineup") {
	   $("#tabnavi li a").removeClass("current");
	   $("#tabnavi #lu").addClass("current");
	   $("#lineup_sort").fadeIn(500);
	   $("#lineup_filter").fadeIn(500);

	   $("#content_lineup").load("../scripts/lineup/AJAXgetLineUp.php",{FestivalID: LineUp_FestivalID, Day: LineUp_Day },
								 function(){
									 if ( LineUp_ActiveArtist != -1 ) {
	      								$("#lineupentry"+LineUp_ActiveArtist+" span").removeClass("plus").addClass("minus");
	  								 }

								 });
	   LineUp_Menu = 1;
	}

    if (e=="content_runningorder") {
	   $("#tabnavi li a").removeClass("current");
	   $("#tabnavi #ro").addClass("current");
	   $("#lineup_filter").fadeIn(500);

	   $("#content_runningorder").load("../scripts/lineup/AJAXgetRunningOrder.php",{FestivalID: LineUp_FestivalID, Day: LineUp_Day },
									   function(){
											if ( LineUp_ActiveArtist != -1 ) {
	                                                 $("#content_runningorder .roentry"+LineUp_ActiveArtist+" span").removeClass("plus").addClass("minus");
	                                        }

									   });
	   LineUp_Menu = 2;
	}

	if (e=="content_myplan") {
	   $("#tabnavi li a").removeClass("current");
	   $("#tabnavi #mp").addClass("current");

	   $("#content_myplan").load("../scripts/lineup/AJAXgetMeinPlan.php",{FestivalID: LineUp_FestivalID, ArtistIDs: LineUp_MeinPlan.join("|") },
									   function(){
											if ( LineUp_ActiveArtist != -1 ) {
	                                                 $("#content_myplan .roentry"+LineUp_ActiveArtist+" span").removeClass("plus").addClass("minus");
	                                        }
									   });
	   LineUp_Menu = 3;
	}

    getIVWPixel();

}

function LineUpSetDay(day){
	LineUp_Day = day;
	if (LineUp_Menu == 1) {
	   $("#content_lineup").load("../scripts/lineup/AJAXgetLineUp.php",{FestivalID: LineUp_FestivalID, Day: LineUp_Day },
									   function(){ setActiveArtistSymbol(LineUp_ActiveArtist); });
	}
	if (LineUp_Menu == 2) {
	   $("#content_runningorder").load("../scripts/lineup/AJAXgetRunningOrder.php",{FestivalID: LineUp_FestivalID, Day: LineUp_Day },
									   function(){ setActiveArtistSymbol(LineUp_ActiveArtist); });
	}
	$("#tagnavi li a").removeClass("current");
	$("#lineupday"+day).addClass("current");

    getIVWPixel();
}

function LineUpGetArtistInfo(kid){

	// mein Plan Status
	var Status = 0;
	if (jQuery.inArray(kid, LineUp_MeinPlan) != -1) {
	   Status = 1;
	}

	// is artist active
	$("#content_lineup span").removeClass("minus").addClass("plus");
	$("#content_runningorder span").removeClass("minus").addClass("plus");
	$("#content_myplan span").removeClass("minus").addClass("plus");

	if (LineUp_ActiveArtist != kid) {

	   $("#lineupright").load("../scripts/lineup/AJAXgetArtistInfo.php",{FestivalID: LineUp_FestivalID, ArtistID: kid, meinPlanStatus: Status },
							function(){

							   		new Sputnik.Bildrechte();
							   		$("#lineupartistmedia").load("../scripts/lineup/AJAXgetMedia.php",{SixIDs: LineUp_Media.join("|")},
											function(){
                                                     if ($('#lineupartistmedia a').length) {
    												    Shadowbox.setup($('#lineupartistmedia a'), {
       															player: 'iframe'
    												    });
    												 }

											});
									if(LineUp_Bildrecht_SixID != 0) {
								       $(".bildrechteItem p").load("../scripts/lineup/AJAXgetBildrecht.php",{SixID: LineUp_Bildrecht_SixID});
								    }
					  	    });
	   LineUp_ActiveArtist = kid;

	   setActiveArtistSymbol(kid);
	}
	else {
	   $("#lineupright").html("");
	   LineUp_ActiveArtist = -1;
	}

	getIVWPixel();
}

function setActiveArtistSymbol(kid) {
	 $("#lineupentry"+kid+" span").removeClass("plus").addClass("minus");
	 $("#content_runningorder .roentry"+kid+" span").removeClass("plus").addClass("minus");
	 $("#content_myplan .roentry"+kid+" span").removeClass("plus").addClass("minus");
}

function LineUpFilter(e){
  	LineUp_Filter = e.options[e.selectedIndex].value;

	if (LineUp_Menu == 1) {
	   $("#content_lineup").load("../scripts/lineup/AJAXgetLineUp.php",{FestivalID: LineUp_FestivalID, Day: LineUp_Day, Filter: LineUp_Filter, Sort: LineUp_Sort }, function(){ setActiveArtistSymbol(LineUp_ActiveArtist); });
	}
	if (LineUp_Menu == 2) {
	   $("#content_runningorder").load("../scripts/lineup/AJAXgetRunningOrder.php",{FestivalID: LineUp_FestivalID, Day: LineUp_Day, Filter: LineUp_Filter }, function(){ setActiveArtistSymbol(LineUp_ActiveArtist); });
	}
    getIVWPixel();
}

function LineUpSort(e){
    LineUp_Sort = e.options[e.selectedIndex].value;

	if (LineUp_Menu == 1) {
       $("#content_lineup").load("../scripts/lineup/AJAXgetLineUp.php",{FestivalID: LineUp_FestivalID, Day: LineUp_Day, Filter: LineUp_Filter, Sort: LineUp_Sort }, function(){ setActiveArtistSymbol(LineUp_ActiveArtist); });
	}
	if (LineUp_Menu == 2) {
	   $("#content_runningorder").load("../scripts/lineup/AJAXgetRunningOrder.php",{FestivalID: LineUp_FestivalID, Day: LineUp_Day, Filter: LineUp_Filter }, function(){ setActiveArtistSymbol(LineUp_ActiveArtist); });
	}
	getIVWPixel();
}

function LineUpDoMP(kid) {

   var pos = jQuery.inArray(kid, LineUp_MeinPlan);

   if (pos == -1) {
	   LineUp_MeinPlan.push(kid);
	   $("#add2mylist").hide();
	   $("#remove2mylist").show();

   }
   else {
	   LineUp_MeinPlan.splice(pos,1);
	   $("#add2mylist").show();
	   $("#remove2mylist").hide();
   }

   if (LineUp_Menu == 3) {
      $("#content_myplan").load("../scripts/lineup/AJAXgetMeinPlan.php",{FestivalID: LineUp_FestivalID, ArtistIDs: LineUp_MeinPlan.join("|") },
									   function(){
											if ( LineUp_ActiveArtist != -1 ) {
	                                                 $("#content_myplan .roentry"+LineUp_ActiveArtist+" span").removeClass("plus").addClass("minus");
	                                        }
									   });
   }

   getIVWPixel();
}

function getIVWPixel() {
   $("#lpivwp").load("../scripts/lineup/AJAXgetIVWPixel.php");
}

