$(document).ready(function()
{
	
	// -------------------------------------------------------------------------
	
	$.fn.validateEmail = function()
	{
		var reg 	= /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		var email 	= $(this).val();
		var elemId 	= '#'+ $(this).attr('id');
		
		if (reg.test(email) == false)
		{
			$(elemId).showBubble('Invalid email format.', 0);
		}
		else
		{
			$(elemId).showBubble('Ok', 1);
		}
	};
	
	// -------------------------------------------------------------------------
	
	$.fn.validateRequired = function()
	{
		var val 	= $(this).val();
		var elemId 	= '#'+ $(this).attr('id');
		
		if (val === "")
		{
			$(elemId).showBubble('Required.', 0);
		}
		else
		{
			$(elemId).hideBubble();
		}
	};
	
	// -------------------------------------------------------------------------
	
	$.fn.validateCustom = function(serverPath)
	{
		var elemId = $(this).attr('id');
		
		var postdata = 'field='+ $(this).val();
		
		$.ajax(
		{
			type: 'POST',
			url: serverPath,
			data: postdata,
			datatype: 'xml',
			
			success: function(xml)
			{
				var json = $(this).parseXMLResponse(xml);

				if (json.status == 0)
				{
					alert(json.statusMsg);
				}
				else
				{
					var success = $(xml).find('success').text();
					
					$('#'+ elemId).showBubble(json.successHTML, success);
				}
			}
		});
	};
});
