//////////////////////////////////////////////
// Skripte für die Schuy-Site
//////////////////////////////////////////////

// Globale Variablen
var httpRequest;
var sMID;

/* =============================================== 
   XHTTP-Funktionen
*/
function initHTTPRequest( sURL, reqFunc,  reqParam, sContent ) {
  if( window.XMLHttpRequest ) {
      httpRequest = new window.XMLHttpRequest();
      if( httpRequest.overrideMimeType )
      { httpRequest.overrideMimeType( 'text/plain' ); }
  } else {
      alert( 'Ihr Browser unterstützt leider kein XMLHttpRequest.' );
      return( null );
  }
  
  httpRequest.retFunction = reqFunc;
  httpRequest.param = reqParam;
  httpRequest.onreadystatechange = hrReady;

  if( sContent ) {
      httpRequest.open( 'POST', sURL, true );
      httpRequest.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' );
      httpRequest.send( sContent );
  } else {
      httpRequest.open( 'GET', sURL, true );
      httpRequest.send( null );
  }
  return httpRequest;
}

function hrReady() {
  if( httpRequest.readyState == 4 ) {
    if( httpRequest.status == 200 ) {
      switch( httpRequest.retFunction ) {
        case 'showDetail_ret' :
          showDetail_ret( httpRequest.responseText );
          break;
      }
    }
  }
}

function showDetail( iMID, sLang ) {
  var sURN = '/cgi-bin/mkMaschinenDetail.pl?mid=' + iMID;
  var sURN = sURN + '&lg=' + sLang;
  // Globale Variable setzen
  sMID = iMID;
  initHTTPRequest( sURN, 'showDetail_ret' );
}

function showDetail_ret( sData ) {
  var divDetail = document.getElementById( 'detailMaschine');
  document.getElementById( 'detailContent' ).innerHTML = sData;
  divDetail.style.top = document.documentElement.scrollTop + 30 + "px";
  divDetail.style.visibility = 'visible';
}

function hideDetail() {
  document.getElementById( 'detailMaschine' ).style.visibility = 'hidden';
}

function printPage() {
  var sURN = '/cgi-bin/mkMaschinenSeite.pl?mid=' + sMID + '&lg=de';
  w1 = window.open( sURN, 'printWindow', 'dependent=yes,width=30,height=30,top=0,left=0' );
  setTimeout( 'printPage2()', 1000 );
}

function printPage2() {
  w1.print();
  w1.close();
}

//==============================
// == Anfragefunktionen 
//==============================
function chkForm(sprache, hSpamFltFld)
{
	Meldung = new Array( "Bitte geben Sie den Firmennamen an.",
			     "Bitte geben Sie den Ansprechpartner an.",
			     "Bitte geben Sie die Strasse an.",
			     "Bitte geben Sie die Postleitzahl an.",
			     "Bitte geben Sie den Ort an.",
			     "Bitte wählen Sie das Land aus.",
			     "Bitte geben Sie Ihre eMail-Adresse an.",
			     "Bitte wählen Sie Ihre Branche aus.",
			     "Please enter the name of the company.",
			     "Please enter the name of the contact person.",
			     "Please enter the street.",
			     "Please enter the zip-code.",
			     "Please enter the town.",
			     "Please choose the country.",
			     "Please enter your eMail-address.",
			     "Please enter the area of business.",
			     "Veuillez vous donner le nom de societé.",
			     "Veuillez vous donner le person de contacter.",
			     "Veuillez vous donner la rue.",
			     "Veuillez vous donner le code postale.",
			     "Veuillez vous donner le village.",
			     "Veuillez choisir le pays.",
			     "Veuillez vous donner votre addresse e-mail.",
			     "Veuillez vous donner le branche"
			      );

	var message_base = 0;	// Die Position im Array ab der die Meldungen genutzt werden
	var chk_flds = 8;	// Anzahl der zu _überprüfenden_ Felder
	var regExp = /^.+@.+\.\D{2,3}$/;
	var actForm = document.forms[1].action;
	var frmName = document.forms[1].name;

	// Leider lässt sich der Formularname nicht korrekt
	// auslesen, daher über Ziel-Skript auswerten.
/*	if( actForm.substr( actForm.length-9, 9) == "anf_wl.pl" )
	{ frmName = "anfrage"; }

	if( actForm.substr( actForm.length-9, 9) == "gister.pl" )
	{ frmName = "register"; }
*/
	// Meldungsbasis definieren
	if( sprache == "en" )
	{ message_base = chk_flds * 1; }
	if( sprache == "fr" )
	{ message_base = chk_flds * 2; }

	// Prüfen ob von Anfrage-Seite aufgerufen,
	// wenn ja, dann testen, ob Benutzername
	// angegeben wurde. Ist dies der Fall, wird
	// die Überprüfung der anderen Felder übersprungen.
	if( frmName == "anfrage" )
	{
		if( document.anfrage.benutzer.value != "" )
		{ return true; }
	}
	if( document.forms[frmName].firma.value == "" )
	{
		alert( Meldung[message_base + 0] );
		document.forms[frmName].firma.focus();
		return false;
	}

	if( document.forms[frmName].asp.value == "" )
	{
		alert( Meldung[message_base + 1] );
		document.forms[frmName].asp.focus();
		return false;
	}

 	if( document.forms[frmName].strasse.value == "" )
	{
		alert( Meldung[message_base + 2] );
		document.forms[frmName].strasse.focus();
		return false;
	}

	if( document.forms[frmName].plz.value == "" )
	{
		alert( Meldung[message_base + 3] );
		document.forms[frmName].plz.focus();
		return false;
	}

	if( document.forms[frmName].ort.value == "" )
	{
		alert( Meldung[message_base + 4] );
		document.forms[frmName].ort.focus();
		return false;
	}

	if( document.forms[frmName].land.value == "" )
	{
		alert( Meldung[message_base + 5] );
		document.forms[frmName].land.focus();
		return false;
	}

	if( !regExp.test( document.forms[frmName].email.value ) )
	{
		alert( Meldung[message_base + 6] );
		document.forms[frmName].email.focus();
		return false;
	}

	if( document.forms[frmName].branche.value == "nix" )
	{
		alert( Meldung[message_base + 7] );
		document.forms[frmName].branche.focus();
		return false;
	}
	
	setSpamFilter( hSpamFltFld );
}

function chkEMail( sprache )
{
    var regExp      = /^.+@.+\.\D{2,3}$/;
    var actForm     = document.forms[1].action;
    var mldFehler   = "";
    var fOK         = true;

    Meldung = new Array(3);

    Meldung[ "de" ] = new Array(2);
    Meldung[ "de" ][ "eMail" ]  = "Bitte geben Sie Ihre E-Mail Adresse an.";
    Meldung[ "de" ][ "Text" ]   = "Bitte geben Sie vor dem Absenden ihre Nachricht an uns ein.";

    Meldung[ "en" ] = new Array(2);
    Meldung[ "en" ][ "eMail" ]  = "Please enter your eMail-address.";
    Meldung[ "en" ][ "Text" ]   = "Please enter your message for us before you send.";

    Meldung[ "fr" ] = new Array(2);
    Meldung[ "fr" ][ "eMail" ]  = "Veuillez vous donner votre addresse e-mail.";
    Meldung[ "fr" ][ "Text" ]   = "Priére de mentionner vos désirs avant la transmission.";

    if( !regExp.test( document.forms['kontakt'].email.value ) )
    {
        mldFehler = mldFehler + Meldung[ sprache ][ 'eMail' ] + "\n";
        document.forms['kontakt'].email.focus();
        fOK = false;
    }

    if( document.forms['kontakt'].Nachricht.value == "" )
    {
        mldFehler = mldFehler + Meldung[ sprache ][ 'Text' ] + "\n";
        document.forms['kontakt'].Nachricht.focus();
        fOK = false;
    }

    if( mldFehler != '' )
    { alert( mldFehler ); }

    return( fOK );
}

function setSpamFilter( hSpamFltFld )
{ hSpamFltFld.value = 64; }