/*
 * TellAFriend.js - created: 23.08.2007 (mj)
 * © 2007 xmachina GmbH, Heidelberg.
 * All rights reserved. Alle Rechte vorbehalten.
 *
 * xmachina und das xmachina-Logo sind eingetragene
 * Warenzeichen der xmachina GmbH, Heidelberg.
 *
 * xmachina and the xmachina logo are registered
 * trademarks of xmachina GmbH, Heidelberg, Gemany.
 *
 * xmachina GmbH - Maaßstr. 24 - D-69123 Heidelberg, Germany
 * Fon: +49 (0)6221.8220.20    - Fax: +49 (0)6221.8220.40
 * E-Mail: deus@xmachina.de    - http://www.xmachina.de/
 * 
 */

function TellAFriend() {
	var lang = "ger";
	
	Event.observe(window, 'load', init);
	
	function init() {
		Event.observe('frmTellafriend', 'submit', submitTellafriend);
	}
	
	function submitTellafriend(event) {
		Event.stop(event);
		
		if (!validateTellafriendForm())
			return;
		
		// Get form data
		var pars = $('frmTellafriend').serialize(false);
				
		// Submit data
		$('tellafriendPane').innerHTML = "<img src=\"/components/products/images/busy.gif\">";
		var url = "/messenger.xm";
		var myAjax = new Ajax.Updater('tellafriendPane',
		url, 
			{
				method: 'post', 
				parameters: pars
			});
			
		// Google analytics
		urchinTracker('PRODUKTDETAILS/EMPFEHLUNG ABGESCHICKT');
	}
	
	function validateTellafriendForm() {
		var myForm = document.frmTellafriend;
		var error = "";

		// Element validation
		error+= validate(myForm.vornameR, "Bitte geben Sie den Vornamen des Empfaengers ein.");
		error+= validate(myForm.nachnameR, "Bitte geben Sie den Nachnamen des Empfaengers ein.");
		error+= validate(myForm.emailR, "Bitte geben Sie die E-Mailadresse des Empfaengers ein.");
		error+= validate(myForm.vornameS, "Bitte geben Sie Ihren Vornamen ein");
		error+= validate(myForm.nachnameS, "Bitte geben Sie Ihren Nachnamen ein.");
		error+= validate(myForm.emailS, "Bitte geben Sie Ihre E-Mailadresse ein.");
		error+= validate(myForm.mitteilung, "Bitte geben Sie Ihre Mitteilung ein.");
	
		// Error handling
		if (error != "") {
			if (lang == "ger")
				alert("Bitte fuellen Sie alle Pflichtfelder aus.");
			else
				alert("Please fill out all required fields.");
			return false;
		}
	
		return true;
	}
	
	// Highlights a required field
	function highlightElement(el) {
		el.style.backgroundColor = "#FFFF99";
		el.style.border = "1px solid red";
	}

	// Validates the given input field
	function validate(el, msg) {
		if (el.value == "") {
			highlightElement(el)
			return msg + "\n";
		} else
			return "";
		
	}

	// Validates the given email address
	function checkEmail(s) {
		var a = false;
		var res = false;
	
		if(typeof(RegExp) == 'function') {
  			var b = new RegExp('abc');
  			if(b.test('abc') == true){a = true;}
  		}
	
  		if(a == true) {
			reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
				'(\\@)([a-zA-Z0-9\\-\\.]+)'+
				'(\\.)([a-zA-Z]{2,4})$');
			res = (reg.test(s));
		} else {
			res = (s.search('@') >= 1 &&
				s.lastIndexOf('.') > s.search('@') &&
				s.lastIndexOf('.') >= s.length-5)
		}
	
		return(res);
	}
}

var tellafriend = new TellAFriend();