// convert date input into dateFormat
function correctDate(inputDate, dateFormat) {	
	var outputDate = "";
	var Daten = (inputDate.split(".")).length == 3 ? inputDate.split(".") : inputDate.split("/");
	var Format = (dateFormat.split(".")).length == 3 ? dateFormat.split(".") : dateFormat.split("/");

	if(Daten.length == 3) {
		
		for(var i = 0; i < Daten.length; i++) {
			if(Format[i] == 'TT' || Format[i] == 'DD') var day = parseInt(Daten[i], 10);
			if(Format[i] == 'MM') var month = parseInt(Daten[i], 10);
			if(Format[i] == 'JJJJ' || Format[i] == 'YYYY') var year = parseInt(Daten[i], 10);
		}

		if(day > 0 && day < 10) {
			day = "0"+day;
		} else if(day >= 10) {
		} else {
			return inputDate;
		}
		
		if(month > 0 && month < 10) {
			month = "0"+month;
		} else if(month >= 10) {
		} else {
			return inputDate;
		}
		
		if(year >= 0 && year < 10) {
			year = "200"+year;
		} else if(year >= 10 && year < 30) {
			year = "20"+year;
		} else if(year >= 30 && year < 100) {
			year = "19"+year;
		} else if(year >= 100) {
		} else {
			return inputDate;
		}

		outputDate = dateFormat;
		outputDate = outputDate.replace(/TT/, day);
		outputDate = outputDate.replace(/DD/, day);
		outputDate = outputDate.replace(/MM/, month);
		outputDate = outputDate.replace(/JJJJ/, year);
		outputDate = outputDate.replace(/YYYY/, year);

		//alert("Inputdate: "+inputDate+"\nOutputdate: "+outputDate);

		return outputDate;
	} else {
		return inputDate;
	}
}

function fontsize(sel,x){
    var b = $$(sel+' p', sel+' td', sel+' input', sel+' h1', sel+' h2', sel+' h3', sel+' h4');
    b.each(function(el){
        var size = el.getStyle('fontSize');
        if (size.toLowerCase()=='small'){size='10px';}
        if(size.endsWith('px')){size=size.toLowerCase().replace('px','')*x+'px';}
        if(size.endsWith('%')) {size=size.toLowerCase().replace('%' ,'')*x+'%' ;}
        if(size.endsWith('em')){size=size.toLowerCase().replace('em','')*x+'em';}
        if(size.endsWith('pt')){size=size.toLowerCase().replace('pt','')*x+'pt';}
        el.setStyle({'fontSize': size});
    });
}

function tooltip(ev){
    var el = $(ev.target);
    var tip = $('tooltip');
    if(!tip){$('body').append("<div id='tooltip' style='position:absolute;background:#eee;border:1px solid #555;padding:3px;'></div>");}
    tip = $('#tooltip');
    tip.html('');
    tip.css('position','absolute');
    var tmp = el.attr('title');
    if(tmp){el.attr('tooltip',tmp);el.removeAttr('title');}
    tip.html(el.attr('tooltip'));
    tooltip_update(ev);
    tip.show();
    el.mousemove(tooltip_update);
    el.mouseout(tooltip_close);
}
function tooltip_update(ev){
    var el = $(ev.target);
    var tip = $('#tooltip');
    var offset = 10;
    ttx = 0;
    if(ev.pageX + 2*offset + tip.width() >= window.innerWidth)
        {ttx = window.innerWidth - offset - tip.width();}
    else {ttx = ev.pageX + offset;}
    tty = 0;
    if(ev.pageY - 2*offset - tip.height() <= 0)
        {tty = ev.pageY + offset;}
    else {tty = ev.pageY - offset - tip.height();}
    tip.css('left',ttx);
    tip.css('top',tty);
}
function tooltip_close(ev){
    $('tooltip').hide();
}
function maketooltip(els){
    $$(els).each(function(el){el.observe('mouseover',tooltip);});
}


function starttooltips(els){
      $$('input[title]').invoke('observe', 'mouseover', function(evt){
          var element = evt.findElement('input');
		  var text = element.getAttribute('title');
          var tooltip = new Element('div', {'class':'tooltip'}).update(text);
          element.removeAttribute('title'); 
		  element.setAttribute('_title', text);
          element.insert({'after': tooltip.setStyle({'left':element.positionedOffset()[0]+'px', 'top':element.positionedOffset()[1]+'px'})});
      }).invoke('observe', 'mouseout', function(evt){
          var element = evt.findElement('input'), text = element.getAttribute('_title');
          element.removeAttribute('_title'); element.setAttribute('title', text);
          if (element.next().hasClassName('tooltip')) element.next().remove();
      });
}

function setCookie(name, wert, domain, expires, path, secure){
   var cook = name+"="+unescape(wert);
   cook += (domain) ? "; domain="+ domain : "";
   cook += (expires) ? "; expires="+expires : "";
   cook += (path) ? "; path="+path : "; path=/";
   cook += (secure) ? "; secure"+secure : "";
   document.cookie = cook;
}

function eraseCookie(name, domain, path){
   var cook=name+"=; expires=Thu, 01-Jan-70 00:00:01 GMT";
   cook += (domain) ? "; domain="+domain : "";
   cook += (path) ? "; path="+path : "; path=/";
   document.cookie = cook;
}

function getCookie(name){
   var i=0;  //Suchposition im Cookie
   var suche = name+"=";
   while (i<document.cookie.length){
      if (document.cookie.substring(i, i+suche.length)==suche){
         var ende = document.cookie.indexOf(";", i+suche.length);
         ende = (ende>-1) ? ende : document.cookie.length;
         var cook = document.cookie.substring(i+suche.length, ende);
         return unescape(cook);
      }
      i++;
   }
   return null;
}

function checkCookie(){
   setCookie("CookieTest", "OK");
   if (!getCookie("CookieTest"))
      return false;
   else{
      eraseCookie("CookieTest");
      return true;
   }
}

function insertIntoWatchlist(articleid){
   var oldwatchlist = getCookie("watchlist");
   var watchlist = (oldwatchlist) ? oldwatchlist + "," + articleid : articleid;
   var expires = new Date(+new Date()+31*864e5); // go ahead 31*24 hours
   setCookie("watchlist", watchlist, null, expires);

   if (!checkCookie())
      alert(E_activate_cookies);
   else
      alert(E_watchlist_added);

   document.getElementById('watchedarticles').innerHTML=countWatchedArticles();
}

function removeFromWatchlist(articleid){
   var oldwatchlist = getCookie("watchlist");
   if(!oldwatchlist) return;
   var watchlistarray = oldwatchlist.split(',');
   
   for(var i=0; i<watchlistarray.length;i++ ) {
      if(watchlistarray[i]==articleid)
         watchlistarray.splice(i,1); 
   }
   
   if(watchlistarray.length > 0) {
	   var watchlist = watchlistarray[0];
	   if(watchlistarray.length > 1) {
		   for(var i=1; i<watchlistarray.length;i++ ) { 
		      watchlist += ","+watchlistarray[i];
		   }
	   }
	   var expires = new Date(+new Date()+31*864e5); // go ahead 31*24 hours
	   setCookie("watchlist", watchlist, null, expires);
   } else {
       eraseCookie('watchlist');
   }

   if (!checkCookie())
      alert(E_activate_cookies);
   else
      alert(E_watchlist_removed);

   document.getElementById('watchedarticles').innerHTML=countWatchedArticles();
}

function changeTeaser(teaserid, start) {
	//alert(teaserid);
	if (numberOfTeaserImages <= 2) return;
	// LIMIT number of 
	if (numberOfTeaserImages > 6) numberOfTeaserImages = 6;
	
	if (stopChange == 0) {
		if (!start) {
			setTimeout("if (document.getElementById('teaser_black_"+oldteaserid+"')) { document.getElementById('teaser_black_"+oldteaserid+"').style.opacity = 0.2; document.getElementById('teaser_black_"+teaserid+"').style.filter = 'progid:DXImageTransform.Microsoft.gradient(startColorstr=#33000000,endColorstr=#33000000)'; }", 40);
			setTimeout("if (document.getElementById('teaser_black_"+oldteaserid+"')) { document.getElementById('teaser_black_"+oldteaserid+"').style.opacity = 0.4; document.getElementById('teaser_black_"+teaserid+"').style.filter = 'progid:DXImageTransform.Microsoft.gradient(startColorstr=#33000000,endColorstr=#66000000)'; }", 80);
			setTimeout("if (document.getElementById('teaser_black_"+oldteaserid+"')) { document.getElementById('teaser_black_"+oldteaserid+"').style.opacity = 0.6; document.getElementById('teaser_black_"+teaserid+"').style.filter = 'progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000,endColorstr=#99000000)'; }", 120);
			setTimeout("if (document.getElementById('teaser_black_"+oldteaserid+"')) { document.getElementById('teaser_black_"+oldteaserid+"').style.opacity = 0.8; document.getElementById('teaser_black_"+teaserid+"').style.filter = 'progid:DXImageTransform.Microsoft.gradient(startColorstr=#CC000000,endColorstr=#CC000000)'; }", 160);
			//setTimeout("if(document.getElementById('teaser_black_"+oldteaserid+"')) document.getElementById('teaser_black_"+oldteaserid+"').style.opacity = 1.0;", 250);

		
			setTimeout("if (document.getElementById('teaser_"+oldteaserid+"')) { document.getElementById('teaser_"+oldteaserid+"').style.display = 'none'; }", 200);
			setTimeout("document.getElementById('teaser_"+teaserid+"').style.display = 'block';", 200);
		
			//setTimeout("if(document.getElementById('teaser_black_"+teaserid+"')) document.getElementById('teaser_black_"+teaserid+"').style.opacity = 0.8;", 350);
			setTimeout("document.getElementById('teaser_black_"+teaserid+"').style.opacity = 0.6; document.getElementById('teaser_black_"+teaserid+"').style.filter = 'progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000,endColorstr=#99000000)';", 240);
			setTimeout("document.getElementById('teaser_black_"+teaserid+"').style.opacity = 0.4; document.getElementById('teaser_black_"+teaserid+"').style.filter = 'progid:DXImageTransform.Microsoft.gradient(startColorstr=#66000000,endColorstr=#66000000)';", 280);
			setTimeout("document.getElementById('teaser_black_"+teaserid+"').style.opacity = 0.2; document.getElementById('teaser_black_"+teaserid+"').style.filter = 'progid:DXImageTransform.Microsoft.gradient(startColorstr=#33000000,endColorstr=#33000000)';", 320);
			setTimeout("document.getElementById('teaser_black_"+teaserid+"').style.opacity = 0.0; document.getElementById('teaser_black_"+teaserid+"').style.filter = 'progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000,endColorstr=#00000000)';", 360);
		}

		oldteaserid = teaserid;
		if (++teaserid > numberOfTeaserImages-1) teaserid = 1;
	}

	setTimeout("changeTeaser("+teaserid+", false)", changeTime);
}
