﻿function btnClear_onClick()
{
	 document.getElementById(txtFirstNameClientID).value = "";
	 document.getElementById(txtLastNameClientID).value = "";
	 document.getElementById(txtEmailClientID).value = "";
	 document.getElementById(txtPhoneClientID).value = "";
	 document.getElementById(txtContentClientID).value = "";
}

function ddlGrand_OnChange(value)
{
	var div = document.getElementById("divPrompt0");
	while (div)
	{
		if (div.tagName.toLowerCase() == "div")
		{
			if (div.id.charAt(div.id.length - 1) == value)
				div.style.display = "block";
			else
				div.style.display = "none";
		}
		div = div.nextSibling;
	}
}

function btnContact_onClick()
{
	var isValid = Validate(Page_Validators);

	var ddl = document.getElementById(ddlGrandClientID);

	if (!isValid || ddl.selectedIndex == 0)
	{
		alert(msgInvalidInput);
		return false;
	}

	RequestStart();

	var reQuot = new RegExp("\"", "gi");
	var reSlash = new RegExp("\\\\", "gi");

	var ddl = document.getElementById(ddlGrandClientID);

	var json = '{"Iam":"ContactRequest","RequestObject":{"FirstName":"' + document.getElementById(txtFirstNameClientID).value.replace(reSlash, "\\\\").replace(reQuot, "\\\"")
				 + '","LastName":"' + document.getElementById(txtLastNameClientID).value.replace(reSlash, "\\\\").replace(reQuot, "\\\"")
				 + '","Email":"' + document.getElementById(txtEmailClientID).value.replace(reSlash, "\\\\").replace(reQuot, "\\\"")
				 + '","Phone":"' + document.getElementById(txtPhoneClientID).value.replace(reSlash, "\\\\").replace(reQuot, "\\\"")
				 + '","Addressee":{"Name":"' + ddl.options[ddl.selectedIndex].text.replace(reQuot, "\\\"") + '","ID":' + ddl.value
				 + '},"Content":"' + document.getElementById(txtContentClientID).value.replace(reSlash, "\\\\").replace(reQuot, "\\\"")
				 + '"}}';

	CallBackAction(json, '');
	return true;
}

function CallBackActionEnd(arg, contact)
{
	ResponseEnd();
	alert(arg);
	btnClear_onClick();
}


function CallBackActionError(arg, contact)
{
	ResponseEnd();
	alert(arg);
}

function Validate(validators)
{
	var isValid = true;
	var elements = new Array();
	var i;
	for (i = 0; i < validators.length; i++)
	{
		ValidatorValidate(validators[i]);

		var index = elements.getItemIndex(validators[i].controltovalidate);
		if (index > -1)
		{
			if (!validators[i].isvalid)
				elements[index].isvalid = false;
		}
		else
		{
			elements[elements.length] = { controltovalidate: validators[i].controltovalidate, isvalid: validators[i].isvalid };
		}
	}

	isValid = true;
	for (i = 0; i < elements.length; i++)
	{
		var el = document.getElementById(elements[i].controltovalidate);
		isValid = isValid && elements[i].isvalid;
		if (elements[i].isvalid)
		{
			if (el.ValidBgColor) el.style.backgroundColor = el.ValidBgColor;
			if (el.ValidColor) el.style.color = el.ValidColor;
			el.ValidBgColor = null;
			el.ValidColor = null;
		}
		else
		{
			if (!el.ValidBgColor)
			{
				if (el.style.backgroundColor != "")
				{
					el.ValidBgColor = el.style.backgroundColor;
				}
				else
				{
					if (el.currentStyle)
					{
						el.ValidBgColor = el.currentStyle['backgroundColor'];
					}
					else
					{
						el.ValidBgColor = document.defaultView.getComputedStyle(el, null).getPropertyValue('backgroundColor');
						if (el.ValidBgColor == "") el.ValidBgColor = "#ffffff";
					}
				}
			}

			if (!el.ValidColor)
			{
				if (el.style.color != "")
				{
					el.ValidColor = el.style.color;
				}
				else
				{
					if (el.currentStyle)
					{
						el.ValidColor = el.currentStyle['color'];
					}
					else
					{
						el.ValidColor = document.defaultView.getComputedStyle(el, null).getPropertyValue('color');
						if (el.ValidColor == "") el.ValidColor = "#000000";
					}
				}
			}

			var parent = el
			while (parent = parent.parentNode)
			{
				if (parent.style && parent.style.display == "none")
				{
					parent.style.display = "block";
				}
			}

			el.style.backgroundColor = "red";
			el.style.color = "yellow";
		}
	}

	return isValid;
}


Array.prototype.getItemIndex = function (value)
{
	for (var i = 0; i < this.length; i++)
	{
		if (this[i] == value || this[i].controltovalidate == value) return i;
	}
	return -1;
};
