var errorcounter = 0;
var errorcounterRadios = 0;
var errorcounterCombos = 0;
var isDataValid = true;

function createErrorNodeForFormHead(){
	
	if(Ext.get('errorIndication') == null){	
			var error = document.getElementById('errorText');
			var pHead = document.createElement('p');
			pHead.style.color='#A30A0A';
			pHead.style.fontWeight = 'bold';
			pHead.id='errorIndication';
			pHead.style.paddingLeft = '6px';
			var errorText = document.createTextNode(getLabelText(lang, 'error_indication'));
			pHead.appendChild(errorText);
			error.appendChild(pHead);
			
		}
		window.scrollTo(0,0);
		parent.scrollTo(0, 0);
}

function getErrorLabel(fieldId){
	var text = getLabelText(lang, 'error'+fieldId);

	
	if(fieldId.indexOf('caseno') > -1){
			 text= getLabelText(lang, 'errorcaseno');
	
	}
	
	else if(fieldId.indexOf('movmentno') > -1){
	  	text= getLabelText(lang, 'errormovmentno');
	}
	
	else if(fieldId.indexOf('models') > -1){
		
		text= getLabelText(lang, 'errormodels1');
	}
	
	return text;
}

function errorHandlingCaseno(fieldId, fieldValue){
	
	var element = document.getElementById(fieldId).parentNode.parentNode;
	var child = element.firstChild;
	if(fieldValue == ''|| fieldValue == null || fieldValue.length != 6){
		isDataValid = false;
		var text1 = this.getErrorLabel(fieldId);
		//Beim ersten Klick
		if(errorcounterCaseno == 1){
			//text = this.getErrorLabel(fieldId);
			createErrorNode(text1, element, child , fieldId);
		}
		// Wenn mwhe als ein Mal geklickt wurde
		if(errorcounterCaseno > 1 && (fieldValue == ''|| fieldValue == null || fieldValue.length  != 6)){
			// Text mit EmailTO anh�ngen
			var text2 = text1+ getLabelText(lang, 'text-errorMailto');
			// Wenn das Element schon gibt, dann nur den Text �ndern
			if(document.getElementById('error'+fieldId) != null){
				document.getElementById('error'+fieldId).innerHTML = text2;
			}
			// sonst wird das Element erzeugt
			else
			{
				createErrorNode(text1, element, child , fieldId);
			}

		}
		
	}
	else{
		// ExtJs-Valididerung wieder aktivieren
		Ext.getCmp(fieldId).validationEvent= true;
		element.className='x-form-item';
		child.className='x-form-item-label';
		if(document.getElementById('error'+fieldId) != null){
			document.getElementById('error'+fieldId).innerHTML = '';
			document.getElementById('error'+fieldId).style.backgroundColor='#F7F1E1';
			Ext.get('error' + fieldId).remove();
			
			
		}
	}
	
}

function errorHandlingMovmentno(fieldId, fieldValue){
	
	var element = document.getElementById(fieldId).parentNode.parentNode;
	var child = element.firstChild;
	if(fieldValue == ''|| fieldValue == null || fieldValue.length != 6){
		isDataValid = false;
		var text1 = this.getErrorLabel(fieldId);
		//Beim ersten Klick
		if(errorcounter == 1){
			//text = this.getErrorLabel(fieldId);
			createErrorNode(text1, element, child , fieldId);
		}
		// Wenn mwhe als ein Mal geklickt wurde
		if(errorcounter > 1 && (fieldValue == ''|| fieldValue == null || fieldValue.length  != 5)){
			// Text mit EmailTO anh�ngen
			var text2 = text1+ getLabelText(lang, 'text-errorMailto');
			// Wenn das Element schon gibt, dann nur den Text �ndern
			if(document.getElementById('error'+fieldId) != null){
				document.getElementById('error'+fieldId).innerHTML = text2;
			}
			// sonst wird das Element erzeugt
			else
			{
				createErrorNode(text1, element, child , fieldId);
			}

		}
		
	}
	else{
		// ExtJs-Valididerung wieder aktivieren
		Ext.getCmp(fieldId).validationEvent= true;
		element.className='x-form-item';
		child.className='x-form-item-label';
		if(document.getElementById('error'+fieldId) != null){
			document.getElementById('error'+fieldId).innerHTML = '';
			document.getElementById('error'+fieldId).style.backgroundColor='#F7F1E1';
			Ext.get('error' + fieldId).remove();
			
			
		}
	}
	
}



function errorHandling(fieldId, fieldValue){
	if(document.getElementById(fieldId) != null){
		var element = document.getElementById(fieldId).parentNode.parentNode;
		var child = element.firstChild;
		
		if(fieldValue == '' || fieldValue == null){
			isDataValid = false;
			createErrorNodeForFormHead();
			var text1 = this.getErrorLabel(fieldId);
			//Beim ersten Klick
			if(errorcounter == 1){
				//text = this.getErrorLabel(fieldId);
				createErrorNode(text1, element, child , fieldId);
				//alert(document.getElementById('error'+fieldId));
			}
			// Wenn mwhe als ein Mal geklickt wurde
			if(errorcounter > 1 && (fieldValue == ''|| fieldValue == null)){
				// Text mit EmailTO anh�ngen
				var text2 = text1+ getLabelText(lang, 'text-errorMailto');
				// Wenn das Element schon gibt, dann nur den Text �ndern
			
				if(document.getElementById('error'+fieldId) != null){
					document.getElementById('error'+fieldId).innerHTML = text2;
				}
				// sonst wird das Element erzeugt
				else
				{
					createErrorNode(text1, element, child , fieldId);
				}
	
			}
			
		}
		else{
			// ExtJs-Valididerung wieder aktivieren
			Ext.getCmp(fieldId).validationEvent= true;
			element.className='x-form-item';
			isDataValid = true;
			if(Ext.get('errorIndication')){
				Ext.get('errorIndication').remove();
			}
				child.className='x-form-item-label';
			if(document.getElementById('error'+fieldId) != null){
				document.getElementById('error'+fieldId).innerHTML = '';
				document.getElementById('error'+fieldId).style.backgroundColor='#F7F1E1';
				Ext.get('error' + fieldId).remove();
			}
		}
	}
	
}

function errorHandlingMovmentno(fieldId, fieldValue){
	if(document.getElementById(fieldId) != null){
		var element = document.getElementById(fieldId).parentNode.parentNode;
		var child = element.firstChild;
		
		if(fieldValue == ''|| fieldValue == null){
			isDataValid = false;
			createErrorNodeForFormHead();
			var text1 = this.getErrorLabel(fieldId);
			//Beim ersten Klick
			if(errorcounterMovmentno == 1){
				//text = this.getErrorLabel(fieldId);
				createErrorNode(text1, element, child , fieldId);
				//alert(document.getElementById('error'+fieldId));
			}
			// Wenn mwhe als ein Mal geklickt wurde
			if(errorcounterMovmentno > 1 && (fieldValue == ''|| fieldValue == null)){
				// Text mit EmailTO anh�ngen
				var text2 = text1+ getLabelText(lang, 'text-errorMailto');
				// Wenn das Element schon gibt, dann nur den Text �ndern
			
				if(document.getElementById('error'+fieldId) != null){
					document.getElementById('error'+fieldId).innerHTML = text2;
				}
				// sonst wird das Element erzeugt
				else
				{
					createErrorNode(text1, element, child , fieldId);
				}
	
			}
			
		}
		else{
			// ExtJs-Valididerung wieder aktivieren
			Ext.getCmp(fieldId).validationEvent= true;
			element.className='x-form-item';
			isDataValid = true;
			if(Ext.get('errorIndication')){
				Ext.get('errorIndication').remove();
			}
				child.className='x-form-item-label';
			if(document.getElementById('error'+fieldId) != null){
				document.getElementById('error'+fieldId).innerHTML = '';
				document.getElementById('error'+fieldId).style.backgroundColor='#F7F1E1';
				Ext.get('error' + fieldId).remove();
			}
		}
	}
	
}

// Erzeugt einen div für die Fehlermeldung
function createErrorNode(text, element, child , fieldId){
	
	var errorNode = document.createElement('div');
	var errorText = document.createTextNode(text);
	errorNode.appendChild(errorText);
	element.appendChild(errorNode);
	
	errorNode.className='errorText';
	errorNode.id = 'error'+fieldId;
	errorNode.style.backgroundColor='#DBD8C9';
	errorNode.align='left';
	errorNode.style.position='relative';
	errorNode.style.width='265px';
	errorNode.style.top='-38px';
	errorNode.style.left='420px';
	//errorNode.style.height='65px';
	element.className='validation_error';
	child.className= 'validation_child_error';
}
// Erzeugt einen div für die Fehlermeldung
function createErrorNodeDisclaimer(text, element, child , fieldId){
	
	var errorNode = document.createElement('div');
	var errorText = document.createTextNode(text);
	errorNode.appendChild(errorText);
	element.appendChild(errorNode);
	
	errorNode.className='errorText';
	errorNode.id = 'error'+fieldId;
	errorNode.style.backgroundColor='#DBD8C9';
	errorNode.align='left';
	errorNode.style.position='relative';
	errorNode.style.width='265px';
	if(lang == 'en'){
		//alert('en');
		errorNode.style.top='-37px';
	}
	if(lang =='ja'){
		//alert('jn');
		errorNode.style.top='-51px';
	}
	if(lang =='de'){
		//alert('de');
		errorNode.style.top='-55px';
	}
	
	errorNode.style.left='420px';
	element.className='validation_error_disclaimer';
	//element.style.height='90px';
	//child.className= 'validation_child_error';
	if(!Ext.get('errorIndication')){
		createErrorNodeForFormHead();
	}
	
}

// Validierung der radiobuttons, je nach Wahl (email oder telefon)
function validateRadiobuttons(fieldname, fieldvalue){
	//alert(Ext.getCmp(fieldname).validate());
	var isValid = Ext.getCmp(fieldname).validate();
	errorcounterRadios = errorcounterRadios + 1;
	var errorNode = document.createElement('div');
	var element = document.getElementById(fieldname).parentNode.parentNode;
	var child = element.firstChild;
	var text= getLabelText(lang, 'error'+fieldname);
	
	if(contactm == fieldname && (fieldvalue =="" || isValid == false) || isValid == false ){
		isDataValid = false;
		createErrorNodeForFormHead();
		var text1 = this.getErrorLabel(fieldname);
		//Ext.getCmp(fieldname).validationEvent= false;
		if(errorcounterRadios == 1){
				createErrorNode(text1, element, child , fieldname);
		}
		
		if(errorcounterRadios > 1 && (contactm == fieldname && (fieldvalue =="" || isValid == false) || isValid == false)){
			var text2 = text1+ getLabelText(lang, 'text-errorMailto');
			//Ext.getCmp(fieldname).validationEvent= false;
			if(document.getElementById('error'+fieldname) != null){
				document.getElementById('error'+fieldname).innerHTML = text2;
			}
			else{
				createErrorNode(text1, element, child , fieldname);
			}
		}
		
	}
	else{
		element.className='x-form-item';
		child.className='x-form-item-label';
		isDataValid = true;
		if(Ext.get('errorIndication')){
			Ext.get('errorIndication').remove();
		}
	
		if(document.getElementById('error'+fieldname) != null){
			document.getElementById('error'+fieldname).innerHTML = '';
			document.getElementById('error'+fieldname).style.backgroundColor='#F7F1E1';
			Ext.get('error' + fieldname).remove();
			Ext.getCmp(fieldname).validationEvent= true;
			errorcounterRadios = 0;
		
		}
	}

}

function errorHandlingNewPanelCombobox(fieldId, fieldValue){

	// fehlertext
	var text = this.getErrorLabel(fieldId);
	
	// Wenn das gesuchte Element �berhaupt gibt
	if(document.getElementById(fieldId) != null){
		var errorNode = document.createElement('div');
		
		// das Parentelement "form-item"
		var element = document.getElementById(fieldId).parentNode.parentNode.parentNode;
		// labelChild
		var child = element.firstChild;
		if(fieldValue == ''|| fieldValue == null || fieldValue == getLabelText(lang, 'waehlen')){
			isDataValid = false;
			// counter wie oft gecklict wurde
			if(errorcounterCombos == 1){
				// FeldLabel und Hauptelement �ndern
				var child = element.firstChild;
				element.className='validation_error';
				child.className= 'validation_child_error';
				
			}
			
			var errorText = null;
			//  Wenn das zweite Mal geklickt wurde wird ein Mailto-Text angeh�ngt
			if(errorcounterCombos > 1 && (fieldValue == ''|| fieldValue == null || fieldValue == getLabelText(lang, 'waehlen'))){
				text = text+ getLabelText(lang, 'text-errorMailto');
				// wenn das Error-elemnt schon da ist, wird der Text eingef�gt
				if(document.getElementById('error'+fieldId) != null){
					document.getElementById('error'+fieldId).innerHTML = text;
				}
	
			}
			// sonst wird ein Error-Element neuerzeugt
			else{
				
				errorNode.className='errorText';
				errorNode.id = 'error'+fieldId;
				errorNode.style.backgroundColor='#DBD8C9';
				errorNode.align='left';
				errorNode.style.position='relative';
				errorNode.style.width='265px';
				errorNode.style.top='-39px';
				errorNode.style.left='420px';
				errorText = document.createTextNode(text);
				errorNode.appendChild(errorText);
				element.appendChild(errorNode);
				
			
			}
		} 
		// Sonst wir das Element zur�ckgesetzt
		else{
			element.className='x-form-item';
			child.className='x-form-item-label';
			if(document.getElementById('error'+fieldId) != null){
				document.getElementById('error'+fieldId).innerHTML = '';
				document.getElementById('error'+fieldId).style.backgroundColor='#F7F1E1';
				Ext.get('error' + fieldId).remove();
			}
		}
	
	}
}
function errorHandlingCombobox(fieldId, fieldValue){
	
	// Wenn das gesuchte Element �berhaupt gibt
	if(document.getElementById(fieldId) != null){
		
		var errorNode = document.createElement('div');
		// das Parentelement "form-item"
		var element = document.getElementById(fieldId).parentNode.parentNode.parentNode;
		// labelChild
		var child = element.firstChild;
		//var text= getLabelText(lang, 'error'+fieldId);
		if(fieldValue == ''|| fieldValue == null || fieldValue == getLabelText(lang, 'waehlen')){
			isDataValid = false;
			var text1 = this.getErrorLabel(fieldId);
		//Beim ersten Klick
			if(errorcounter == 1){
				//text = this.getErrorLabel(fieldId);
				createErrorNode(text1, element, child , fieldId);
				var errorText = null;
				isDataValid = false;
				createErrorNodeForFormHead();
			}
			//  Wenn das zweite Mal geklickt wurde wird ein Mailto-Text angeh�ngt
			if(errorcounter > 1 && (fieldValue == ''|| fieldValue == null || fieldValue == getLabelText(lang, 'waehlen'))){
				// Text mit EmailTO anh�ngen
				var text2 = text1+ getLabelText(lang, 'text-errorMailto');
				isDataValid = false;
				createErrorNodeForFormHead();
				// Wenn das Element schon gibt, dann nur den Text �ndern
				if(document.getElementById('error'+fieldId) != null){
					document.getElementById('error'+fieldId).innerHTML = text2;
					
				}
				// sonst wird das Element erzeugt
				else
				{
					createErrorNode(text1, element, child , fieldId);
				}
	
			}
			
		}
		else{
			isDataValid = true;
			if(Ext.get('errorIndication')){
				Ext.get('errorIndication').remove();
			}
			element.className='x-form-item';
			child.className='x-form-item-label';
			if(document.getElementById('error'+fieldId) != null){
				document.getElementById('error'+fieldId).innerHTML = '';
				document.getElementById('error'+fieldId).style.backgroundColor='#F7F1E1';
				Ext.get('error' + fieldId).remove();
				Ext.getCmp(fieldId).validationEvent= true;
			}
		}
	
	}
}

function errorHandlingComboboxModels(fieldId, fieldValue){
	
	// Wenn das gesuchte Element �berhaupt gibt
	if(document.getElementById(fieldId) != null){
		
		var errorNode = document.createElement('div');
		// das Parentelement "form-item"
		var element = document.getElementById(fieldId).parentNode.parentNode.parentNode;
		// labelChild
		var child = element.firstChild;
		//var text= getLabelText(lang, 'error'+fieldId);
		if(fieldValue == ''|| fieldValue == null || fieldValue == getLabelText(lang, 'waehlen')){
			isDataValid = false;
			var text1 = this.getErrorLabel(fieldId);
		//Beim ersten Klick
			if(errorcounterMovmentno == 1){
				//text = this.getErrorLabel(fieldId);
				createErrorNode(text1, element, child , fieldId);
				var errorText = null;
				isDataValid = false;
				createErrorNodeForFormHead();
			}
			//  Wenn das zweite Mal geklickt wurde wird ein Mailto-Text angeh�ngt
			if(errorcounterMovmentno > 1 && (fieldValue == ''|| fieldValue == null || fieldValue == getLabelText(lang, 'waehlen'))){
				// Text mit EmailTO anh�ngen
				var text2 = text1+ getLabelText(lang, 'text-errorMailto');
				isDataValid = false;
				createErrorNodeForFormHead();
				// Wenn das Element schon gibt, dann nur den Text �ndern
				if(document.getElementById('error'+fieldId) != null){
					document.getElementById('error'+fieldId).innerHTML = text2;
					
				}
				// sonst wird das Element erzeugt
				else
				{
					createErrorNode(text1, element, child , fieldId);
				}
	
			}
			
		}
		else{
			isDataValid = true;
			if(Ext.get('errorIndication')){
				Ext.get('errorIndication').remove();
			}
			element.className='x-form-item';
			child.className='x-form-item-label';
			if(document.getElementById('error'+fieldId) != null){
				document.getElementById('error'+fieldId).innerHTML = '';
				document.getElementById('error'+fieldId).style.backgroundColor='#F7F1E1';
				Ext.get('error' + fieldId).remove();
				Ext.getCmp(fieldId).validationEvent= true;
			}
		}
	
	}
}

function resetField(fieldId, fieldname){
	var element = document.getElementById(fieldname).parentNode.parentNode;
	var child = element.firstChild;
	if(Ext.get(fieldId)!= null){
			element.className='x-form-item';
			child.className='x-form-item-label';
			document.getElementById('error'+fieldname).innerHTML = '';
			document.getElementById('error'+fieldname).style.backgroundColor='#F7F1E1';
			Ext.get(fieldId).remove();
			errorcounterRadios = 0;
	}
//	else{
//		errorcounterRadios = 1;
//	}
	
	
	
}
function onblurValidation(fieldId){
	
	var errorNode = document.createElement('div');
	var element = document.getElementById(fieldId).parentNode.parentNode.parentNode;
	var child = element.firstChild;
	
	errorNode.className='errorText';
	errorNode.id = 'error'+fieldId;
	//errorNode.style.backgroundColor='#DBD8C9';
	errorNode.align='left';
	errorNode.style.position='relative';
	//errorNode.style.border='1px solid red';
	errorNode.style.width='180px';
	errorNode.style.top='-30px';
	errorNode.style.left='420px';
	text = 'Bitte geben Sie eine ssss';
	errorText = document.createTextNode(text);
	errorNode.appendChild(errorText);
	element.appendChild(errorNode);
	
}
function errorHandlingCheckboxDisclaimer(fieldId, fieldValue){
	var disclaimerValue = Ext.getCmp('disclaimer').getValue();
	var parentDiv = document.getElementById('disclaimer_box');

	//var parent = document.getElementById('disclaimer_text').parentNode.parentNode;
	var disclaimerBox = Ext.get('disclaimer_box');
	if(!disclaimerValue){
		isDataValid = false;
		disclaimerBox.select('div',true).addClass('disclaimer_error');
		document.getElementById('disclaimer_text').parentNode.parentNode.style.backgroundColor='#DBD8C9';
		document.getElementById('error_disclaimer_text').style.backgroundColor='#DBD8C9';
		document.getElementById('parent_disclaimer_div').style.backgroundColor='#DBD8C9';
		
		parentDiv.style.backgroundColor='#DBD8C9';
		
		var text1 = this.getErrorLabel(fieldId);
		if(errorcounter == 1){
			disclaimerBox.select('div',true).addClass('disclaimer_error');
			//alert(document.getElementById('error_disclaimer_text').innerHTML);
			document.getElementById('error_disclaimer_text').innerHTML = text1;
			//createErrorNodeForFormHead();
		}
		if(errorcounter > 1){
			disclaimerBox.select('div',true).removeClass('disclaimer_noerror');
			disclaimerBox.select('div',true).addClass('disclaimer_error');
			document.getElementById('disclaimer_text').parentNode.parentNode.style.backgroundColor='#DBD8C9';
			var text2 = text1+ getLabelText(lang, 'text-errorMailto');
			document.getElementById('error_disclaimer_text').innerHTML = text2;
		}
		
		
		
	}
	else{
		
		disclaimerBox.select('div',true).addClass('disclaimer_noerror');
		document.getElementById('error_disclaimer_text').style.backgroundColor='#F7F1E3';
		document.getElementById('parent_disclaimer_div').style.backgroundColor='#F7F1E3';
		document.getElementById('disclaimer_text').parentNode.parentNode.style.backgroundColor='#F7F1E3';
		parentDiv.style.backgroundColor='#F7F1E3';
		document.getElementById('error_disclaimer_text').innerHTML = '';
	}
	
	
	
}

function errorHandlingCheckboxDisclaimerLanding(fieldId, fieldValue){
	var disclaimerBox = Ext.get('disclaimer_box');
	
	if(fieldValue == false) {
		// disclaimer not checked
		disclaimerBox.select('div', true).addClass('disclaimer_error_landing');
		
		// set error msg
		if(errorcounter == 1){
			document.getElementById('error_disclaimer_text').innerHTML = this.getErrorLabel(fieldId);
			
		} else if(errorcounter > 1) {
			document.getElementById('error_disclaimer_text').innerHTML = this.getErrorLabel(fieldId) + getLabelText(lang, 'text-errorMailto');
		}
		
	} else {
		// checked
		disclaimerBox.select('div', true).removeClass('disclaimer_error_landing');
		
		// remove error msg
		document.getElementById('error_disclaimer_text').innerHTML = '';
	}
	
	
	/*
	var disclaimerValue = Ext.getCmp('disclaimer').getValue();
	var parentDiv = document.getElementById('disclaimer_box');

	//var parent = document.getElementById('disclaimer_text').parentNode.parentNode;
	var disclaimerBox = Ext.get('disclaimer_box');
	if(!disclaimerValue){
		isDataValid = false;
		disclaimerBox.select('div',true).addClass('disclaimer_error');
		document.getElementById('disclaimer_text').parentNode.parentNode.style.backgroundColor='#DBD8C9';
		document.getElementById('error_disclaimer_text').style.backgroundColor='#DBD8C9';
		document.getElementById('parent_disclaimer_div').style.backgroundColor='#DBD8C9';
		
		parentDiv.style.backgroundColor='#DBD8C9';
		
		var text1 = this.getErrorLabel(fieldId);
		if(errorcounter == 1){
			disclaimerBox.select('div',true).addClass('disclaimer_error');
			//alert(document.getElementById('error_disclaimer_text').innerHTML);
			document.getElementById('error_disclaimer_text').innerHTML = text1;
			//createErrorNodeForFormHead();
		}
		if(errorcounter > 1){
			disclaimerBox.select('div',true).removeClass('disclaimer_noerror');
			disclaimerBox.select('div',true).addClass('disclaimer_error');
			document.getElementById('disclaimer_text').parentNode.parentNode.style.backgroundColor='#DBD8C9';
			var text2 = text1+ getLabelText(lang, 'text-errorMailto');
			document.getElementById('error_disclaimer_text').innerHTML = text2;
		}
		
		
		
	}
	else{
		
		disclaimerBox.select('div',true).addClass('disclaimer_noerror');
		document.getElementById('error_disclaimer_text').style.backgroundColor='#F7F1E3';
		document.getElementById('parent_disclaimer_div').style.backgroundColor='#F7F1E3';
		document.getElementById('disclaimer_text').parentNode.parentNode.style.backgroundColor='#F7F1E3';
		parentDiv.style.backgroundColor='#F7F1E3';
		document.getElementById('error_disclaimer_text').innerHTML = '';
	}
	*/
}

function errorHandlingCheckboxDisclaimerOld(fieldId, fieldValue){
	
	var errorNode = document.createElement('div');
	var element = document.getElementById(fieldId).parentNode.parentNode.parentNode.parentNode;
	var child = element.firstChild;
	
	if(fieldValue == ''|| fieldValue == null){
		isDataValid = false;
		var text1 = this.getErrorLabel(fieldId);
		//Beim ersten Klick
		if(errorcounter == 1){
			//text = this.getErrorLabel(fieldId);
			createErrorNodeDisclaimer(text1, element, child , fieldId);
			createErrorNodeForFormHead();
		}
		// Wenn mehr als ein Mal geklickt wurde
		if(errorcounter > 1 && (fieldValue == ''|| fieldValue == null)){
			// Text mit EmailTO anh�ngen
			var text2 = text1+ getLabelText(lang, 'text-errorMailto');
			// Wenn das Element schon gibt, dann nur den Text �ndern
			if(document.getElementById('error'+fieldId) != null){
				document.getElementById('error'+fieldId).innerHTML = text2;
				createErrorNodeForFormHead();
			}
			// sonst wird das Element erzeugt
			else
			{
				createErrorNodeDisclaimer(text1, element, child , fieldId);
				createErrorNodeForFormHead();
			}

		}
		
	}
	else{
		element.className='x-form-item';
		child.className='x-form-item-label';
		if(document.getElementById('error'+fieldId) != null){
			document.getElementById('error'+fieldId).innerHTML = '';
			document.getElementById('error'+fieldId).style.backgroundColor='#F7F1E1';
			Ext.get('error' + fieldId).remove();
			// ExtJs-Valididerung wieder aktivieren
			//Ext.getCmp(fieldId).validationEvent= true;
			
		}
	}
	
}

function errorHandlingCheckbox(fieldId, fieldValue){
	
	var errorNode = document.createElement('div');
	var element = document.getElementById(fieldId).parentNode.parentNode.parentNode.parentNode;
	var child = element.firstChild;
	
	if(fieldValue == ''|| fieldValue == null){
		isDataValid = false;
		var text1 = this.getErrorLabel(fieldId);
		//Beim ersten Klick
		if(errorcounter == 1){
			//text = this.getErrorLabel(fieldId);
			createErrorNode(text1, element, child , fieldId);
		}
		// Wenn mehr als ein Mal geklickt wurde
		if(errorcounter > 1 && (fieldValue == ''|| fieldValue == null)){
			// Text mit EmailTO anh�ngen
			var text2 = text1+ getLabelText(lang, 'text-errorMailto');
			// Wenn das Element schon gibt, dann nur den Text �ndern
			if(document.getElementById('error'+fieldId) != null){
				document.getElementById('error'+fieldId).innerHTML = text2;
			}
			// sonst wird das Element erzeugt
			else
			{
				createErrorNode(text1, element, child , fieldId);
			}

		}
		
	}
	else{
		element.className='x-form-item';
		child.className='x-form-item-label';
		if(document.getElementById('error'+fieldId) != null){
			document.getElementById('error'+fieldId).innerHTML = '';
			document.getElementById('error'+fieldId).style.backgroundColor='#F7F1E1';
			Ext.get('error' + fieldId).remove();
			// ExtJs-Valididerung wieder aktivieren
			//Ext.getCmp(fieldId).validationEvent= true;
			
		}
	}
	
}

function createErrorNodeTextArea(text, element, child , fieldId){
	
	var errorNode = document.createElement('div');
	var errorText = document.createTextNode(text);
	errorNode.appendChild(errorText);
	element.appendChild(errorNode);
	
	errorNode.className='errorText';
	errorNode.id = 'error'+fieldId;
	errorNode.style.backgroundColor='#DBD8C9';
	errorNode.align='left';
	errorNode.style.position='relative';
	errorNode.style.width='265px';
	errorNode.style.top='-184px';
	errorNode.style.left='420px';
	//element.style.backgroundColor ='#DBD8C9';
	element.className='validation_textarea_error';
	child.className= 'validation_child_error';
}

function errorHandlingTextArea(fieldId, fieldValue){
	
	
	var element = document.getElementById(fieldId).parentNode.parentNode;
	var child = element.firstChild;
	
	if(fieldValue == ''|| fieldValue == null){
		isDataValid = false;
		var text1 = this.getErrorLabel(fieldId);
		//Beim ersten Klick
		if(errorcounterMsgbox == 1){
			//text = this.getErrorLabel(fieldId);
			createErrorNodeTextArea(text1, element, child , fieldId);
		}
		// Wenn mwhe als ein Mal geklickt wurde
		if(errorcounterMsgbox > 1 && (fieldValue == ''|| fieldValue == null)){
			// Text mit EmailTO anh�ngen
			var text2 = text1+ getLabelText(lang, 'text-errorMailto');
			// Wenn das Element schon gibt, dann nur den Text �ndern
			if(document.getElementById('error'+fieldId) != null){
				document.getElementById('error'+fieldId).innerHTML = text2;
			}
			// sonst wird das Element erzeugt
			else
			{
				createErrorNodeTextArea(text1, element, child , fieldId);
			}

		}
		
	}
	else{
		
		element.className='x-form-item';
		child.className='x-form-item-label';
		Ext.getCmp(fieldId).validationEvent= true;
		if(document.getElementById('error'+fieldId) != null){
			document.getElementById('error'+fieldId).innerHTML = '';
			document.getElementById('error'+fieldId).style.backgroundColor='#F7F1E1';
			Ext.get('error' + fieldId).remove();
			// ExtJs-Valididerung wieder aktivieren
			
			
		}
	}
	

}

function createErrorNodeTextAreaLanding(text, element, child , fieldId){
	
	var errorNode = document.createElement('div');
	var errorText = document.createTextNode(text);
	errorNode.appendChild(errorText);
	element.appendChild(errorNode);
	
	errorNode.className='errorText';
	errorNode.id = 'error'+fieldId;
	errorNode.style.backgroundColor='#DBD8C9';
	errorNode.align='left';
	errorNode.style.position='relative';
	errorNode.style.width='265px';
	errorNode.style.top='-124px';
	//errorNode.style.left='420px';
	element.className='validation_textarea_error_ld';
	child.className= 'validation_child_error';
}

function errorHandlingTextAreaLanding(fieldId, fieldValue){
	
	
	var element = document.getElementById(fieldId).parentNode.parentNode;
	var child = element.firstChild;
	
	if(fieldValue == ''|| fieldValue == null){
		isDataValid = false;
		var text1 = this.getErrorLabel(fieldId);
		//Beim ersten Klick
		if(errorcounterMsgbox == 1){
			//text = this.getErrorLabel(fieldId);
			createErrorNodeTextAreaLanding(text1, element, child , fieldId);
		}
		// Wenn mwhe als ein Mal geklickt wurde
		if(errorcounterMsgbox > 1 && (fieldValue == ''|| fieldValue == null)){
			// Text mit EmailTO anhängen
			var text2 = text1+ getLabelText(lang, 'text-errorMailto');
			// Wenn das Element schon gibt, dann nur den Text ändern
			if(document.getElementById('error'+fieldId) != null){
				document.getElementById('error'+fieldId).innerHTML = text2;
			}
			// sonst wird das Element erzeugt
			else
			{
				createErrorNodeTextAreaLanding(text1, element, child , fieldId);
			}

		}
		
	}
	else{
		
		element.className='x-form-item';
		child.className='x-form-item-label';
		Ext.getCmp(fieldId).validationEvent= true;
		if(document.getElementById('error'+fieldId) != null){
			document.getElementById('error'+fieldId).innerHTML = '';
			document.getElementById('error'+fieldId).style.backgroundColor='#F7F1E1';
			Ext.get('error' + fieldId).remove();
			// ExtJs-Valididerung wieder aktivieren
			
			
		}
	}
}

function deaktivateContactFieldsValidation(){
	
	if(Ext.getCmp('countryAdressData')) Ext.getCmp('countryAdressData').validationEvent= false;
	if(Ext.getCmp('state')) Ext.getCmp('state').validationEvent= false;
 	if(Ext.getCmp('firstname')) { 
 		Ext.getCmp('firstname').validationEvent= false;
	}
	if(Ext.getCmp('lastname')) Ext.getCmp('lastname').validationEvent= false;
	if(Ext.getCmp('street')) Ext.getCmp('street').validationEvent= false;
	if(Ext.getCmp('housenumber')) Ext.getCmp('housenumber').validationEvent= false;
	if(Ext.getCmp('plz')) Ext.getCmp('plz').validationEvent= false;
	if(Ext.getCmp('city')) Ext.getCmp('city').validationEvent= false;
	if(Ext.getCmp('email')) Ext.getCmp('email').validationEvent= false;
	if(Ext.getCmp('telefon')) Ext.getCmp('telefon').validationEvent= false;
	if(Ext.getCmp('disclaimer')) Ext.getCmp('disclaimer').validationEvent= false;
	if(Ext.getCmp('AddressTextarea')) Ext.getCmp('AddressTextarea').validationEvent= false;
}


// Deaktiviert die standard ExtJs-Validierung 
function removeValidationText(theClass) {  
	var allPageTags = document.getElementsByTagName("*");  
	for (i=0; i<allPageTags.length; i++) {
		if (allPageTags[i].className==theClass) {  
				Ext.get(allPageTags[i].id).remove();
				
			}
		}
	
}

function get_radio_value(id)
{
	for( var i=0; i < Ext.getCmp(id).items.length; i++ ) {
		
		if( Ext.getCmp(id).items.items[i].checked ) {
			return Ext.getCmp(id).items.items[i].getRawValue();
		} 
	}
}

function get_radio_label(id)
{
	for( var i=0; i < Ext.getCmp(id).items.length; i++ ) {
		
		if( Ext.getCmp(id).items.items[i].checked ) {
			return Ext.getCmp(id).items.items[i].boxLabel;
		} 
	}
}


function getExtRadioGroupValue(id){
	var extObj = Ext.getCmp(id);
	for(var i=0; i<extObj.items.getCount();i++){
		if(extObj.items.items[i].checked){
			return extObj.items.items[i].value;
		}
	}
	return null;
}

function getCheckBoxGroupValue(id){
	var retValue = "";
	var checkBoxGroup = Ext.getCmp(id);
	for(var i=0; i<checkBoxGroup.items.getCount();i++){
		var item = checkBoxGroup.items.items[i];
		if(i!=checkBoxGroup.items.getCount()-1){
			if(item.checked){
				retValue += item.boxLabel+"; ";
			}
		}else{
			retValue += item.getValue();
		}
	}
	
	return retValue;
}
// return byteLength
function checkLength(value) {
       var charLength = null
        var escapedStr = encodeURI(value)
        if (escapedStr.indexOf("%") != -1) {
            var count = escapedStr.split("%").length - 1
            if (count == 0) count++  //perverse case; can't happen with real UTF-8
            var tmp = escapedStr.length - (count * 3)
            count = count + tmp
        } else {
            count = escapedStr.length
        }
        charLength = count;
        return charLength;
        //alert(charLength)
 }

function diminishString(value){
	return value.substring(0,(value.length)-1);
}
 
function convertTextAreaValue(stringValue){
	var result = stringValue;
	var charLenght = checkLength(stringValue);
	while (charLenght > 3950){
		result = diminishString(stringValue);
		stringValue = result;
		charLenght = checkLength(diminishString(stringValue));
		//alert(result);
	}
	//alert(checkLength(result));
	return result;
}

function validateEmail(fieldname, fieldvalue){
	//alert(Ext.getCmp(fieldname).validate());
	var isValid = Ext.getCmp(fieldname).validate();
	errorcounterRadios = errorcounterRadios + 1;
	var errorNode = document.createElement('div');
	var element = document.getElementById(fieldname).parentNode.parentNode;
	var child = element.firstChild;
	var text= getLabelText(lang, 'error'+fieldname);
	
	if(fieldvalue =="" || isValid == false ){
		isDataValid = false;
		createErrorNodeForFormHead();
		//Ext.get('email').validationEvent= false;
		var text1 = this.getErrorLabel(fieldname);
		//Ext.getCmp(fieldname).validationEvent= false;
		if(errorcounterEmail == 1){
				createErrorNode(text1, element, child , fieldname);
				//Ext.getCmp("email").validationEvent= false;
		}
		
		if(errorcounterEmail > 1 &&  (fieldvalue =="" || isValid == false)){
			var text2 = text1+ getLabelText(lang, 'text-errorMailto');
			//Ext.getCmp(fieldname).validationEvent= false;
			
			if(document.getElementById('erroremail') != null){
				document.getElementById('erroremail').innerHTML = text2;
				//Ext.getCmp("email").validationEvent= false;
			}
			else{
				createErrorNode(text1, element, child , fieldname);
			}
		}
		
	}
	else{
		element.className='x-form-item';
		child.className='x-form-item-label';
		//Ext.get('email').validationEvent= true;
		isDataValid = true;
		if(Ext.get('errorIndication')){
			Ext.get('errorIndication').remove();
		}
	
		if(document.getElementById('error'+fieldname) != null){
			document.getElementById('error'+fieldname).innerHTML = '';
			document.getElementById('error'+fieldname).style.backgroundColor='#F7F1E1';
			Ext.get('error' + fieldname).remove();
			//Ext.getCmp('email').validationEvent= true;
			
		}
		//Ext.get('email').validationEvent= true;
	}

}


function validateEmailCrSrWr(fieldname, fieldvalue){
	var isValid = Ext.getCmp(fieldname).validate();
	errorcounterRadios = errorcounterRadios + 1;
	var errorNode = document.createElement('div');
	var element = document.getElementById(fieldname).parentNode.parentNode;
	var child = element.firstChild;
	var text= getLabelText(lang, 'error'+fieldname);
	
	if(fieldvalue !="" && isValid == false ){
		isDataValid = false;
		createErrorNodeForFormHead();
		//Ext.get('email').validationEvent= false;
		var text1 = this.getErrorLabel(fieldname);
		//Ext.getCmp(fieldname).validationEvent= false;
		if(errorcounterEmail == 1){
				createErrorNode(text1, element, child , fieldname);
				//Ext.getCmp("email").validationEvent= false;
		}
		
		if(errorcounterEmail > 1 ){
			var text2 = text1+ getLabelText(lang, 'text-errorMailto');
			//Ext.getCmp(fieldname).validationEvent= false;
			
			if(document.getElementById('erroremail') != null){
				document.getElementById('erroremail').innerHTML = text2;
				//Ext.getCmp("email").validationEvent= false;
			}
			else{
				createErrorNode(text1, element, child , fieldname);
			}
		}
		
	}
	else{
		element.className='x-form-item';
		child.className='x-form-item-label';
		//Ext.get('email').validationEvent= true;
		isDataValid = true;
		if(Ext.get('errorIndication')){
			Ext.get('errorIndication').remove();
		}
	
		if(document.getElementById('error'+fieldname) != null){
			document.getElementById('error'+fieldname).innerHTML = '';
			document.getElementById('error'+fieldname).style.backgroundColor='#F7F1E1';
			Ext.get('error' + fieldname).remove();
			//Ext.getCmp('email').validationEvent= true;
			
		}
		//Ext.get('email').validationEvent= true;
	}

}


