/* 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) ? "Yes" : "No") + "\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("The form is not complete. Please select a 'Subject'!");document.Contact.DialogueSubject.focus();return(false);};} else{ alert("The form is not complete. Please select a 'Subject'!");return(false); };if(!(validateContent(document.Contact.Email.value))){alert("The form is not complete. Please enter your 'Email Address'!");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("The form is not complete. Please enter your message!");document.Contact.Comment.focus();return(false);};
		return(setupDialogueMessage());
	};

