//"charset=utf-8"
function GetScreenResolution() {
	var screenResolution = document.getElementById("screenResolution");
	screenResolution.value = screen.width + 'x' + screen.height;
}

function regClick(nSite) {
	var strURL = window.location.href + '&o=' + nSite;
		
	window.location.href = strURL;
}

function SubmitContact() {
	var contact			 		= document.getElementById("contact");
	var showContactPage = document.getElementById("showContactPage");
		
	showContactPage.value = 1;
	contact.submit();
}

function FindBadInput(strInput) {
	try {
		var rxpInput 				= /[\\<>\/\[\]\{\}\=\&]+/;
		var aInputChecked 	= strInput.match(rxpInput);
		
		if(aInputChecked != null)
			return true;
		if(aInputChecked == null) 
			return false;
		}
	catch (e) {
		return true;
	}
}

function ShowInfoMessage(nAddressKey, strTopic, strLanguage, nVouchersTotal, nShipArticles) {
	try {
		var bReturn						= true;
		var infoMessage				= document.getElementById("ShopInfoMessage");

		var infoMessageContentEmailHeader								= '';
		var	infoMessageContentEmailParapraph1						= '';
		var	infoMessageContentEmailParapraph2						= '';
		var	infoMessageContentBillingAddressHeader			= '';
		var	infoMessageContentBillingAddressParapraph1	= '';
		var	infoMessageContentBillingAddressParapraph2	= '';
		var	infoMessageContentShippingAddressHeader			= '';
		var	infoMessageContentShippingAddressParapraph1	= '';
		var	infoMessageContentShippingAddressParapraph2	= '';
		var	infoMessageContentToUsHeader								= '';
		var	infoMessageContentToUsParapraph1						= '';
		var	infoMessageContentToUsParapraph2						= '';
		var	infoMessageContentToRecipientHeader 				= '';
		var	infoMessageContentToRecipientParapraph1			= '';
		var	infoMessageContentToRecipientParapraph2			= '';
		
		var	infoMessageHeaderNode 											= '';
		var	infoMessageParagraphNode1 									= '';
		var	infoMessageParagraphNode2 									= '';

		if(strLanguage == 'EN') {
			if(nVouchersTotal == 1) {
				infoMessageContentEmailHeader								= "Email After Payment";
				infoMessageContentEmailParapraph1						= "As soon as we recieve your payment the voucher becomes valid and can be used.";
				infoMessageContentEmailParapraph2						= "If you fill in your email address we will send you a message about the activation.";
			}
			if(nVouchersTotal > 1) {
				infoMessageContentEmailHeader								= "Email After Payment";
				infoMessageContentEmailParapraph1						= "As soon as we recieve your payment the vouchers becomes valid and can be used.";
				infoMessageContentEmailParapraph2						= "If you fill in your email address we will send you a message about the activation.";
			}
			if(nShipArticles == 0) {
				infoMessageContentBillingAddressHeader			= "Invoice With Your Name";
				infoMessageContentBillingAddressParapraph1	= "If you wish to have an invoice with your name and address, please fill in the required input fields.";
				infoMessageContentBillingAddressParapraph2	= "";
			}
			if(nShipArticles == 1) {
				infoMessageContentBillingAddressHeader			= "Billing Address";
				infoMessageContentBillingAddressParapraph1	= "If you wich to have an invoice with your name and address or you would like us to send the Shipping- Voucher to the billing address, please fill in the required input fields.";
				infoMessageContentBillingAddressParapraph2	= "In case you also fill in the shipping address, you can choose on the next page where the Shipping-Voucher will be sent by letter.";			
			}
			if(nShipArticles > 1) {
				infoMessageContentBillingAddressHeader			= "Billing Address";
				infoMessageContentBillingAddressParapraph1	= "If you wich to have an invoice with your name and address or you would like us to send the Shipping-Vouchers to the billing address, please fill in the required input fields.";
				infoMessageContentBillingAddressParapraph2	= "In case you also fill a shipping address, you can choose on the next page where the Shipping-Vouchers will be sent by letter.";			
			}
			if(nShipArticles == 1) {
				infoMessageContentShippingAddressHeader			= "Shipping-Address";
				infoMessageContentShippingAddressParapraph1	= "If you would like us to send the Shipping-Voucher directly to the voucher recipient, please fill in the required input fields.";
				infoMessageContentShippingAddressParapraph2	= "In case you also fill a billing address, you can choose on the next page where the Shipping-Voucher will be sent by letter.";
			}
			if(nShipArticles > 1) {
				infoMessageContentShippingAddressHeader			= "Lieferadresse";
				infoMessageContentShippingAddressParapraph1	= "If you would like us to send the Shipping-Vouchers directly to the voucher recipient, please fill in the required input fields.";
				infoMessageContentShippingAddressParapraph2	= "In case you also fill more than one address, you can choose on the next page where the Shipping-Vouchers will be sent by letter.";
			}
			
			infoMessageContentToUsHeader								= "Message To Us";
			infoMessageContentToUsParapraph1						= "If you would like to send us a message, please fill in the message field.";
			infoMessageContentToUsParapraph2						= "We also appreciate your questions, criticism or suggestion for improvement.";
			
			infoMessageContentToRecipientHeader 				= "Message To Recipient";
			infoMessageContentToRecipientParapraph1			= "Here you can fill in your personal message to the invoice recipient.";
			infoMessageContentToRecipientParapraph2			= "We will send the Shipping-Voucher by letter with your message.";
		
		}
		if(strLanguage == 'DE') {
			if(nVouchersTotal == 1) {
				infoMessageContentEmailHeader								= "Email bei Zahlungseingang";
				infoMessageContentEmailParapraph1						= "Sobald Ihre Zahlung eingegangen ist, wird der Gutschein aktiviert und kann benutzt werden.";
				infoMessageContentEmailParapraph2						= "Wenn Sie Ihre Email Adresse eintragen erhalten Sie eine Nachricht über die Aktivierung.";
			}
			if(nVouchersTotal > 1) {
				infoMessageContentEmailHeader								= "Email bei Zahlungseingang";
				infoMessageContentEmailParapraph1						= "Sobald Ihre Zahlung eingegangen ist, werden die Gutscheine aktiviert und können benutzt werden.";
				infoMessageContentEmailParapraph2						= "Wenn Sie Ihre Email Adresse eintragen erhalten Sie eine Nachricht über die Aktivierung.";
			}
			if(nShipArticles == 0) {
				infoMessageContentBillingAddressHeader			= "Rechnung mit Namen";
				infoMessageContentBillingAddressParapraph1	= "Falls Sie eine Rechnung mit Namen und Anschrift wünschen, machen Sie bitte die notwendigen Angaben.";
				infoMessageContentBillingAddressParapraph2	= "";
			}
			if(nShipArticles == 1) {
				infoMessageContentBillingAddressHeader			= "Rechnungsadresse";
				infoMessageContentBillingAddressParapraph1	= "Falls Sie eine Rechnung mit Namen und Anschrift wünschen oder wir den Versand-Gutschein an die Rechnungsadresse schicken sollen, machen Sie bitte hier die notwendigen Angaben.";
				infoMessageContentBillingAddressParapraph2	= "Wenn Sie die Lieferadresse auch ausfüllen, können Sie auf der nächsten Seite auswählen wohin der Versand-Gutschein per Brief geliefert werden sollen.";			
			}
			if(nShipArticles > 1) {
				infoMessageContentBillingAddressHeader			= "Rechnungsadresse";
				infoMessageContentBillingAddressParapraph1	= "Falls Sie eine Rechnung mit Namen und Anschrift wünschen oder wir die Versand-Gutscheine an die Rechnungsadresse schicken sollen, machen Sie bitte hier die notwendigen Angaben.";
				infoMessageContentBillingAddressParapraph2	= "Wenn Sie eine Lieferadressen auch ausfüllen, können Sie auf der nächsten Seite auswählen wohin die einzelnen Versand- Gutscheine per Brief geliefert werden sollen.";			
			}
			if(nShipArticles == 1) {
				infoMessageContentShippingAddressHeader			= "Lieferadresse";
				infoMessageContentShippingAddressParapraph1	= "Falls wir den Versand- Gutschein direkt per Brief an den Gutschein-Empfänger senden sollen, machen Sie bitte die notwendigen Angaben.";
				infoMessageContentShippingAddressParapraph2	= "Wenn Sie die Rechnungsadresse auch ausfüllen, können Sie auf der nächsten Seite auswählen wohin der Versand-Gutschein per Brief geliefert werden sollen.";
			}
			if(nShipArticles > 1) {
				infoMessageContentShippingAddressHeader			= "Lieferadresse";
				infoMessageContentShippingAddressParapraph1	= "Falls wir die Versand- Gutscheine direkt per Brief an die Gutschein-Empfänger senden sollen, machen Sie bitte die notwendigen Angaben.";
				infoMessageContentShippingAddressParapraph2	= "Falls Sie Angaben bei mehreren Adressen machen, können Sie auf der nächsten Seite auswählen wohin die einzelnen Versand-Gutscheine per Brief geliefert werden sollen.";			
			}
			
			infoMessageContentToUsHeader									= "Nachricht an uns";
			infoMessageContentToUsParapraph1							= "Falls Sie uns etwas Mitteilen möchten, machen Sie bitte hier einen Eintrag.";
			infoMessageContentToUsParapraph2							= "Wir sind Ihnen auf für Fragen, Kritik oder Vorschläge zur Verbesserung dankbar.";
			
			infoMessageContentToRecipientHeader 					= "Nachricht an Empfänger";
			infoMessageContentToRecipientParapraph1				= "Hier können Sie Ihre persönliche Nachricht an den Gutschein-Empfänger eintragen.";
			infoMessageContentToRecipientParapraph2				= "Wir schicken den Versand-Gutschein per Brief mit Ihrer Mitteilung.";
		}
		
		// Clear old message
		while(infoMessage.childNodes[0])
    	infoMessage.removeChild(infoMessage.childNodes[0]);
		
		if(strTopic == 'email') {
			infoMessageHeaderNode 			= document.createTextNode(infoMessageContentEmailHeader);
			infoMessageParagraphNode1 	= document.createTextNode(infoMessageContentEmailParapraph1);
			infoMessageParagraphNode2 	= document.createTextNode(infoMessageContentEmailParapraph2);
		}
		if(strTopic == 'address' && nAddressKey == 0) {
			infoMessageHeaderNode 			= document.createTextNode(infoMessageContentBillingAddressHeader);
			infoMessageParagraphNode1 	= document.createTextNode(infoMessageContentBillingAddressParapraph1);
			infoMessageParagraphNode2 	= document.createTextNode(infoMessageContentBillingAddressParapraph2);
		}
		if(strTopic == 'address' && nAddressKey > 0) {
			infoMessageHeaderNode 			= document.createTextNode(infoMessageContentShippingAddressHeader);
			infoMessageParagraphNode1 	= document.createTextNode(infoMessageContentShippingAddressParapraph1);
			infoMessageParagraphNode2 	= document.createTextNode(infoMessageContentShippingAddressParapraph2);
		}
		if(strTopic == 'message' && nAddressKey == 0) {
			infoMessageHeaderNode 			= document.createTextNode(infoMessageContentToUsHeader);
			infoMessageParagraphNode1 	= document.createTextNode(infoMessageContentToUsParapraph1);
			infoMessageParagraphNode2 	= document.createTextNode(infoMessageContentToUsParapraph2);
		}
		if(strTopic == 'message' && nAddressKey > 0) {
			infoMessageHeaderNode 			= document.createTextNode(infoMessageContentToRecipientHeader);
			infoMessageParagraphNode1 	= document.createTextNode(infoMessageContentToRecipientParapraph1);
			infoMessageParagraphNode2 	= document.createTextNode(infoMessageContentToRecipientParapraph2);
		}
	
		var infoMessageHeader 			= document.createElement("b");
		var infoMessageParagraph1 	= document.createElement("p");
		var infoMessageParagraph2 	= document.createElement("p");

		infoMessageHeader.appendChild(infoMessageHeaderNode);
		infoMessageParagraph1.appendChild(infoMessageParagraphNode1);
		infoMessageParagraph2.appendChild(infoMessageParagraphNode2);
	
		infoMessage.appendChild(infoMessageHeader);
		infoMessage.appendChild(infoMessageParagraph1);
		infoMessage.appendChild(infoMessageParagraph2);
			
		return bReturn;
	}
	catch (e) {
		return bReturn;
	}
}


function CheckInput(nAddressKey, bShipArticle, strLanguage) {
	try {
		var strDefaultFont				= '#013300';
		var strDefaultBorder			= '1px solid #719B7D';
		var strErrorFont					= '#E00016';
		var strErrorBorder 				= '1px solid #E00016';
		var strBgColorDefault 		= '#FAFFEE';
		var strBgColorNeeded 			= '#E8FFAF';
		var strBgColorMessageBox 	= '#EDF2E1';
		var bReturn								= true;
		var bFocus								= true;
		var bAddressNeeded 				= false;
		var bShowBadInputMessage	= false;
		// input
		var addressType				= document.getElementById("addressType");
		var email							= document.getElementById("email");
		var company						= document.getElementById("company");
		var salutation				= document.getElementById("salutation");
		var firstname					= document.getElementById("firstname");
		var lastname					= document.getElementById("lastname");
		var	street						= document.getElementById("street");
		var zip								= document.getElementById("zip");
		var city							= document.getElementById("city");
		var country						= document.getElementById("country");
		var addressMessage		= document.getElementById("addressMessage");
		// output
		var inputMessage			= document.getElementById("inputMessage");
		var errorMessage			= document.getElementById("ShopErrorMessage");
		var errorMessageText	= '';
		var message1					= '';
		var message2					= '';
		var message3					= '';
		
		var aTextFields 			= new Array(email, company, firstname, lastname, street, zip, city, country, addressMessage);
		var aInputNeeded 			= new Array(firstname, lastname, street, zip, city);
	

		// Clear form
		for(var i = 0; i < aTextFields.length; i++) {
			aTextFields[i].style.border	= strDefaultBorder;
			aTextFields[i].style.color	= strDefaultFont;
		}

		// Find bad input
		for(i = 0; i < aTextFields.length; i++) {
			if(FindBadInput(aTextFields[i].value)) {
				aTextFields[i].style.border = strErrorBorder;
				aTextFields[i].style.color 	= strErrorFont;
				if(bFocus){
			  	aTextFields[i].focus();
			  	bFocus = false;
			  }
				bReturn = false;
				bShowBadInputMessage = true;
			}
		}
		
		// Find incomplete input
		if(bShipArticle == 1)
			bAddressNeeded = true;
	
		for(i = 0; i < aInputNeeded.length; i++) {
			aInputNeeded[i].style.backgroundColor = strBgColorDefault;
			if(aInputNeeded[i].value != '')
				bAddressNeeded = true;
		}
		if(bAddressNeeded) {
			for(i = 0; i < aInputNeeded.length; i++) {
				if(aInputNeeded[i].value != '') {
					aInputNeeded[i].style.backgroundColor = strBgColorDefault;
					if(!bShowBadInputMessage)
						bReturn = true;
				}
				if(aInputNeeded[i].value == '') {
					aInputNeeded[i].style.backgroundColor = strBgColorNeeded;
					bReturn = true;
				}
			}
		}
		
		// Error message
		while(errorMessage.childNodes[0])
    	errorMessage.removeChild(errorMessage.childNodes[0]);

		if(bShowBadInputMessage) {
			var errorMessageContentHeader 		= '';
			var errorMessageContentParapraph1 = '';
			var errorMessageContentParapraph2 = '';
			
			if(strLanguage == 'EN') {
				errorMessageContentHeader 		= "Please DON'T enter";
				errorMessageContentParapraph1 = "these characters";
				errorMessageContentParapraph2 = "< > / \\ [ ] { } = &";
			}
			if(strLanguage == 'DE') {
				errorMessageContentHeader 		= "Diese Zeichen bitte";
				errorMessageContentParapraph1 = "NICHT eingeben";
				errorMessageContentParapraph2 = "< > / \\ [ ] { } = &";
			}
			
			var errorMessageHeaderNode 			= document.createTextNode(errorMessageContentHeader);
			var errorMessageParagraphNode1 	= document.createTextNode(errorMessageContentParapraph1);
			var errorMessageParagraphNode2 	= document.createTextNode(errorMessageContentParapraph2);
			
			var errorMessageHeader 					= document.createElement("div");
			var errorMessageParagraph1 			= document.createElement("div");
			var errorMessageParagraph2 			= document.createElement("p");

			errorMessageHeader.appendChild(errorMessageHeaderNode);
			errorMessageParagraph1.appendChild(errorMessageParagraphNode1);
			errorMessageParagraph2.appendChild(errorMessageParagraphNode2);
		
			errorMessage.appendChild(errorMessageHeader);
			errorMessage.appendChild(errorMessageParagraph1);
			errorMessage.appendChild(errorMessageParagraph2);
			
		}

		// Input message
		var bShowMessage	= false;
		var message				= '';
		if(strLanguage == 'EN') {
			message1			= "VOLUNTARY INPUT";
			message2			= "PLEASE FILL IN THE HIGHLIGHTED FIELDS";
			message3			= "PLEASE FILL IN THE HIGHLIGHTED FIELDS";
		}
		if(strLanguage == 'DE') {
			message1			= "ANGABEN FREIWILLIG";
			message2			= "MARKIERTE FELDER BITTE AUSFÜLLEN";
			message3			= "MARKIERTE FELDER BITTE AUSFÜLLEN";
		}
		inputMessage.style.backgroundColor = strBgColorMessageBox;
		for(i = 0; i < aInputNeeded.length; i++) {
			if(aInputNeeded[i].value == '')
				bShowMessage = true;
		}
		if(bShowMessage)
			message = message1;
		if(bShowMessage && bAddressNeeded)
			message = message2;
		if(bShowMessage && bShipArticle == 1 && nAddressKey > 0)
			message = message3;
			
		inputMessage.value = message;
		 
		return bReturn;
	}
	catch (e) {
		return bReturn;
	}
	
}


