
var App = window.App || {};

/**
 * Validate form 
 */
App.validateForm = function(form_object,error_box) {
	
	var elements = $(form_object).find('.required, .required_email, .required_zip');
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var error_txt_box = $(error_box);
	
	elements.focusout(function() {
		var element = $(this);
		var element_id = element.attr('id');
		var icon_margin_left = element.attr('icon_margin_left');
		var ok = "<span class='error_icon ok_" + element_id + "' style='margin-left:" + icon_margin_left + "'><img src='/images/ok_icon.png'/></span>";
		var not_ok = "<span class='error_icon ok_" + element_id + "' style='margin-left:" + icon_margin_left + "'><img src='/images/no_icon.png'/></span>";
		
		$(".ok_" + element_id).remove();
	
		if($.trim(element.val()) == '') {
			element.after(not_ok);
			error_txt_box.html('Morate uneti naznačena polja.');
			return false;
		}//if
		
		//for email validation
		if(element.hasClass('required_email')) {
			if(reg.test(element.val()) == false) {
				element.after(not_ok);
				return false;
			}//if
		}//if
		
		//for zip
		if(element.hasClass('required_zip')) {
			if(element.val().length < 5) {
				element.after(not_ok);
				error_txt_box.html('Poštanski broj je prekratak.');
				return false;
			}//if
		}//if
		
		element.after(ok);
	});
	
	//on form submit
	$(form_object).submit(function() {
		var errors = new Array();
		var errors_msg = new Array();
		
		elements.each(function() {
			var object = $(this);
			object.removeClass('input_error');
			error_txt_box.html('');
			if($.trim(object.val()) == '') {
				errors.push(object);
				errors_msg.push('Morate uneti naznačena polja.');
			}//if
			
			//for email validation
			if(object.hasClass('required_email')) {
				if(reg.test(object.val()) == false) {
					errors.push(object);
					errors_msg.push('Neispravna email adresa.');
				}//if
			}//if
			
			//for zip
			if(object.hasClass('required_zip')) {
				if(object.val().length < 5) {
					errors.push(object);
					errors_msg.push('Poštanski broj je prekratak.');
				}//if
			}//if
			
		});  
		 
		if(errors.length > 0) {
			for(var i=0;i<errors.length;i++) {
				errors[i].addClass('input_error');
				error_txt_box.html(errors_msg[0]);
				errors[0].focus();
			}//for
			return false;
		}//if
		
		return true;
	
	});
	
	
	
};

App.allowIntegerOnly = function(input_obj) {
	$(input_obj).keydown(function(event) {
		if($(input_obj).val().indexOf("0") === 0) {
			$(input_obj).val('');
			return;
		}
	    // Allow only backspace and delete
	    if ( (event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9) || (event.keyCode > 95 && event.keyCode < 106) ) {
	        // let it happen, don't do anything
	    }
	    else {
	        // Ensure that it is a number and stop the keypress
	        if (event.keyCode < 48 || event.keyCode > 57) {
	            event.preventDefault(); 
	        }   
	    }
	});
}
