/* --- { Ready general para todo el sitio } -----   */
//Todo lo que el sitio debe cargar en general sin importar en que sección este
$(function(){
  $('.jscombo').customStyle();
});
/* --- { /Ready general para todo el sitio } -----   */
$(document).ready(function() {
	$("#user_options").hide();

	//placeholder 
	$('input, textarea').placeholder();
	
	// Presenta el div de login usando fancybox
	$("#login_caller").fancybox({
		'scrolling'		: 'no',
		'titleShow'		: false,
		'transitionIn'  : 'elastic',
		'transitionOut' : 'elastic',
		'padding'		: 0,
		'overlayOpacity': 0.3,
		'onClosed'		: function() {
	   		 	$("#login_fields_error").hide();
	   		 	$("#login_credentials_error").hide();
	   		 	$("#login_inner_right").show();
			},
		'onStart'		: function() {
	   		 	$("#login_fields_error").hide();
	   		 	$("#login_credentials_error").hide();
	   		 	$("#login_inner_right").show();
			}
	});
	
	
	// Maneja el submit del formulario de login
	$("#login_form").bind("submit", function() { 
 		$("#login_error").hide();
 		$("#invalid_credentials_error").hide();
 		$("#login_inner_right").show();
		if ($("#login_email").val().length < 1 || $("#login_password").val().length < 1) {
	    	$("#login_inner_right").hide();
	    	$("#login_credentials_error").hide();
	    	$("#login_fields_error").show();
	    	$.fancybox.resize();
	   		return false;
		}
		$.fancybox.showActivity();
		var login_success=false;
		
		$.ajax({
			type	: "POST",
			async	: false,
			cache	: false,
			url		: "/?actionajax=login",
			dataType: 'json',
			data	: $(this).serializeArray(),
			success : function(data) {
				if (data.login_result == 'succeeded') {
					//Hacer la redirección de la página, y crear la sesión o lo que sea necesario
					$("#login_inner_right").show();
					$("#login_fields_error").hide();
					$("#login_credentials_error").hide();
					login_success=true;
				} else {
					$("#login_inner_right").hide();
					$("#login_fields_error").hide();
					$("#login_credentials_error").show();
	    			$.fancybox.resize();
				}
				$.fancybox.hideActivity();
				
			}
		});
		return  login_success;
	});
	
	
	// Presenta el div de registro usando fancybox
	$("#register_caller").fancybox({
		'url'			: '#register_div',
		'scrolling'		: 'no',
		'titleShow'		: false,
		'transitionIn'  : 'elastic',
		'transitionOut' : 'elastic',
		'padding'		: 0,
		'overlayOpacity': 0.3
	});
	
	
	
	// Maneja el submit del formulario de registro
	$("#register_form").validate({
		invalidHandler: function(e, validator) {
			var errors = validator.numberOfInvalids();
			if (errors) {
				var List=validator.invalidElements();
				var message = "Existen " + errors + " campos con (*) sin llenar";
				alert(message);
			}
		}, 
		rules: {
		 regform_password2: {
			  required: true,
			  equalTo: "#regform_password"
		  }
	     },
		 submitHandler: function(form) {
			$.fancybox.showActivity();
			
			$.ajax({
				type	: "POST",
				cache	: false,
				async	: false,
				url		: "/?actionajax=signup",
				dataType: 'json',
				data	: $(form).serializeArray(),
				success : function(data) {
					if(data.signup_result == 'succeeded'){
						//alert('Registros exitosos. \n Gracias, vuelva prontosss.')
						window.location.href= "/index.php?action=miPanel&first_login=true";
					} else if (data.signup_result == 'usernameIsTaken') {
						$("#regform_username").removeClass('tooltipinputok').addClass('tooltipinputerr');
						alert('El nombre de usuario ya existe en nuestra base de datos, escoge otro por favor.');
					} else if (data.signup_result == 'emailIsTaken'){
						$("#regform_email").removeClass('tooltipinputok').addClass('tooltipinputerr');
						alert('Ya existe un usuario registrado con esa dirección de correo ¿eres tu?');					
					}
				}
			});
			
			$.fancybox.hideActivity();
			//form.submit();
		 }	
	});
});


/* --- { Functions para el buscador 	} -----   */
function disableFields (){}


/* --- { /Functions para el buscador 	} -----   */

/*  ----- Plugin para cambiar los combobox --- */
(function($){
 $.fn.extend({

 	customStyle : function(options) {
	  if(!$.browser.msie || ($.browser.msie&&$.browser.version>6)){
	  return this.each(function() {

			var currentSelected = $(this).find(':selected');
			$(this).after('<div class="customStyleSelectBox"><div class="customStyleSelectBoxInner">'+currentSelected.text()+'</div></div>').css({position:'absolute', opacity:0,fontSize:$(this).next().css('font-size')});
			var selectBoxSpan = $(this).next();
			var selectBoxWidth = parseInt($(this).width());			
			var selectBoxSpanInner = selectBoxSpan.find(':first-child');
			selectBoxSpan.css({display:'inline-block'});
			selectBoxSpanInner.css({ display:'inline-block'});
			var selectBoxHeight = parseInt(selectBoxSpan.height()) + parseInt(selectBoxSpan.css('padding-top')) + parseInt(selectBoxSpan.css('padding-bottom'));
			$(this).height(selectBoxHeight).change(function(){
				selectBoxSpanInner.text($(this).val()).parent().addClass('changed');
selectBoxSpanInner.text($(this).find(':selected').text()).parent().addClass('changed');
// Thanks to Juarez Filho & PaddyMurphy
			});

	  });
	  }
	}
 });
})(jQuery);
/*  ----- Plugin para cambiar los combobox --- */



function colonify(theString) {
	//var str = "1000000";
	var str = "";
	str = theString
	var res = "";
	var tam = new Number(0);

	while (str.length > 3){
	    temp = str.slice(-3);
	    tam = str.length - 3;
	    str = str.substring(0,tam);
	    if (str.length != 0){
	        res = "," + temp + res;
    	} else {
        	res = temp + res;
    	}
	}
	if(str.length > 0){
    	res = str + res;
	}
	return res;
}


/* --- { Otras funciones} -----   */
function getURLParameter(name) {
    return unescape(
        (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
    );
}

function getURLParameterForUrl(url, name) {
    return unescape(
        (RegExp(name + '=' + '(.+?)(&|$)').exec(url)||[,null])[1]
    );
}

function print_r(theObj){
   if(theObj.constructor == Array || theObj.constructor == Object){
      document.write("<ul>")
      for(var p in theObj){
         if(theObj[p].constructor == Array || theObj[p].constructor == Object){
            document.write("<li>["+p+"] => "+typeof(theObj)+"</li>");
            document.write("<ul>")
            print_r(theObj[p]);
            document.write("</ul>")
         } else {
            document.write("<li>["+p+"] => "+theObj[p]+"</li>");
         }
      }
      document.write("</ul>")
   }
}

function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') { //Array/Hashes/Objects 
		for(var item in arr) {
			var value = arr[item];
			
			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}

/* --- { /Otras funciones	} -----   */

