
/* NEW VALIDATION FUNCTIONS */
function validateContent(Value){
	return(Value!=null&&Value!="");
	};

function validateString(Value){
var regExpTerm = /[A-Za-z0-9 ,.;:_öüäÖÄÜ#~!§$%&\/?{}ß\\\+\*\=\(\)\[\]\@\-]+/;
	return(validateRegExp(regExpTerm, Value))
	};
	
function validateNumber(Value){
var regExpTerm = /[0-9]+(.[0-9]+)*/;
	return(validateRegExp(regExpTerm, Value))
	};
	
function validateEmail(Value){
var posAt, posDt;
		posAt = Value.indexOf("@");
		posDt = Value.lastIndexOf(".");
		if(!(posAt>0&&posAt<posDt&&posDt<Value.length-1)) return false
		else return true;
	};

function validateRegExp(Expression, Value){
var regExpValue = Expression.exec(Value);
	if(regExpValue!=null){
		if(regExpValue.toString().indexOf(",")!=-1) return(regExpValue[0]==Value)
		else return(regExpValue==Value);
		}
	else return(false);
	};

function compareAgainst(Value, OperatorMode, CompareTo){
	if(OperatorMode==0) return(Value==CompareTo)
	else if(OperatorMode==1) return(Value!=CompareTo)
	else if(OperatorMode==2) return(Value<CompareTo)
	else if(OperatorMode==3) return(Value<=CompareTo)
	else if(OperatorMode==4) return(Value>CompareTo)
	else if(OperatorMode==5) return(Value>=CompareTo)
	return(false);
	};

function compareRange(Value, MinValue, MaxValue){
var nValue = "";
var nResult = true;
	if(isNaN(Value)) nValue = Value.length
	else nValue = parseFloat(Value);
	if(MinValue>=0) nResult = ( nValue >= MinValue );
	if(MaxValue>0) nResult = ( nResult && ( nValue <= MaxValue ) );
	return nResult;
	};

function setupDialogueMessage(){
	var seperator = "";
	var tmpCaption = "";
	var tmpMessage = "";
	var elem = null;

	for(var i=0;i<41;i++) seperator += "=";
	seperator += "\n"
	
	tmpMessage += seperator;

	for(var i=0; i<document.Contact.elements.length; i++){
		elem = document.Contact.elements[i];
		if(elem.type!="hidden"){
			tmpCaption = decryptTextData(getElementByID(xmlOrder,elem.name).caption);
			
			if(elem.type=="text"||elem.type=="password"){
				tmpMessage += tmpCaption + " ";
				tmpMessage += elem.value + "\n";
				}
			else if(elem.type=="textarea"){
				tmpMessage += seperator + tmpCaption + "\n";
				tmpMessage += elem.value + "\n" + seperator;
				}
			else if(elem.type=="select-one"){
				tmpMessage += tmpCaption + "\n";
				tmpMessage += " * " + elem.options[elem.selectedIndex].value + "\n" + seperator;
				}
			else if(elem.type=="select-multiple"){
				tmpMessage += tmpCaption + "\n";
				for(var j=0; j<elem.options.length; j++){
					if(elem.options[j].selected==true){
						tmpMessage += " * " + elem.options[j].value + "\n";
						};
					};
				tmpMessage += seperator;
				}
			else if(elem.type=="radio"){
				if(elem.checked==true){
					tmpMessage += tmpCaption + "\n";
					tmpMessage += " * " + elem.value + "\n";
					};
				}
			else if(elem.type=="checkbox"){
				tmpMessage += tmpCaption + "\n";
				tmpMessage += " * " + ((elem.checked) ? "Ja" : "Nein") + "\n";
				}
			else{
				tmpMessage += "Missing specification : " + elem.type + ", Contact www.smartstore.com\n";
				};
			};
		};
	document.Contact.SenderName.value = document.Contact.FirstName.value + " " + document.Contact.LastName.value;
	document.Contact.From.value = document.Contact.Email.value;
	document.Contact.Message.value = tmpMessage;
	document.Contact.MerchantID.value = merchantID;
	document.Contact.Build.value = replace(build,".","");
	document.Contact.SiteDirectory.value = unescape(location.href.substring(0,location.href.indexOf("dialogue.htm")));
	document.Contact.DataString.value =	xmlOrder.putSource();
	return(true);
	};
	
	
function checkForm(){
	document.Contact.DialogueSubject.blur();if(document.Contact.DialogueSubject.selectedIndex!=-1){if(!(validateContent(document.Contact.DialogueSubject[document.Contact.DialogueSubject.selectedIndex].text))){alert("Das Formular ist unvollständig. Bitte wählen Sie einen 'Betreff'!");document.Contact.DialogueSubject.focus();return(false);};} else{ alert("Das Formular ist unvollständig. Bitte wählen Sie einen 'Betreff'!");return(false); };if(!(validateContent(document.Contact.LastName.value))){alert("");document.Contact.LastName.focus();return(false);};if(!(validateContent(document.Contact.FirstName.value))){alert("");document.Contact.FirstName.focus();return(false);};if(!(validateContent(document.Contact.Email.value))){alert("Das Formular ist unvollständig. Bitte geben Sie Ihre 'Email-Adresse' ein!");document.Contact.Email.focus();return(false);};if(!(validateEmail(document.Contact.Email.value))){alert("");document.Contact.Email.focus();return(false);};
		
		if(!(validateContent(document.Contact.Comment.value))){alert("Das Formular ist unvollständig. Bitte geben Sie Ihre Nachricht ein!");document.Contact.Comment.focus();return(false);};
		return(setupDialogueMessage());
	};


function checkFormNew(){
	var iZaehler = 0;

	if(!(validateContent(document.Contact.Comment.value)))
		{
			document.Contact.Comment.style.border="2px dashed #FF0000";		
			document.Contact.Comment.focus();
			iZaehler+=1;
		}
	else
		{			
			document.Contact.Comment.style.border ="1px solid #666699"; 
			
		};

	
	if(!(validateContent(document.Contact.Email.value)))
		{
			
			document.Contact.Email.style.border="2px dashed #FF0000";
			document.Contact.Email.focus();
			iZaehler+=1;
		}
	else
		{			
			document.Contact.Email.style.border="1px solid #666699"; 
			
		};
	if(!(validateEmail(document.Contact.Email.value)))
		{			
			document.Contact.Email.style.border="2px dashed #FF0000";
			document.Contact.Email.focus();
			iZaehler+=1;
		
		}
	else
		{			
			document.Contact.Email.style.border="1px solid #666699"; 
			
		};
	if(!(validateContent(document.Contact.LastName.value)))
		{
			document.Contact.LastName.style.border="2px dashed #FF0000";
			document.Contact.LastName.focus();
			iZaehler+=1;

		}
	else
		{			
			document.Contact.LastName.style.border="1px solid #666699"; 
			
		};
	if(!(validateContent(document.Contact.FirstName.value)))
		{				
			document.Contact.FirstName.style.border="2px dashed #FF0000";
			document.Contact.FirstName.focus(); 
			iZaehler+=1;
			
		}
	else
		{			
			document.Contact.FirstName.style.border="1px solid #666699"; 
			
		};
	document.Contact.DialogueSubject.blur();
	if(document.Contact.DialogueSubject.selectedIndex!=-1)
		{
			if(!(validateContent(document.Contact.DialogueSubject[document.Contact.DialogueSubject.selectedIndex].text)))
				{					
					document.Contact.DialogueSubject.style.background="#FF0000";
					document.Contact.DialogueSubject.focus();
					iZaehler+=1;
				}
			else
				{
					
					document.Contact.DialogueSubject.style.background="#FFFFFF";					
				};
		} 
	else
		{ 
			document.Contact.DialogueSubject.style.border="2px dashed #FF0000";
			document.Contact.DialogueSubject.focus();
			iZaehler+=1; 
		};
	if(iZaehler>0)
		{
			alert("Das Formular ist unvollständig. Bitte beachten Sie die Pflichtfelder (rot markiert)!");
			return(false);
		}
	else
		{		
			return(true);
		};

	};

// Prüfen, ob Gutschein in dieser Bestellung bereits eingelöst wurde
function checkVoucherDouble(){
	var sCode = document.CouponForm.Gutscheincode.value;
	var tmpCode = xmlOHeader.GlobalVoucherCode;
	var ergebnis = -1;

	if(tmpCode!=null&&tmpCode!=''){
		if((validateContent(document.CouponForm.Gutscheincode.value))){
			ergebnis = tmpCode.search(sCode);
			if(ergebnis>-1){
				return(true);
			} else {
				return(false);
			};			
		} else {
			return(false);
		};					
	} else {
		return(false);			
	};
};


function checkVoucherForm(){
	var iZaehler = 0;	

	if(!(validateContent(document.CouponForm.Sicherheitsabfrage.value)))
		{
			document.CouponForm.Sicherheitsabfrage.style.border="2px dashed #FF0000";
			document.CouponForm.Sicherheitsabfrage.focus();
			iZaehler+=1;

		}
	else
		{			
			document.CouponForm.Sicherheitsabfrage.style.border="1px solid #666699"; 
			
		};
	if(!(validateContent(document.CouponForm.Gutscheincode.value)))
		{				
			document.CouponForm.Gutscheincode.style.border="2px dashed #FF0000";
			document.CouponForm.Gutscheincode.focus(); 
			iZaehler+=1;
			
		}
	else
		{			
			document.CouponForm.Gutscheincode.style.border="1px solid #666699"; 
			
		};
	if(iZaehler>0)
		{
			alert("Das Formular ist unvollständig. Bitte beachten Sie die Pflichtfelder (rot markiert)!");
			return(false);
		}
	else
		{	
			if(checkVoucherDouble()){
				document.CouponForm.Gutscheincode.style.border="2px dashed #FF0000";
				document.CouponForm.Gutscheincode.focus(); 
				alert("Der Gutschein wurde bereits in dieser Bestellung eingelöst!");
				return(false);				
			} else {
				return(true);				
			};
		};

	};



