
/**
* general javascript functions for kimod
**/

jQuery(function($) {

	/**
	 * user messages function
	 */
	 var $message_delay = 10000; 
	 var $user_message = $('#user_message');
	 if($user_message.length)
	 {
		 var alert_timer = window.setTimeout(function () {
			 $user_message.trigger('click');
		 }, $message_delay);
		 
		 $user_message.animate({height: $user_message.css('line-height') || '50px'}, 200)
		 .click(function () {
			 window.clearTimeout(alert_timer);
			 $user_message.animate({height: '0'}, 200);
		 });
    }


	/**
	* extend jquery validator framework
	**/

	//extend messages
	jQuery.extend(jQuery.validator.messages, {
		regex: "El valor ingresado es inválido.",
		spaced_alphanumeric: "Por favor, ingrese sólo números o letras.",
		spaced_digits: "Por favor, ingrese sólo números.",
		required_min_fields: jQuery.format("Por favor, ingrese los valores de al menos {1} campos."),
		no_match_text: "Valor no permitido."
	});
	
	//regex validator
	jQuery.validator.addMethod("regex", function(value, element, param) {
		var rg = new RegExp("^" + param + "$", "g");
  		return rg.test(value);
	}, jQuery.validator.messages.regex);
	
	//alphanumeric and spaces validator
	jQuery.validator.addMethod("spaced_alphanumeric", function(value) {
		var rg = new RegExp("^([0-9a-zA-Z\\s]*)$", "g");
  		return rg.test(value);
	}, jQuery.validator.messages.spaced_alphanumeric);
	
	//digits and spaces validator
	jQuery.validator.addMethod("spaced_digits", function(value) {
		var rg = new RegExp("^([0-9\\s]*)$", "g");
  		return rg.test(value);
	}, jQuery.validator.messages.spaced_digits);
	
	
	// at least one input email
    jQuery.validator.addMethod("required_min_fields", function(value, element, params) {     	
   		var prefix = params[0];
   		var min_fields = params[1];
   		var fields = $(":input[id^=" + prefix + "]:filled");
   		if (fields.length >= min_fields) {
   			return true;
   		}
   		return false;
   }, jQuery.validator.messages.required_min_fields);
	
    //no match
    
    jQuery.validator.addMethod("no_match_text", function(value, element, params) {     	
   		var text = params[0];
   		if (value != text) {
   			return true;
   		}
   		return false;
    }, jQuery.validator.messages.no_match_text);

});


function isSession() {

    var user = $j.ajax({
    	type: "POST",
    	async: false,
    	url: "/ajax/suscriber/ajaxIsUserSession/"
  	 }).responseText;
    
    return user;
} 

