function HideWindow(WindowName)
{
	document.getElementById(WindowName).style.visibility = "hidden";
}

function ShowWindow(WindowName)
{
	document.getElementById(WindowName).style.visibility = "visible";
}

function ShowImage(ImageName)
{
	document.getElementById("image_canvas").style.backgroundImage =  "url('" + ImageName + "')";
	document.getElementById("image_canvas").style.visibility = "visible";
}

var IntervalId = 0;
var OpacityCnt = 0;
function Fade(WindowName, Type)
{
	var BrowserName = navigator.appName;

	if (Type == "In")
	{
		if (document.getElementById(WindowName).style.visibility != "visible")
		{
			document.getElementById(WindowName).style.visibility = "visible";
			IntervalId = setInterval("DoFade('" + WindowName + "','" + Type + "','" + BrowserName + "')", 40);
		}
	}
	else
		IntervalId = setInterval("DoFade('" + WindowName + "','" + Type + "','" + BrowserName + "')", 40);
}

function DoFade(WindowName, Type, BrowserName)
{
	if (Type == "In")
		OpacityCnt += 0.1;
	else
		OpacityCnt -= 0.1;

	OpacityCnt = Math.round(OpacityCnt * 10) / 10;

	if (BrowserName == "Microsoft Internet Explorer")
		document.getElementById(WindowName).filters.alpha.opacity = OpacityCnt * 100;
	else
		document.getElementById(WindowName).style.opacity = OpacityCnt;

	if (OpacityCnt == 1 || OpacityCnt == 0)
		clearInterval(IntervalId);

	if (OpacityCnt == 0)
		document.getElementById(WindowName).style.visibility = "hidden";
}

//=== Form validation =============================================================================
// Chech for 2 empty fields
function ValidateForm2(FieldID1, FieldID2, Text1, Text2, ErrorMessage)
{
	ErrorStatus = 0;

	Field1Value = document.getElementById(FieldID1).value;
	Field2Value = document.getElementById(FieldID2).value;

	if (Field1Value == "")
	{
		ErrorMessage = ErrorMessage + "\n- " + Text1;
		ErrorStatus = 1;
	}

	if (Field2Value == "")
	{
		ErrorMessage = ErrorMessage + "\n- " + Text2;
		ErrorStatus += 2;
	}

	if (ErrorStatus)
		alert(ErrorMessage);

	switch (ErrorStatus)
	{
		case 0 : Status = true;
				 break;

		case 2 : document.getElementById(FieldID2).focus();
				 Status = false;
				 break;

		default : document.getElementById(FieldID1).focus();
				 Status = false;
	}

	return Status;
}

//=== Ajax Mail sending ===========================================================================
// Create HTTP Object
var httpObject = null;
function CreateHTTPObject()
{
	if (window.ActiveXObject)
		return new ActiveXObject("Microsoft.XMLHTTP");
	else if (window.XMLHttpRequest)
		return new XMLHttpRequest();
	else
	{
		alert("Your browser does not support AJAX.");
		return null;
	}
}

// Get response
function setOutput(WindowName)
{
	if (httpObject.readyState == 4 && httpObject.status == 200)
		alert(httpObject.responseText);

	Fade(WindowName, "Out");
}

// Implement business logic
function AjaxSendMail(WindowName)
{
	httpObject = CreateHTTPObject();

	if (httpObject != null)
	{
		var URL 	 = "send_mail.php";
		var Sender   = document.getElementById("IDTSender").value;
		var Receiver = document.getElementById("IDTReceiver").value;
		var Message  = document.getElementById("IDMMessage").value;
		var Params   = "Sender=" + Sender + "&Receiver=" + Receiver + "&Message=" + Message;
		httpObject.open("POST", URL, false);

		//Send the proper header information along with the request
		httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		httpObject.setRequestHeader("Content-length", Params.length);
		httpObject.setRequestHeader("Connection", "close");

		httpObject.send(Params);
		httpObject.onreadystatechange = setOutput(WindowName);
	}
}
