function roundDec(num, dec) {
	return Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
}
function typeOf(object) {
	var type = typeof object;
	switch (type) {
		case "object":
			if(object == null) {
				return "null";
			}
			else {
				if(typeof object.constructor == "undefined") {
					if(_MSIE_NATIVE_FUNCTION.test(object)) {
						return "function";
					}
					else {
						return type;
					}
				}
				else {
					return typeof object.constructor.prototype.valueOf();	
				}
			}
		break;
		case "function":
			if(typeof object.call == "function") {
				return type;
			}
			else {
				return "object";
			}
		break;
		default:
		  return type;
		break;
	}
}
function empty(mixed_var) {
    var key;
    if (mixed_var === "" || mixed_var === 0 || mixed_var === "0" || mixed_var === null || mixed_var === false || mixed_var === undefined) {
        return true;
	}
    if (typeof mixed_var == 'object') {
        for (key in mixed_var) {
            return false;
        }
        return true;
    }
    return false;
}
function debug(variable) {
	// Requires Firebug
	console.debug(variable);
}
function pintar(elem) {
	elem.focus();
	elem.select();
}
function validEmail(str){
	var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!str.match(emailRegEx)) {
		return false;
	}
	else {
		return true;
	}
}
function notEmpty(str) {
	var re = /.+/;
	if(!str.match(re)) {
		return false;
	}
	else {
		return true;
	}
}
function validPass(str) {
	var re = /^\w{8,}$/;
	if(!str.match(re)) {
		return false;
	}
	else {
		return true;
	}
}
function validUsername(str) {
	var re = /^[a-z][\da-z_]{6,22}[a-z\d]$/;
	if(!str.match(re)) {
		return false;
	}
	else {
		return true;
	}
}
function pintarTrAlt(table) {
	var trs = $(table).find('tbody tr');
	for (i = 0; i < trs.length; i++) {
		if (i % 2 == 0) {
			$(trs[i]).addClass('alt');
		}
		else {
			$(trs[i]).removeClass('alt');
		}
	}
}
