/*
 * 
 * Utopic Farm 2009
 * @author Tolga Arican
 * @website www.utopicfarm.com
 * 
 */


// FORM VALIDATOR JQUERY PLUGIN - START

(function($) {
	
	$.fn.formValidator = function(options) {
		$(this).bind('click',function() { $.formValidator(options); });
	};
	
	$.formValidator = function (options) {
		
		// merge options with defaults
		var merged_options = $.extend({}, $.formValidator.defaults, options);
			merged_options.scope = (merged_options.scope == '' && merged_options.formSubmit != '') ? merged_options.formSubmit : '';
		
		// result boolean
		var boolValid = true;
		
		// gather inputs & check is valid
		$(merged_options.scope+' .req-email, '+merged_options.scope+' .req-string').each(function() {
			thisValid = $.formValidator.validate($(this),merged_options.errorClass);
			boolValid = boolValid && thisValid;
		});
		
		// submit form if there is and valid
		if ((merged_options.formSubmit != '') && boolValid) {
			$(merged_options.formSubmit).submit();
			$(merged_options.errorDiv).fadeOut();
		}
		
		// if there is errorMsg print it if it is not valid
		if (!boolValid && merged_options.errorMsg != '') {
			$(merged_options.errorDiv).css('opacity',0).html(merged_options.errorMsg).fadeIn();
		}
		
		return boolValid;
	};
	
	$.formValidator.validate = function(obj,css) {
			
		var valAttr = obj.val();
		var mail_filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		var result = false;
		
		if (obj.hasClass('req-string'))
			result = (valAttr != '');
		else if (obj.hasClass('req-email'))
			result = mail_filter.test(valAttr);
				
		if (result) {
			obj.removeClass(css);
		} else {
			obj.bind('keypress',function(){ $.formValidator($(this),css); });
			obj.addClass(css);
		}
		return result;
	};
	$.formValidator.defaults = {
		formSubmit	:	'',
		scope		:	'',
		errorClass	:	'error-input',
		errorMsg	: 	'',
		errorDiv	:	''
	};
})(jQuery);

// FORM VALIDATOR JQUERY PLUGIN - END

// EXECUTE PLUGIN ON DOM READY - START
$(function () {
	
	$('#iletisimSendBtn').formValidator({
		formSubmit	: '#contactForm',
		errorDiv	: '#errorDiv',
		errorMsg	: 'Kırmızı Alanları Doldurunuz!'
	});
	
});
// EXECUTE PLUGIN ON DOM READY - END

