Array.prototype.in_array = function(search_term) {
	var i = this.length;
	if (i > 0) {
		do {
			if (this[i] === search_term) {
				return true;
			}
		}
		while (i--);
	}
	return false;
}

Array.prototype.indexOf = function(obj){
	for(var i=0; i<this.length; i++){
		if(this[i]==obj){
			return i;
		}
	}
	return -1;
}

function validate_submit(f, fields, names, lang)
{
	var errors = 0;
	var errors_fields = "";
	nodes = f.getElementsByTagName("input");
	for (var i = 0; i < nodes.length; i++)
		if ((fields.in_array(nodes[i].name)) && (nodes[i].value.length == 0))
		{
			errors++;
			errors_fields += names[fields.indexOf(nodes[i].name)] + ", ";
		}
	if (errors == 0)
		f.submit();
	else
	{
		var show = (lang != "ro") ? "You need to complete the following field" : "Nu ati completat campu";
		if (errors == 1)
			show += ((lang != "ro") ? "" : "l") + ": " + errors_fields.substr(0, errors_fields.length - 2) + ".";
		else
			show += ((lang != "ro") ? "s" : "rile") + ":\n" + errors_fields.substr(0, errors_fields.length - 2) + ".";
		alert(show);
	}
}

function GetXmlHttpObject()
{
	var xmlHttp = null;
	try
	{
		xmlHttp=new XMLHttpRequest();
	}
	catch (e)
	{
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

function add_remove_newsletter(fform, flang, faction)
{
	if (((fform.name.value.length == 0)) || (fform.email.value.length == 0))
	{
		if (flang != "ro")
		{
			alert("You haven't provided all the necesay info!\n\n"
				+ "Please try again!");
		}
		else
		{
			alert("Nu ati introdus toate datele necesare!\n\n"
				+ "Va rugam reincercati!");
		}
		return;
	}
	xmlHttp = GetXmlHttpObject();
	if (xmlHttp == null)
	{
		alert ("Your browser does not support AJAX!");
		return;
	}
	xmlHttp.onreadystatechange = function()
	{
		if(xmlHttp.readyState == 4)
		{
			switch (xmlHttp.responseText)
			{
				case "Succes":
					if (flang != "ro")
					{
						if (faction == "add")
							alert("Madam/sir " + fform.name.value + ", you have successfully subscribed to our newsletter.\n\n"
								+ "If you wish to unsubscribe, please send us an e-mail to ana.margean@contrade.ro with the subject 'Unsubscribe'\n\n"
								+ "Thank you!");
						else
							alert("Madam/sir " + fform.name.value + ", you have unsubscribed from our newsletter!\n\n"
								+ "If you wish to subscribe again, please fill the subscription form!\n\n"
								+ "Thank you!");
					}
					else
					{
						if (faction == "add")
							alert("Stimata(e) doamna(domn) " + fform.name.value + ", ati fost inclus in baza noastra de date pentru a primi newsletter.\n\n"
								+ "Daca doriti sa va dezabonati trimiteti un e-mail la adresa ana.margean@contrade.ro cu subiectul 'Dezaboneaza'\n\n"
								+ "Va multumim!");
						else
							alert("Stimata(e) doamna(domn) " + fform.name.value + ", ati renuntat la optiunea de a primi newsletter de pe site-ul www.contrade.ro!\n\n"
								+ "Daca doriti sa va re-abonati completati formularul de abonare newsletter!\n\n"
								+ "Va multumim!");
					}
					break;
				case "Date insuficiente":
					if (flang != "ro")
					{
						alert("Madam/sir " + fform.name.value + ", you haven't provided all the necesary info!\n\n"
							+ "Please try again!");
					}
					else
					{
						alert("Stimata(e) doamna(domn) " + fform.name.value + ", nu ati introdus toate datele necesare!\n\n"
							+ "Va rugam reincercati!");
					}
					break;
				case "Eroare DB":
					if (flang != "ro")
					{
						alert("Madam/sir " + fform.name.value + ", an error has occured while processing your request!\n\n"
							+ "Please try again!");
					}
					else
					{
						alert("Stimata(e) doamna(domn) " + fform.name.value + ", a aparut o eroare in procesarea datelor dvs!\n\n"
							+ "Va rugam reincercati!");
					}
					break;
				case "Eroare User":
					if (flang != "ro")
					{
						if (faction == "add")
							alert("Madam/sir " + fform.name.value + ", you have already subscribed to our newsletter!\n\n"
								+ "Thank you!");
						else
							alert("Madam/sir " + fform.name.value + ", you are not subscribed to our newsletter!\n\n"
								+ "Thank you!");
					}
					else
					{
						if (faction == "add")
							alert("Stimata(e) doamna(domn) " + fform.name.value + ", sunteti deja inscris la newsletter!\n\n"
								+ "Va multumim!");
						else
							alert("Stimata(e) doamna(domn) " + fform.name.value + ", nu sunteti inscris la newsletter!\n\n"
								+ "Va multumim!");
					}
					break;
			}
		}
	}
	xmlHttp.open ("GET", "add_remove_newsletter.php?action=" + faction + "&name=" + fform.name.value + "&email=" + fform.email.value, true); // add vars
	xmlHttp.send (null);
}