// JavaScript Document
var Server = new XHConn();
var windows = new Array();
var window_index = 0;
var navigation;
var sidebar;
var files = new Array();
var slots = new Array();
var galleries = new Array();
var variables = new Array();
var flash_temporary = new Array();
var ignorehash = true;

variables["akt_desk3_deeplink"]="";
variables["last_desk3_deeplink"]="";


    function slide(sliderPosition){
    var bg = document.getElementById("desk2");
           if (document.all) {
              bg.style.opacity = sliderPosition;
	            bg.style.filter = 'alpha(opacity='+sliderPosition*100+')';
      } else if (document.getElementById) {
             bg.style.MozOpacity = sliderPosition;
      }
    }
   
    function hover_nav(target,state){
      target = target.parentNode;
      var bg = target.firstChild;
      if(target.getAttribute('active') == 'false'){ 
        if (state == "on"){
          op = 100;
        }else{
          op = 50;
        }
        if (document.all) {
                bg.style.opacity = op/100;
  	            bg.style.filter = 'alpha(opacity='+op+')';
        } else if (document.getElementById) {
               bg.style.MozOpacity = op/100;
        }
      }
      }
    
    function open_nav(target){
    target = target.parentNode;
     var op;
     var bg = target.firstChild;
     var display_childes;
      if(target.getAttribute('active') == "false"){ 
        target.setAttribute('active',"true");
        op = 100;
        display_childes = "block";
      }else{ 
        target.setAttribute('active',"false");
        op = 50;
        display_childes = "none";
      }

      for( var i = 0; i < target.childNodes.length; i++ ) {
        if (target.childNodes[i].className == "navi_element"){
          target.childNodes[i].style.display = display_childes;
        }
      }      
        //  alert(document.selection);
      if (document.all) {
              bg.style.opacity = op/100;
	            bg.style.filter = 'alpha(opacity='+op+')';
      } else if (document.getElementById) {
             bg.style.MozOpacity = op/100;
             document.selection = "nothing";  /*selbes für IE?*/
      }
    }
    function close_all_windows(target){
      if (target == null){
        target = document.getElementById("desk3");
      }else{
        target = document.getElementById(target);
      }
      for (temp in windows) {
        if(windows[temp] != null)
          if (windows[temp].canvas == target){
            windows[temp].hide();
          }
      }
    }
    function navigate_to(name){
		 //close_lightbox() ;
        if (navigation.deeplinks[name] != null){
		  variables["akt_desk3_deeplink"] = name;
		  //alert(name);
		  //alert(variables["akt_desk3_deeplink"]);
          navigation.deeplinks[name].do_actions();
        }
    }
    function navigate_to_by_index(l1,l2){
	variables["akt_desk3_deeplink"] = l2;
      if (l1 != null){
        navigation.children[l1].click();
        if (l2 != null && navigation.active_element_l2.index != l2){
          navigation.children[l1].children[l2].click();
        }
      }
    }
    function set_oppacity(target,op){
      var bg = document.getElementById(target);
      if (document.all) {
        bg.style.opacity = op;
	      bg.style.filter = 'alpha(opacity='+op*100+')';
      } else if (document.getElementById) {
        bg.style.MozOpacity = op;
      }
    }
    function set_oppacity_element(bg,op){
      if (document.all) {
        bg.style.opacity = op;
	      bg.style.filter = 'alpha(opacity='+op*100+')';
      } else if (document.getElementById) {
        bg.style.MozOpacity = op;
      }
    }
    
    function init(){
        initLinks(document.body);
        detect_window_size();
        //show("xml/navi.xml");
        show(navi_xml);
        //show("xml/sidebar.xml");
        show(sidebar_xml);
        document.getElementsByTagName("body")[0].onclick = click;
        hashListener.init();
    }

    function show(target){
      var ext = target.substring(target.length-4,target.length);
	  var TargetLowCase = target.toLowerCase();
	  var CHECK = TargetLowCase.search(/xml/);
	  if (CHECK != -1){
      //if (ext.toLowerCase() == ".xml"){
        load(target);
      }else{
        if (target != ""){
          window.open(target);//popup
        }
      }
      return false;
    }
    function load(target,vars){
        if (files[target] == null){
          Server.connect(target, 'GET', vars , RecieveData);
        }else{
          if (files[target] != 1){
           files[target].show();
          }
        }
        //Server.connect(target, 'GET', vars , RecieveData);
        //return false;
    }

    function loadPOST(target,vars){
        if (files[target] == null){
          Server.connect(target, 'POST', vars , RecieveData);
        }else{
          if (files[target] != 1){
           files[target].show();
          }
        }
    }

    
    function onAfterClick(objLink){
      target = objLink.href;
      var ext = target.substring(target.length-4,target.length);
      if (ext == ".xml"){
        if (files[target] == null){
          Server.connect(target, 'GET', '' , RecieveData);
        }else{
          files[target].toggle_display();
        }
        return false;
      }else{
          window.open(target,"_blank");//popup
        //self.location = target;//selbes fenster
      }
    }
    
    function RecieveData(oXML,url){
    //alert(oXML.responseText);
      var xml = oXML.responseXML.getElementsByTagName("DATA")[0];
      var Nodes = xml.getElementsByTagName("ELEMENT");
      for(var counter=0;counter<Nodes.length;counter++) {
        var element = Nodes[counter];

         switch(element.getAttribute("class")){
          case "fenster":
            var temp = new CLASS_WINDOW("desk3",url);     
            temp.init_from_xml(element);        
            break;    
          case "navi":
            var temp = new CLASS_NAVI("desk3",url);
            temp.init_from_xml(element);
            break;
          case "sidebar":
            var temp = new CLASS_SIDEBAR("desk3",url);
            temp.init_from_xml(element);
            break;
          case "html":
            insert_html(element);
            break;
          case "gallery":
            insert_gallery(element,url);
            break;   
         }
      }
    }
   
    function initLinks(target){
      var arrLinks = target.getElementsByTagName("a");
      for(var i=0; i<arrLinks.length; i++){
      
     if (arrLinks[i].href){
      target = arrLinks[i].href;
      var ext = target.substring(target.length-4,target.length);
      ext = ext.toLowerCase();
      if (ext == ".xml"){
      
        if(typeof arrLinks[i].onclick == "function")
          arrLinks[i].old_onclick = arrLinks[i].onclick;
          arrLinks[i].onclick = function(){
            if(typeof this.old_onclick == "function")
              this.old_onclick();
            var objThis = this;
            window.setTimeout( function(){onAfterClick(objThis);} , 100);

            return false;
              
          }
          
          }}
          
        }
      }
      
      function detect_window_size() {
        var myWidth = 0, myHeight = 0;
        if( typeof( window.innerWidth ) == 'number' ) {
          //Non-IE
          myWidth = window.innerWidth;
          myHeight = window.innerHeight;
        } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
          //IE 6+ in 'standards compliant mode'
          myWidth = document.documentElement.clientWidth;
          myHeight = document.documentElement.clientHeight;
        } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
          //IE 4 compatible
          myWidth = document.body.clientWidth;
          myHeight = document.body.clientHeight;
        }
        var desk_width = document.getElementById("desk1").offsetWidth;
        var desk_height = document.getElementById("desk1").offsetHeight;
        
        var scroll = 1;
        if (myWidth<936){
          document.body.style.overflowX = "auto";
          scroll = 0;
        }else{
          document.body.style.overflowX = "hidden";
        }
        if (myHeight<595){
          document.body.style.overflowY = "auto";
        }else{
          document.body.style.overflowY = "hidden";
        }
        document.getElementById("desk1").style.left = scroll*(myWidth-desk_width)/2;
        document.getElementById("desk2").style.left = scroll*(myWidth-desk_width)/2;
        
        document.getElementById("desk3").style.left = scroll*(myWidth-desk_width)/2+166;
        document.getElementById("desk5").style.left = scroll*(myWidth-desk_width)/2+166;

      }
      
   function zeigesprachen(p) {
   if(p != null){
     document.getElementById("sprachen").style.display = p;
    } else {
     if ((document.getElementById("sprachen").style.display=="none") || (document.getElementById("sprachen").style.display=="")) {
        document.getElementById("sprachen").style.display = "block";
       } else {
        document.getElementById("sprachen").style.display = "none";
       }
     }
    }
	  function musicpause () {
      var movie = findeFlash('vivaldi');
      if (movie) {
        movie.SetVariable("vivaldistatus", "pause");
      }
    }
  
    function musicresume () {
      var movie = findeFlash('vivaldi');
      if (movie) {
        movie.SetVariable("vivaldistatus", "play");
      }
    }
    
    function getURLParam(strParamName){
      var strReturn = "";
      var strHref = window.location.href;
      if ( strHref.indexOf("?") > -1 ){
        var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
        var aQueryString = strQueryString.split("&");
        for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
          if (
    aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){
            var aParam = aQueryString[iParam].split("=");
            strReturn = aParam[1];
            break;
          }
        }
      }
      return unescape(strReturn);
    }

 function click(e){
      var trigger = '';
      if(!e && event.srcElement) trigger= event.srcElement;
      else if(e.target) trigger = e.target;
      if (trigger.className.substr(0, 11) != "con_sprache"){
        zeigesprachen("none");
      } 
      
			if ((trigger.className.substr(0,4) == "desk") && (variables["lb_active"]==true)) {
				close_lightbox();
			}

    }
    
    function insert_html(xml){
      var xml = xml.childNodes;
      var target = "";
      var content = "";
      var onshow = "";
      for(var counter=0;counter<xml.length;counter++) {
	  if (xml[counter].firstChild){
	  switch(xml[counter].nodeName.toLowerCase()){
          case "target":
            target = xml[counter].firstChild.nodeValue;
            break;    
          case "content":
            content = xml[counter].firstChild.nodeValue; 
            break;
          case "onshow":
            onshow = xml[counter].firstChild.nodeValue; 
            break;
        }  
		}
      }
      if (target != ""){
        document.getElementById(target).innerHTML = content;
        initLinks(document.getElementById(target));
      }
      eval(onshow);
    }
    
    function insert_gallery(xml,url){
      files[url] = 1;
      var xml = xml.childNodes;
      var pic_path = "";
      var thumb_path = "";
      var name = "";
      var temp = new Array();
      for(var counter=0;counter<xml.length;counter++) {
	  if (xml[counter].firstChild){
	  
        switch(xml[counter].nodeName.toLowerCase()){
          case "name":
            name = xml[counter].firstChild.nodeValue;
            break;
          case "element":
              var temp1 = new Array();
              var temp_xml = xml[counter].childNodes;
              var picture = "";
              var thumbnail = "";
              var flash ="";
			  
			  var picturezoom ="";
			  var picturezoom_asp ="";
			  var picturezoom_width ="";
			  var picturezoom_height ="";
			  var picturezoom_color ="";
			  var picture_width ="";
			  
              for(var counter1=0;counter1<temp_xml.length;counter1++) {
			  if (temp_xml[counter1].firstChild){
                  switch(temp_xml[counter1].nodeName.toLowerCase()){
                    case "flash":
                      flash = temp_xml[counter1].firstChild.nodeValue;
                      break;
                    case "picture":
                      picture = temp_xml[counter1].firstChild.nodeValue;
                      break;
                    case "thumbnail":
                      thumbnail = temp_xml[counter1].firstChild.nodeValue;
                      break;
					 case "picturezoom":
                      picturezoom = temp_xml[counter1].firstChild.nodeValue;
                      break;
					  case "picturezoom_asp":
                      picturezoom_asp = temp_xml[counter1].firstChild.nodeValue;
                      break;
					  case "picturezoom_width":
                      picturezoom_width = temp_xml[counter1].firstChild.nodeValue;
                      break;
					  case "picturezoom_height":
                      picturezoom_height = temp_xml[counter1].firstChild.nodeValue;
                      break;
					  case "picturezoom_color":
                      picturezoom_color = temp_xml[counter1].firstChild.nodeValue;
                      break;
					  case "picture_width":
                      picture_width = temp_xml[counter1].firstChild.nodeValue;
                      break;
                  }
              } }
              temp1.push(flash);
              temp1.push(picture);
              temp1.push(thumbnail);
			  temp1.push(picturezoom);
			  temp1.push(picturezoom_asp);
			  temp1.push(picturezoom_width);
			  temp1.push(picturezoom_height);
			  temp1.push(picturezoom_color);
			  temp1.push(picture_width);
              temp.push(temp1);
            break;
        }
      }}
      if (name != ""){
        galleries[name] = temp;
      }
    }
    function open_lightbox(fenster){
      if (variables["lb_active"] != true){
          variables["lb_active"] = true;
        //alle flashs verstecken. wegen durchschein bug
        divs = desk3.getElementsByTagName("div");
        for(var counter=0;counter<divs.length;counter++) {
          if (divs[counter].id.match(/flash$/gi) != null){
						flash_temporary[divs[counter].id] = divs[counter].innerHTML;
						divs[counter].innerHTML = "";
          }
        }
        var right = 0;
        var top = 0;
          
          document.getElementById('desk4').style.display='block';
          document.getElementById('desk5').style.display='block';
        con_logo_weiss();
        if (fenster != null){
          right = (fenster.offsetLeft + fenster.clientWidth);
          top = fenster.offsetTop;
        }
        
          document.getElementById("close_lb").style.left = right-84;
          document.getElementById("close_lb").style.top = top-19;
      }
    }
	
	function close_lightbox() {
	    variables["lb_active"] = false;
	    close_all_windows("desk5");
	   
		 //alle flashs wieder einbleneden
      divs = desk3.getElementsByTagName("div");
      for(var counter=0;counter<divs.length;counter++) {
        if (divs[counter].id.match(/flash$/gi) != null){
					divs[counter].innerHTML = flash_temporary[divs[counter].id];
        }
      }	
	
		document.getElementById('desk4').style.display='none';
		document.getElementById('desk5').style.display='none';
		document.getElementById('con_logo_schriftzug_desk3_id').style.display='block';
		
	if (variables["last_desk3_deeplink"]==""){
      navigate_to("home");
    }else{
      ignorehash = "true";
      variables["akt_desk3_deeplink"] = variables["last_desk3_deeplink"];
      hashListener.setHash(variables["last_desk3_deeplink"]);
    }

	
	}
	
    function sende_form(form, divOverall, infoText){
    var complete = true;
    var path = form.action;
//    var charset = "_utf8";
//    if (navigator.appName.indexOf("Explorer") != -1){
//      charset = ""
//    }

//    var ext = path.substring(path.length-4,path.length);
//    var path1 = path.substring(0,path.length-4);
    
//    var path = path1 + charset + ext;
    var para = "";
      for (i = 0; i < form.elements.length; ++i){
        var mandatory = form.elements[i].getAttribute("mandatory");
        if(mandatory=="true"){
            if (form.elements[i].value == "") {
                form.elements[i].style.borderColor="#ff0000";
                form.elements[i].className = "formular_input_mandatory";
                complete = false
            }else{
                form.elements[i].style.borderColor="#c0c0c0";
                form.elements[i].className = "formular_input_normal";
            }
        }else if(mandatory=="number"){
            var filter=/^([0-9]+)$/i;
            if ( filter.test(form.elements[i].value)) {
                form.elements[i].style.borderColor="#c0c0c0";
                form.elements[i].className = "formular_input_normal";
            }else{
                form.elements[i].style.borderColor="#ff2700";
                form.elements[i].className = "formular_input_mandatory";
                complete = false
            }
        }else if(mandatory=="number_or_null"){
            var filter=/^([0-9]*)$/i;
            if ( filter.test(form.elements[i].value)) {
                form.elements[i].style.borderColor="#c0c0c0";
                form.elements[i].className = "formular_input_normal";
            }else{
                form.elements[i].style.borderColor="#ff2700";
                form.elements[i].className = "formular_input_mandatory";
                complete = false
            }
        }else if(mandatory=="email"){
            var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
            if ( filter.test(form.elements[i].value)) {
                form.elements[i].style.borderColor="#c0c0c0";
                form.elements[i].className = "formular_input_normal";
            }else{
                form.elements[i].style.borderColor="#ff2700";
                form.elements[i].className = "formular_input_mandatory";
                complete = false
            }
		} else if (mandatory=="div") {
			var mandatorydivname = form.elements[i].getAttribute("mandatorydiv");
			var mandatorydiv = document.getElementById(mandatorydivname);
            if (form.elements[i].value == "") {
				mandatorydiv.style.border="2px solid #ff2700";
				mandatorydiv.className = "formular_input_mandatory_div";
                complete = false;
            }else{
								mandatorydiv.style.border="";
								mandatorydiv.className = "formular_input_normal_div";
            }
		} else if (mandatory=="radio") {
			var mandatorydivname = form.elements[i].getAttribute("mandatorydiv");
			var mandatorydiv = document.getElementById(mandatorydivname);						
			var radioname = form.elements[i].getAttribute("mandatoryradio");
			var valide=false;

			for (var j=0; j<form[radioname].length; j++) {
				valide = (valide || form[radioname][j].checked);
			}

			if (!valide) {
				//mandatorydiv.style.border="2px solid #ff2700";
				mandatorydiv.className = "formular_input_mandatory_div";
				complete = false;					
			} else {
				//mandatorydiv.style.border="";
				mandatorydiv.className = "formular_input_normal_div";
			}
		
		}
				
        if (form.elements[i].type != "radio") {
         VariableForReplacing = form.elements[i].value.replace("&","%26");
          para += form.elements[i].name+"="+ encodeURI(VariableForReplacing) +"&"; 
		  }
        else {
          if (form.elements[i].checked) {
           VariableForReplacing = form.elements[i].value.replace("&","%26");
          para += form.elements[i].name+"="+ encodeURI(VariableForReplacing) +"&"; 
		  }
        }

		}

      if (complete){
		 divOverall.innerHTML=infoText;


   	     load(path,para);

   	     //loadPOST(path,para);
		 //form.submit();
      }
      return false;
    }

	function clear_form(form){
      form.reset();
			con_lb_highlights_allein(false);
      for (i = 0; i < form.elements.length; ++i){
          if ((form.elements[i].getAttribute("mandatory")=="true") || (form.elements[i].getAttribute("mandatory")=="email") || (form.elements[i].getAttribute("mandatory")=="number") || (form.elements[i].getAttribute("mandatory")=="number_or_null")) {
              //form.elements[i].style.borderColor="#c0c0c0";
              form.elements[i].style.className = "formular_input_normal";
	  } else if (form.elements[i].getAttribute("mandatory")=="div") {
              var mandatorydivname = form.elements[i].getAttribute("mandatorydiv");
              var mandatorydiv = document.getElementById(mandatorydivname);
              mandatorydiv.style.border="";
	  } else if (form.elements[i].getAttribute("mandatory")=="radio") {
              var mandatorydivname = form.elements[i].getAttribute("mandatorydiv");
              var mandatorydiv = document.getElementById(mandatorydivname);						
              //mandatorydiv.style.border="";
              mandatorydiv.className = "formular_input_normal_div";
	  }
      }
    }

    function open_contacts(contact_asp, xmlAddress_xml){
      if(variables['contact_country'] != undefined && variables['contact_region'] != undefined){
        load(contact_asp,'xmlAddress_xml='+xmlAddress_xml+'&'+'continent='+variables['contact_continent']+'&'+'country='+variables['contact_country']+'&'+'region='+variables['contact_region']);
      }
    }

    hashListener.onHashChanged = function () {
      if (ignorehash == false){
        var tmp = document.location.hash.replace('#','');
        if (tmp=="home"){
          con_home();
        }else{
          navigate_to(tmp);
        }
      }
      ignorehash = false;
    }

    //var hash =	document.location.hash;
    //window.setInterval(function () { checkhash() }, 50);
    var Client = new CLASS_CLIENT();
    //variables["lang"] = 1;
    onload = init;
    onresize = detect_window_size;
