function submit_form(in_form_id) {
	var formObject = document.forms[in_form_id];

	if(!formObject) return false;

	var error = false;
	var regexp = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;

	switch(in_form_id) {
		case 'tour_form':
			if(formObject['first_name'].value.replace(/\s+/g,'').length == 0)
			{
				error = true;
				
				alert('Please enter your first name ! ');
				formObject['first_name'].focus();
			}
			else if(formObject['last_name'].value.replace(/\s+/g,'').length == 0)
			{
				error = true;
				
				alert('Please enter your last name ! ');
				formObject['last_name'].focus();
			}
			else if(formObject['email'].value.replace(/\s+/g,"").length == 0)
			{
				error = true;
				
				alert('Please enter your email address ! ');
				formObject['email'].focus();
			}
			else if(formObject['email'].value.search(regexp) == -1)
			{
				error = true;
				
				alert('Please enter a valid email address ! ');
				formObject['email'].focus();
			}

			if(error)
			{
				return false;
			}
			else
			{
				formObject.action = 'index.php?page=home-contact&submit';
				formObject.method = 'post';
				formObject['mode'].value = 'send';

				formObject.submit();
				
				return true;
			}

			break;

		case 'contact_form':
			if(formObject['first_name'].value.replace(/\s+/g,'').length == 0)
			{
				error = true;
				
				alert('Please enter your first name ! ');
				formObject['first_name'].focus();
			}
			else if(formObject['last_name'].value.replace(/\s+/g,'').length == 0)
			{
				error = true;
				
				alert('Please enter your last name ! ');
				formObject['last_name'].focus();
			}
			else if(formObject['email'].value.replace(/\s+/g,"").length == 0)
			{
				error = true;
				
				alert('Please enter your email address ! ');
				formObject['email'].focus();
			}
			else if(formObject['email'].value.search(regexp) == -1)
			{
				error = true;
				
				alert('Please enter a valid email address ! ');
				formObject['email'].focus();
			}

			if(error)
			{
				return false;
			}
			else
			{
				formObject.action = 'index.php?page=home-contact&submit';
				formObject.method = 'post';
				formObject['mode'].value = 'send';

				formObject.submit();
				
				return true;
			}
			break;
	}
}

function submitSiteSearchQuery(in_id) {
	if(in_id==null) in_id = 'site-search';

	var formObject = document.forms[in_id];

	var error = false;
	
	var regexp = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
	
	var keyword_field = formObject['query'] != null ? formObject['query'] : formObject['keyword'];

	if(formObject)
	{	
		if(keyword_field.value.replace(/\s+/g,'').length == 0)
		{
			error = true;
			
			alert('Your search cannot be blank ! ');
			keyword_field.focus();
		}

		if(error)
		{
			return false;
		}
		else
		{
			formObject['mode'] = 'send';
			formObject.submit();
			
			return true;
		}
	}
}

	$(document).ready(function() {
	var select_objects = document.getElementsByTagName('select');
	
	if(select_objects != null) {
		for(var i = 0; i < select_objects.length; i++) {
			if(select_objects[i].getAttribute("rel") == 'custom-other') {
				var temp_options = select_objects[i].getElementsByTagName('option');
				for(var j = 0; j < temp_options.length; j++) {
					if(temp_options[j].getAttribute('value') == "other") {
						otherify(select_objects[i], temp_options[j]);
						break;
					}
				}
			}
		}
	}
});

function otherify(in_select, in_option) {
	in_select.addEvent('change', function() {
		if(in_select.value == in_option.value) {
			temp_id = in_select.name;
			temp_name = in_select.id;
			
			//in_select.id = in_select.name = null;
			temp_other = document.createElement('input');
			
			temp_other.setAttribute('class','textfield');
			temp_other.size="32";
			temp_other.maxlength="50";
			temp_other.type = "text";
			temp_other.name = in_select.name;
			temp_other.id = in_select.id;
			temp_other.value = "Other";

			in_select.parentNode.insertBefore(temp_other,in_select);
			in_select.parentNode.removeChild(in_select);

			temp_other.focus();
			temp_other.select();
		}
	});
}