/*********************************************************
  AGILive - LiveshoppingSystem

	Version: 1.0
	Datum: 06.04.2009
	Creator: AGI - Andreas Guder Internetagentur
	
	*Dieses Script ist urheberrechtlich geschüzt. 
	Weder Teile des Scripts noch das komplette Script dürfen
	ohne die Absprache mit AGI - Andreas Guder Internetagentur
	veröffentlicht, weitergegeben oder anderweitig verwendet werden.
  Dieser Copyright-Hinweis darf nicht entfertn werden.
**********************************************************/

var eingabe = null;
var thisform = null;
pflichtfelder = false;
geaendert = false;
falschwert = 0;
zaehler = 0;
fehlerArray = new Array();

function check_it(nummer,leer) {
	
  var treffer = false;
  if ( leer == 1 && eingabe.value == '' )
    var testok = true;
  else {
    if ( eingabe.value == '' )
      var testok = false;
    else {
    	switch (nummer) {
    		// Integerwert 1-Stelle
    		case 1: var testmuster = /^\-?[0-9]{1}$/;
    			var testok = testmuster.test(eingabe.value);
    			break;
        // Integerwert 2-Stellen
    		case 2: var testmuster = /^\-?[0-9]{1,2}$/;
    			var testok = testmuster.test(eingabe.value);
    			break;
        // Integerwert 3-Stellen
    		case 3: var testmuster = /^\-?[0-9]{1,3}$/;
    			var testok = testmuster.test(eingabe.value);
    			break;
    		// Dezimalwert
    		case 4: var testmuster = /^\-?[0-9]{0,4}[\.\,]{0,1}[0-9]{0,2}$/;
    			var testok = testmuster.test(eingabe.value);
    			break;
    		// Text
    		case 6: var testmuster = /[\<\>\;\#\|]|(--)|(\*\/)/;
          var testok = testmuster.test(eingabe.value);
          testok = !testok;
    			break;
    		// Email
    		case 7: var testmuster = /^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-_]|\.)*[a-zA-Z0-9]{1,}\.[a-zA-Z0-9]{2,4}$/;
          var testok = testmuster.test(eingabe.value);
    			break;
        // Straße mit Hausnummer
        case 10: var testmuster = /^[a-zA-Z0-9ÄÜÖäüöß&\.\-\ ]+(\.| ){1}[0-9]+(( ?[a-zA-Z])|( ?[\-\/]? ?[0-9]{0,4}))?$/;
          var testok = testmuster.test(eingabe.value);
          if ( testok ) {
            
            var testmuster = /packstation/i;
            var testok = testmuster.test(eingabe.value);
            testok = !testok;
            
          }
    			break;
        // Postleitzahl
        case 11: var testmuster = /^([A-Z]{0,2} (\- )?)?[0-9]{5}$/;
          var testok = testmuster.test(eingabe.value);
    			break;
        // Telefonnummer
        case 12: var testmuster = /^(?:(?:\+|00)[1-9][0-9]{0,3} ?)?(?:\([1-9][0-9]{0,5}\)|0?[1-9][0-9]{0,5})(?: ?\/ ?| )?[1-9](?: ?[0-9]){2,7}(?: ?-(?: ?[0-9]){1,5})?$/;
          var testok = testmuster.test(eingabe.value);
    			break;
    	}
    }
  }
	if(!testok) {
    
    // Feststelen, ob der Fehler schon besteht
    if ( fehlerArray.length < 1 ) {
      fehlerArray.push(eingabe.name);
      eingabe.className = eingabe.className+' fehleingabe';
    } else {
      for ( var i = 0; i < fehlerArray.length; i++ ) {
        
        if ( fehlerArray[i] == eingabe.name ) {
          treffer = true;
          break;
        }
        
      }
      
      // Einfügen des Fehlerelements
      if ( !treffer ) {
        fehlerArray.push(eingabe.name);
        eingabe.className = eingabe.className+' fehleingabe';
      }
    }
    
    // Anzegen der Fehlermeldung
    var anzeige = document.getElementById('fehlerdiv');
    geaendert = true;
    var element = eingabe;
  	var positionTop = element.offsetTop;
  	while((element = element.offsetParent) != null) {
  		if(element.tagName != 'HTML')
  			positionTop += element.offsetTop;
  	}
    
    if ( eingabe.value == '' ) {
      anzeige.getElementsByTagName('span')[0].style.display = 'none';
      anzeige.getElementsByTagName('span')[1].style.display = 'inherit';
    } else {
      anzeige.getElementsByTagName('span')[0].style.display = 'inherit';
      anzeige.getElementsByTagName('span')[1].style.display = 'none';
    }
  	
  	// Tooltipp Position Left ermitteln
  	var element = eingabe;
  	var positionLeft = element.offsetLeft;
  	while((element = element.offsetParent) != null) {
  		if(element.tagName != 'HTML')
  		positionLeft += element.offsetLeft;
  	}
    anzeige.style.display = 'block';
    positionTop = positionTop-(anzeige.offsetHeight)-10;
    positionLeft = positionLeft+(eingabe.offsetWidth/2);
    anzeige.style.top = positionTop+'px';
    anzeige.style.left = positionLeft+'px';
    return false;
    
	} 
  else {
    
    // Feststellen, ob es schon Fehler gibt
    if ( fehlerArray.length > 0 ) {
      
      for ( var i = 0; i < fehlerArray.length; i++ ) {
        
        if ( fehlerArray[i] == eingabe.name ) {
          treffer = true;
          break;
        }
        
      }
      
      // Entfernen des Elements, wenn schon ein Fehler für das Feld existiert
      if ( treffer ) {
        eingabe.className = eingabe.className.replace(/\s?fehleingabe/,'');
        fehlerArray.splice(i, 1);
      }
      
    }
    
    // Ausblenden der Fehlermeldung
    var anzeige = document.getElementById('fehlerdiv');
    anzeige.style.top = '0px';
    anzeige.style.left = '-500px';
    anzeige.style.display = 'none';
    return true;
	}
  
}

function was_geaendert() {
	var check = true;
	if (geaendert)
		check = confirm('Sie verlassen die Seite ohne zu speichern. Dadurch gehen alle Änderungen verloren!');
	return check;
}

function falscherwert() {
	if ( fehlerArray.length > 0 ) {
		alert("Sie haben ungültige Werte eingetragen, bitte überprüfen Sie alle ROT-markierten Felder!");
		return false;
	}	else
		return true;
}

// Feststellen, ob alle pflichtfelder ausgefüllt sind
function checkpflichtfelder() {
  if ( pflichtfelder ) {
    for ( var i = 0; i < pflichtfelder.length; i++ ) {
      if ( thisform.elements[pflichtfelder[i]].value == '' ) {
        alert('Sie haben nicht alle Pflichtfelder ausgefüllt');
        return false;
      }
    }
  }
  return true;
}

function submit_ok() {
  
	if (checkpflichtfelder() && falscherwert() && was_geaendert())
		return true;
	else 
		return false;
}
