var target_height=200;

var number_scroller=0;
var interval;

var sbh= new Array();
var active_more=0;

//Variablen fuer Carousel
var oc = new Array();
var busy = new Array();
var element_width = new Array();
var current_page_array = new Array();
var acc_busy=false;


var a1a = new Image();
var a2a = new Image();
var a1i = new Image();
var a2i = new Image();

a1a.src="images/scrollingarrow_left.png";
a2a.src="images/scrollingarrow_right.png";
a1i.src="images/scrollingarrow_left_inactive.png";
a2i.src="images/scrollingarrow_right_inactive.png";

var carousel_list=new Array();
// in dim0: Beite des Carousels

var notclicked=true;
var current_auto_scroller=-1;


function autoscroll() {
    if(current_auto_scroller==-1) {
	current_auto_scroller=1;
    }

    
    if(notclicked) {
	if(pc=document.getElementById("pc"+current_tab)) {
	    current_auto_scroller++;
	    if(current_auto_scroller>=pc.childNodes.length) {
		//current_auto_scroller=1;
	    }
	    else {
		st(current_auto_scroller,false);
		window.setTimeout("autoscroll()", 7000);
	    }
	}
    }

}

function st(pos,clear) {
    speed=22;
    do_move=true;
    if(clear) {
	notclicked=false;
    }
    if(clear && acc_busy) {
	do_move=false;
    }

    if(do_move) {
	if(s=document.getElementById("t"+current_tab)) {
	    acc_busy=true;
	       
	    current_offset=s.style.left.replace(/px/,"")*1;
	    target_offset=(pos-1)*(-940);
	    
	    if(current_offset>target_offset) {
		dir=-1;
	    }
	    else {
		dir=1;
	    }
	    
	    corridor=Math.abs(current_offset-target_offset);
	    if(corridor < speed) {
		s.style.left=target_offset+"px";

		if(ll=document.getElementsByName("l"+current_tab)) {
		    for(i=0;i<ll.length;i++) {
			if(ll[i].innerHTML==pos) {
			    ll[i].className="acc_pager_active";
			}
			else {
			    ll[i].className="acc_pager";
			}
		    }
		}
		

		acc_busy=false;
	    }
	    else {
		s.style.left=(current_offset+(dir*speed))+"px";
		window.setTimeout("st("+pos+",false)",5);
	    }
	}
    }
}


function t2(id,clear) {		
    notclicked=false;
    if(clear && !acc_busy) {
	window.clearInterval(interval);
	if(tabs=document.getElementsByName("acc_back_"+current_tab)) {
	    for(i=0;i<tabs.length;i++) {
		tabs[i].className="background";
	    }
	}
	if(tabs=document.getElementsByName("acc_back_"+id)) {
	    for(i=0;i<tabs.length;i++) {
		tabs[i].className="background_trans";
	    }
	}

	if(pcont1=document.getElementById("pc"+current_tab)) {
	   pcont1.style.display="none";
	}
	if(pcont2=document.getElementById("pc"+id)) {
	   pcont2.style.display="";
	}

    }

    do_move=true;
    if(clear && acc_busy) {
	do_move=false;
    }
    
    if(do_move) {
	if(id!=current_tab) {
	    acc_busy=true;

	    o1=document.getElementById("c"+id);
	    o2=document.getElementById("c"+current_tab);
	
	    o1_old_height=o1.style.height.replace(/px/,"")*1;
	    o2_old_height=o2.style.height.replace(/px/,"")*1;
    
    
	    o1_new_height=o1_old_height+10;
	    o2_new_height=o2_old_height-10;
	    if(o2_new_height<30) {
		o2_new_height=30;
	    }
    
	    o1.style.height=o1_new_height+"px";
	    o2.style.height=o2_new_height+"px";
	    
    
	    if(o2.style.height=="30px") {
		acc_busy=false;
		current_tab=id;
		return 1;
	    }
	    else {
		window.setTimeout("t2("+id+", false)",5);
	    }
	}
    }
}

function stylesheet_toggle() {
l=document.getElementsByTagName("table");
    for(ii=0;ii<l.length;ii++) {
	if(l[ii].className=="tarifdetails") {
	    cn="odd";
	    t=l[ii];
	    tr=t.lastChild.childNodes;

	    tr_counter=0;
	    for(jj=0;jj<tr.length;jj++) {
		if(tr[jj].tagName=="TR") {
		tr_counter++;
		}
	    }

	    if(tr_counter>1) {
		for(jj=0;jj<tr.length;jj++) {
    
		    if(tr[jj].tagName=="TR") {
			if(cn=="even") {
			    cn="odd";
			}
			else {
			    cn="even";
			}
			tr[jj].className=cn;
		    }
		}
	    }
	}
    }
}

function init() {
    stylesheet_toggle();

    l=document.getElementsByName("cl");
	number_scroller=l.length;
    if(l) {
	if(l.length>0) {
	    for(i=0;i<l.length;i++) {
		l[i].removeAttribute("href");
	    }
	}
    }


    //Smallerboxen initiieren


    if(window.location.hash) {
	
    }
    else {
	sb=document.getElementsByName("smaller");
	for(i=0;i<sb.length;i++) {
	    h=sb[i].childNodes[0].offsetHeight;
	    sbh[i]=h;
    
	    if(h>250) {		/* Etwas Puffer, damit nicht nur 2 Pixeal ausgefahren werden */
		sb[i].childNodes[0].style.height="172px";
		sb[i].childNodes[1].innerHTML="<div style='border-top: 1px dashed #a0a0a0;'><a href='javascript:sb_expand("+i+")'><b>Mehr...</b></a></div>";
		sb[i].childNodes[1].style.display="";
	    }
	}
    }


    //Karussels initiieren
    c=document.getElementsByName("scroller");
    for(z=0;z<c.length;z++) {

	c[z].style.width=c[z].offsetWidth-120+"px";
	p=c[z];
	sub_div=p.childNodes;
	for(j=0;j<sub_div.length;j++) {
	    if(sub_div[j].id) {
		if(result=sub_div[j].id.match(/^s([0-9]{1,})$/)) {

		    busy[result[1]]=0;
		    size_data=get_carousel_dimension(result[1]);
		    
		    c[z].style.height=size_data[0]+"px";
		    element_width[result[1]]=size_data[1];
		    fill_carousel("",result[1]);
		    e=document.getElementsByName("js"+result[1]);
		    for(k=0;k<e.length;k++) {
			    e[k].style.display="";
		    }
		}
	    }
	}
	p.style.overflow="hidden";
    }


	//Alle Elemente, die bei javascript nicht benoetigt werden, ausblenden
	hide=document.getElementsByName("hideme");
	for(z=0;z<hide.length;z++) {
	    if(hide[z].style) {
		hide[z].style.display="none";
	    }
	}

	//Alle Elemente, die nur fuer Javascript benoetigt werden, einblenden
	show=document.getElementsByName("showme");
	for(z=0;z<show.length;z++) {
	    if(show[z].style) {
		if(show[z].style.display=="none") {
		    show[z].style.display="";
		}
	    }
	}


    if(number_scroller>0) {
	window.setTimeout("autoscroll()", 7000);
    }

}


function sb_expand(id) {
    sb=document.getElementsByName("smaller");
    h=sb[id].childNodes[0].offsetHeight;

    step=Math.ceil(sbh[id]/40);
    
    if(h >= sbh[id]) {
	sb[id].childNodes[0].style.height=sbh[id]+"px";
    }
    else {
	sb[id].childNodes[0].style.height=(h+step)+"px";
	window.setTimeout("sb_expand("+id+")",5);

	if(sb[id].childNodes[1].style.display!="none") {
	    sb[id].childNodes[1].style.display="none";
	}
    }
}


function tv() {
    t=current_tab+1;
    if(t>number_scroller) {
	t=1;
    }
    t2(t,false);
}






function mv_carousel(direction,cid,src) {

    speed=10;
    s=document.getElementById("s"+cid);
    width=s.parentNode.offsetWidth;
    max_page=(s.offsetWidth/width)-1;
    
    move=true;
    if(src==0) {
	if(busy[cid]==1) {
		move=false;
	}
	else {
	    if(direction==1 && current_page_array[cid]==1) {
		    move=false;
	    }
	    else {
		if(direction==-1 && current_page_array[cid]==max_page) {
		    move=false;
		}
	    }
	}
    }

    if(move) {
	busy[cid]=1;


	current_page=current_page_array[cid];


	if(current_page==1 && direction==1) {
	current_page=max_page+1;
	current_page_array[cid]=current_page;
	s.style.left=(max_page*(width*-1))+"px";
	}

	current_left=(s.style.left.replace(/px/,"")*1);
	if(oc[cid]>=width) {
	    if(current_page==max_page && direction==-1) {
		current_page_array[cid]=1;
		s.style.left="0px";
	    }
	    else {
		current_page_array[cid]=current_page+(-1*direction);
		s.style.left=((current_page_array[cid]-1)*(width*-1))+"px";
	    }
	    oc[cid]=0;
	    busy[cid]=0;
    
	    a1=document.getElementById("a_"+cid+"_1");
	    if(current_page_array[cid]==1) {
		a1.src=a1i.src;
	    }
	    else {
		a1.src=a1a.src;
	    }

	    a2=document.getElementById("a_"+cid+"_2");
	    if(current_page_array[cid]==max_page) {
		a2.src=a2i.src;
	    }
	    else {
		a2.src=a2a.src;
	    }


	    p=document.getElementById("p"+cid);
	    p.innerHTML="Seite "+current_page_array[cid]+"/"+max_page;
	}
	else {
	    s.style.left=(current_left+(speed*direction))+"px";
	    oc[cid]=oc[cid]+speed;
	    window.setTimeout("mv_carousel("+direction+","+cid+",1)",speed);
	}
    }
}


function get_carousel_dimension(cid) {
    nj=document.getElementById("nj"+cid);
    max_height=0;
    width=0;
    for(i=0;i<nj.childNodes.length;i++) {
	if(nj.childNodes[i].id && nj.childNodes[i].id.substr(0,2)=="f_") {
	    if(nj.childNodes[i].offsetHeight > max_height) {
		max_height=nj.childNodes[i].offsetHeight;
	    }
	    if(width==0) {
		width=nj.childNodes[i].offsetWidth;
	    }
	}
    }
	ra=new Array();
	ra[0]=max_height;
	ra[1]=width;
    return ra;
}

function fill_carousel(filter,cid) {

	ppp=-1;
    s=document.getElementById("s"+cid);
    nj=document.getElementById("nj"+cid);
    pb=document.getElementById("p"+cid);
    
    ppp=s.parentNode.offsetWidth/element_width[cid];

    scroller_html="";
    scroller_html2="";

    element_counter=0;
    w=0;
    max_height=0;
    for(i=0;i<nj.childNodes.length;i++) {
	if(max_height < nj.childNodes[i].offsetHeight) {
	    max_height=nj.childNodes[i].offsetHeight;
	}
	if(nj.childNodes[i].id && nj.childNodes[i].id.substr(0,2)=="f_") {
	    if(filter=="" || nj.childNodes[i].id=="f_"+filter) {
		add_html="<div style='width:"+element_width[cid]+"px'>"+nj.childNodes[i].innerHTML+"</div>\n";
		scroller_html+=add_html;
		if(element_counter<ppp) {
			scroller_html2+=add_html;
		}
		element_counter++;
	    }
	}
    }

    if(element_counter%ppp >0) {
	for(i=element_counter%ppp;i<ppp;i++) {
	   scroller_html+="<div style='width:"+element_width[cid]+"px'>&#160;</div>\n"; 
	}
    }
    scroller_html+=scroller_html2;
    s.innerHTML=scroller_html;

    pages=Math.ceil(element_counter/ppp);

	a1=document.getElementById("a_"+cid+"_1");
	a1.src=a1i.src;

	a2=document.getElementById("a_"+cid+"_2");
	if(pages==1) {
	    a2.src=a2i.src;
	}
	else {
	    a2.src=a2a.src;
	}

    pb.innerHTML="Seite 1/"+pages;
	if(pages>1) {
	    // Seitenzaehler soll aktuell nicht angezeigt werden, daher stets display:none
	    //pb.style.display="";
	    pb.style.display="none";
	}
	else {
	    pb.style.display="none";
	}

    w=(pages+1)*s.parentNode.style.width.replace(/px/,"");
    s.style.width=w+"px";

    s.style.left="0px";
    s.style.display="";
    nj.style.display="none";

    current_page_array[cid]=1;
    oc[cid]=0;
}


function more(id) {
    if(active_more>0) {
	more_close(active_more);
    }

    if(box=document.getElementById("ma"+id)) {
	box.style.display="";
	active_more=id;
    }


    if(ch=document.getElementById("popcontent"+id)) {
	if(ch.offsetHeight < 350) {
	    if(b=document.getElementById("popup_container"+id)) {
	       b.style.height=(ch.offsetHeight+20)+"px"
	    }
	}
    }
}

function more_close(id) {
    if(box=document.getElementById("ma"+id)) {
	box.style.display="none";
	active_more=0;
    }
}

function gs_change() {
    if(c=document.getElementById("gutschein_wert")) {
	gspid=document.frm_buy.products_id.selectedIndex;
	gsp=document.frm_buy.products_id[gspid].value;
	c.innerHTML=pp[gsp];
    }
}

