var spawn = 0;
var lastArtikel=null;
var AiW = new Array();
var topArtikel='';
var bottomArtikel='';
var monate=new Array("Januar","Februar","M&auml;rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
var wochentag=new Array("Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag");
var kalenderartikel='';    		
var kalenderbutton='';
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

function base64_encode(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   do {
      chr1 = input.charCodeAt(i++);
      chr2 = input.charCodeAt(i++);
      chr3 = input.charCodeAt(i++);

      enc1 = chr1 >> 2;
      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
      enc4 = chr3 & 63;

      if (isNaN(chr2)) {
         enc3 = enc4 = 64;
      } else if (isNaN(chr3)) {
         enc4 = 64;
      }

      output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + 
         keyStr.charAt(enc3) + keyStr.charAt(enc4);
   } while (i < input.length);
   
   return output;
}
	
function addArtikel(artikelId,farbe) {
	var farray=eval("f"+farbe);
	farray.push(artikelId);
}

function doFarbe(farbid) {
	var aarray=eval("f"+document.getElementById("f"+farbid+"g").value);
	if(document.getElementById("f"+farbid+"g").checked==true) {
		for(i=0;i<aarray.length;i++) document.getElementById("artikel["+aarray[i]+"]").style.display="";
	} else {
		for(i=0;i<aarray.length;i++) document.getElementById("artikel["+aarray[i]+"]").style.display="none";
	}
}

function popUp (url,width,height,artikelBild) {
         if(lastArtikel!=null)
          {
           lastArtikel.src="images/image.gif";
          }
	if(spawn) {
		spawn.close();
	}

	widthHeight = "width=" + width + ",height=" + height;

	spawn = window.open(url,'mywindow',widthHeight+"dependent=yes,screenX=100,screenY=200");

         lastArtikel=artikelBild;
         if(lastArtikel!=null) lastArtikel.src="images/check_on.gif";
}

function move_now(ftyp,selfid,top,down) {
    if(event) {
    	e=event;
    }else {
    	e=window.event;
    }
    switch(e.keyCode) {
    	case 39:
      		if(ftyp=='a'){var show_typ='arf';}else{var show_typ='bem';}
      		document.forms['mFrm'].elements[show_typ+'['+selfid+']'].focus();
      	break

      	case 37:
      		if(ftyp=='a'){var show_typ='arf';}else{var show_typ='bem';}
      		document.forms['mFrm'].elements[show_typ+'['+selfid+']'].focus();
      	break

      	case 38:
      		if(ftyp=='a'){var show_typ='bem';}else{var show_typ='arf';}
      		document.forms['mFrm'].elements[show_typ+'['+top+']'].focus();
      	break

      	case 40:
      		if(ftyp=='a'){var show_typ='bem';}else{var show_typ='arf';}
      		document.forms['mFrm'].elements[show_typ+'['+down+']'].focus();
      	break

      	case 8:
      	break

      	case 13:
      		stopEvent(e);
      	break

      	default:
      	break
    }
}

function stopEvent(e) {
  if (e.stopPropagation) {
   e.stopPropagation();
  } else {
   e.cancelBubble=true;
  }
 }

function warenkorb(artikelid,mengenanpassung,preismalmenge) {
  	var mengefeld=document.getElementById("arf["+artikelid+"]");
    var preis=parseFloat(document.getElementById("arp["+artikelid+"]").innerHTML.replace(',', '.'));
    //var mbm=parseInt(document.getElementById("mbm["+artikelid+"]").innerHTML);
    //var umbedingt=document.getElementById("aru["+artikelid+"]");
    if(parseInt(mengefeld.value)<1) {
    	mengefeld.value=0;
    }
	/*if(umbedingt) {
		umbedingt.style.backgroundColor="#FFFFFF";
	    if(parseInt(umbedingt.value)<1) {
    		umbedingt.value=0;
    	}
    	if (parseInt(mengefeld.value) > 0 && parseInt(mengefeld.value) < parseInt(umbedingt.value)) {
    		mengefeld.value=umbedingt.value
    	}	
	}    
    if(mengenanpassung=="true") {
    	if (mengefeld.value > 0) {
	    	if (mengefeld.value < mbm) mengefeld.value = mbm;
			if (mengefeld.value > mbm) mengefeld.value = mbm*Math.ceil(parseInt(mengefeld.value)/mbm);
		}
	}
	if(preismalmenge=="true") {
		preis=preis*mbm;
	}*/
    mengefeld.style.backgroundColor="#FFFFFF";
	update = false;
	for (i=0; i<AiW.length ; i++ ) {
		if(AiW[i][0]==artikelid) {
			var menge = parseInt(mengefeld.value);
			//if(umbedingt && mengefeld.value == 0) menge=parseInt(umbedingt.value);
			AiW[i][2]=menge;
            update=true;
		}
	}
	if(update==false) {
		var menge = parseInt(mengefeld.value);
		//if(umbedingt && mengefeld.value == 0) menge=parseInt(umbedingt.value);
		AiW.push(new Array(artikelid,preis,menge));
	}
	GesamtPreisRechnen();
}

function GesamtPreisRechnen() {
	var wert = 0.0;
	for (i=0; i<AiW.length ; i++ ) {
		wert=wert+Math.round(parseFloat(AiW[i][1]*AiW[i][2])*100)/100;
	}
	var wert1 = wert.toString();
	document.getElementById("warenwert").innerHTML="&nbsp;&nbsp;&nbsp;Warenwert: " + wert1.substr(0,(wert1+".").indexOf(".")) + "," + (wert1+"00000").substr(((wert1+"00.00").indexOf(".")+1),2) + " &euro;";
}

function setNewFocus(Ereignis) {
	var tastencode;
	var stepTo;
  	if (!Ereignis) Ereignis = window.event;
  	if (Ereignis.which) {
  		tastencode = Ereignis.which;
  	} else if (Ereignis.keyCode) {
  		tastencode = Ereignis.keyCode;
  	}
  	if(tastencode==38 && document.getElementById('menge'+topArtikel)) {
  		stepTo=document.getElementById('menge'+topArtikel);
  		stepTo.select();
  		stepTo.scrollIntoView(false);
  	}
  	if((tastencode==40 || tastencode==13) && document.getElementById('menge'+bottomArtikel)) {
  		stepTo=document.getElementById('menge'+bottomArtikel);
  		stepTo.select();
  		stepTo.scrollIntoView(false);
  	}
  }
  	
	function getWochenTag (inDate){
		var dayIndex = inDate.getDay();
		if(dayIndex==0) {
			dayIndex=6;
		} else {
			dayIndex--;
		}
		return dayIndex;
	}
	
	function numbersOfDays(datum) {
		var returnValue;
		var testDatum;
		testDatum=new Date(datum.getFullYear(),datum.getMonth(),1,0,0,0);
		for (var i = 27;   i < 35;   i++) {
			testDatum.setDate (i);
			if (testDatum.getMonth() != datum.getMonth()){break;}else{returnValue = i;}
		}
		return returnValue;
	}

	function findPosX(obj) { 
		var curleft = 0;
		if (obj.offsetParent) {
			while (obj.offsetParent) {
				curleft += obj.offsetLeft;
				obj = obj.offsetParent;
			}
		} else if (obj.x) curleft += obj.x;
		return curleft;
	}
	
	function findPosY(obj) {
		var curtop = 0;
		if (obj.offsetParent) {
			while (obj.offsetParent) {
				curtop += obj.offsetTop;
				obj = obj.offsetParent;
			}
		} else if (obj.y) curtop += obj.y;
		return curtop;
	}
	
function getQueryStringVars() {
    var server_variables = {};
    var query_string = window.location.search.split( "?" )[ 1 ];
    if ( ! query_string ) return false;
    var get = query_string.split( "&" );

    for ( var i=0; i < get.length; i++ ) {

        var pair = get[ i ].split( "=" );
        server_variables[ pair[ 0 ] ] = unescape( pair[ 1 ] );
    }

    return server_variables;
}

function bestelleMietartikel(mietartikel) {
	var req; 
	var parameter='';
	parameter+='save=true&';
	parameter+='sys='+getQueryStringVars()['sys']+'&';
	parameter+='k='+getQueryStringVars()['k']+'&';
	parameter+='artikel='+mietartikel+'&';
	parameter+='mieten='+document.getElementById('mieten'+mietartikel).checked+'&';
	parameter+='kaufen='+document.getElementById('kaufen'+mietartikel).checked+'&';
	parameter+='von='+document.getElementById('anzeiges'+mietartikel).value+'&';
	parameter+='bis='+document.getElementById('anzeigee'+mietartikel).value+'&';
	if(document.getElementById('bemerkung'+mietartikel).value=="") document.getElementById('bemerkung'+mietartikel).value=" ";
	parameter+='bemerkung='+base64_encode(document.getElementById('bemerkung'+mietartikel).value);
	try {
		req = new ActiveXObject('Msxml2.XMLHTTP');
	} catch(e) {
		try {
			req = new ActiveXObject('Microsoft.XMLHTTP');
		} catch(e) {
			try {
				req = new XMLHttpRequest();
			} catch(e) {
				req = false;
			}
		}
	}
    document.getElementById('meldung'+mietartikel).innerHTML="Einen Moment bitte ...";
    req.open('post', './includes/miet.inc.php', true);
  	req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
   	req.setRequestHeader("Content-length",parameter.length);
   	req.setRequestHeader("Connection","close");
   	req.onreadystatechange = function() {
	   	if (req.readyState == 4) {
			var miet = req.responseXML.getElementsByTagName('root').item(0).getElementsByTagName('miet').item(0);
			document.getElementById('meldung'+mietartikel).innerHTML=miet.getAttribute('meldung');
			document.getElementById('mieten'+mietartikel).checked=miet.getAttribute('mieten');
			document.getElementById('kaufen'+mietartikel).checked=miet.getAttribute('kaufen');
		}
    };
   	req.send(parameter);
}

	function resetForm() {
		for(i=1;i<=6;i++) {
			document.getElementById("w"+i).style.display="none";
		}
		for(i=1;i<=42;i++) {
			document.getElementById("t"+i).style.display="none";
			document.getElementById("t"+i).style.color="#0000ff";
			document.getElementById("t"+i).innerHTML="";
			document.getElementById("t"+i).style.borderRight="1px #999999 dashed";
			document.getElementById("t"+i).style.borderBottom="1px #999999 dashed";
			document.getElementById("t"+i).style.textAlign="center";
			document.getElementById("t"+i).style.backgroundColor='';
			if(i%7==0) document.getElementById("t"+i).style.borderRight="1px #999999 solid";
			if(i%7==1) document.getElementById("t"+i).style.borderLeft="1px #999999 solid";
		}
	}
	function showKalender(mietartikel) {
		if(kalenderartikel!="") document.getElementById('terminauswahl').style.display='none';
		if(kalenderartikel==mietartikel) {
			kalenderartikel="";
			document.getElementById('terminauswahl').style.display='none';
		} else {
			kalenderartikel=mietartikel;
			document.getElementById('terminauswahl').style.left=findPosX(document.getElementById('anzeige'+kalenderartikel))-22;
			document.getElementById('terminauswahl').style.top=findPosY(document.getElementById('anzeige'+kalenderartikel))+22;
			showMonth();
		}
	}
	
	function showMonth() {
		var anzDate;
		var wochenpos;
		var tagpos;
		var datum;
		anzDate=new Date(document.getElementById('jahr'+kalenderartikel).value,document.getElementById('monat'+kalenderartikel).value,1,1,1,1);
		document.getElementById('monTitle').innerHTML=monate[anzDate.getMonth()]+" "+anzDate.getFullYear();
		wochenpos=1;
		tagpos=1
		resetForm();
		for(var tag=(1-getWochenTag(new Date(document.getElementById('jahr'+kalenderartikel).value,document.getElementById('monat'+kalenderartikel).value,1,0,0,0)));tag<=(numbersOfDays(anzDate)+6-getWochenTag(new Date(document.getElementById('jahr'+kalenderartikel).value,document.getElementById('monat'+kalenderartikel).value,numbersOfDays(anzDate),1,1,1)));tag++) {
			datum=new Date(document.getElementById('jahr'+kalenderartikel).value,document.getElementById('monat'+kalenderartikel).value,tag,1,1,1);
			if(getWochenTag(datum)==0) {
				document.getElementById("w"+wochenpos).style.display="";
				wochenpos++;
			}
			if(datum.getMonth()!=document.getElementById('monat'+kalenderartikel).value) { 
				document.getElementById("t"+tagpos).style.color="#999999";
			} else if(datum.getDate()==document.getElementById('tags'+kalenderartikel.substr(1)).value && datum.getMonth()==document.getElementById('monats'+kalenderartikel.substr(1)).value && datum.getFullYear()==document.getElementById('jahrs'+kalenderartikel.substr(1)).value) {
				document.getElementById("t"+tagpos).style.backgroundColor="#99CC00";
			} else if(datum.getDate()==document.getElementById('tage'+kalenderartikel.substr(1)).value && datum.getMonth()==document.getElementById('monate'+kalenderartikel.substr(1)).value && datum.getFullYear()==document.getElementById('jahre'+kalenderartikel.substr(1)).value) {
				document.getElementById("t"+tagpos).style.backgroundColor="#ff0000";
			}
			if(datum.getMonth()!=document.getElementById('monat'+kalenderartikel).value) {
				document.getElementById("t"+tagpos).innerHTML=datum.getDate();		
			} else if(datum.getDate()==(new Date()).getDate() && datum.getMonth()==(new Date()).getMonth()) {
				document.getElementById("t"+tagpos).innerHTML="<a href=\"javascript:setDay('"+datum.getDate()+"')\" style=\"color:black;\"><b>"+datum.getDate()+"</b></a>";
			} else  {
				document.getElementById("t"+tagpos).innerHTML="<a href=\"javascript:setDay('"+datum.getDate()+"')\" style=\"color:black;\">"+datum.getDate()+"</a>";		
			}
			document.getElementById("t"+tagpos).style.display="";
			tagpos++;
		}
		if(document.getElementById('w6').style.display=="") {
			for(i=36;i<=42;i++) document.getElementById("t"+i).style.borderBottom="1px #999999 solid";
		} else {
			for(i=29;i<=35;i++) document.getElementById("t"+i).style.borderBottom="1px #999999 solid";
		}
		document.getElementById('terminauswahl').style.display='';
	}
	
	function setDay(day) {
		if(kalenderartikel.substr(0,1)=="s") {
			if(new Date()<new Date(document.getElementById("jahr"+kalenderartikel).value,document.getElementById("monat"+kalenderartikel).value,day,23,59,59)) {
				document.getElementById("tag"+kalenderartikel).value=day;
				if((parseInt(document.getElementById("tag"+kalenderartikel).value)>=parseInt(document.getElementById("tage"+kalenderartikel.substr(1)).value) && parseInt(document.getElementById("monat"+kalenderartikel).value)==parseInt(document.getElementById("monate"+kalenderartikel.substr(1)).value) && parseInt(document.getElementById("jahr"+kalenderartikel).value)==parseInt(document.getElementById("jahre"+kalenderartikel.substr(1)).value)) || (parseInt(document.getElementById("monat"+kalenderartikel).value)>parseInt(document.getElementById("monate"+kalenderartikel.substr(1)).value) && parseInt(document.getElementById("jahr"+kalenderartikel).value)==parseInt(document.getElementById("jahre"+kalenderartikel.substr(1)).value)) || parseInt(document.getElementById("jahr"+kalenderartikel).value)>parseInt(document.getElementById("jahre"+kalenderartikel.substr(1)).value)) {
					document.getElementById("tage"+kalenderartikel.substr(1)).value=parseInt(day)+7;
					document.getElementById("monate"+kalenderartikel.substr(1)).value=document.getElementById("monat"+kalenderartikel).value;
					document.getElementById("jahre"+kalenderartikel.substr(1)).value=document.getElementById("jahr"+kalenderartikel).value;
					if(parseInt(document.getElementById("tage"+kalenderartikel.substr(1)).value)>numbersOfDays(new Date(document.getElementById("jahre"+kalenderartikel.substr(1)).value,document.getElementById("monate"+kalenderartikel.substr(1)).value,1,1,1,1))) {
						document.getElementById("tage"+kalenderartikel.substr(1)).value=parseInt(document.getElementById("tage"+kalenderartikel.substr(1)).value)-numbersOfDays(new Date(document.getElementById("jahre"+kalenderartikel.substr(1)).value,document.getElementById("monate"+kalenderartikel.substr(1)).value,1,1,1,1))
						document.getElementById("monate"+kalenderartikel.substr(1)).value=parseInt(document.getElementById("monate"+kalenderartikel.substr(1)).value)+1;
						if(document.getElementById("monate"+kalenderartikel.substr(1)).value=="12") {
							document.getElementById("monate"+kalenderartikel.substr(1)).value="0"
							document.getElementById("jahre"+kalenderartikel.substr(1)).value=parseInt(document.getElementById("jahre"+kalenderartikel.substr(1)).value)+1;
						}
					}
				}
			} else {
				alert("Sie können den Mietbeginn nicht vor heute setzen.");
			}
		} else {
			if((parseInt(day)>parseInt(document.getElementById("tags"+kalenderartikel.substr(1)).value) && parseInt(document.getElementById("monat"+kalenderartikel).value)==parseInt(document.getElementById("monats"+kalenderartikel.substr(1)).value) && parseInt(document.getElementById("jahr"+kalenderartikel).value)==parseInt(document.getElementById("jahrs"+kalenderartikel.substr(1)).value)) || (parseInt(document.getElementById("monat"+kalenderartikel).value)>parseInt(document.getElementById("monats"+kalenderartikel.substr(1)).value) && parseInt(document.getElementById("jahr"+kalenderartikel).value)==parseInt(document.getElementById("jahrs"+kalenderartikel.substr(1)).value)) || parseInt(document.getElementById("jahr"+kalenderartikel).value)>parseInt(document.getElementById("jahrs"+kalenderartikel.substr(1)).value)) {
				document.getElementById("tag"+kalenderartikel).value=day;
			} else {
				alert("Sie können das Mietende nicht vor den Mietanfang setzten.");
			}
		}
		showMonth(kalenderartikel);
		document.getElementById("anzeiges"+kalenderartikel.substr(1)).value=document.getElementById("tags"+kalenderartikel.substr(1)).value+"."+(parseInt(document.getElementById("monats"+kalenderartikel.substr(1)).value)+1)+"."+document.getElementById("jahrs"+kalenderartikel.substr(1)).value;
		document.getElementById("anzeigee"+kalenderartikel.substr(1)).value=document.getElementById("tage"+kalenderartikel.substr(1)).value+"."+(parseInt(document.getElementById("monate"+kalenderartikel.substr(1)).value)+1)+"."+document.getElementById("jahre"+kalenderartikel.substr(1)).value;
		document.getElementById('terminauswahl').style.display='none';
		bestelleMietartikel(kalenderartikel.substr(1));
		kalenderartikel="";
	}
	
	function lastMonth() {
		if(kalenderartikel.substr(0,1)=="s" || (kalenderartikel.substr(0,1)=="e" && ((parseInt(document.getElementById("monat"+kalenderartikel).value)>parseInt(document.getElementById("monats"+kalenderartikel.substr(1)).value) && parseInt(document.getElementById("jahr"+kalenderartikel).value)==parseInt(document.getElementById("jahrs"+kalenderartikel.substr(1)).value)) || (parseInt(document.getElementById("jahr"+kalenderartikel).value)>parseInt(document.getElementById("jahrs"+kalenderartikel.substr(1)).value))))) {
			document.getElementById('monat'+kalenderartikel).value=parseInt(document.getElementById('monat'+kalenderartikel).value)-1;
			if(parseInt(document.getElementById('monat'+kalenderartikel).value)==(-1)) {
				document.getElementById('monat'+kalenderartikel).value="11";
				document.getElementById('jahr'+kalenderartikel).value=parseInt(document.getElementById('jahr'+kalenderartikel).value)-1;
			}
			showMonth();
		} else {
			alert("Sie können das Mietende nicht vor den Meitbeginn setzen.");
		}
	}		
	
	function nextMonth() {
		document.getElementById('monat'+kalenderartikel).value=parseInt(document.getElementById('monat'+kalenderartikel).value)+1;
		if(parseInt(document.getElementById('monat'+kalenderartikel).value)==12) {
			document.getElementById('monat'+kalenderartikel).value="0";
			document.getElementById('jahr'+kalenderartikel).value=parseInt(document.getElementById('jahr'+kalenderartikel).value)+1;
		}
		showMonth();
	}
	
document.onkeydown = setNewFocus;
