var webtrekkConfig;
var wtForm;
var wfErrorList = "";
var wtHelperid;
var wtHelpertype;
var wtWaitBeforeSent = false;
var wtSendFormData = true;

function setElemOffset(el) {
  if (!el) {
    return
  }
  ;
  var divOffset = el.offsetLeft + 5;
}

function getElementsByClassName(class_name)
{
  var all_obj,ret_obj = new Array(),j = 0,teststr;

  if (document.all)all_obj = document.all;
  else if (document.getElementsByTagName && !document.all)
    all_obj = document.getElementsByTagName("*");

  for (i = 0; i < all_obj.length; i++)
  {
    if (all_obj[i].className.indexOf(class_name) != -1)
    {
      teststr = "," + all_obj[i].className.split(" ").join(",") + ",";
      if (teststr.indexOf("," + class_name + ",") != -1)
      {
        ret_obj[j] = all_obj[i];
        j++;
      }
    }
  }
  return ret_obj;
}

function popupWindow(url, width, height, bildUnterschriftLetters) {
	var additionalHight = 0;
	if(bildUnterschriftLetters > 0){
		zeilen = bildUnterschriftLetters / 70;//geschaetzte Anzahl Zeilen
		additionalHight = zeilen * 22;//zusaetzliche H\u00F6he pro Zeile
	}
	if (height > 0){imgHeight = height;}else{imgHeight = 200;}
	if (width > 0){imgWidth = width; }else{imgWidth = 280;}
	
	var h = parseInt(imgHeight) + 75 + additionalHight;
	var w = parseInt(imgWidth) + 20;
	var win = window.open(url, "popupWindow", "width=" + w + ",height=" + h + ",locationbar=no,scrollbars=no,status=no,menubar=no,resizable=no,toolbar=no");
	win.focus();
	return false;
}

function popupWindowPBE(url, name, width, height) {
  var h = parseInt(height);
  var w = parseInt(width);
  var win = window.open(url, name, "width=" + w + ",height=" + h + ",locationbar=no,scrollbars=no,status=no,menubar=no,resizable=no,toolbar=no");
  win.focus();
}

function popupElementWindow(url, options, name) {
  var win = window.open(url, 'popupWindow_'+name, options);
  if (win) {
  	win.name = name;
    win.focus();
  }
}

function gatewayWindow(url, name) {
  return popupElementWindow(url, "width=540,height=600,locationbar=no,scrollbars=no,status=no,menubar=no,resizable=yes,toolbar=no", "downloadGateway_"+name);
}

function contenthover(pbeEnabled) {
  if (pbeEnabled == true) {
    if (document.getElementById("headline")) {
      document.getElementById("headline").className += " subcolumnshover";
    }
    if (document.getElementById("textblock")) {
      document.getElementById("textblock").className += " subcolumnshover";
    }
    if (document.getElementById("bilderliste")) {
      document.getElementById("bilderliste").className += " subcrhover";
    }
  }
}

function contentunhover(pbeEnabled) {
  if (pbeEnabled == true) {
    if (document.getElementById("headline")) {
      document.getElementById("headline").className = document.getElementById("headline").className.replace(/\ssubcolumnshover/g,"");
    }
    if (document.getElementById("textblock")) {
      document.getElementById("textblock").className = document.getElementById("textblock").className.replace(/\ssubcolumnshover/g,"");
    }
    if (document.getElementById("bilderliste")) {
      document.getElementById("bilderliste").className = document.getElementById("bilderliste").className.replace(/\ssubcrhover/g,"");
    }
  }
}

function contenthoverstd(pbeEnabled) {
  if (pbeEnabled == true) {
    if (document.getElementById("headline")) {
      document.getElementById("headline").className += " subcolumnshover";
    }
    if (document.getElementById("textblock")) {
      document.getElementById("textblock").className += " subcolumnshover";
    }
  }
}

function contentunhoverstd(pbeEnabled) {
  if (pbeEnabled == true) {
    if (document.getElementById("headline")) {
      document.getElementById("headline").className = document.getElementById("headline").className.replace(/\ssubcolumnshover/g,"");
    }
    if (document.getElementById("textblock")) {
      document.getElementById("textblock").className = document.getElementById("textblock").className.replace(/\ssubcolumnshover/g,"");
    }
  }
}

/**
* prueft wo sich der footer befindet und setzt ggf das padding-bottom von page_margins hoeher
*/

function placeFooter() {

	try{
  var viewport = getViewport();
	
  var nav2 = document.getElementById('nav2');
  var nav2H = (nav2 ? nav2.offsetHeight : null);
  if ((document.body && (h = document.body.clientHeight))) {
    var myFoot = document.getElementById("footer");
    if(myFoot){
	    var diff = viewport[1] - myFoot.offsetTop;
		if (nav2H) {
		   var nav2Diff = nav2H - myFoot.offsetTop + document.getElementById('page_margins').offsetTop+5;
		   diff =  diff >= nav2Diff ? diff : nav2Diff;
		}
		//alert("myFoot.offsetHeight: " + myFoot.offsetHeight + " , myFootoffsetTop: " + myFoot.offsetTop + ", viewport h: " + viewport[1] + ", nav2offsetheight: "+nav2H);
	
	    if (diff && diff >= 1) {
	      var newPadd = diff - 12;
	      if(newPadd < 0){newPadd=0;}
	      
	      var newPadding = newPadd + "px";
		  //alert("RESIZE: " +diff + " / " + newPadding + "__" + navigator.appName);
	      document.getElementById("page_margins").style.paddingBottom = newPadding;
	      //alert("myFootHeight: " + myFoot.offsetHeight + " , myFootPos: " + myFoot.offsetTop);
	    }
    }
  }
  return true;
  }catch(err){
  }
}



function getViewport() {
  var x,y;
  if (self.innerHeight) {
    // alle ausser Explorer
    x = self.innerWidth;
    y = self.innerHeight;
  }
  else if (document.documentElement && document.documentElement.clientHeight) {
    // Explorer 6 Strict Mode
    x = document.documentElement.clientWidth;
    y = document.documentElement.clientHeight;
  }
  else if (document.body) {
    // andere Explorer
    x = document.body.clientWidth;
    y = document.body.clientHeight;
  }
  else {
  	x=0; y=0;
  }
  var viewport = new Array(x, y);
  return viewport;
}

//Wird benutzt um bei den Niederlassungen die Navigation ueber dei Dropdown zu realisieren
function navigate() {
  laender = window.document.getElementById("jumpMenu").options;
  auswahlnummer = laender.selectedIndex;
  /*auswahl = laender[auswahlnummer].text;*/
  window.location.href = "#" + auswahlnummer;
}

//wird benutzt um ein ImagePopUpFenster zu \u00F6ffenen. zum Beispiel in einer Downloadlist.
function toLoad(link, width, height) {
  popupWindow(link, width, height);
  window.history.back();
}
// wird beim Geschaeftskundenlogin der rechten randspalte verwendet
function openMe(args) {
  //alert(args);
  document.getElementById(args).style.display = 'block';
}
// wird beim Geschaeftskundenlogin der rechten randspalte verwendet
function closeMe(args) {
  //alert(args);
  document.getElementById(args).style.display = 'none';
}
/*wird beim CMSLogin eingesetzt um die Domaenenauswahl auszublenden*/
function showHidden(args) {
  //alert(args);
  document.getElementById(args).style.display = 'block';
}

// dynamisches Befuellen von select-Boxen mit Topics

function BPTopic(numericId, caption) {
  this.numericId = numericId;
  this.caption = caption;
}

function selectedTopicChanged(formName, selectName, subselectName) {
  var sb = document.forms[formName][selectName];
  var topicId = sb.options[sb.selectedIndex].value;
  setTopicOptions(formName, subselectName, topicId);
}

function setTopicOptions(formName, selectName, topicId, selection) {
  var sb = document.forms[formName][selectName];
  var subtopics = topics[topicId] || topics[""];
  sb.options.length = subtopics.length;
  for (var i = 0; i < subtopics.length; i++) {
    sb.options[i] = new Option(subtopics[i].caption, subtopics[i].numericId);
    if (subtopics[i].numericId == selection) {
        sb.selectedIndex = i;
    }
  }
}




/*
wird bei kontakt-webforms zur ueberpruefung von pflichtfeldern eingesetzt
ueberprueft nur eingabefelder und den datenschutzhinweis
*/
function checkKontaktForm(args) {
  var formularname = args.name;
  var myForm = args;
  var feld;
  var error = 0;
  var alleFelder = new Array();
  alleFelder = myForm.elements;
  var alleWerte = new Array();

  var pflichtFelder = new Array();
  var pflichLabels = new Array();

  var errorFelder = new Array();
  var errorLabels = new Array;
  var errorBezeichner = new Array(); // ohne wf_c_ davor

  var ausgabetext;

  for (var j = 0; j != alleFelder.length; j++) {
    alleWerte.push(alleFelder[j].value);
    if (alleFelder[j].name.substring(0, 5) == 'wf_m_') {
      pflichtFelder.push(alleFelder[j].id);
    }
  }

  for (var i = 0; i != alleFelder.length; i++) { // suche alle inputs mit name = wf_m_xyz & pruefe !=leer
    feld = alleFelder[i];
		
		// pruefung aller textfelder
    if (feld.type == 'text' && feld.name.substring(0, 5) == 'wf_m_') {
      if (feld) {
        var labelName = "wf_c_" + feld.id.substr(5);
        if (!(feld.value) != "") {
          error = 1;
          errorFelder.push(feld.id);
          errorLabels.push(document.getElementsByName(labelName)[0]);
          errorBezeichner.push(feld.id.substr(5));
        }
        else {
        }
      }
    }
  }

  if (error) {
    errorBezeichner = dme(errorBezeichner);
    ausgabetext = "Bitte ueberpruefen Sie Ihre Eingaben in den folgenden Feldern:     \n\n" + errorBezeichner.join("\n");
    ausgabetext += checkDisclaimer(myForm);

    alert(unescape(ausgabetext));
    return false;
  }
  else {
    return true;
  }
}

function checkDisclaimer(myForm) {
  var result = "";
  if (myForm.wf_m_Datenschutz) {
    if (!myForm.wf_m_Datenschutz.checked) {
      result += "\nUnsere Datenschutzbestimmungen muessen akzeptiert werden";
    }
  }
  if (myForm.wf_m_) {
    if (!myForm.wf_m_Datenschutz.checked) {
      result += "Unsere Datenschutzbestimmungen muessen akzeptiert werden";
    }
  }
  return result;
}


// delete multiple entries (array)
function dme(a1) {
  var a2 = new Array();
  var a3 = new Array();
  for (var i = 0; i < a1.length; i++) {
    if (typeof(a2[a1[i]]) == "undefined") {
      a2[a1[i]] = true;
      a3[a3.length] = a1[i];
    }
  }
  var a4 = new Array();
  for (var i = 0; i < a3.length; i++) {
    a4[a4.length] = a3[i]
  }
  return a4;
}

function getETrackerPath(uri) {//http://www.schueco.com/web/de/partner/produkte/fenster/aluminium/schueco_aws_105_cc.hi,addcontent=156240
  var elements = uri.split("/");
  var path = "";
  for (i = 3; i < elements.length - 1; i++) {
    path = path + "/" + elements[i];
  }
  return path;
}

function checkFormularPartner(args, aDisableAlert) {
	wtWaitBeforeSent = true;
	
  if (!webformCheckRequiredFields(aDisableAlert))  {
    return false;
  }

  var myForm = args;
  var ausgabe = "";
  var result;
  if (myForm.wf_rueckruf.checked == true) {
    if (myForm.wf_Telefonnummer.value == "") {
      ausgabe += "Bitte geben Sie eine Telefonnummer an unter der wir Sie erreichen. \n";
      wfErrorList += "wf_Telefonnummer ";
      result = false;
    }
  }
  if
      ((  (  (  (  (  (
      ((myForm.wf_fenster_alu.checked == false) && (myForm.wf_fenster_kunststoff.checked == false))
          && myForm.wf_fenster_stahl.checked == false)
      && myForm.wf_wintergarten.checked == false)
      && myForm.wf_balkone.checked == false )
      && myForm.wf_haustueren_alu.checked == false)
      && myForm.wf_haustueren_kunststoff.checked == false)
      && myForm.wf_haustueren_stahl.checked == false)
      && myForm.wf_sichtschutz.checked == false) {
    ausgabe += "Bitte geben Sie einen Produktbereich an.\n"
    wfErrorList += "Produktauswahl ";
    result = false;
  }

  if (result == false) {
	  webformSentWebtrekkWithErrors();
	  alert(ausgabe);
	  return false;
  }
  else {
	  return true;
  }
}

function checkFormularFensterUndTueren(args) {
	wtWaitBeforeSent = true; 
	
	var mailNew;
	var mailString = args.wf_Email.value;
	mailNew = mailString.replace(/\s/, '');
	args.wf_Email.value = mailNew;
	
    if(webformSendInProgress){
        return false;
    }

    webformCheckRequiredFieldsRemoveError('products');

    var checkOk = webformCheckRequiredFields(true, false);
    webformSendInProgress = false;
    var myForm = args;
    var checkedAnyProduct = false;
    if(myForm.wf_fenster_alu.checked == true
            || myForm.wf_fenster_kunststoff.checked == true
            || myForm.wf_fenster_stahl.checked == true
            || myForm.wf_haustueren_alu.checked == true
            || myForm.wf_haustueren_kunststoff.checked == true
            || myForm.wf_haustueren_stahl.checked == true
            || myForm.wf_wintergarten.checked == true
            || myForm.wf_balkon.checked == true){
        checkedAnyProduct = true;
    }
    if(!checkedAnyProduct) {
        webformCheckRequiredFieldsShowError('products');
        webformCheckRequiredFieldsShowError('showOnError');
        wfErrorList += "Produktauswahl ";
        checkOk = false;
    }
    if(checkOk){
        webformSendInProgress = true;
    }else{
    	webformSentWebtrekkWithErrors();
    }
    return checkOk;
}

//Sonderfall Tschechien
function checkFormularFensterTuerenSolarCZ(args) {
	wtWaitBeforeSent = true; 
	
	var mailNew;
	var mailString = args.wf_Email.value;
	mailNew = mailString.replace(/\s/, '');
	args.wf_Email.value = mailNew;
	
    if(webformSendInProgress){
        return false;
    }

    webformCheckRequiredFieldsRemoveError('products');
	webformCheckRequiredFieldsRemoveError('solar');

    var checkOk = webformCheckRequiredFields(true, false);
    webformSendInProgress = false;
    var myForm = args;
    var checkedAnyProduct = false;
    if(myForm.wf_fenster_alu.checked == true
            || myForm.wf_fenster_kunststoff.checked == true
            || myForm.wf_fenster_stahl.checked == true
            || myForm.wf_haustueren_alu.checked == true
            || myForm.wf_haustueren_kunststoff.checked == true
            || myForm.wf_haustueren_stahl.checked == true
            || myForm.wf_wintergarten.checked == true
            || myForm.wf_balkon.checked == true
			|| myForm.wf_solar_waermepumpe.checked == true
			|| myForm.wf_solar_photovoltaik.checked == true
			|| myForm.wf_solar_solarthermie.checked == true){
        checkedAnyProduct = true;
    }
    if(!checkedAnyProduct) {
        webformCheckRequiredFieldsShowError('products');
		webformCheckRequiredFieldsShowError('solar');
        webformCheckRequiredFieldsShowError('showOnError');
        wfErrorList += "Produktauswahl ";
        checkOk = false;
    }
    if(checkOk){
        webformSendInProgress = true;
    }else{
    	webformSentWebtrekkWithErrors();
    }
    return checkOk;
}
function checkFormularSolar(args) {
	wtWaitBeforeSent = true; 
	
	var mailNew;
	var mailString = args.wf_Email.value;
	mailNew = mailString.replace(/\s/, '');
	args.wf_Email.value = mailNew;
		
    if(webformSendInProgress){
        return false;
    }

    webformCheckRequiredFieldsRemoveError('products');

    var checkOk = webformCheckRequiredFields(true, false);
    var myForm = args;
    //Telefonnummer nur bei R?ckruf Pflicht
    /*  
    webformCheckRequiredFieldsRemoveError('wf_Telefonnummer');
    var theCallBackVal = myForm.wf_Beratung_Rueckrufzeit.value;
    if(theCallBackVal != undefined && theCallBackVal != null && theCallBackVal.length > 0
            && theCallBackVal != 4
            && (myForm.wf_Telefonnummer.value == undefined
                || myForm.wf_Telefonnummer.value == null
                || myForm.wf_Telefonnummer.value.length <= 0)){
            webformCheckRequiredFieldsShowError('wf_Telefonnummer');
            wfErrorList += "wf_Telefonnummer ";
            checkOk = false;
            
    }*/



    var checkedAnyProduct = false;
    if(myForm.wf_solar_photovoltaik.checked == true
            || myForm.wf_solar_solarthermie.checked == true
            || myForm.wf_solar_waermepumpe.checked == true
            || myForm.wf_solar_energiezentrale.checked == true){
        checkedAnyProduct = true;
    }
    if(!checkedAnyProduct) {
        webformCheckRequiredFieldsShowError('products');
        webformCheckRequiredFieldsShowError('showOnError');
        wfErrorList += "Produktauswahl ";
        checkOk = false;
    }
    if(checkOk){
        webformSendInProgress = true;      
    }else{
    	webformSentWebtrekkWithErrors();
    }
    
    return checkOk;
}

function checkFormularSolarPartner(args) {
	wtWaitBeforeSent = true; 
	
	var mailNew;
	var mailString = args.wf_Email.value;
	mailNew = mailString.replace(/\s/, '');
	args.wf_Email.value = mailNew;
	
  if (!webformCheckRequiredFields()) {
	  webformSentWebtrekkWithErrors();
	  return false;
  }

  var myForm = args;
  var ausgabe = "";
  var result;
  if ((  (  (  (((myForm.wf_solarthermie_warmwasser.checked == false) && (myForm.wf_solarthermie_heizung.checked == false))
      && myForm.wf_solarthermie_warmpumpe.checked == false)
      && myForm.wf_solarthermie_heizpumpe.checked == false)
      && myForm.wf_photovoltaik_MitOeffentlich.checked == false)
      && myForm.wf_photovoltaik_OhneOeffentlich.checked == false)
      && myForm.wf_solarPhotovoltaikKombi.checked == false) {
    ausgabe += "Bitte geben Sie einen Produktbereich an.\n"
    wfErrorList += "Produktauswahl ";
    result = false;
  }

  if ((myForm.wf_m_rueckruf.checked == false) && (myForm.wf_m_interesse_allg_info.checked == false))
  {
    ausgabe += "Bitte waehlen Sie ein persoenliches Gespraech oder Informationsmaterial\n";
    wfErrorList += "wf_m_rueckruf ";
  }
	// wenn telefonische beratung gewuenscht, mu\u00DF eine zeit mit angegeben werden & die telefonnummer ist dann pflicht
  if (myForm.wf_m_rueckruf.checked == true) {
    if (myForm.wf_beratung_rueckrufzeit[0].checked == false && myForm.wf_beratung_rueckrufzeit[1].checked == false && myForm.wf_beratung_rueckrufzeit[2].checked == false) {
      ausgabe += "Bitte geben Sie an, wann wir Sie werktags telefonisch erreichen koennen.\n\n";
      wfErrorList += "wf_beratung_rueckrufzeit ";
    }
  }
	//Auswahl erforderlich
  if (checkGroup(myForm.wf_m_Frage2) == false) {
    ausgabe += "Fuer welchen Zeitraum denken Sie ueber eventuelle Massnahmen nach?\n";
    wfErrorList += "wf_m_Frage2 ";
  }
  //MassnahmePlanBeschreibung setzen
  if(myForm.wf_m_Frage2[0].checked==true){myForm.wf_MassnahmePlanBeschreibung.value = "innerhalb von 3 Monaten";}
  if(myForm.wf_m_Frage2[1].checked==true){myForm.wf_MassnahmePlanBeschreibung.value = "innerhalb von 4 bis 6 Monaten";}
  if(myForm.wf_m_Frage2[2].checked==true){myForm.wf_MassnahmePlanBeschreibung.value = "innerhalb von 7 bis 12 Monaten";}
  if(myForm.wf_m_Frage2[3].checked==true){myForm.wf_MassnahmePlanBeschreibung.value = "in mehr als 12 Monaten";}
  if(myForm.wf_m_Frage2[4].checked==true){myForm.wf_MassnahmePlanBeschreibung.value = "keine konkrete Planung";}
  
  
  //Auswahl erforderlich
  if (checkGroup(myForm.wf_m_Frage3) == false) {
    ausgabe += "Sind Sie Eigentuemer, Mieter oder...?\n\n";
    wfErrorList += "wf_m_Frage3 ";
  }
  //MassnahmeBesitzBeschreibung setzen
  if(myForm.wf_m_Frage3[0].checked==true){myForm.wf_MassnahmeBesitzBeschreibung.value = "Haus- oder Immobilienbesitzer";}
  if(myForm.wf_m_Frage3[1].checked==true){myForm.wf_MassnahmeBesitzBeschreibung.value = "Mieter";}
  if(myForm.wf_m_Frage3[2].checked==true){myForm.wf_MassnahmeBesitzBeschreibung.value = "gewerblicher Bauherr";}
  if(myForm.wf_m_Frage3[3].checked==true){myForm.wf_MassnahmeBesitzBeschreibung.value = "Architekt / Planer / ausschreibende Stelle";}
  if(myForm.wf_m_Frage3[4].checked==true){myForm.wf_MassnahmeBesitzBeschreibung.value = "Sonstiges";}
  
  
  if (ausgabe == "") {
    return true;
  }
  else {
    //alert(ausgabe);
    webformSentWebtrekkWithErrors();
    return false;
  }
}

/*prueft das franz\u00F6sische Fensterformular*/
function checkFormularFensterFR(args) {
	wtWaitBeforeSent = true; 
	
  if (!webformCheckRequiredFields())  {
	  webformSentWebtrekkWithErrors();
	  return false;
  }
  var myForm = args;
  var ausgabe = "";
  var result;
  
  // Information sur le projet?
  if((checkGroup(myForm.wf_ProjektVorhanden) == false)&&(checkGroup(myForm.wf_MassnahmeArt) == false) && (checkGroup(myForm.wf_MassnahmePlan) == false) && (checkGroup(myForm.wf_Kostenvoranschlag) == false)){
    ausgabe += "Pas de information sur le projet.\n";
    wfErrorList += "wf_ProjektVorhanden wf_MassnahmeArt wf_MassnahmePlan wf_Kostenvoranschlag";
    result = false;
  }
  
   //produktbereich gewaehlt?
  if((myForm.wf_ProduktbereichFensterAlu.checked == false) && (myForm.wf_ProduktbereichFensterKS.checked == false)){
    ausgabe += "Tu suis int?ress?(e) par? \n";  
    wfErrorList += "wf_Produktbereich X ";
    result = false;
  }
  //variablen fuer webservice setzen
  if(myForm.wf_ProduktbereichFensterAlu.checked == true){
  	myForm.wf_ProduktbereichHaustuerAlu.value = "1";
  	myForm.wf_WeitergabeFenster.value = "1";
  	myForm.wf_WeitergabeSolar.value = "0";
  	}
  if(myForm.wf_ProduktbereichFensterKS.checked == true){
  	myForm.wf_ProduktbereichHaustuerKS.value = "1";
  	myForm.wf_WeitergabeFenster.value = "1";
  	myForm.wf_WeitergabeSolar.value = "0";
  	}
 
 //werbetraeger setzen
 if (myForm.wf_Werbeweg_r[0].checked == true){myForm.wf_Werbeweg.value = myForm.wf_Werbetraeger1.value;}
 if (myForm.wf_Werbeweg_r[1].checked == true){myForm.wf_Werbeweg.value = myForm.wf_Werbetraeger2.value;}
 if (myForm.wf_Werbeweg_r[2].checked == true){myForm.wf_Werbeweg.value = myForm.wf_Werbetraeger3.value;}
 if (myForm.wf_Werbeweg_r[3].checked == true){myForm.wf_Werbeweg.value = myForm.wf_Werbetraeger4.value;}
 if (myForm.wf_Werbeweg_r[4].checked == true){myForm.wf_Werbeweg.value = myForm.wf_Werbetraeger5.value;}
 if (myForm.wf_Werbeweg_r[5].checked == true){myForm.wf_Werbeweg.value = "Bouche ? oreille";}
 if (myForm.wf_Werbeweg_r[6].checked == true){myForm.wf_Werbeweg.value = "D?j? connu";}
 if (myForm.wf_Werbeweg_r[7].checked == true){myForm.wf_Werbeweg.value = "Mailing";}
 
  if (result == false) {
    alert(ausgabe);
    webformSentWebtrekkWithErrors();
    return false;
  }
  else {
    return true;
  }
}
/*prueft das franz\u00F6sische Verandaformular*/
function checkFormularVerandaFR(args) {
	wtWaitBeforeSent = true; 
	
  if (!webformCheckRequiredFields()) {
	  webformSentWebtrekkWithErrors();
	  return false;
  }
  var myForm = args;
  var ausgabe = "";
  var result;
  
  // Information sur le projet?
  if((checkGroup(myForm.wf_ProjektVorhanden) == false)&&(checkGroup(myForm.wf_MassnahmeArt) == false) && (checkGroup(myForm.wf_MassnahmePlan) == false) && (checkGroup(myForm.wf_Kostenvoranschlag) == false)){
    ausgabe += "Pas de information sur le projet.\n";
    wfErrorList += "wf_ProjektVorhanden wf_MassnahmeArt wf_MassnahmePlan wf_Kostenvoranschlag";
    result = false;
  }
  
  
  //variablen fuer webservice setzen
  if(myForm.wf_ProduktbereichWintergarten.checked == true){
  	myForm.wf_WeitergabeFenster.value = "0";
  	myForm.wf_WeitergabeSolar.value = "0";
  	}
 //werbetraeger setzen
 if (myForm.wf_Werbeweg_r[0].checked == true){myForm.wf_Werbeweg.value = myForm.wf_Werbetraeger1.value;}
 if (myForm.wf_Werbeweg_r[1].checked == true){myForm.wf_Werbeweg.value = myForm.wf_Werbetraeger2.value;}
 if (myForm.wf_Werbeweg_r[2].checked == true){myForm.wf_Werbeweg.value = myForm.wf_Werbetraeger3.value;}
 if (myForm.wf_Werbeweg_r[3].checked == true){myForm.wf_Werbeweg.value = myForm.wf_Werbetraeger4.value;}
 if (myForm.wf_Werbeweg_r[4].checked == true){myForm.wf_Werbeweg.value = myForm.wf_Werbetraeger5.value;}
 if (myForm.wf_Werbeweg_r[5].checked == true){myForm.wf_Werbeweg.value = "Bouche ? oreille";}
 if (myForm.wf_Werbeweg_r[6].checked == true){myForm.wf_Werbeweg.value = "D?j? connu";}
 if (myForm.wf_Werbeweg_r[7].checked == true){myForm.wf_Werbeweg.value = "Mailing";}

  
  if (result == false) {
    alert(ausgabe);
    webformSentWebtrekkWithErrors();
    return false;
  }
  else {
    return true;
  }
}
/*prueft franzoesisches solar-formular*/
function checkFormularSolarFR(args) {
	wtWaitBeforeSent = true; 
	
  if (!webformCheckRequiredFields())  {
	  webformSentWebtrekkWithErrors();
	  return false;
  }
  var myForm = args;
  var ausgabe = "";
  var result;
  
  // Information sur le projet?
  if((checkGroup(myForm.wf_ProjektVorhanden) == false)&&(checkGroup(myForm.wf_MassnahmeArt) == false) && (checkGroup(myForm.wf_MassnahmePlan) == false) && (checkGroup(myForm.wf_Kostenvoranschlag) == false)){
    ausgabe += "Pas de information sur le projet.\n";
    result = false;
  }
  //produktbereich gewaehlt?
  if(((myForm.wf_Heizung.checked == false) && (myForm.wf_StromOeffentlich.checked == false))&& (myForm.wf_Warmwasser.checked == false)){
    ausgabe += "Tu suis int?ress?(e) par? \n"
    result = false;
  }
  //variablen fuer den webservice setzen
  	myForm.wf_WeitergabeFenster.value = "0";
  	myForm.wf_WeitergabeSolar.value = "1";
  	
//werbetraeger setzen
 if (myForm.wf_Werbeweg_r[0].checked == true){myForm.wf_Werbeweg.value = myForm.wf_Werbetraeger1.value;}
 if (myForm.wf_Werbeweg_r[1].checked == true){myForm.wf_Werbeweg.value = myForm.wf_Werbetraeger2.value;}
 if (myForm.wf_Werbeweg_r[2].checked == true){myForm.wf_Werbeweg.value = myForm.wf_Werbetraeger3.value;}
 if (myForm.wf_Werbeweg_r[3].checked == true){myForm.wf_Werbeweg.value = myForm.wf_Werbetraeger4.value;}
 if (myForm.wf_Werbeweg_r[4].checked == true){myForm.wf_Werbeweg.value = myForm.wf_Werbetraeger5.value;}
 if (myForm.wf_Werbeweg_r[5].checked == true){myForm.wf_Werbeweg.value = "Bouche ? oreille";}
 if (myForm.wf_Werbeweg_r[6].checked == true){myForm.wf_Werbeweg.value = "D?j? connu";}
 if (myForm.wf_Werbeweg_r[7].checked == true){myForm.wf_Werbeweg.value = "Mailing";}
 
 
  if (result == false) {
    alert(ausgabe);
    return false;
  }
  else {
    return true;
  }
}



/*testet eine gruppe von checkboxen oder radiobuttons darauf, ob geklickt*/
function checkGroup(group) {
  var result = false;
  for (i = 0; i < group.length; i++) {
    if (group[i].checked == true) {
      result = true;
    }
  }
  return result;
}

var webformSendInProgress = false;

function helperPlzBindestrich(StringChar){
	var charCodesBindestrich = ['45', '727', '821', '822', '8210', '8211', '8212'];//, '8722'
	var result = false;
	for (var i = 0; i < charCodesBindestrich.length; i++ ){
		if(charCodesBindestrich[i] == StringChar) result = true;
	}
	return result;
}
function webformCheckRequiredFields(aDisableAlert, aSendOnce) {
	//alert('webformCheckRequiredFields (' +aDisableAlert + ',' + aSendOnce)
  var theDisableAlert = false;
  if(aDisableAlert != undefined && aDisableAlert != null && aDisableAlert == true){
    theDisableAlert = true;
    webformCheckRequiredFieldsRemoveError('showOnError');
  }
  var theSendOnce = false;
  if(aSendOnce != undefined && aSendOnce != null && aSendOnce == true){
    theSendOnce = true;
  }
  if(theSendOnce && webformSendInProgress){
	  if(wtSendFormData)
		  var rueckgabe = wtForm.sendinfo();
    return false;
  }
  var _fields = document.forms["formular"].wf_required_fields.value.split(",");
  if (_fields.length > 0) {
    var errormsg = "";
    for (var i = 0; i < _fields.length; i++) {
      var fieldname = _fields[i].replace(/\s*/, "");
      var field = document.forms["formular"].elements[fieldname];

      if (field) {
        if(theDisableAlert){
            webformCheckRequiredFieldsRemoveError(fieldname);
        }
        var value = field.value;
        var type;         
        if (field.type){
        	type = field.type; // input text, select-one, select-multiple
        }
        else {
        	if (field.length){
        		type=field[0].type;
        	}
        	else {
        		type="";
        	}
        }
       	   
        switch (type) {
          case "text":
          case "textarea":
          case "hidden":
        	  
            if (!value || value.length == 0 || value.replace(/\s*/, "").length == 0) {
              errormsg += "- " + jsErrorCodes[fieldname] + "\n";
              wfErrorList += fieldname + " ";
              if(theDisableAlert){
                webformCheckRequiredFieldsShowError(fieldname);
              }
            } else if (theDisableAlert && fieldname == 'wf_Email'){
                if(!webformValidateEmail(value)){
                    webformCheckRequiredFieldsShowError(fieldname);
                    errormsg += ".";
                    wfErrorList += "wf_Email ";
                }
            } else if (theDisableAlert && fieldname == "wf_Plz"){
            	//alert (fieldname + ', type:' + field.type + " --> " + type); 
            	var plzLength = 5;
            	var checkPlFormat = false;
            	
            	/* Anpassung Polen, Format: NN-NNN >> length = 6*/
            	if(document.forms["formular"].wf_plzPlMinLength && document.forms["formular"].wf_plzPlMinLength.value > 0){
            		var plzLength = document.forms["formular"].wf_plzPlMinLength.value;
            		checkPlFormat = true;

            	}
            	if(document.forms["formular"].wf_plzMinLength && document.forms["formular"].wf_plzMinLength.value > 0){
            		var plzLength = document.forms["formular"].wf_plzMinLength.value;
            	}
            	
            	/* Anpassung Polen, Format: NN-NNN >> length = 6*/
            	if(checkPlFormat == true && (value.length != plzLength ||  helperPlzBindestrich(value.charCodeAt(2)) == false   )){
            		webformCheckRequiredFieldsShowError(fieldname);
                    errormsg += ".";
                    wfErrorList += "wf_Plz ";
            	}
                if(checkPlFormat == false && (!webformIsInteger(value) || value.length != plzLength)){
                    webformCheckRequiredFieldsShowError(fieldname);
                    errormsg += ".";
                    wfErrorList += "wf_Plz ";
                }
            }
            break;

          case "select":
          case "select-one":
          case "select-multiple":
            var index = field.selectedIndex;
            if (index == -1 || field.options[index].value.length == 0) {
              errormsg += "- " + jsErrorCodes[fieldname] + "\n";
              wfErrorList += fieldname + " ";
              if(theDisableAlert){
                webformCheckRequiredFieldsShowError(fieldname);
              }
            }
            break;

          case "checkbox":
          case "radio":
            if (!field.length) {
              field = [field];
            }

            var found = false;
            for (var j = 0; j < field.length; j++) {
              if (field[j].checked) {
                found = true;
                break;
              }
            }

            if (!found) {
              errormsg += "- " + jsErrorCodes[fieldname] + "\n";
              wfErrorList += fieldname + " ";
              if(theDisableAlert){
                webformCheckRequiredFieldsShowError(fieldname);
              }
            }
            break;
           default:
           	break;

        } // end switch
      }
    }
    if (errormsg.length > 0) {
    	if(!wtWaitBeforeSent){
    		webformSentWebtrekkWithErrors();
    	}
      if(!theDisableAlert){
        alert(jsErrorCodes["webform.error.header"] + "\n" + errormsg);
      } else {
          webformCheckRequiredFieldsShowError('showOnError');
      }
      return false;
    }
  }
  if(theSendOnce){
    webformSendInProgress = true;
  }
  return true;
}

function webformSentWebtrekkWithErrors(){
	if(wtSendFormData){
		wtForm.customParameter = {
	    		1 : wtHelpertype,
	    		2 : wfErrorList,
	    		3 : wtHelperid
	    	};
	    var rueckgabe = wtForm.sendinfo();
	    wfErrorList = "";
	}
}

function webformCheckRequiredFieldsRemoveError(aFieldName){
    webformCheckRequiredFieldsShowError(aFieldName, true);
}
/**
 *
 * @param aFieldName
 * @param aRemoveError - optional
 */
function webformCheckRequiredFieldsShowError(aFieldName, aRemoveError){
    var theFieldContainerIdPostfix = '_container';
    var theContainer = Ext.get(aFieldName + theFieldContainerIdPostfix);
    if(theContainer != undefined && theContainer != null){
        if(aRemoveError != true){
            theContainer.addClass('error');
        } else {
            theContainer.removeClass('error');  
        }
    }
}

function webformValidateEmail(aEmailAdress) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   return reg.test(aEmailAdress);
}

function webformIsInteger(aValue) {
  if(aValue != undefined && aValue != null && aValue.length > 0){
    return (aValue.toString().search(/^-?[0-9]+$/) == 0);
  }
  return false;
}


var loadedIFrames = new Object();
/** Funktionen fuer neue Serienunterseiten: iFrame-Resize! **/
      function initResize() {
        window.setTimeout("resizeMe()",500);

      }

      /* resize by iframe-name */
      function resizeMe() {
          if (parent != null && window.name != null && window.name != '') {
              parent.resizeFrame(window.name);
          }
      }


      function resizeFrame(myFrame) {
            //alert("resizeFrame");
    	    var h = 0;
            if(document.getElementById(myFrame) && !(document.all)) {
                //contentDocument is the DOM way to access body of frame content!
                h = document.getElementById(myFrame).contentDocument.getElementById('framecontent').offsetHeight;
                //alert(h);
                document.getElementById(myFrame).style.height = h + 'px';
            }
            else if(document.all) {
                document.getElementById("page_margins").style.paddingBottom="0px";
                var hStart = 100;
                document.getElementById(myFrame).style.height = 100;
                h = document.frames(myFrame).document.getElementById('framecontent').offsetHeight;
                //alert(h);
                document.getElementById(myFrame).style.height = h + 'px';

                var footerKorr = (h-hStart);
                //alert ("iframe vergroessert um 100+:" + footerKorr);
                //placeFooter();
                //alert("orginal PB: " + document.getElementById("page_margins").style.paddingBottom);
                var oldPB= document.getElementById("page_margins").style.paddingBottom;

                oldPB = oldPB.slice(0, oldPB.length-2);
                //alert("old PB: " + oldPB);

                var newPB = footerKorr - oldPB;
                //alert(newPB);
                //document.getElementById("page_margins").style.paddingBottom = newPB+"px";
                //alert("final PB: " + document.getElementById("page_margins").style.paddingBottom);
            }
            if (loadedIFrames[myFrame]) {
                var anchorName = myFrame.substring(0,myFrame.indexOf('frame'));
                if (anchorName != 'pod' && anchorName != 'tenderSpec2') {
             	    document.location.hash = '#'+anchorName;
                }
            } else {
                loadedIFrames[myFrame] = true;
                //beim ersten laden immer nochmal zum in URL angegebenen hash springen (wegen Verschiebungen durch mehrere resizes), z.B. nach Login
                if (document.location.hash && document.location.hash.length > 0) {
                    document.location.hash = document.location.hash;
                 }
            }
            
            /* spezielle POD Anpassungen*/
           /* if (myFrame == 'podframe') {
               var podanchorlinkListEntry = document.getElementById('podanchorlink');
               var podanchorList = document.getElementsByName('pod');
               var podanchor;
               if (podanchorList && podanchorList.length > 0) {
                 podanchor = podanchorList[0];
               }
               var Knoten = podanchor;
               while (Knoten != null) {
                 Knoten = podanchor.nextSibling;
                 if (Knoten.nodeName.toUpperCase() == 'DIV' && Knoten.className == 'serviceiframe') {
                   break;
                 }
               }
               
               if (h < 10) {
            	   if (podanchor && Knoten && Knoten.className == 'serviceiframe') {
            	     Knoten.style.display = 'none';
            	   }
            	   if (podanchorlinkListEntry) {
            		   podanchorlinkListEntry.style.display = 'none';
            	   }
               } else {
            	   if (podanchor && Knoten && Knoten.className == 'serviceiframe') {
              	     Knoten.style.display = 'block';
              	   }
            	   if (podanchorlinkListEntry) {
            		   podanchorlinkListEntry.style.display = 'block';
            	   }
               }
            }*/
            
            return true;
      }
      
      
/** ENDE Funktionen fuer neue Serienunterseiten: iFrame-Resize **/
      
      var urlGlobal;
      var targetDivGlobal;
      function simpleAjaxRequest(url, targetDivId){
    	  if(url && targetDivId){
    		  urlGlobal = url;
    		  targetDivGlobal = document.getElementById(targetDivId);
    		  if(targetDivGlobal)
    			  setRequest();
    	  }
      }

      function setRequest() {
    		// Request erzeugen
    		if (window.XMLHttpRequest) {
    			request = new XMLHttpRequest(); // Mozilla, Safari, Opera
    		} else if (window.ActiveXObject) {
    			try {
    				request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
    			} catch (e) {
    				try {
    					request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
    				} catch (e) {}
    			}
    		}

    		// ueberpruefen, ob Request erzeugt wurde
    		if (!request) {
    			return false;
    		} else {
    			// Request \u00F6ffnen
    			request.open('post', urlGlobal, true);
    			// Request senden
    			request.send(null);
    			// Request auswerten
    			request.onreadystatechange = interpretRequest;
    		}
    	}
      
      // Request auswerten
      function interpretRequest() {
      	switch (request.readyState) {
      		// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
      		case 4:
      			if (request.status != 200) {
      			} else {
      				var content = request.responseText;
      				// den Inhalt des Requests in das <div> schreiben
      				targetDivGlobal.innerHTML = content;
      			}
      			break;
      		default:
      			break;
      	}
      }
      
//FeedTicker (used in FeedContainer.render.jsp and FeedItem.ticker.jsp)
    var tickers = new Array();
    
    function pausecomp(millis){
    	var date = new Date();
    	var curDate = null;

    	do { 
    		curDate = new Date(); 
    	} 
    	while(curDate-date < millis);
    } 
      
    function startTickers(){
    	for(var i = 0; i < tickers.length; i++){
    		tick = new tickerAnim(tickers[i]);
    		tick.start();
    	}
    }
    
    function tickerAnim(ticker){
    	this.screen = ticker.screen;
    	this.data = ticker.data;
    }
    
    tickerAnim.prototype.start = function(){
    	child = this.data.firstChild;
    	if(child)
    		this.screen.appandChild(child);
    	while(child){
    		pausecomp(10 * 1000);
    		toReplace = this.screen.firstChild;
    		child = child.nextSibling;
    		this.screen.replaceChild(child, toReplace);
    	}
    };
    
    function checkBrowserName(name){  
    	var agent = navigator.userAgent.toLowerCase();  
    	if (agent.indexOf(name.toLowerCase())>-1) {  
    		return true;  
    	}  
    	return false;  
    }  
