﻿
function validCaptcha(code)
{
	var ajax;
	var url = "/fishcaptcha/ajaxcheck.asp?code=" + code;
	if (window.XMLHttpRequest)
	{
		ajax = new XMLHttpRequest();
	}
	else
	{
		ajax = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	if(ajax)
	{
		ajax.open("GET", url, false);
		ajax.send(null);
		var result = ajax.responseText;
		//alert("[" + result + "]");
		if(result == "1")
			return true;
	}

	return false;
}

function validateField(form, id)
{
	var fieldObj = $("#" + form + " #" + id);
	fieldObj.removeClass("fielderror");
	
	if ((fieldObj.val() == "") || (fieldObj.val() == "Enter name here...") || (fieldObj.val() == "Enter email address here...") || (fieldObj.val() == "Enter telephone number here...") || (fieldObj.val() == "Type your query here..."))
	{
		fieldObj.addClass("fielderror");
		return false;
	}
	// special cases...
	if(id == "email")
	{
		// validate email using REGEX
		reg = new RegExp('\\w[\\w\\-\\.]*\\@\\w[\\w\\-]+(\\.[\\w\\-]{2,})+', 'g');
        if(!Boolean(reg.exec(fieldObj.val())))
		{
			fieldObj.addClass("fielderror");
			return false;
		}

	}
	else if(id == "code")
	{
		// validate Captcha using syncronous request
		if(!validCaptcha(fieldObj.val()))
		{
			fieldObj.addClass("fielderror");
			return false;
		}	
		
	}
	return true;
}

function validateForm()
{
	valid = validateField("contactform", "name") & validateField("contactform", "email") & validateField("contactform", "telephone") & validateField("contactform", "message")
	
	if(valid)
		return true;
	else
	{
		alert("Please ensure you complete all fields correctly");
		return false;
	}				
}