function createXHR()
{
	if ( window.XMLHttpRequest )
	{
		// code for all new browsers
		return new XMLHttpRequest();
	}
	else if ( window.ActiveXObject )
	{
		// code for IE5 and IE6
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
}

function trim( str )
{
	if ( str )
	{
		return str.replace(/^\s+|\s+$/g, '') ;
	}
	else
	{
		return null;
	}
}

function validateIt()
{
	var nameValid = false;
	var friendValid = false;
	var emailValid = false;
    

	if (document)
	{
		// todo replace input field id
		if ( document.getElementById( "referenceRequestName" ) )
		{
			var referenceRequestNameValue = document.getElementById( "referenceRequestName" ).value;
			if ( referenceRequestNameValue && trim(referenceRequestNameValue) != "" )
			{
				nameValid = true;
			}
		}
		// todo replace input field id
		if ( document.getElementById("referenceRequestFriend") )
		{
			var referenceRequestFriendValue = document.getElementById( "referenceRequestFriend" ).value;
			if ( referenceRequestFriendValue && trim(referenceRequestFriendValue) != "" )
			{
				friendValid = true;
			}
		}
		// todo replace input field id
		if ( document.getElementById("referenceRequestEmail") )
		{
			var referenceRequestEmailValue = document.getElementById( "referenceRequestEmail" ).value;
			if ( referenceRequestEmailValue && trim(referenceRequestEmailValue) != "" )
			{
				emailValid = true;
			//alert(emailValid);
			}
		}
	// todo replace input field id

	}

	return nameValid && friendValid && emailValid;

}

function buildReferenceRequestURL( baseURL )
{
	var referenceRequestURL = baseURL;
	if ( baseURL )
	{
		if ( document )
		{
			if ( document.getElementById( "referenceRequestName" ) )
			{
				var nameValue = escape( trim( document.getElementById( "referenceRequestName" ).value ) );


				referenceRequestURL += "?name=" + nameValue;
			//alert(referenceRequestURL);
			}
			if ( document.getElementById( "referenceRequestFriend" ) )
			{
				var friendValue = escape( trim( document.getElementById( "referenceRequestFriend" ).value ) );
				referenceRequestURL += "&friend=" + friendValue;
			//alert(referenceRequestURL);
			}
			if ( document.getElementById( "referenceRequestEmail" ) )
			{
				var emailValue = escape( trim( document.getElementById( "referenceRequestEmail" ).value ) );
				referenceRequestURL += "&email=" + emailValue;
			//alert(referenceRequestURL);
			}

		}
		return referenceRequestURL;
	}
	else
	{
		return null;
	}
}

function handleReferenceResponse()
{
	if(this.readyState == 4 && this.status == 200)
	{
		if(this.responseText != null)
		{
			if (document)
			{
				//a v?laszsz?veg megjelen?t?se
				var newdiv = document.createElement("div");
				newdiv.innerHTML = this.responseText;
				var container = document.getElementById("container");
				container.appendChild(newdiv);
				//a form elt?ntet?se
				document.getElementById("container").style.display = "block";
				//Ablakszöveg megjelenítése
				document.getElementById("info").style.display = "none";
				document.getElementById("details").style.display = "none";
				document.getElementById("errortext").style.display=  "none";
				//gomb eltüntetése
				document.getElementById("sendButton").style.display=  "none";
				document.getElementById("noButton").style.display=  "block";
			}
		}
		else
		{
			alert("A kérésre nem érkezett válasz!");
		}
	}
	else if (this.readyState == 4 && this.status != 200)
	{
		alert("A kérésre nem érkezett válasz!");
	}
}

function sendReferenceRequest()
{
    
	if (validateIt())
	{
		// todo replace url
		var referenceRequestURL = buildReferenceRequestURL( mailUrl );

		if ( !referenceRequestURL )
		{
			return;
		}
		//alert(referenceRequestURL);
		var xhr = createXHR();

		if (xhr != null)
		{
			xhr.onreadystatechange = handleReferenceResponse;
			xhr.open( "GET", referenceRequestURL, true );
			xhr.send( null );
		}
		else
		{
			alert( "A böngészője nem támogatja az XMLHTTP objektumot." );
		}
	}
	else
	{
       
		// invalid data
		if (document)
		{
			//a v?laszsz?veg megjelen?t?se
			document.getElementById("errortext").innerHTML =  "<br>Kérem töltsön ki minden mezőt!";



		}
	}
}