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 validateRequest()
{
	var nameValid = false;
	var addressValid = false;
	var phoneValid = false;
	var typeValid = false;
	var wineValid = false;

	if (document)
	{
		// todo replace input field id
		if ( document.getElementById( "samplingRequestName" ) )
		{
			var samplingRequestNameValue = document.getElementById( "samplingRequestName" ).value;
			if ( samplingRequestNameValue && trim(samplingRequestNameValue) != "" )
			{
				nameValid = true;
			}
		}
        
		if ( document.getElementById("samplingRequestAddress") )
		{
			var samplingRequestAddressValue = document.getElementById( "samplingRequestAddress" ).value;
			if ( samplingRequestAddressValue && trim(samplingRequestAddressValue) != "" )
			{
				addressValid = true;
			}
		}
        
		if ( document.getElementById("samplingRequestPhone") )
		{
			var samplingRequestPhoneValue = document.getElementById( "samplingRequestPhone" ).value;
			if ( samplingRequestPhoneValue && trim(samplingRequestPhoneValue) != "" )
			{
				phoneValid = true;
			}
		}
        
		if ( document.getElementById("samplingRequestType") )
		{
			var samplingRequestTypeValue = document.getElementById( "samplingRequestType" ).value;
			if ( samplingRequestTypeValue && trim(samplingRequestTypeValue) != "" )
			{
				typeValid = true;
			}
		}
        
		if ( document.getElementById("samplingRequestWine") )
		{
			var samplingRequestWineValue = document.getElementById( "samplingRequestWine" ).value;
			if ( samplingRequestWineValue && trim(samplingRequestWineValue) != "" )
			{
				wineValid = true;
			}
		}
        
	}
    
	return nameValid && addressValid && phoneValid && typeValid && wineValid;
    
    
}

function buildSamplingRequestURL ( baseURL )

{
	var samplingRequestURL = baseURL;
	if ( baseURL )
	{
		if ( document )
		{
			if ( document.getElementById( "samplingRequestName" ) )
			{
				var nameValue = escape( trim( document.getElementById( "samplingRequestName" ).value ) );
                
                
				samplingRequestURL += "?name=" + nameValue;
			//alert(samplingRequestURL);
			}
			if ( document.getElementById( "samplingRequestAddress" ) )
			{
				var addressValue = escape( trim( document.getElementById( "samplingRequestAddress" ).value ) );
				samplingRequestURL += "&address=" + addressValue;
			//alert(samplingRequestURL);
			}
			if ( document.getElementById( "samplingRequestPhone" ) )
			{
				var phoneValue = escape( trim( document.getElementById( "samplingRequestPhone" ).value ) );
				samplingRequestURL += "&phone=" + phoneValue;
			//alert(samplingRequestURL);
			}
			if ( document.getElementById( "samplingRequestType" ) )
			{
				var typeValue = escape( trim( document.getElementById( "samplingRequestType" ).value ) );
				samplingRequestURL += "&type=" + typeValue;
			//alert(samplingRequestURL);
			}
			if ( document.getElementById( "samplingRequestWine" ) )
			{
				var wineValue = escape( trim( document.getElementById( "samplingRequestWine" ).value ) );
				samplingRequestURL += "&wine=" + wineValue;
			//alert(samplingRequestURL);
			}
		}
		return samplingRequestURL;
	}
	else
	{
		return null;
	}
}

function handleSamplingResponse()
{
	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("info").style.display = "none";
				document.getElementById("container").style.display = "block";
				document.getElementById("details").style.display = "none";
				document.getElementById("errortext").style.display=  "none";
				//Küldés gomb eltüntetése
				document.getElementById("sendButton").style.display=  "none";
				document.getElementById("noButton").style.display=  "block";
                
			// todo more actions if succeeded
                
                
			}
		}
		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 sendSamplingRequest ()
{
    
	if (validateRequest())
	{
    
		// todo replace url
		var samplingRequestURL = buildSamplingRequestURL( actionUrl );
        
		if ( !samplingRequestURL )
		{
			return;
		}
		//alert(samplingRequestURL);
		var xhr = createXHR();
        
		if (xhr != null)
		{
			xhr.onreadystatechange = handleSamplingResponse;
			xhr.open( "GET", samplingRequestURL, 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 =  "Kérem töltsön ki minden mezőt!";
               
                
                
		}
	}
}