function validate_form(arr_fields)
{
	var is_valid = true;
	
	jQuery.each(arr_fields, function()
	{
		if( jQuery( "#" + this ).val() == '' )
		{
			is_valid = false;
			jQuery( '#' + this ).addClass('error_field');
		}
		else
		{
			jQuery( '#' + this ).removeClass('error_field');
		}
	});
	
	// EXCEPTIONS
	// email
	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if( jQuery('#elem_email').length > 0 && !filter.test( jQuery( '#elem_email' ).val() ) )
	{
		is_valid = false;
		jQuery( '#elem_email' ).addClass('error_field');
	}
	else
	{
		jQuery( '#elem_email' ).removeClass('error_field');
	}
	
	return is_valid;
}

this.imagePreview = function(){	
	/* CONFIG */
		
		xOffset = 10;
		yOffset = 30;
		
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result
		
	/* END CONFIG */
	jQuery("a.preview").hover(function(e){
		this.t = this.title;
		this.title = "";	
		var c = (this.t != "") ? "<br/>" + this.t : "";
		jQuery("body").append("<p id='preview'><img src='"+ this.rel +"' alt='Image preview' />"+ c +"</p>");								 
		jQuery("#preview")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");						
    },
	function(){
		this.title = this.t;	
		jQuery("#preview").remove();
    });	
	jQuery("a.preview").mousemove(function(e){
		jQuery("#preview")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});			
};

jQuery( document ).ready
(
	function()
	{
		imagePreview();
	}
);
