// DOM Loader
document.observe("dom:loaded", function() {
  $('javabox').hide();
  $('javabox').hide();
  $('box1').hide();
  $('box2').hide();
  $('box3').hide();
  $('box4').hide();
  $('box5').hide();
  $('laenge_box').hide();
  $('sendbutton').hide(); 
  $('output_result').hide();
  $('anfrage').hide();
  $('anfrage_resultat').hide();
  Form.reset('kontaktformular');
});

// Zubehoer Counter
var globalVar = 1;	
var maxCount;

// Eiblendfunktionen Boxen
function showme1() {
  $('box1').appear(); 
}
function showme2() {
  $('box2').appear();
}
function showme3() {
  $('box3').appear();
  $('box4').appear();
}
function showme4() {
  $('box5').appear();

// Senden Button aktivieren
$('sendbutton').appear();
}  
    
/* Typ auslesen */
function get_typ(element,lang,zubehoer_text) {
  var myAjax = new Ajax.Request(
  "../../module/systemkonfigurator/includes/getTyp.php",
  { method: 'get', parameters: 'lang='+lang+'&cat='+element+'&zubehoer_text='+zubehoer_text, onComplete: show_result }
  );
  get_zubehoer(element,lang);
}

/* Typ ausgabe*/
function show_result(originalRequest) {
   $('typ_output').innerHTML = originalRequest.responseText;
}

/* Zubehör auslesen */
function get_zubehoer(element,lang,zubehoer_text) {

  var myAjax = new Ajax.Request(
  "../../module/systemkonfigurator/includes/getZubehoer.php",
  { method: 'get', parameters: 'lang='+lang+'&sub_cat='+element+'&zubehoer_text='+zubehoer_text, onComplete: show_result_subcat }
  );
  
}

/* Zubehör ausgabe */
function show_result_subcat( originalRequest ) {
   $('zubehoer_output').innerHTML = originalRequest.responseText;
}

/* Hublaenge + Beine anzeigen nach Traglast */
function getHublaenge(element,lang) {
 
  // Hublänge anzeigen
  var myAjax = new Ajax.Request(
  "../../module/systemkonfigurator/includes/getHublaenge.php",
  { method: 'get', parameters: 'traglast='+element+'&s_lang='+lang, onComplete: show_result_hublaenge }
  );
  
  // Beine anzeigen
  var myAjax = new Ajax.Request(
  "../../module/systemkonfigurator/includes/getBeine.php",
  { method: 'get', parameters: 'traglast='+element+'&s_lang='+lang, onComplete: show_result_beine }
  );
  
}
   
/* Hublaenge Ausgabe */
function show_result_hublaenge(originalRequest) {
   $('hublaenge_output').innerHTML = originalRequest.responseText;
}

/* Beine Ausgabe */
function show_result_beine(originalRequest) {
   $('beine_output').innerHTML = originalRequest.responseText;
}

/* Antrieb auslesen */
function getAntrieb(element,lang) {
  var myAjax = new Ajax.Request(
  "../../module/systemkonfigurator/includes/getAntrieb.php",
  { method: 'get', parameters: 'lang='+lang+'&tragkraft='+element, onComplete: show_result_antrieb }
  );
}
  
/* Antrieb ausgabe*/
function show_result_antrieb(originalRequest) {
   $('antrieb_box').innerHTML = originalRequest.responseText;
}

/* Laenge auslesen */
function getLaenge(tragkraft,hublaenge,lang) {
  var myAjax = new Ajax.Request(
  "../../module/systemkonfigurator/includes/getLaenge.php",
  { method: 'get', parameters: 'tragkraft='+tragkraft+'&lang='+lang+'&hublaenge='+hublaenge, onComplete: show_result_laenge }
  );
}
     
/* Hublaenge Ausgabe */
function show_result_laenge(originalRequest) {
   $('laenge_output').innerHTML = originalRequest.responseText;
}


// Zubehör Elemente hinzufügen
function addZubehoer(option) {
  var ni = document.getElementById('weiteres_zubehoer');
  var numi = document.getElementById('theValue');
  var num = (document.getElementById('theValue').value -1)+ 2;
  numi.value = num;
  var newdiv = document.createElement('div');
  var divIdName = 'z_'+num;
  var divInputName = 'i_'+num;
  var divSelectName = 's_'+num;
  newdiv.setAttribute('id',divIdName); 
  newdiv.setAttribute('class','addzubehoer'); 

  var parameter = "'"+divIdName+"'";
  var selectbox = '<label>&nbsp;</label><input name="'+divInputName+'" id="'+divInputName+'" type="text" value="0" class="txt_short"><select id="'+divSelectName+'" name="'+divSelectName+'" class="accessories">'+option+'</select>';
  newdiv.innerHTML = selectbox+'<a href="#" onClick="countZubehoer(0);removeElement('+parameter+');"><img src="../../images/interface/button_delete.gif"></a><div style="clear:both"></div>';
  ni.appendChild(newdiv);
}
  
// Zubehör entfernen
function removeElement(divNum) {
  var d = document.getElementById('weiteres_zubehoer');
  var olddiv = document.getElementById(divNum);
  d.removeChild(olddiv);
}

function removeZubehoer() {
var elm = document.getElementsByClassName('addzubehoer');
var elm_length = elm.length;

var elmids = new Array();
  for (var i=0; i<elm_length; i++) {
    elmids.push(elm[i].id);
  }
  
  for (var i=0; i<elm_length; i++) {
    $(elmids[i]).remove();
  }
  
  globalVar=1;
}
  
// Globale Variable für Begrenzung der Zubehoerboxen
function countZubehoer(value,max) {  

  if(value == 0) {
    globalVar--;
  } else {
    globalVar++;
  }
      
  if (globalVar == max) {
    $('addNew').hide();     
  } else {    
    $('addNew').appear();
  }

}

// Formular Validation
function checkFields() {

  // Variablen deklarieren
  var tragkraft = $F('traglast');
  var hublaenge = $F('hublaenge');
  var beine = $F('beine');
  var antrieb = $F('antrieb');
  var typ = $F('typ');

  // Prüfung ob Länge gesetzt ist
  var f_laenge;
  if(Element.visible("laenge_box")) {
  var laenge = $F('laenge');
    if (laenge == '_blank') {
      f_laenge = 0;
    } else {
      f_laenge = 1;
    } 
  } else {
      f_laenge = 1;
  }

    
  // Zubehör Validation
  var zubehoer = new Array();
  
  zubehoer.push(0); // Wert 0 ergänzen für Standart
  var addzubehoer = document.getElementsByClassName('addzubehoer');
  
  for (var i=0; i<addzubehoer.length; i++) {
    zubehoer_id = addzubehoer[i].id;
    zubehoer_id = zubehoer_id.replace("z_", "");
    zubehoer.push(zubehoer_id); 
  }
  
  for(var i=0; i<zubehoer.length; i++) {
  
    var i_value = "i_"+zubehoer[i];
    var s_value = "s_"+zubehoer[i];
    var f_zubehoer;
    
    if (($F(i_value) > 0 && $F(s_value) == '_blank') || ($F(i_value) == 0 && $F(s_value) != '_blank')) {
    f_zubehoer = 0;
    break;
    } else {
    f_zubehoer = 1;
    }
  } 
  

  var parameter = Form.serialize('kontaktformular');
  
  if(f_zubehoer == 0) {
    parameter = parameter+"&f_zubehoer=0";
  }
  
  if (f_laenge == 0) {
    parameter = parameter+"&f_laenge=0";
  }

  // Wenn Zubehoer False, Länge False + sonstige Felder blank
  if ( (f_zubehoer == 0) || (f_laenge == 0) || (tragkraft == '_blank') || (beine == '_blank') || (antrieb == '_blank') || (typ == '_blank') || (hublaenge == '_blank') ) {
  
    var myAjax = new Ajax.Request(
    "../../module/systemkonfigurator/includes/getValidate.php",
    { method: 'get', parameters: parameter, onComplete: show_result_validate }
    );
  
  } else {
    hideForm();
  }
    
}

/* Validation Ausgabe */
function show_result_validate(originalRequest) {
   $('formvalid').appear;
   $('formvalid').innerHTML = originalRequest.responseText;
}

// Ergebnisparameter übergeben + Form ausblenden
function hideForm() {
  $('systemkonfigurator_eintrag').hide();
  
  // sämtliche Werte übergeben
  var parameter = Form.serialize('kontaktformular');

  // Länge Flag setzen
  if(Element.visible("laenge_box")) {
  parameter = parameter+"&laenge_flag=1";
  } 
  
  // Request durchführen 
  var myAjax = new Ajax.Request(
  "../../module/systemkonfigurator/includes/getResult.php",
  { method: 'get', parameters: parameter, onComplete: show_end_result }
  );     
}

/* Hublaenge Ausgabe */
function show_end_result(originalRequest) {
   $('output_result').appear();
   $('output_result').innerHTML = originalRequest.responseText;
}

function showForm() {
   $('output_result').hide();
   $('systemkonfigurator_eintrag').appear();
   $('formvalid').innerHTML = '';
}

// Bei einer Hublänge von 600 gibt es Keine Tischbeine, daher ausblenden
function changeHublaenge() {
var hublaenge = $F('hublaenge');
  if (hublaenge == "600") {
    $('hubelement6').hide();
    $('span_6').hide();
  } else {
    $('hubelement6').show();
    $('span_6').appear();
  }
}

// Anfrage Formular anzeigen
function showAnfrage(lang) {
$('output_result').hide();
$('anfrage').appear();

  var parameter = Form.serialize('hidden_values');
  parameter = parameter + '&s_lang='+lang;

  var myAjax = new Ajax.Request(
  "../../module/systemkonfigurator/includes/getForm.php",
  { method: 'get', parameters: parameter, onComplete: show_result_anfrage }
  );

}

function show_result_anfrage(originalRequest) {
   $('anfrage').innerHTML = originalRequest.responseText;
}  		

function anfrageBack() {
  $('anfrage').hide();
  $('output_result').appear();
  $('anfrage_resultat').hide();
}

function test() {
  $('anfrage').show();
  $('anfrage_resultat').hide();
  $('anfrage_validation').hide();
}

function checkFormAnfrage() {

  var name = $F('name');
  var vorname = $F('vorname');
  var strasse = $F('strasse');
  var plz = $F('plz');
  var ort = $F('ort');
  var land = $F('land');
  var email = $F('email');
  var telefon = $F('telefon');
  
  var parameter = Form.serialize('anfrageformular');  
  
  // Prüfung ob Variablen ausgefüllt sind
  if ((name == '') || (vorname == '') || (strasse == '') || (plz == '') || (ort == '') || (land == '') || (email == '') || (telefon == '')) {
    var myAjax = new Ajax.Request(
    "../../module/systemkonfigurator/includes/getValidateAngebot.php",
    { method: 'get', parameters: parameter, onComplete: showResultAnfrageValidation }
    );
  } else {
  // Send Mail
    var myAjax = new Ajax.Request(
    "../../module/systemkonfigurator/includes/sendMail.php",
    { method: 'post', parameters: parameter, onComplete: showResultAnfrage }
    );
    $('anfrage').hide();
  } 
  
}  

function showResultAnfrageValidation(originalRequest) {
   $('anfrage_validation').show();
   $('anfrage_validation').innerHTML = originalRequest.responseText;
}  	
  
function showResultAnfrage(originalRequest) {
   $('anfrage_resultat').show();
   $('anfrage_resultat').innerHTML = originalRequest.responseText;
} 

// Radio Button Funktion
function $RF(el, radioGroup) {
    if($(el).type && $(el).type.toLowerCase() == 'radio') {
        var radioGroup = $(el).name;
        var el = $(el).form;
    } else if ($(el).tagName.toLowerCase() != 'form') {
        return false;
    }

    var checked = $(el).getInputs('radio', radioGroup).find(
        function(re) {return re.checked;}
    );
    return (checked) ? $F(checked) : null;
}


