var iwFormValidator = {
	
	config: function() {
		this.translateIDs 			= new Array();
		this.groupmessage 			= new Array();
		this.dependencyCheckArray	= new Array();
		this.attach2form 			= (this.attach2form)?this.attach2form:"kontaktform";
		this.myevent 				= "onsubmit";
		this.parseErrorToContainer 	= (this.parseErrorToContainer)?this.parseErrorToContainer:"fehlermeldung";
		this.displayaslist			= false;
		
		this.highlightClass 		= "hClass";
		this.errorClass 			= "errClass";
		this.errorTitleString		= (this.errorTitleString)?this.errorTitleString:"<strong>Folgende Felder m&uuml;ssen korrekt ausgef&uuml;llt werden:</strong><br />";
		this.defaultErrorString		= "Es ist ein Fehler aufgetreten. Bitte wenden Sie sich an den Systemadministrator.";
		this.errOneOrAnotherMessage = (this.errOneOrAnotherMessage)?this.errOneOrAnotherMessage:"Bitte geben Sie die Anzahl der Exemplare von mindestens einem der folgenden Felder an: \n\n- Kompletter Antrag auf Übernahme einer Ausfallbürgschaft\n- Antrag auf Übernahme einer Beteiligungsgarantie\n- Antrag auf Übernahme einer Beteiligungsgarantie";

		this.cForm					= "";
		
		this.groupMessageKeyHolder = new Array();
		
		this.errArrayTmp4 = new Array();
		
		/*
		 * Dieses Array wird hauptsächlich bei der Profilverwaltung benutzt,
		 * da man dort dass Passwortfeld leer lassen kann (damit das Password
		 * nicht geändert wird).
		 * Um ein Feld erst dann zu prüfen, wenn dessen Länge > 0 ist,
		 * muss dieses in das Array gepusht werden.
		 */
		this.passwordsWhichCouldBeNull = new Array();
	},
	
	trim: function(str) {
	    return String(str).replace(/^\s+|\s+$/g,'');
	},
	
	getGroupMessage: function(key){
		for(x in this.groupErrorMessage) {
		    for(var y = 0; y<this.groupErrorMessage[x].keys.length;y++){
		    	if(key==this.groupErrorMessage[x].keys[y]){
		    		if(!iwToolbox.in_array(x,this.groupMessageKeyHolder)){
			            this.groupMessageKeyHolder.push(x);
						var msg = this.groupErrorMessage[x].text;
						return msg;
			        }else{
						return "alreadyprocessed";
					}
				}
			}
		}
		return key;

	},
	
	replaceString: function(string){
		var workstring = string;
		var tmpString = "";
		var nString = this.getGroupMessage(workstring);
		if(nString == workstring){
			for (var y= 0;y<this.translateIDs.length;y++) {
				tmpString = this.translateIDs[y][0];
				if(tmpString==workstring) {
					workstring = this.translateIDs[y][1];
				}else{
					workstring = workstring;
				}
			}
		}else{
			if(nString=="alreadyprocessed"){
				workstring = "";
			}else{
				workstring = nString;
			}
		}
		
		return workstring;
	},
	
	reset: function() {
		var instances = document.getElementsByTagName("input");
		for(var ii=0;ii<=instances.length;ii++) {
			if(instances[ii]) {
				if(instances[ii].className.indexOf("errClass") != -1) {
					instances[ii].className = instances[ii].className.replace(/errClass/,"");
				}
			}
		}
		
		document.getElementById(this.attach2form).reset();

		if(document.getElementById(this.parseErrorToContainer))
			document.getElementById(this.parseErrorToContainer).style.display = "none";
	
	},
	
	isEmpty: function(string) {
		if(string == "" || string==0 || typeof string == "undefined") {
			return true;
		}
		
		return false;
	},
	
	registerCurrentField: function(obj) {
		this.currentfield = obj;
	},

	setMailValidator: function(obj) {
		if(document.getElementById(obj)){
			document.getElementById(obj).setAttribute("onblur"," return iwFormValidator.validateEMail()");
		}
	},

	populateErrorBox: function(errFields) {
		var fieldscounter;
		
		if(this.displayaslist){
			var errString = this.errorTitleString+this.errorTitleString2+"<ul class='iwFVClass'>";
		}else{
			var errString = this.errorTitleString+this.errorTitleString2+"<p>";
		}
		
		errFields = iwToolbox.arrayUnique(errFields);

		if(iwToolbox.is_array(errFields)) {
			for(fieldscounter=0;fieldscounter<errFields.length;fieldscounter++) {
				if(typeof errFields[fieldscounter] != "undefined") {
					if(this.displayaslist) {
						var errFieldString = iwToolbox.upperCapital(this.replaceString(errFields[fieldscounter]));
						if(errFieldString != ""){
							errString = errString + "<li>"+errFieldString+"</li>";
						}
					}else{
						var errFieldString = iwToolbox.upperCapital(this.replaceString(errFields[fieldscounter]))
						if(errFieldString != ""){
							errString = errString + errFieldString +", ";
						}
					}
				}
			}
	
			if(this.displayaslist){
				errString = errString +"</ul>";
			}else{
				errString = errString.substr(0,errString.length-2)+"</p>";
			}
		} else {
			var errFieldString = iwToolbox.upperCapital(this.replaceString(errString));
			if(errFieldString != "") {
				errString = errFieldString+errFields;
			}
		}
		
		
		// Lets check, if a JSP-ErrorContainer already exists, and use it
		var parseContainer = iwToolbox.getElementsByClassName(document,"div","fehlermeldung");

		if(iwToolbox.is_array(parseContainer) && parseContainer.length>1){
			for(var pC = 0; pC<parseContainer.length;pC++){
				if(parseContainer[pC].innerHTML.length>5){
					this.parseErrorToContainer = parseContainer[pC]; 
				}
			}
		}
		
		if(iwToolbox.getObject(iwFormValidator.parseErrorToContainer)) {
			if(errString!=""){
				iwToolbox.getObject(iwFormValidator.parseErrorToContainer).innerHTML = errString;
			}else{
				iwToolbox.getObject(iwFormValidator.parseErrorToContainer).innerHTML = this.defaultErrorString;
			}					
			if(this.replaceBox && document.getElementById(this.replaceBox)) { 
				iwToolbox.getObject(this.replaceBox).style.display = "none";
			}
			iwToolbox.getObject(iwFormValidator.parseErrorToContainer).style.display = "block";
		}
		//return false;
	},

	markField: function(field) {
		if(document.getElementById(field)) {
			
			if(document.getElementById(field).className.indexOf(" errClass")<1)
				document.getElementById(field).className += " "+this.errorClass;
		}
		return true;
	},
	
	demarkFields: function(field) {
		if(document.getElementById(field)) {
		
			if(document.getElementById(field).className.indexOf(" errClass")>0)
				document.getElementById(field).className = document.getElementById(field).className.replace(/errClass/," ");
		}
		return true;
	},

	validateEMail: function(autonom, email) {
		
		var res = false;
		if(this.setMailValidatorArray.length>0) {
			var RegExSupport = false;

			if(typeof(RegExp) == 'function') {
				var testExpr = new RegExp('abc');
				if(testExpr.test('abc') == true){
					RegExSupport = true;
				}
			}
			if(RegExSupport == true) {
				for(emfields=0;emfields<this.setMailValidatorArray.length;emfields++) {
					if(document.getElementById(this.setMailValidatorArray[emfields])) {
						if((email != null) && (typeof email != "undefined"))
							var string = email;
						else
							var string = document.getElementById(this.setMailValidatorArray[emfields]).value;
		
		
						regEx = new RegExp('^([a-zA-Z])+([0-9\\-\\.\\_a-zA-Z])+(\\@)([Ã¤Ã¶Ã¼Ã„Ã–Ãœa-zA-Z0-9\\-\\.]+)(\\.)([a-zA-Z]{2,6})$');
						res = (regEx.test(string));
						
						if (res==false) {
							this.markField(this.setMailValidatorArray[emfields]);
							if(autonom==true) return false;
							return false;
							//this.populateErrorBox(this.setMailValidatorArray[emfields]);
						} else {
							if(autonom==true) return true;
							return true;
						} //res==false
					}// does exist
				}// for
			} else {
				for(emfields=0;emfields<this.setMailValidatorArray.length;emfields++) {
					if(document.getElementById(this.setMailValidatorArray[emfields])) {
						var string = document.getElementById(this.setMailValidatorArray[emfields]).value;
						res = (string.search('@') >= 1 && string.lastIndexOf('.') > string.search('@') && string.lastIndexOf('.') >= string.length-5)
						
						if (res==false) {
							this.markField(this.setMailValidatorArray[emfields]);
							if(autonom==true) return false;
							return false;
							//this.populateErrorBox(this.setMailValidatorArray[emfields]);
						} else {
							if(autonom==true) return true;
							return true;
						} //res==false
					}
				}
			}
		}
	},

	// Methoden fuer die Ueberpruefung der Kreditkarte
	isVisa: function(cc) {
  		if (((cc.length == 16) || (cc.length == 13)) && (cc.substring(0,1) == 4)) {
      		return isCreditCard(cc);
  		}
  		return false;
	},
	
	isMasterCard: function(cc) {
		var firstdig = cc.substring(0,1);
		var seconddig = cc.substring(1,2);
  		if ((cc.length == 16) && (firstdig == 5) && ((seconddig >= 1) && (seconddig <= 5))) {
      		return isCreditCard(cc);
  		}
  		return false;
	},
	
	isAmericanExpress: function(cc) {
  		var firstdig = cc.substring(0,1);
  		var seconddig = cc.substring(1,2);
  		if ((cc.length == 15) && (firstdig == 3) && ((seconddig == 4) || (seconddig == 7))) {
      		return isCreditCard(cc);
  		}
  		return false;
	},
	
	isDinersClub: function(cc) {
		var firstdig = cc.substring(0,1);
		var seconddig = cc.substring(1,2);
		if ((cc.length == 14) && (firstdig == 3) && ((seconddig == 0) || (seconddig == 6) || (seconddig == 8))) {
    		return isCreditCard(cc);
		}
		return false;
	},
	
	isCreditCard: function(st) {
		if (st.length > 19) {
   			return (false);
		}

		var sum = 0; 
		var mul = 1; 
		l = st.length;

		for (i = 0; i < l; i++){
			var digit = st.substring(l-i-1,l-i);
      		var tproduct = parseInt(digit ,10) * mul;
      		if (tproduct >= 10){
        		sum += (tproduct % 10) + 1;
      		}else{
        		sum += tproduct;
      		}

	        if (mul == 1) {
        		mul++;
      		}else{
        		mul--;
       		}
  		}

  		if ((sum % 10) == 0){
      		return true;
  		}else {
      		return false;
  		}
	},
	
	compareFields: function() {
		this.errArrayTmp2 = new Array();
		field1 = iwToolbox.getObject(this.compareFieldsArray[0]);
		field2 = iwToolbox.getObject(this.compareFieldsArray[1]);
		if(field1 && field2) {
			if(field1.value != field2.value) {
				this.errArrayTmp2.push(field1.id)
				this.errArrayTmp2.push(field2.id)
				var e = 1;
			}
		}
		if(e){
			//this.errArrayTmp = this.errArrayTmp.concat(this.errArrayTmp2);
			return false;
		}else{
			return true;
		}
	},
	
	checkLength: function() {
		this.wearedirty;
		this.errArrayTmp = new Array();
		
		for (i=0;i<this.setMinMax.length;i++) {
			field = iwToolbox.getObject(this.setMinMax[i][0]);
			minlength = this.setMinMax[i][1];
			maxlength = this.setMinMax[i][2];

			if(field.value.length == 0 && iwToolbox.in_array(field.id, this.passwordsWhichCouldBeNull)){
				return true;
			} // end if

			if((field.value.length < minlength || field.value.length > maxlength)) {
				this.errArrayTmp.push(this.setMinMax[i][0]);
			} // end if
			
		} // end for
		
		if(this.errArrayTmp.length>0)
			return false;
			
		return true;
	},
	
	getValidator: function(valiFunc){
		if(valiFunc=="validateCreditCard")
			return this.validateCreditCard;
	},
	
	runDependencyCheck: function() {
		var doCheck = false;
		var depArray = false;
		
		for(var x=0;x<this.dependencyCheckArray.length;x++) {
			depArray = this.dependencyCheckArray[x];
			for(var xx=0;xx<depArray.length;xx++) {
				if(this.isEmpty(iwToolbox.getObject(depArray[xx]).value)==false) {					
					doCheck = true;
				}
			}
			
			if(doCheck) {
				for(var z = 0; z<this.dependencyCheckInjection.length;z++){
					if(this.dependencyCheckInjection[z][1] == this.dependencyCheckArray[x][z]){
						var func = this.dependencyCheckInjection[z][2];
						if(typeof func != "undefined" && func!=null && func!=""){
							var eFunc = this.getValidator(func);
							eFunc();
						} 
					}
				}
				for(var xxx=0;xxx<=depArray.length;xxx++) {
						this.fieldsToValidate.push(depArray[xxx]);
				}
				doCheck = false;
			}else{
				for(var xxxx=0;xxxx<=depArray.length;xxxx++) {
					this.fieldsToValidate = iwToolbox.arrayRemoveItem(this.fieldsToValidate,depArray[xxxx]);
					this.demarkFields(depArray[xxxx]);
				}
				doCheck = false;
			}
			this.fieldsToValidate = iwToolbox.arrayRemoveEmpty(this.fieldsToValidate);
			docheck = false;
			depArray = false;
		}
	},
	
	isEmptyOrNull: function (instance){
		if(typeof instance != "undefined" && instance != null && instance){
			if(instance.tagName=="SELECT"){
				if(instance.value=="0" || /*instance.selectedIndex=="0" || */ instance.value=="")
					return true;
			}else if(this.trim(instance.value)==""){
				return true;
			}
		}
		return false;
	},
	
	validateCreditCard: function(){
		var res;
		for(cc in iwFormValidator.creditCards){
			if(typeof iwFormValidator.creditCards[cc] == "object"){
				var ccType = document.getElementById(iwFormValidator.creditCards[cc].field).value;
				var ccNumber = document.getElementById(iwFormValidator.creditCards[cc].ccNumberField).value;
				
				if(ccNumber.indexOf("****") == -1){
					switch (ccType) {
						case '1':
							res = iwFormValidator.isVisa(ccNumber);
						break;
						case '2':
							res = iwFormValidator.isMasterCard(ccNumber);
						break;
						case '3':
							res = iwFormValidator.isDinersClub(ccNumber);
						break;
						case '4':
							res = iwFormValidator.isAmericanExpress(ccNumber);
						break;
					
						default:
							res = iwFormValidator.isCreditCard(ccNumber);
					}
					
					if(res==false){
						iwFormValidator.errArrayTmp4.push(iwFormValidator.creditCards[cc].ccNumberField);
					}
				}
			}
		}
	},
	
	isRegexAvailable: function(){
		var RegExSupport = false;
		
		if(typeof(RegExp) == 'function') {
			var testExpr = new RegExp('abc');
			if(testExpr.test('abc') == true){
				RegExSupport = true;
			}
		}
		
		return RegExSupport;		
	},
	
	validateByRegEx: function(){
		var regExError = new Array();
		var regEx;
		var res;
		var f;
		var value = "";
		if(this.isRegexAvailable() == true){
			for(rField in this.checkByRegEx){
				if(document.getElementById(this.checkByRegEx[rField].field)){
					f = document.getElementById(this.checkByRegEx[rField].field);
					value = f.value;
					if(this.checkByRegEx[rField].removeWhitespaces=="true"){
						value = this.trim(value.replace(/\s/g,""));
						value = this.trim(value.replace(/\-/g,""));
					}

					regEx = new RegExp(this.checkByRegEx[rField].regex);
					res = (regEx.test(value));
					f.value=value;
					if(res==false){
						regExError.push(f.id);
						this.markField(f.id);
					}
				}
			}
			return regExError;
		}
		return false;
	},
	
	validateFormFields: function(initErrArray) {
		this.groupMessageKeyHolder = new Array();
		if(this.attach2form2) {
			var sourceForm = this.cForm;
						
			if(sourceForm == this.attach2form2) {
				this.fieldsToValidate = this.setValidateFields2;
			}else{
				this.fieldsToValidate = this.setValidateFields;
			}
		}else{
			this.fieldsToValidate = this.setValidateFields;
		}
		
		var errArray = initErrArray == null ? new Array() : initErrArray;
		var errArray2 = new Array();
		this.errArrayTmp = null;
		this.errArrayTmp = new Array();
		this.errArrayTmp2 = null;
		this.errArrayTmp2 = new Array();
		this.errArrayTmp4 = null;
		this.errArrayTmp4 = new Array();
		
		var fields;
		var zaehler = errArray.length;

 		if(this.dependencyCheck==true) {this.runDependencyCheck();}

		for(fields=0;fields<this.fieldsToValidate.length;fields++) {
			if(iwToolbox.getObject(this.fieldsToValidate[fields])) {
				if(iwToolbox.in_array(this.fieldsToValidate[fields],this.setMailValidatorArray)) {
					if(this.validateEMail(true,document.getElementById(this.fieldsToValidate[fields]).value)==false) {
						var validEMail = false;
					}
					else {
						var validEMail = true;
					}
				}
				else {
					validEMail = true;
				}

				if(this.isEmptyOrNull(document.getElementById(this.fieldsToValidate[fields])) || validEMail==false) {
					if(this.fieldsToValidate[fields] != null && typeof this.fieldsToValidate[fields] != "undefined" ) {
						if(iwToolbox.in_array(this.fieldsToValidate[fields],this.compareFieldsArray)==false) {
							errArray[zaehler] = this.fieldsToValidate[fields];
							this.markField(this.fieldsToValidate[fields]);
							zaehler++;
						}
						errArray = iwToolbox.arrayUnique(errArray);
					}
	
				}
				else {
					this.demarkFields(this.fieldsToValidate[fields]);
				}
			}else{
				var doesnotexist = this.fieldsToValidate[fields];
			}
		}
		if(this.checkOneOrAnotherenabled) {
			var cooa = this.checkOneOrAnother();
			var maxl = this.maxNumber();
		}


		/*if(typeof this.creditCards == "object" && (this.creditCards.standalone == "true" || this.creditCards.standalone == "both")){
			this.validateCreditCard();
		}*/
		
		// Validieren, ob Postleitzahl bei Auswahl "Deutschland" aus fuenf Ziffern besteht
		var five_digits = /^[0-9]{5}$/;
		if(this.setValidateGermanPlz != null && this.setValidateGermanPlz != undefined) {
			for(var i = 0; i < this.setValidateGermanPlz.length; i++) {
				if(iwToolbox.getObject(this.setValidateGermanPlz[i].land).value == "1") {
					if(!(five_digits.test(iwToolbox.getObject(this.setValidateGermanPlz[i].plz).value))) {
						errArray[zaehler] = this.setValidateGermanPlz[i].msg;
						this.markField(this.setValidateGermanPlz[i].plz);
						zaehler++;
					}
					errArray = iwToolbox.arrayUnique(errArray);
				}
			}
		}
		
		var realArray = new Array();
		
		var regError = this.validateByRegEx();
		if(regError != false)
			errArray = errArray.concat(regError);
		
		if(iwToolbox.is_array(this.compareFieldsArray))
			var cf = this.compareFields();
			
		if(iwToolbox.is_array(this.setMinMax))
			var cl = this.checkLength();
			
		
			
		if((iwToolbox.is_array(this.errArrayTmp)) && (iwToolbox.is_array(this.errArrayTmp2))) {
			realArray = errArray.concat(this.errArrayTmp);
			realArray = realArray.concat(this.errArrayTmp2);
		}
		else if(iwToolbox.is_array(this.errArrayTmp)) {
			realArray = realArray.concat(this.errArrayTmp);
		}else if(iwToolbox.is_array(this.errArrayTmp2)) {
			realArray = realArray.concat(this.errArrayTmp2);
		}
		
		if(typeof errArray2 != "undefined" && errArray2 != null && iwToolbox.is_array(errArray2)){
			realArray = realArray.concat(errArray2);
		}
			
		if(typeof errArray3 != "undefined" && errArray3 != null && iwToolbox.is_array(errArray3)){
			realArray = realArray.concat(errArray3);
		}
		
		if(typeof this.errArrayTmp4!= "undefined" && this.errArrayTmp4 != null && iwToolbox.is_array(this.errArrayTmp4)){
			realArray = realArray.concat(this.errArrayTmp4);
		}

		realArray = iwToolbox.arrayUnique(realArray);
		for(i=0;i<realArray.length;i++) {
			this.markField(realArray[i]);
		}
		
		if(realArray.length>0) {
			this.populateErrorBox(realArray);
			var fehler = /\#fehler/;
			if (fehler.test(location.href)) {
				location.href = location.href;
			} else {
				location.href = location.href + "#fehler";
			}
			return false;
		}
		
		return true;
	},
	
	getObj: function(objid) {
		if(typeof objid=="object")
			return objid;
			
		if(document.getElementById(objid))
			return document.getElementById(objid);
		return false;
	},
	
	addEvent: function(sevent, funcref, objid) {
		if(iwToolbox.getObject(objid).addEventListener)
			iwToolbox.getObject(objid).addEventListener(sevent,funcref,true);
		else
			iwToolbox.getObject(objid).attachEvent(sevent,funcref);

		return iwToolbox.getObject(objid);
	},
	
	
	maxNumber: function(instance, max){
		instance = iwToolbox.getObject(instance);
		
		if(instance) {
			if(parseInt(instance.value)>instance.maxlength) {
				this.errArray.push(instance);
				this.markField(instance.id);
			}else{
				return true;
			}
		}
		
		return false;
	},
	
	checkOneOrAnother: function() {	
		field1 = iwToolbox.getObject(this.checkOneOrAnotherArray[0]);
		field2 = iwToolbox.getObject(this.checkOneOrAnotherArray[1]);
		field3 = iwToolbox.getObject(this.checkOneOrAnotherArray[2]);	
		
		if((this.trim(field1.value)=="") || (field1.value=="0") || (typeof field1.value=="undefined")) {
			this.markField(field1.id);
			if((this.trim(field2.value)=="") || (field2.value=="0") || (typeof field2.value=="undefined")) {
				this.markField(field2.id);
				if((this.trim(field3.value)=="") || (field3.value=="0") || (typeof field3.value=="undefined")) {
					this.markField(field3.id);
					if(iwToolbox.is_array(this.errArrayTmp)) {
						this.errArrayTmp.push("Exemplare");
					}else{
						this.errArrayTmp = new Array();
						this.errArrayTmp.push("Exemplare");
					}
					alert(this.errOneOrAnotherMessage);
					return false;
				}
			}
		}

		return true;
	},
	
	attachEvent2: function(cf) {
	
		if(cf)
			currentForm = cf;
		else
			currentForm = this.attach2form;

		this.cForm = currentForm;
		if(document.getElementById(currentForm)) {

			if(this.isIe==true) {
				document.getElementById(currentForm).attachEvent("onsubmit",function() {return iwFormValidator.validateFormFields()});
			}
			else {
				document.getElementById(currentForm).setAttribute (this.myevent,"return iwFormValidator.validateFormFields();");
			}
		}
	},

	attachMailValidator: function() {
		if(this.setMailValidatorArray.length>0) {
			for(var i=0;i<this.setMailValidatorArray.length; i++) {
				if(document.getElementById(this.setMailValidatorArray[i])) {
					if(document.getElementById(this.setMailValidatorArray[i]).getAttribute("onblur") == null) {
						if(this.isIe==true)
							document.getElementById(this.setMailValidatorArray[i]).attachEvent("onblur",function() {return iwFormValidator.validateEMail();});
						else
							document.getElementById(this.setMailValidatorArray[i]).setAttribute("onblur","return iwFormValidator.validateEMail();");
					}
					else {
						var old = document.getElementById(this.setMailValidatorArray[i]).getAttribute("onblur");
						if(this.isIe==true)
							document.getElementById(this.setMailValidatorArray[i]).attachEvent("onblur",function() {return iwFormValidator.validateEMail();});
						else
							document.getElementById(this.setMailValidatorArray[i]).setAttribute("onblur",old+"; return iwFormValidator.validateEMail();");
					} // end else
				} // end if
			} // end for
		} // end if
	}, //end function


	eliminateParseToContainer: function(){
		var allDivs = document.getElementsByTagName("div");
		
		for(var t=0;t<allDivs.length;t++){
			if(allDivs[t].className.indexOf("fehlermeldung")!=-1){
				if(allDivs[t].className.indexOf("displayblock")!=-1){
					allDivs[t].parentNode.removeChild(allDivs[t]);
				}
			}
		}
	},

	init: function() {
		iwToolbox.hoverTable();
		var isIe/*@cc_on = true@*/;
		if(typeof isIe == "undefined")
			if(navigator.userAgent.indexOf("MSIE 5") > -1)
				var isIe = true;
		this.isIe = isIe;
 
 		//this.eliminateParseToContainer();
 
		if(this.activateMailValidator==true) { this.attachMailValidator(); }
		if(this.activateValidator==true) { 
			this.attachEvent2();
			if(this.attach2form2)
				this.attachEvent2(this.attach2form2); 
		}
	}
}