var ps=50;
var slps=5000;
var it=5;
var disap;
var app;

function SOp(o,x){
	 o.style.opacity=x/100;
	 o.style.filter='alpha(opacity='+x+')';
}

function GEI(s){return document.getElementById(s);}
function GeT(s,p){return p?p.getElementsByTagName(s):0;}

function Disappear(n) {
    var op=n-it;
    SOp(disap,op);
//    alert('Disappear'+op);
    if (op < 1) { disap.className='slix'; }
    else window.setTimeout( 'Disappear('+op+')', ps );
};

function Appear(n) {
    var op=n+it;
    SOp(app,op);
//    alert('appear'+op);
    if (op > 99) { app.className='sli'; window.setTimeout( 'ContSlide()', slps ); }
    else window.setTimeout( 'Appear('+op+')', ps );
};

function SlDisappear(n) {
    var op=n-it;
    SOp(disap,op);
//    alert('Disappear'+op);
    if (op < 1) { disap.className='slix'; }
    else window.setTimeout( 'SlDisappear('+op+')', ps );
};

function SlAppear(n) {
    var op=n+it;
    SOp(app,op);
//    alert('appear'+op);
    if (op > 99) { app.className='sli'; window.setTimeout( 'ContSlish()', slps ); }
    else window.setTimeout( 'SlAppear('+op+')', ps );
};

function ContSlide() {
    var o=GEI('slide');
    var i=f=o.firstChild;
    while (!i.className.match(/\bsli\b/)) { i=i.nextSibling; }
    if (i.nextSibling) n=i.nextSibling;
    else n=f;
    disap=i;
    app=n;
    n.style.display='block';
    Disappear(100);
    Appear(0);
};

function ContSlish() {
    var o=GEI('slish');
    var i=o.firstChild;
//    while(!i.nodeName.match(/img/gi)) i=i.nextSibling;
    var f=i;
    while (!i.className.match(/\bsli\b/)) { i=i.nextSibling;}
    if (i.nextSibling) n=i.nextSibling;
    else n=f;
    disap=i;
    app=n;
    n.style.display='block';
    SlDisappear(100);
    SlAppear(0);
};

function StartSlide() {
    window.setTimeout( 'ContSlide()', slps );
};

function StartSlish() {
    window.setTimeout( 'ContSlish()', slps );
};

function clri(o,s){
//    alert(o.value);
    if(o.value.match(s))o.value='';
};

function SendForm() {
    var x=GEI('formo');
    var xa=GeT('input',x);
    var err=0;
    for(i=0;i<xa.length;i++){
	if (!xa[i].value ) {alert(xa[i].name+'='+xa[i].value); err++; }
    }
    if (err>0) {
	alert( 'Sie müssen alle Felder ausfüllen!');
    }
    else { x.submit();}
};

/*
 *  Funktion zur Generierung eines Ajax Aufrufs (SendAjaxCall)
 *  TsAC( Methode, URL, Funktion, Login, Password, ParamName1, ParamValue1, ParamName2, ParamValue2, ... )
 *    Methode = [GET|POST|PUT]
 *    URL = Adresse
 *    Funktion = Callbackfunktion nach erfolgreichem Aufruf der URL
 *    Login = Benutzername für erforderl. Authentifizierung
 *    Password = Password für erforderl. Authentifizierung
 *    bel. Anzahl Parameter, die dem aufzurufenden Script übergeben werden in der Form
 *    ParamName1=ParamValue1&ParamName2=ParamValue2
 *    Problem: Dateiuploads
 */



function SAC(m,u,f,pa,l,p) {
    var r;                             // Reservierung des Objektes
    try {r=new ActiveXObject("Msxml2.XMLHTTP");} 
    catch(e){
	try {r=new XMLHttpRequest();}
	catch(e){
	  try{r=new ActiveXObject("Microsoft.XMLHTTP")}
	  catch(e) {r=null}
	}
    }
    if(r){
	var vs='';
	if(pa&&pa.length>0) { 
	  for(i=0;i<pa.length;i++){ // Aufbau des Parameterstrings
		vs+=pa[i][0]+'='+pa[i][1]+'&';
	  } 
	  // Im Falle eines GET Requests müssen die Parameter an die URL gehängt werden
	  if(m.match(/get/gi)) { u+='&'+vs; }
	}
	else vs=null;
	r.onreadystatechange=function() {                     // Übergabe der Callbackfunktion
	    if(r.readyState==4 ) {
		f(r.responseText);
	    }
	}  
	
	r.open(m,u,true,l,p);                                 // Öffnen des Requests
	r.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');   // Setzten des Content-Typs und CharEncodings zur Parameterverarbeitung auf dem Server
	r.send(vs);                                           // Senden der Parameter
    }
}

//     TsAC(m,u,new Function('res','VLStatusShow(res);'),[['value',bew]]);


/* Kalender */
var step=50;
var mode=0;
var movs=new Array();
var kdisap,kapp;
var kit=20;
var lwds = new Array( "Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag" );   
var mo = new Array( "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" );

function KalDisappear(n) {
    var op=n-kit;
    SOp(kdisap,op);
//    alert('Disappear'+op);
    if (op < 1) { kdisap.className='cali calio'; kdisap.id='cali2';}
    else window.setTimeout( 'KalDisappear('+op+')', ps );
};

function KalAppear(n) {
    var op=n+kit;
    SOp(kapp,op);
//    alert('appear'+op);
    if (op > 99) { kapp.className='cali'; kapp.id='cali'; kapp.id='cali'; }
    else window.setTimeout( 'KalAppear('+op+')', ps );
};

function UpdKal(r) {
    var x; (x=GEI('cali2')).innerHTML=r;
    SOp(x,0);
    kapp=x; kdisap=GEI('cali');
    KalDisappear(100);
    KalAppear(0);
    x.style.display='block';    
}

function MoveCal(i,m,a,f) {
    var p = i*f+a;
//    alert(p+' '+i+' '+f+' '+a);
    if ( i==1 && p > a + (i*m) ) { 
	p = a+(i*m)+1; 
	GEI('cali').style.left=p+'px';
    }
    else if ( i==-1 && p < a + (i*m) ) {
	p = a-m+1; 
	GEI('cali').style.left=p+'px'; 
    }
    else {
	GEI('cali').style.left=p+'px';
	f*=2;
	window.setTimeout('MoveCal('+i+','+m+','+a+','+f+');',step);
    };
};

function MoPM(i) {
    if ( ! movs[0] ) { movs[0]=GEI('cali'); }
    MoveCal(i*-1,182,GEI( 'cali' ).offsetLeft,2);
//    alert(GEI( 'cali' ).offsetLeft);
};

function MoPJ(i) {
    var x;
    if ( document.getElementById('cali2') ) x=GEI('cali2');
    else { x=document.createElement('div'); x.className='cali calio'; x.id='cali2'; }
    var y; (y=GEI('cal')).appendChild(x);
    var ts=y.getAttribute('ts');
    SAC('GET','/cgi-bin/gruene.cgi?cleankalender='+ts+'&jahr='+i,new Function('res','UpdKal(res);'));
};

function OpenKal(o) {
    x=GEI('cal');
    x.style.left=o.offsetLeft+'px';
    x.style.top=o.offsetTop+'px';
    x.style.display='block';
//    alert(x.offsetLeft+' '+x.offsetTop);
};


function SetDate(ds,d,m,j,o) {
    var js = j-100;
    if ( js < 10 ) js = "0" + js;
    var nd=lwds[ds]+', den '+d+'. '+mo[m]+' 20'+js;
//    alert(j+'.'+m+'.'+d);
    var dd=Math.round(Date.UTC(j+1900, m, d+2, 12)/1000);
    if ( GEI('kalact') ) {
	GEI('kalact').className='ccn';
	GEI('kalact').id='';
    };
    o.id='kalact';
    o.className='cca';
    GEI('cal').setAttribute('ts',dd);
    GEI('kalts').value=dd;
    GEI('kaldate').innerHTML = nd;
    GEI('kaldatei').value=d+'.'+m+'.'+j;
    GEI('cal').style.display='none';
//    alert( nd );
};

