  function showLayer(articleId) {
    var doc = document;
	  document.getElementById('Partnerprogramm').setAttribute('style', 'display:none');
	  document.getElementById('Programminfo').setAttribute('style', 'display:none');
	  document.getElementById('Werbeangebote').setAttribute('style', 'display:none');
	  document.getElementById('partnerprogramm_affiliateBanner').setAttribute('style', 'display:none');
	  var layer = document.getElementById(articleId);
	  layer.setAttribute('style', 'display:block');
  }
  
  function showLayer2() {
    var doc = document; 
  	doc.getElementById("advanzia_1").style.display = "none";
  	doc.getElementById("formFiles").style.display = "block";  	
  }
  
  function showLayerDetails(articleId) {
    var doc = document;       
	  doc.getElementById("partnerprogramm_3_1").setAttribute('style', 'display:none');
	  var layer = doc.getElementById(articleId);
	  layer.setAttribute('style', 'display:block');
          		  
  }
  
  function alerting() {
  	alert("huhu");
  }
  
  function showAffiliateStuff(affiliateId) {

  	var doc = document;
  	var affiliateWrapper = doc.getElementById("wrapper");
  	var affiliateLayer = doc.getElementById("partnerprogramm_affiliateBanner");
  	
  	affiliateLayer.removeChild(affiliateWrapper);
  	
  	var newAffiliateWrapper = doc.createElement("div");
  	newAffiliateWrapper.setAttribute("id", "wrapper");
  	
  	
  	
  	imageSources = new Array("120x600", "160x600", "300x250", "234x60", "468x60", "728x90");
  	
  	for (var i=0; i<imageSources.length; i++) {
  	
  		var cpStopper = doc.createElement("div");
  		cpStopper.setAttribute("style", "position:absolute;margin-top:0px;width:740px;height:770px;z-index:2");
  		var affiliateImage = doc.createElement("img");
  		affiliateImage.setAttribute("style", "margin-left:5px");
  	  	affiliateImage.setAttribute("src","http://orlando.intra.getmobile.de/img/banner/gp/getpartner_"+affiliateId+"_"+imageSources[i]+".jpg");
  		newAffiliateWrapper.appendChild(affiliateImage);
  		  		affiliateLayer.appendChild(cpStopper);
  		affiliateLayer.appendChild(newAffiliateWrapper);

  	}
  	
  }
  
  function showAffiliateAvailability(affiliateId) {
    var url = "http://orlando.intra.getmobile.de/img/banner/gp/getpartner_"+affiliateId+"_120x600.jpg";
    var xhttp = createXMLHttpRequest2(); 
        
    xhttp.open("GET",url,true);
    xhttp.setRequestHeader("Content-Type", "img/jpg");  

    xhttp.onreadystatechange = function(){

	if(xhttp.readyState==4 || xhttp.readyState ==0) {
	
		if (xhttp.status==200) {
     		 document.write("<a class=\"partner_stuff\" onclick=\"showAffiliateStuff("+affiliateId+");showLayer('partnerprogramm_4')\" href=\"#\">zum Werbemittel</a>");
      	} else {
			return true;
		}
           
    } 
    
    }
    
    xhttp.send('');	

  } 
  
  function missingValuesMessages() {
  
      var inputValues = new Object ();
      
		    inputValues["vorname"] = "Bitte geben Sie Ihren Vornamen ein";
		    inputValues["nachname"] = "Bitte geben Sie Ihren Nachnamen ein";
		    inputValues["strasse"] = "Bitte geben Sie Ihre Strasse und Hausnr. ein";
		    inputValues["ort"] = "Bitte geben Sie Ihren Wohnort ein";
		    inputValues["email"] = "Bitte geben Sie Ihre Email Adresse ein";
		    inputValues["plz"] = "Bitte geben Sie Ihre Postleitzahl ein";
		    inputValues["telefon"] = "Bitte geben Sie Ihre Telefonnummer ein";
		    inputValues["mobil"] = "Bitte geben Sie Ihre Mobilnummer ein";
		    inputValues["passwort"] = "Bitte geben Sie Ihr Passwort ein";
		    inputValues["adresse"] = "Bitte geben Sie den Ort Ihrer Meldeadresse ein";
		    inputValues["meldeadresse"] = "Bitte geben Sie den Ort Ihrer Meldeadresse ein";
		    inputValues["firmenname"] = "Bitte geben Sie einen Firmennamen an";
		    inputValues["anrede"] = "Bitte geben Sie eine Anrede an";
		    /* values for advanzia */
			inputValues["einkommen"] = "Bitte geben Sie Ihr j&auml;hrliches Einkommen ein";
		    inputValues["mastercard"] = "Bitte t&auml;tigen Sie eine Auswahl";
		    inputValues["visa"] = "Bitte t&auml;tigen Sie eine Auswahl";
		    inputValues["barclay"] = "Bitte t&auml;tigen Sie eine Auswahl";
		    inputValues["amex"] = "Bitte t&auml;tigen Sie eine Auswahl";
		    inputValues["creditCard"] = "Bitte t&auml;tigen Sie eine Auswahl";
		    inputValues["zeichendatum"] = "Geben Sie Datum...";
		    inputValues["zeichenort"] = "...und Ort ein";
		    inputValues["firmenname"] = "Bitte geben Sie einen Firmennamen an";
		    inputValues["rechtsform"] = "Bitte geben Sie eine Rechtsform an";
		    inputValues["ansprechpartner"] = "Bitte nennen Sie einen Ansprechpartner";
		    inputValues["umsatzsteuer"] = "Bitte nennen Sie eine nummer";

    
    return inputValues;
  
  }
  
  function deletingErrorMessage(errorText) {
  
  	document.getElementById(errorText).innerHTML = "";
  	
  }
  
  function setErrorMessage(DOMNode, message) {
  
		DOMNode.value = message;
	    DOMNode.style.color = "#ff0000";
	    DOMNode.onclick = function() {this.value=''; this.style.color="#000000"; this.onclick="" }
  
  }
  
  function showMissingValues() {

    var doc = document;
    var inputFields = doc.getElementById("formFiles").getElementsByTagName("input");
    var allValuesSet = true;
    var isObligatory = '';
    var errorField = '';
    var givenRadioButtons = new Object();
    var givenButton = false;


	var inputValues = missingValuesMessages();

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

  		var fieldName = inputFields[i].name;  	
  		errorField = "error_"+fieldName;
  		isObligatory = /.*obligatory.*/.test(inputFields[i].getAttribute("class"));
  	
  		/* if fields are not empty but contains error messages */
		if(inputFields[i].value == inputValues[fieldName]) {
			allValuesSet = false;
			setErrorMessage(inputFields[i], inputValues[fieldName]);
		}

		if (inputFields[i].type == "text" || inputFields[i].type == "password") {
			if(parseInserts(inputFields[i].name, inputFields[i], inputValues[fieldName], isObligatory)==true){
				allValuesSet=allValuesSet;
			} else {
				allValuesSet = false;
			}
  	  	  
		}
		
		/* next two ifs contain sloppy ad hoc code */
		if(document.nl_sub.birthday!=undefined) {
			if (document.nl_sub.birthday.selectedIndex == 0 && document.nl_sub.birthmonth.selectedIndex == 0 && document.nl_sub.birthyear.selectedIndex == 0) {
				var birthmonth = doc.getElementsByName('birthmonth')[0];
				birthmonth.setAttribute('style','background:#ff8c8c');
				birthmonth.onclick = function() {this.style.background="#ffffff"; }
				doc.getElementsByName('birthyear')[0].setAttribute('style','background:#ff8c8c');
				doc.getElementsByName('birthyear')[0].onclick = function() {this.style.background="#ffffff"; }
				doc.getElementsByName('birthday')[0].setAttribute('style','background:#ff8c8c');
				doc.getElementsByName('birthday')[0].onclick = function() {this.style.background="#ffffff"; }
				allValuesSet = false;
			} else {
				doc.getElementsByName('birthmonth')[0].setAttribute('style','background:#ffffff');
				doc.getElementsByName('birthday')[0].setAttribute('style','background:#ffffff');
				doc.getElementsByName('birthyear')[0].setAttribute('style','background:#ffffff');
			}		
		}
		

		if(doc.getElementsByName('noCard')[0]!=undefined) {
		
			if(doc.getElementsByName('visa')[0].checked==true ||
				doc.getElementsByName('amex')[0].checked==true ||
				doc.getElementsByName('mastercard')[0].checked==true ||
				doc.getElementsByName('barclay')[0].checked==true) 
			{
					doc.getElementsByName('noCard')[0].checked=false
				
			}
			

		}	
		

		
		
		/* builds an array of names of radio buttons that is finally.... */   	 
    	if (inputFields[i].type == "radio" && isObligatory) { 
    		if (givenRadioButtons[fieldName]==undefined) {
    			if (inputFields[i].checked == false) {
    				givenRadioButtons[fieldName] = false;
    			} else {
    				givenRadioButtons[fieldName] = true;
    			}
    		} else {
				if (inputFields[i].checked == false && givenRadioButtons[fieldName] == false) {
    				givenRadioButtons[fieldName] = false;
    			} else if (inputFields[i].checked == true && givenRadioButtons[fieldName] == false) {
    				givenRadioButtons[fieldName] = true;
    			}		
    		}   
    	}   	
     }

	 /* ....read here */
     for (var booleanRadio in givenRadioButtons ){
     	if(givenRadioButtons[booleanRadio]==false) {
     	doc.getElementById("error_"+booleanRadio).innerHTML = inputValues[booleanRadio];
     	 allValuesSet = false;
     	}
     }

	 /* looking for all values are set and submits */
     if(allValuesSet) {
     	doc.nl_sub.submit(); 
     }
  }
  
  
   function parseInserts(fieldName, DOMNode, message, isObligatory) {

	var allValuesSet = true;

      var parseValues = new Object ();
		  parseValues["email"] = new Array("Bitte geben Sie eine gültige Adresse ein", /\w+\@\w+\.\w+/);
		  parseValues["plz"] = new Array("Bitte geben Sie eine gültige PLZ ein", /^\d{5}$/);
		  parseValues["telefon"] = new Array("Bitte geben Sie eine gültige Telefonnummer ein",/^\+?(0){1}[\d\s\/\-]{5,20}$/);
		  parseValues["mobil"] = new Array("Bitte geben Sie eine gültige Mobilnummer ein", /^(01){1}[\d\s/\-]{5,20}$/);
		  parseValues["vorname"] = new Array("Bitte geben Sie einen gültigen Vornamen ein", /^\D{0,50}$/);
		  parseValues["nachname"] = new Array("Bitte geben Sie einen gültigen Nachnamen ein", /^\D{0,50}$/);
		  parseValues["ort"] = new Array("Bitte geben Sie einen gültigen Ortsnamen ein", /^\D{0,50}$/);
		    
	for (var i in parseValues) {

	   	if (!(DOMNode.value=='') && fieldName==i) {
	   		if(!(parseValues[fieldName][1].test(DOMNode.value))) {	   			
				allValuesSet = false;
				setErrorMessage(DOMNode, parseValues[fieldName][0]);
	   		} 	
   		}
	}
   	
   	if (/[%!§$\\]/g.test(DOMNode.value)) {   		
		allValuesSet = false;
		setErrorMessage(DOMNode, 'Bitte vermeiden Sie Sonderzeichen');
   	}
   	  		
	if(DOMNode.value=='' && isObligatory) {	
		allValuesSet = false;
		setErrorMessage(DOMNode, message);
   	}
   		
   	return allValuesSet;
   	
   }
     
  /* function to show/hide layers on the news section */      
  function showMore(articleId, show) {
  
	var moreLink = document.getElementById('link_'+articleId);
	var moreInfo = document.getElementById(articleId);
  
	if(show=='show') {
		moreInfo.setAttribute('style', 'display:block');
		moreLink.setAttribute('href',"javascript:showMore('"+articleId+"','hide')")
	} else {
		moreInfo.setAttribute('style', 'display:none');
		moreLink.setAttribute('href',"javascript:showMore('"+articleId+"','show')")
	}            
  }

  /* crap to change manufacturers items position on the details site */
  function changeElementsPosition (domClass, man_url0, man_key0) {
  	var manufacturers = document.getElementById("det_manufacturers").childNodes;
    var manufacturersPresence = false;
    for (i=0; i<manufacturers.length; i++) {
    	if(manufacturers[i].getAttribute("class")==domClass && manufacturersPresence == false) {
        manufacturersPresence = true;
      }
    }
    if (!manufacturersPresence) {
    	var manufacturersIcon = document.createElement("div");
      manufacturersIcon.setAttribute("class", domClass);
      if(!man_url0=="NULL") {
      
        var manufacturersLink = document.createElement("a");
        manufacturersLink.setAttribute("href", man_url0);
        manufacturersLink.setAttribute("target", "_blank");
        manufacturersLink.setAttribute("style", "display:block; height:100%; width:100%;");
        manufacturersIcon.appendChild(manufacturersLink);
    	}
		document.getElementById("det_manufacturers").appendChild(manufacturersIcon);
		manufacturersPresence = false;
    }       	
  }
  
  /* modifies the search link by onclick the accordant radio buttons */  
  /* for searching different handy types */
  function getSelectionOfTypes(flag) {
    var url;
    var selectFields = 
      document.getElementById("selectionOfTypes").getElementsByTagName("input");
    for (var i=0; i<selectFields.length; i++) {
      if (selectFields[i].getAttribute("value") != flag) {
        selectFields[i].checked = false;
      }
    }
    switch (flag) {
      case "flag=1": url="touchscreen-handy"; break;
      case "flag=2": url="klapphandy"; break;
      case "flag=3": url="smartphone"; break;
      case "flag=4": url="android"; break;
      case "flag=5": url="kamerahandy"; break;
      case "flag=6": url="mp3-handy"; break;
      case "flag=7": url="umts-handy"; break;
      case "flag=8": url="mini-handy"; break;
      case "flag=9": url="slider-handy"; break;
      case "flag=10": url="gps-handy"; break;
    }
    
    var currentPortal = window.location.toString().match(/(http\:\/\/.*\.de\/)/g);
    var newURL = currentPortal+url+".html";
    document.getElementById("selectTypes").setAttribute("href", newURL);
  }
  
  /* AJAX XMLHTTPREQUEST */ 
  
  /* executes createXMLHttpRequest() just for ibidem */
  /* recieves the url, the function to execute and a list of parameters */
  /* the parameters need to be splitted in the accordant function  */
  function sendRequest(url, func, req, funcArgs ) {
  
  /* formerly createXMLHttpRequest2 with global xhttp / testing.... */
    var xhttp = createXMLHttpRequest();    
    xhttp.open(req,url,true);
    xhttp.setRequestHeader("Content-Type", "text/html");   
    xhttp.onreadystatechange = function(){
      if (xhttp.readyState==4 && xhttp.status==200) {
        func(xhttp, funcArgs);    	
      }
    }
    xhttp.send(null);	    
  }
    
  function sendFormRequest(url, func, req, funcArgs ) {
  
  /* formerly createXMLHttpRequest2 with global xhttp / testing.... */
    var xhttp = createXMLHttpRequest();    
    xhttp.open(req,url,true);
    xhttp.setRequestHeader("Content-Type", "text/html");   
    xhttp.onreadystatechange = function(){
      if (xhttp.readyState==4 && xhttp.status==200) {
        func(xhttp, funcArgs);    	
      }
    }
    xhttp.send(null);	    
  }

  
  function createXMLHttpRequest() {
  
  var xhttp = false;
   if (window.ActiveXObject) { 
        try { xhttp = new ActiveXObject("MSXML2.XMLHTTP"); // IE 6 and higher
        } catch (e) {
            try { xhttp = new ActiveXObject("Microsoft.XMLHTTP"); // IE 5
            } catch (e) { xhttp=false; }
        }
    }
    else if (window.XMLHttpRequest) {
        try { xhttp = new XMLHttpRequest(); // Mozilla, Opera, Safari ...
        } catch (e) { xhttp=false; }
    }    
    if (!xhttp) {
      alert("no initialising of the XMLHttpRequest!");
      return;
    } else {
    	return xhttp;
    }
  }
  
  function createXMLHttpRequest2() {
  
   if (window.ActiveXObject) { 
        try { xhttp = new ActiveXObject("MSXML2.XMLHTTP"); // IE 6 and higher
        } catch (e) {
            try { xhttp = new ActiveXObject("Microsoft.XMLHTTP"); // IE 5
            } catch (e) { xhttp=false; }
        }
    }
    else if (window.XMLHttpRequest) {
        try { xhttp = new XMLHttpRequest(); // Mozilla, Opera, Safari ...
        } catch (e) { xhttp=false; }
    }    
    if (!xhttp) {
      alert("no initialising of the XMLHttpRequest!");
      return;
    }
  }
  
  /* Freunde werben Dingsbums */
  /* initialised by sendRequest() */
  function setDOMNodes(xhttp, funcArgs) {
  	var DOMNode = xhttp.getElementsByTagName('div');
  	  
  	document.getElementById('widgetFrame').appendChild(DOMNode);
  }

  /* TESTBERICHTE */
  /* initialised by sendRequest() */
  function parseTestdocumentationList(xhttp, funcArgs) {
	var articleNumber = funcArgs[0];
	  lines = xhttp.responseText.split("\n");
	  for (var i=0; i<lines.length; i++) {
	    matchingArticle = (lines[i]).match(/(.*)?\|(.*)\|(.*)/g);
	    if(RegExp.$1==articleNumber) {
	      htmlCode = RegExp.$3;
	      jScript = htmlCode.match(/(<script type\=\"text\/javascript\">.*?<\/script>)/g);
	      iFrame = htmlCode.match(/(<div id\=\"tbReviewList\">.*?<\/iframe><\/div>)/g);
	      iLink = htmlCode.match(/(Zusammengestellt von .*\=\"_blank\">)/g);
		  parseIFrame(jScript, iLink);
      }
    }     
  }
  
  function parseIFrame(jScript, iLink) {
  	var jScriptString = jScript.toString();
  	var jLinkString = iLink.toString();
	  matchingProduct = jScriptString.match(/.*tb_p\=(.*)\&tb_partner_id\=(.*)\" \+ \"\&tb_time\=(.*)\" \+ \"\&tb_width\=\"(.*) \+/ig);
	  var tb_p = RegExp.$1;
	  var tb_partner = RegExp.$2;
	  var tb_time = RegExp.$3;
	  matchingLink = jLinkString.match(/Zusammengestellt von.*p_id\=(.*)&amp\;local\=de_DE\" title\=\"(.*)\" target/ig);
	  var linkTestId = RegExp.$1;
	  var linkTestDescription = RegExp.$2;
	  helperTestberichteLink(tb_p,tb_partner,tb_time, linkTestId, linkTestDescription); 
  }
  
  
  function helperTestberichteLink(tb_p, tb_partner, tb_time, linkTestId, linkTestDescription ) {
    var doc = document;
    url = "http://www.testberichte.de/d/partner/slideshow_v1.html?tb_p="
  		+tb_p+"&tb_partner_id="+tb_partner+"&tb_time=0&tb_width=170";
  
    var tbBadges = document.createElement("div");
    tbBadges.id = "tbBadges";  
    tbBadges.setAttribute("style", "margin-left:-45px; margin-top:3px" );
  
    var iFrame = document.createElement("iFrame");
    iFrame.width = 190;
    iFrame.height = 100;
    iFrame.name = "tb_badges";
    iFrame.frameBorder = "0";
    iFrame.scrolling = "no";
    iFrame.src = url;
  
    tbBadges.appendChild(iFrame);
  
    doc.getElementById("testberichte").appendChild(tbBadges);
    doc.getElementById("testberichte_logo").style.visibility = "visible";
    doc.getElementById("testberichte_logo").href = "http://www.clickwerk.de/link.php?p_id="+linkTestId+"&amp;local=de_DE";
    doc.getElementById("testberichte_logo").target = "_blank";
    doc.getElementById("testberichte_logo").title = linkTestDescription;
  
  }
  
  function finderCompletionList() {
  
    var productInfo = "";
    var productInfos = "";
    var productName ="";
    var responseLines="";
    var xhttp = createXMLHttpRequest();    
    xhttp.open("GET","/finder_completion.csv",false);
    xhttp.setRequestHeader("Content-Type", "text/html");
        xhttp.send(null);   
  	responseLines = xhttp.responseText.split("\n");
  	for (var i=1; i<responseLines.length; i++) {
  		productInfos = responseLines[i].split(";"); 		
  		productInfo = productInfo+productInfos[2]+",";
    }
	
    return productInfo;
  }
  
  
  

