function searchGoogle(keywordElementId)
{
	site = "maxcom-online.com";

	elementKeyword = document.getElementById(keywordElementId);
	if(elementKeyword)
	{
		url = "http://www.google.com/search?sitesearch=" + site + "&as_q=" + elementKeyword.value + "&x=0&y=0&hl=id";
		this.location = url;
	}
	else
	{
		alert("Search Element not Found!");
	}
}

function validateForm(formId)
{
	form = document.getElementById(formId);

	if(form)
	{
		for(elementIndex=0; elementIndex<form.length; elementIndex++)
		{
			validate(form.elements[elementIndex]);
		}
	}
}

function validate(element)
{
	error = "";

	isRequired = parseInt(element.getAttribute("isRequired"));
	if(isRequired != "0" && isRequired != "1")
	{
		isRequired = "1";
	}

	mask = element.getAttribute("mask");
	if(!mask)
	{
		mask = "";
	}

	isValid = true;

	if(isRequired == 1)
	{
		if(element.value.length==0)
		{
			isValid = false;
		}
	}

	if(mask == "name")
	{
		var illegalChars = /[^\w\s]/;
		// All but ( "a-zA-Z0-9_" and " " )

		if(illegalChars.test(element.value))
		{
			isValid = false;
		}

		var stripped = element.value.replace(/[\s]/g, '');
		if(stripped.length==0 && isRequired=="1")
		{
			isValid = false;
		}
	}

	if(mask == "phone")
	{
		var stripped = element.value.replace(/[\(\)\.\-\ \+]/g, '');
		//strip out acceptable non-numeric characters

		var illegalChars = /[\D]/;
		// All but ( "0-9" )

		if(illegalChars.test(stripped))
		{
			error = "The phone number contains illegal characters.";
			isValid = false;
		}

		if(stripped.length==0 && isRequired=="1")
		{
			isValid = false;
		}
	}

	if(mask == "email")
	{
		var emailFilter=/^.+@.+\..{2,3}$/;
		if(!(emailFilter.test(element.value)))
		{
			isValid = false;
		}

		var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
		if(element.value.match(illegalChars))
		{
			error = "The email address contains illegal characters.\n";
			isValid = false;
		}
	}

	if(mask == "text")
	{

	}

	if(mask == "checkbox")
	{
		name = element.getAttribute("name");
		if(!name)
		{
			name = "";
		}

		elements = document.getElementsByName(name);
		checked = 0;

		for(elementsIndex = 0; elementsIndex<elements.length; elementsIndex++)
		{
			if(elements[elementsIndex].checked == true)
			{
				checked ++;
			}
		}

		if(checked == 0)
		{
			isValid = false;
		}
	}

	bgImage = "";
	if(isValid)
	{
		bgImage = "url(images/icon-valid.gif)";
	}
	else
	{
		bgImage = "url(images/icon-invalid.gif)";
	}

	inputTarget = element.parentNode;

	if(mask != "continue")
	{
		inputTarget.style.backgroundImage = bgImage;
	}
}
