/** NOTE - todo - hindi  gumagana ng tama ung numeric validation **/
$(document).ready(function(){
	
	var requiredMessage = 'This is required';
	var emailMessage = 'You typed an invalid email format';
	var numericMessage = 'Only numeric values wihout a space are required.';
	var errorMessage = 'Error Message';
	var validMessage = 'Thank You';
	
	$('#netForm').submit(function(event){
		
		
		//$(this).find('input[type="text"]').each(function(){
		$(this).find('.validate').each(function(){
														 
			checkImplementedValidation($(this), $(this).attr('alt'))
			
			function checkImplementedValidation(obj, parameter) {
				var arrParam = parameter.split("|");
				for ( var x in arrParam){
					manipulateParameters(obj, arrParam[x])
				}
			}
			
			function manipulateParameters(obj, parameter) {
				switch(parameter) {
					case 'required':
						checkInputForRequiredField(obj);
					break;
					
					case 'email':
						checkInputForEmail(obj);
					break;
					
					case 'string':
						checkInputForNumeric(obj);
					break;
					
					default:
						
					break;
				}
			}
			
			function checkInputForRequiredField(obj) {
				if (obj.val() == '')
					displayMessage(obj, requiredMessage, 'invalid','#990000');
				else
					displayMessage(obj, validMessage, 'valid','green');
			}
			
			function checkInputForEmail(obj) {
				filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				inputValue = obj.val();
				if (!filter.test(inputValue)) {
					displayMessage(obj, emailMessage, 'invalid','#990000');				
				}
				else {
					displayMessage(obj, validMessage, 'valid','green');
				}
			}
			
			function checkInputForNumeric(obj) {
				filter = /^(-)?(\S)(\d*)(\.?)(\d*)$/;
				inputValue = obj.val();
				if (!filter.test(inputValue)) {
					displayMessage(obj, numericMessage, 'invalid','#990000');				
				}
				else {
					displayMessage(obj, validMessage, 'valid','green');
				}
			}

			function displayMessage(obj, message, className, color) {
				obj.next('span').attr('class',className).html('&nbsp;'+message);
				obj.css('border','1px solid '+color);
			}
		});

		$(this).find('span').each(function(){
			var sample = $(this).attr('class');
			if (sample == "invalid") {
				$('input#referrence').val(sample);
				return false;
			}
		});
		if ($('input#referrence').val() == "invalid") {
			$('input#referrence').val("");
			return false;
		}
		else {
			return true;
		}
	});
		$(".validate").each(function(){
			$(this).click(function(event){
				$(this).css("border","1px solid #7F9DB9");
				$(this).next("span").text("");
			})
		})
});
