// ###########  Social Bookmarks ########### //

function socialOver(text) {
	if (text == '') {
		text = '...';
	} else {
		text='&nbsp;<strong>'+text+'</strong>';
	}
	document.getElementById('socialText').innerHTML=text;
}
function socialDo(was) {
	socialurl=encodeURIComponent(location.href);
	socialtitle=encodeURIComponent(document.title);
	switch(was) {		
		case 'delicious':
			window.open('http://del.icio.us/post?url='+socialurl+'&title='+socialtitle);
			break;
		case 'wong':
			window.open('http://www.mister-wong.de/index.php?action=addurl&bm_url='+socialurl+'&bm_description='+socialtitle);
			break;
		case 'blinkList':
			window.open('http://www.blinklist.com/index.php?Action=Blink/addblink.php&Description=&Url='+socialurl+'&Title='+socialtitle);
			break;
		case 'yahoo':
			window.open('http://myweb2.search.yahoo.com/myresults/bookmarklet?u='+socialurl+'&t='+socialtitle);
			break;
		case 'yigg':
			window.open('http://yigg.de/neu?exturl='+socialurl+'&exttitle='+socialtitle);
			break;	
		case 'furl':
			window.open('http://www.furl.net/storeIt.jsp?u='+socialurl+'&t='+socialtitle);
			break;
		case 'oneview':
			window.open('http://beta.oneview.de:80/quickadd/neu/addBookmark.jsf?URL='+socialurl+'&title='+socialtitle);			
			break;
		case 'folkd':
			window.open('http://www.folkd.com/submit/page/'+socialurl);
			break;
		case 'linkarena':	
			window.open('http://linkarena.com/bookmarks/addlink/?url='+socialurl+'&title='+socialtitle+'&desc=&tags=');
			break;
		case 'google': 		
			window.open('http://www.google.com/bookmarks/mark?op=add&hl=de&bkmk='+socialurl+'&title='+socialtitle);
			break;
		case 'webnews': 		
			window.open('http://www.webnews.de/einstellen?url='+socialurl+'&title='+socialtitle);
			break;
	}
}

// ###########  Srollong Slider ########### //

var SLIDETIMER = 3;
var SLIDESPEED = 3;
var SCROLLTIMER = 3;
var SCROLLSPEED = 3;
var STARTINGOPACITY = 80;

function slideContent(id,prefix,timer) {
  var div = document.getElementById(id);
  var slider = div.parentNode;
  clearInterval(slider.timer);
  slider.section = parseInt(id.replace(/\D/g,''));
  slider.target = div.offsetTop;
  slider.style.top = slider.style.top || '0px';
  slider.current = slider.style.top.replace('px','');
  slider.direction = (Math.abs(slider.current) > slider.target) ? 1 : -1;
  slider.style.opacity = STARTINGOPACITY * .01;
  slider.style.filter = 'alpha(opacity=' + STARTINGOPACITY + ')';
  slider.timer = setInterval( function() { slideAnimate(slider,prefix,timer) }, SLIDETIMER);
}

function slideAnimate(slider,prefix,timer) {
  var curr = Math.abs(slider.current);
  var tar = Math.abs(slider.target);
  var dir = slider.direction;
  if((tar - curr <= SLIDESPEED && dir == -1) || (curr - tar <= SLIDESPEED && dir == 1)) {
    slider.style.top = (slider.target * -1) + 'px';
	slider.style.opacity = 1;
	slider.style.filter = 'alpha(opacity=100)';
    clearInterval(slider.timer);
	if(slider.autoscroll) {
	  setTimeout( function() { autoScroll(slider.id,prefix,timer) }, timer * 1000);
	}
  } else {
	var pos = (dir == 1) ? parseInt(slider.current) + SLIDESPEED : slider.current - SLIDESPEED;
    slider.current = pos;
    slider.style.top = pos + 'px';
  }
}

// handles manual scrolling of the content //
function scrollContent(id,dir) {
  var div = document.getElementById(id);
  clearInterval(div.timer);
  var sections = div.getElementsByTagName('div');
  var length = sections.length;
  var limit;
  if(dir == -1) {
    limit = 0;
  } else {
    if(length > 1) {
      limit = sections[length-1].offsetTop;
    } else {
      limit = sections[length-1].offsetHeight - div.parentNode.offsetHeight + 20;
    }
  }
  div.style.opacity = STARTINGOPACITY * .01;
  div.style.filter = 'alpha(opacity=' + STARTINGOPACITY + ')';
  div.timer = setInterval( function() { scrollAnimate(div,dir,limit) }, SCROLLTIMER);
}

function scrollAnimate(div,dir,limit) {
  div.style.top = div.style.top || '0px';
  var top = div.style.top.replace('px','');
  if(dir == 1) {
	if(limit - Math.abs(top) <= SCROLLSPEED) {
	  cancelScroll(div.id);
	  div.style.top = '-' + limit + 'px';
	} else {
	  div.style.top = top - SCROLLSPEED + 'px';
	}
  } else {
	if(Math.abs(top) - limit <= SCROLLSPEED) {
	  cancelScroll(div.id);
	  div.style.top = limit + 'px';
	} else {
	  div.style.top = parseInt(top) + SCROLLSPEED + 'px';
	}
  }
}

// cancel the scrolling on mouseout //
function cancelScroll(id) {
  var div = document.getElementById(id);
  div.style.opacity = 1;
  div.style.filter = 'alpha(opacity=100)';
  clearTimeout(div.timer);
}

// initiate auto scrolling //
function autoScroll(id,prefix,timer,restart) {
  var div = document.getElementById(id);
  div.autoscroll = (!div.autoscroll && !restart) ? false : true;
  if(div.autoscroll) {
    var sections = div.getElementsByTagName('div');
    var length = sections.length;
    div.section = (div.section && div.section < length) ? div.section + 1 : 1;
    slideContent(prefix + '-' + div.section,prefix,timer);
  }
}

// cancel automatic scrolling //
function cancelAutoScroll(id) {
  var div = document.getElementById(id);
  div.autoscroll = false;
}


// ###########  Accordion  ########### //

var accordion=function(){
	var tm=sp=2;
	function slider(n){this.nm=n; this.arr=[]}
	slider.prototype.init=function(t,c,k){
		var a,h,s,l,i; a=document.getElementById(t); this.sl=k?k:'';
		h=a.getElementsByTagName('dt'); s=a.getElementsByTagName('dd'); this.l=h.length;
		for(i=0;i<this.l;i++){var d=h[i]; this.arr[i]=d; d.onclick=new Function(this.nm+'.pro(this)'); if(c==i){d.className=this.sl}}
		l=s.length;
		for(i=0;i<l;i++){var d=s[i]; d.mh=d.offsetHeight; if(c!=i){d.style.height=0; d.style.display='none'}}
	}
	slider.prototype.pro=function(d){
		for(var i=0;i<this.l;i++){
			var h=this.arr[i], s=h.nextSibling; s=s.nodeType!=1?s.nextSibling:s; clearInterval(s.tm);
			if(h==d&&s.style.display=='none'){s.style.display=''; su(s,1); h.className=this.sl}
			else if(s.style.display==''){su(s,-1); h.className=''}
		}
	}
	function su(c,f){c.tm=setInterval(function(){sl(c,f)},tm)}
	function sl(c,f){
		var h=c.offsetHeight, m=c.mh, d=f==1?m-h:h; c.style.height=h+(Math.ceil(d/sp)*f)+'px';
		c.style.opacity=h/m; c.style.filter='alpha(opacity='+h*100/m+')';
		if(f==1&&h>=m){clearInterval(c.tm)}else if(f!=1&&h==1){c.style.display='none'; clearInterval(c.tm)}
	}
	return{slider:slider}
}();


// ###########  Fading Tooltipps  ########### //

var tooltip=function(){
	var id = 'tt';
	var top = 3;
	var left = 3;
	var maxw = 150;
	var speed = 10;
	var timer = 20;
	var endalpha = 90;
	var alpha = 10;
	var tt,t,c,b,h;
	var ie = document.all ? true : false;
	return{
		show:function(v,w){
			if(tt == null){
				tt = document.createElement('div');
				tt.setAttribute('id',id);
				t = document.createElement('div');
				t.setAttribute('id',id + 'top');
				c = document.createElement('div');
				c.setAttribute('id',id + 'cont');
				b = document.createElement('div');
				b.setAttribute('id',id + 'bot');
				tt.appendChild(t);
				tt.appendChild(c);
				tt.appendChild(b);
				document.body.appendChild(tt);
				tt.style.opacity = 0;
				tt.style.filter = 'alpha(opacity=0)';
				document.onmousemove = this.pos;
			}
			tt.style.display = 'block';
			c.innerHTML = v;
			tt.style.width = w ? w + 'px' : 'auto';
			if(!w && ie){
				t.style.display = 'none';
				b.style.display = 'none';
				tt.style.width = tt.offsetWidth;
				t.style.display = 'block';
				b.style.display = 'block';
			}
			if(tt.offsetWidth > maxw){tt.style.width = maxw + 'px'}
			h = parseInt(tt.offsetHeight) + top;
			clearInterval(tt.timer);
			tt.timer = setInterval(function(){tooltip.fade(1)},timer);
		},
		pos:function(e){
			var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY;
			var l = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX;
			tt.style.top = (u - h) + 'px';
			tt.style.left = (l + left) + 'px';
		},
		fade:function(d){
			var a = alpha;
			if((a != endalpha && d == 1) || (a != 0 && d == -1)){
				var i = speed;
				if(endalpha - a < speed && d == 1){
					i = endalpha - a;
				}else if(alpha < speed && d == -1){
					i = a;
				}
				alpha = a + (i * d);
				tt.style.opacity = alpha * .01;
				tt.style.filter = 'alpha(opacity=' + alpha + ')';
			}else{
				clearInterval(tt.timer);
				if(d == -1){tt.style.display = 'none'}
			}
		},
		hide:function(){
			clearInterval(tt.timer);
			tt.timer = setInterval(function(){tooltip.fade(-1)},timer);
		}
	};
}();


// #################### Kraftstoffrechner ############################ //

kfz="pkw";
  sprit="benzin";
  u=1.40;
  X=false;
  menge=0;
  erg=0;
 
  
  function read(L){
        menge=parseFloat(L);
	X=true;
  }
  

  function Umrechnung(){
        if(X==false){
            alert("Wieviel Liter verbraucht Ihr Wagen?");
         }
       if(window.document.kraftstoff.kfzArt.options[0].selected==true){
                kfz="pkw";
        }if(window.document.kraftstoff.kfzArt.options[1].selected==true){
                kfz="lkw";
        }
 /*        if(window.document.kraftstoff.spritArt.options[1].selected==true){
                sprit="super";
        }if(window.document.kraftstoff.spritArt.options[2].selected==true){
                sprit="diesel";
        }
        if(window.document.kraftstoff.spritArt.options[0].selected==true){
                alert("Welchen Treibstoff nutzen Sie?");
        }
        */
        sprit = window.document.kraftstoff.spritArt.value;
	erdgaspreis = window.document.kraftstoff.erdgas.value;
        if(window.document.kraftstoff.sup.checked){window.document.kraftstoff.spritPreis.value=window.document.kraftstoff.sup2.value;sprit="super";}
        if(window.document.kraftstoff.diesel.checked){window.document.kraftstoff.spritPreis.value=window.document.kraftstoff.diesel2.value;sprit="diesel"}
        if(sprit=="super" && kfz=="pkw"){u=1.40;}
        if(sprit=="super" && kfz=="lkw"){u=1.28;}
        if(sprit=="diesel" && kfz=="lkw"){u=1.10;}
        if(sprit=="diesel" && kfz=="pkw"){u=1.10;}
        sp=window.document.kraftstoff.spritPreis.value;
        x1=Math.ceil(menge/u*erdgaspreis*100)/100;
        x2=Math.ceil(menge*sp*100)/100;
        erg=Math.ceil((x2-x1)*100)/100;
	//if(document.kraftstoff.Liter.value.indexOf(',') == 1||document.kraftstoff.spritPreis.value.indexOf(',') == 1||document.kraftstoff.erdgas.value.indexOf(',') == 1||(Math.round(menge/100*100)!=menge)){
        if(document.kraftstoff.Liter.value.indexOf(',') == 1||document.kraftstoff.spritPreis.value.indexOf(',') == 1||document.kraftstoff.erdgas.value.indexOf(',') == 1){
                alert("Bitte geben Sie Ihre Angabe mit einem Punkt ein (z.B.: 1.89).");
        }else{
                window.document.kraftstoff.Differenz.value=erg;
        }
        
  }
