//----------------------------------------
// AJAX REQUEST FOR CHAIRs
function DumpObject(obj) {
    var s = '';
        for (var i in obj) {
         s += i +': '+obj[i]+"\n";
    }
        alert(s);
}

window.onload=start;

function start() {
	 ShoppingCart('');
	 
	 var i=0,seatnum="";
	 var area =  document.getElementsByTagName("map")[0].childNodes;
	 var l = area.length;
	 
	 //Uncomment for Sidebar
	 //EventAttacher (document.getElementById('sidebar_link'),"click", new Function ("SideBar();"));
	 //EventAttacher (document.getElementById('sidebar'),"mouseover", new Function ("window.clearTimeout(SidebarHide);"));
	 //SidebarHide = window.setTimeout("SideBar();", 3000);
	
	 
	 for (i;i<l;i++) {	
	 
 		if (area[i].id) { 
		 	seatnum = area[i].id.split("_");		
			//Alternative
		 	//area[i].chair = seatnum[1]
		 	//area[i].onmouseover = ChairInfo;
	
			EventAttacher (area[i],"mouseover",new Function("ChairInfo("+seatnum[1]+");"));
			EventAttacher (area[i],"mouseout",new Function("UnDisplayDIV('platzinfo'); UnDisplayDIV('platzinfobar');"));
			EventAttacher (area[i],"click",new Function("ShoppingCart("+seatnum[1]+");"));
	       }
	 }	 
}

function EventAttacher (attachTo,event,func) {

		if (attachTo.attachEvent) {
			attachTo.attachEvent("on"+event, func);
		} else if (window.addEventListener) {
			attachTo.addEventListener(event, func, false);
		}

} 

function ChairInfo(chair) {
      var ResultTable = document.getElementById("platzinfo");
      var infoBar = document.getElementById("platzinfobar");
      var i;

  			var ajax1 = new ajaxRequest("/inc/ajaxchair_xml.php?chair="+chair);
  			ajax1.onSuccess = function(txt,xml){
  			var MainNode =  xml; 
  			var ChairNode = MainNode.getElementsByTagName("chair")[0].childNodes;
  			     
	            if (MainNode.getElementsByTagName("message")[0]) {
	           		StatusMessage(MainNode.getElementsByTagName("chair")[0]);
	           	}
	          		
            if (ChairNode.length!=0){ 
            
              ResultTable.innerHTML=""; 
              ResultTable.style.display='none';
 			  infoBar.innerHTML="Sitz: "; 
              infoBar.style.display='block';
                
                if (ChairNode.length>0) {  
                
                  for (i=0;i<ChairNode.length;i++) {

                  		var nameValue = ChairNode[i].attributes[0].nodeValue;
                  		var fieldValue = ChairNode[i].childNodes[0].nodeValue;
                  		if (nameValue.search(/(\#){1,}/) != -1){
          					nameValue = nameValue.replace(/\#/g,fieldValue);
      					}
      					
	      					if (i!=ChairNode.length-1)
	      						nameValue += " - ";
							
							var TextNode = document.createTextNode(nameValue);
      					    ResultTable.appendChild(TextNode);
	      					infoBar.appendChild(TextNode);
	      					
                  			ResultTable.appendChild(document.createElement("br"));
                  }
                }	
                         
            }             
            else {
              ResultTable.style.display='none';
              infoBar.style.display='none';
            }
            
 		  }
   ajax1.doRequest();
   }  
   
   function UnDisplayDIV(elementId) {
  
  		var i=0,arrayLength = elementId.length;
  
		if (typeof(elementId)=="object") {
			for (i;i<arrayLength;i++)
			document.getElementById(elementId[i]).style.display='none';
		}
		else {
   			document.getElementById(elementId).style.display='none';
   		}
   }
   
  
      
   	function finishShoppingCart() {
   		
   		//window.location.replace('http://www.neueadresse.de'); 
   		window.location.href ='/basket/summary.php';
   		
   		//alert ("JJAAJAJ");
   	}
   
function BasketInfoBar (summe) { 
   	
   	var spanEl  = document.createElement("span");
   		spanEl.id = "basketinfospan";	
   		spanEl.style.verticalAlign="top";
   	var spanEl2  = document.createElement("span");
   		spanEl2.id = "basket";	
   		spanEl2.style.marginRight="5px";
   		spanEl2.style.float="left";
   	var spanEl3  = document.createElement("span");
   		spanEl3.id = "text";	
   		spanEl3.style.marginRight="5px";
   		spanEl3.style.float="left";
   		spanEl3.style.verticalAlign="top";
   	var aEl  = document.createElement("a");
   		aEl.id = "sumlink";
   		aEl.href = "javascript:void(0);";
   	var aEl2  = document.createElement("a");
   		aEl2.id = "basketlink";
   		aEl2.href = "javascript:void(0);";
   	var ResultTable = document.getElementById("basketinfo");
		ResultTable.innerHTML ="";
		ResultTable.appendChild(spanEl3);	
		ResultTable.appendChild(spanEl2);		
		ResultTable.appendChild(spanEl);

		var shoppingCarttext = document.createTextNode("Zur Kasse ");
		var shoppingCart = document.createElement("img");
			shoppingCart.src="/images/ticketcart.png";
				
	   	if (summe!=0 || document.getElementById("warenkorb").style.display=="block") {
	   		spanEl3.appendChild(shoppingCarttext);
			spanEl3.innerHTML += "&raquo;";
			spanEl2.appendChild(aEl2);
			aEl2.appendChild(shoppingCart);
			EventAttacher (aEl2,"click",new Function("ShowShoppingCart();"));
			spanEl.appendChild(aEl);
			aEl.appendChild(document.createTextNode(" "+summe+" EUR"));
			EventAttacher (aEl,"click",new Function("ShowShoppingCart();"));
	   	}	
	   	else {
	   		summe = formatZahl(summe,2,1);
	   		spanEl2.appendChild(shoppingCart);
	   		spanEl.appendChild(document.createTextNode(summe+" EUR"));
	   	}
   }
   
   function ShowShoppingCart () {
      var ResultTable = document.getElementById("warenkorb");
      
      if (ResultTable.style.display=='block') {
      		ResultTable.style.display='none';
      } else {
      		ResultTable.style.display='block';
      		ShoppingCart();
      }
   		
   }
    
   function ShoppingCart(chair) {
   		
      var ResultTable = document.getElementById("warenkorb");
      var spanEl  = document.createElement("span");
      var brEl  = document.createElement("br");
      var i,x,z,y,sum=0,displayRows = "";

      
  			var ajax1 = new ajaxRequest("/inc/basket_xml.php?chair="+chair);
  			ajax1.onSuccess = function(txt,xml){
  			var ChairNode =  xml.getElementsByTagName("basket")[0]; 
			
			/*if (ResultTable.childNodes[1]){
				for (y=0;ResultTable.childNodes.length;y++) {
				 	ResultTable.childNodes[y].removeChild(ResultTable.childNodes[y]);
				}
			}*/
			
			
 			//alert (ChairNode[0].childNodes[0].nodeValue);
 			//false;
 				//Basket is empty
 				ResultTable.innerHTML ="";			
				ResultTable.appendChild(spanEl);
				
               if (ChairNode.childNodes[0].childNodes[0].nodeName=='basketmessage') {
               		var BasketMessage = document.createTextNode(ChairNode.childNodes[0].childNodes[0].childNodes[0].nodeValue);
	               	ResultTable.lastChild.appendChild(BasketMessage);
	           }
	           
	           else {//Basket contains items
	           	
	              	ResultTable.lastChild.appendChild(document.createTextNode("Details:"));
	              	ResultTable.lastChild.style.fontWeight="bold";

             		ResultTable.appendChild(document.createElement("br"));
             		
	              	 var tableEl  = document.createElement("table");
	              	ResultTable.appendChild(tableEl);
	              	var tb = document.createElement("tbody");
					ResultTable.lastChild.appendChild(tb);
	              	
										
					for (z=0;z<(ChairNode.firstChild.childNodes.length+1);z++) {
					var ItemNode = ChairNode.firstChild.childNodes[z];
					
							var trEl = document.createElement("tr");
						    trEl.id =  "basketrow"+z+"00";
						    tb.appendChild(trEl);
					
							if (ItemNode) {
								
							
								var tdEl = document.createElement("td");
											tdEl.id = "basketcell"+z+"00"+"1";
											tdEl.className = "plancell";
											document.getElementById("basketrow"+z+"00").appendChild(tdEl);
								var colspanAttr = document.createAttribute("colspan");
											colspanAttr.nodeValue = (3);
											document.getElementById("basketcell"+z+"00"+"1").setAttributeNode(colspanAttr);
								var textNode = document.createTextNode(ItemNode.attributes[0].nodeValue);
											document.getElementById("basketcell"+z+"00"+"1").appendChild(textNode);
						for (i=0;i<ItemNode.childNodes.length;i++) {
						
						//alert (ItemNode.childNodes[i].firstChild.firstChild.nodeValue);
						      var trEl = document.createElement("tr");
						      trEl.id = "basketrow"+z+i;
						      	tb.appendChild(trEl);
						      	
						      
						      //alert (ItemNode.childNodes.length);
						      
							      	for (x=0;x<ItemNode.childNodes[i].childNodes.length;x++) {
							      	
							      	var basketValues = ItemNode.childNodes[i].childNodes[x];
							      
							      		if (basketValues.nodeName!="sum") {
								      		var tdEl = document.createElement("td");
												tdEl.id = "basketcell"+z+i+x;
												if (x==0) tdEl.className = "right";
												
											document.getElementById("basketrow"+z+i).appendChild(tdEl);
											
											var fieldValue = basketValues.firstChild.nodeValue;
											
						                  		if (ItemNode.childNodes[i].childNodes[x].attributes[0].nodeValue.search(/\#{1,}/) != -1){
						                  			var nameValue = ItemNode.childNodes[i].childNodes[x].attributes[0].nodeValue;
						          					nameValue = nameValue.replace(/\#/g,fieldValue);
						      					}
						      					else {
						      						var nameValue = fieldValue;
						      					} 
						      				var textNode = document.createTextNode(nameValue)
											document.getElementById("basketcell"+z+i+x).appendChild(textNode);
							      		}
							      		else {
							      		
							      			sum += parseInt(basketValues.firstChild.nodeValue);
							      		}
							      	}
	                	}
							 }
						      else {
						      	      		
						      		//left Cell
						      		trEl.id =  "midsumrow"+z;
									var tdEl = document.createElement("td");
										document.getElementById("midsumrow"+z).appendChild(tdEl);
										tdEl.className = "sum_left";
										tdEl.id = "midsumcell"+z+"_1";
										
									var textValue = document.createTextNode("Summe ");
										document.getElementById("midsumcell"+z+"_1").appendChild(textValue);
									
									//right Cell
										x++;
									var tdEl = document.createElement("td");
										tdEl.className = "sum_right";
										tdEl.id = "midsumcell"+z+"_2";
										
									var colspanAttr = document.createAttribute("colspan");
										colspanAttr.nodeValue = (2);
										document.getElementById("midsumrow"+z).appendChild(tdEl);
										
									var hrEl = document.createElement("hr");
										hrEl.className = "sum_split";	
										hrEl.id = "sumline";
										
									var hrStyle = document.createAttribute("noshade");
										hrStyle.nodeValue = "noshade";
										document.getElementById("midsumcell"+z+"_2").appendChild(hrEl);
										document.getElementById("sumline").setAttributeNode(hrStyle);

										document.getElementById("midsumcell"+z+"_2").setAttributeNode(colspanAttr);
									
									sum = formatZahl(sum,2,1);			
									var textValue = document.createTextNode(sum+" EUR");
										document.getElementById("midsumcell"+z+"_2").appendChild(textValue);
										
						      }
					
					

	                }	                
	                	ResultTable.appendChild(document.createElement("br"));
					//Continue Button
						var buttonEl = document.createElement("button");
							buttonEl.id = "finishbutton";
							buttonEl.innerHTML = "optionieren &raquo;"; 
							EventAttacher (buttonEl,"click", new Function ("finishShoppingCart();"));
							ResultTable.appendChild(buttonEl);
						ResultTable.appendChild(document.createElement("br"));
						ResultTable.appendChild(document.createElement("br"));
							
							
					/*	var onclickevent = document.createAttribute("onclick");
							onclickevent.nodeValue = "finishShoppingCart();";
							buttonEl.setAttributeNode(onclickevent);*/
							//buttonEl.onclick = finish;	
							
							//document.getElementById("finishbutton").appendChild(document.createTextNode("reservieren >>"));


			   }
			   
	           BasketInfoBar(sum);
	           
	           if (ChairNode.lastChild.nodeName=='message') 
			   		StatusMessage (ChairNode);
	            	 
               /*
                   displayRows += ChairNode.childNodes[0].nodeValue;
                else {
                
                  displayRows = "Kein Eintrag gefunden!";
                }
                */  
         
              
              
                
              //alert (ResultTable.innerHTML);
             // document.getElementById("debugger").innerHTML=ResultTable.innerHTML;
              //ResultTable.innerHTML=displayRows;
          //	  alert (ChairNode.childNodes[0].nodeValue);
 
            
          /*  else {
              ResultTable.style.display='none';
            }
            */
 		   }
   ajax1.doRequest();
   }  
   
function StatusMessage (MainNode) {

	var jetzt = new Date();
	
	if (MainNode.lastChild.nodeName=='message') {  

					document.images["plan"].src = "/inc/image_output.php?"+jetzt.getTime();
					
					var statusArea = document.getElementById("statusmessage");
						statusArea.innerHTML='';
						
					var sign = document.createElement("img");
						sign.id = "infoimage";
						sign.src = MainNode.lastChild.attributes[0].nodeValue=="error" ? "/images/error_sign.gif" : "/images/success_sign.gif";
						statusArea.appendChild(sign);
					var statusDiv = document.createElement("div");
						statusDiv.id = "message";
						statusArea.appendChild(statusDiv);
					var textValue = document.createTextNode(MainNode.lastChild.firstChild.nodeValue);
						document.getElementById("message").appendChild(textValue);
						statusArea.style.display='block';
						
					var statusText = document.getElementById("message");	
					var buttonEl = document.createElement("button");
						buttonEl.id = "okbutton";
						buttonEl.innerHTML = "ok"; 
						statusText.appendChild(document.createElement("br"));
						statusText.appendChild(buttonEl);
						buttonEl.focus();

						EventAttacher (buttonEl,"click", new Function ("UnDisplayDIV(new Array('statusmessage','disableScreen'));"));
						document.getElementById("disableScreen").style.display='block';
		
		if (MainNode.lastChild.attributes[0].nodeValue=="error")
			ShoppingCart(''); 
	}

}   

//Sidebar Expander and Collapser 

function SideBar() {
	var sidebar = document.getElementById('sidebar_link');
	
	if (sidebar.parentNode.style.left=="-170px") {
		sidebar.parentNode.style.left='0px';
		sidebar.style.background='url(/images/sidebar_collapse.png)';
		
	}	else {
		sidebar.parentNode.style.left="-170px";
		sidebar.style.background='url(/images/sidebar_expand.png)';
	}
	

}   
   
// Ajax PLZ-Modul
   function AjaxRequestShow() {
      var SearchTerm = document.getElementById("plz").value;
      var ResultTable = document.getElementById("city");
      var displayRows, suggestion = "";
      var plz_validity = document.getElementById("plz_validity");
	  
  			var ajax1 = new ajaxRequest("/inc/xmlcreator.inc.php?lookup=city&searchterm="+SearchTerm);
  			ajax1.onSuccess = function(txt,xml){
  			var citysNode =  xml.getElementsByTagName("citys")[0].childNodes; 
        
            if (SearchTerm==""){ 
                ResultTable.style.display='none';
            }
            
            else if (SearchTerm.length>3) {  
                        
                if (citysNode.length>0) {  
                  displayRows = citysNode[0].childNodes[0].nodeValue;
                  plz_validity.value="valid";
                }
                
                else {
                  displayRows = "PLZ fehlerhaft!";
                  plz_validity.value="invalid";
                }
            } 
            else {
                  displayRows = "PLZ zu kurz!";
                  plz_validity.value="invalid";
                  ResultTable.style.display='block';
            }
            
         ResultTable.innerHTML=displayRows;
 		   }
   ajax1.doRequest();
   }  
   
   
   function AjaxRequestMarke(sender,e) {
      var displayRows="", suggestion = "";
      if ( ( e.keyCode >= 48 && e.keyCode <= 57 ) || ( e.keyCode >= 65 && e.keyCode <= 90 ) )
      {
  			var ajax1 = new ajaxRequest("/inc/xmlcreator.inc.php?lookup=brand&searchterm="+sender.value);
  			ajax1.onSuccess = function(txt,xml){
  			var brandsNode =  xml.getElementsByTagName("brands")[0].childNodes; 
            

            if (brandsNode.length>0) {    
                  suggestion = brandsNode[0].childNodes[0].nodeValue;
                  
               if ( suggestion )
               {
                  // IE
                  if ( document.selection )
                  {
                     var sel = document.selection.createRange();
                     sel.text = suggestion;            
                     sel.move( 'character', -suggestion.length );     
                     sel.findText( suggestion );
                     sel.select();
                  }
                  else
                  { 
                     var preLength = sender.value.length;
                     sender.value = suggestion;
                     sender.selectionStart = preLength;
                     sender.selectionEnd   = sender.value.length;            
                  }             
               }
            } 
 		   }
   ajax1.doRequest();
     }  
   }  
