var DefaultValues = new Array();
DefaultValues["yourNameInput"] = "Dein Name";
DefaultValues["yourEmailInput"] = "Deine E-Mail-Adresse (optional)";
DefaultValues["recipientInput"] = "E-Mail-Adressen der Empf\u00e4nger";
DefaultValues["recipientNotice"] = "mehrere Empf\u00e4nger durch Kommata trennen ...";

function focusInput(obj) {
	if (obj.className == "default") {
		obj.className = "user";
		obj.value = "";
	}
	
	if (obj.id == "recipientInput") {
		unhide("recipientNotice");			
	}
}
function blurInput(obj) {
	if (obj.value == "") {
		obj.className = "default";
		obj.value = getDefaultValue(obj.id);
	}
	
	if (obj.id == "recipientInput") {
		hide("recipientNotice");			
	}
}

function getDefaultValue(id) {
	return DefaultValues[id];
}

function unhide (id) {
	document.getElementById(id).style.display = '';
}
function hide (id) {
	document.getElementById(id).style.display = 'none';
}

function maybeEnableSendButton() {
	var validName = (document.getElementById("yourNameInput").value.length > 2 & document.getElementById("yourNameInput").className == "user");
	var validEMails = false;
	var eMailAdresses = document.getElementById("recipientInput").value.split(",");
	for (var i = 0; i < eMailAdresses.length; i++) {
		if (!validEMail(eMailAdresses[i])) {
			validEMails = false;
			break;
		}
		validEMails = true;
	}
	
	if (validEMails) {
		document.getElementById("recipientNotice").innerHTML = getDefaultValue("recipientNotice");
	}
	else {
		if (eMailAdresses.length > (i+1)) {
			document.getElementById("recipientNotice").innerHTML = "bevor du weiterschreibst: die " + (i+1) 
				+ ". E-Mail-Adresse ist noch nicht g\u00fcltig!";
		}
		else if (eMailAdresses[i].length > 3) {
			document.getElementById("recipientNotice").innerHTML = "die " + (i+1) + ". E-Mail-Adresse ist so noch nicht g\u00fcltig";
		}
		else {
			document.getElementById("recipientNotice").innerHTML = getDefaultValue("recipientNotice");
		}
	}
	
	document.getElementById("sendToFriendButton").disabled = !(validName & validEMails);
	
	if (validName & validEMails) {
		document.getElementById("recipientNotice").innerHTML += " und wir sind bereit zum Empfehlen!";
	}
}

function validEMail(EMailString){
	var filter = /^( )*([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})( )*$/;
	return filter.test(EMailString);
}

function sendToFriend() {
	var SenderName = document.getElementById("yourNameInput");
	var SenderAdress = document.getElementById("yourEmailInput");
	var Recipient = document.getElementById("recipientInput");
	var RNotice = document.getElementById("recipientNotice");
	
	var Status = document.getElementById("sendToFriendStatus");
	var Button = document.getElementById("sendToFriendButton");
	
	var xmlHttp;
	var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        xmlHttp = new XMLHttpRequest();
    }
	
	Status.innerHTML = "Bitte warten ... deine Empfehlung wird gesendet";
	SenderName.disabled = true;
	SenderAdress.disabled = true;
	if (SenderAdress.className == "default") {
		SenderAdress.value = "";
	}
	Recipient.disabled = true;
	Button.disabled = true;
	RNotice.style.display = "none";
	
	xmlHttp.open('get', "wp-content/themes/guckindenschrank/sendToFriend.php?SenderName=" + SenderName.value + "&SenderAdress=" + SenderAdress.value + "&Recipient=" + Recipient.value);
	xmlHttp.onreadystatechange = function () {
		if (xmlHttp.readyState == 4) {
			Status.innerHTML = "Deine Empfehlung wurde verschickt!";
			SenderName.value = getDefaultValue(SenderName.id);
			SenderName.className = "default";
			SenderName.disabled = false;
			SenderAdress.value = getDefaultValue(SenderAdress.id);
			SenderAdress.className = "default";
			SenderAdress.disabled = false;
			Recipient.value = getDefaultValue(Recipient.id);
			Recipient.className = "default";
			Recipient.disabled = false;
			RNotice.value = getDefaultValue(RNotice.id);
		}
	}
	xmlHttp.send(null);
}
