/******** DIALOG *************/
$(function() {
	
	$("#a-side-nav").click(function () {		
		if(!$('#side-links').is(':visible')){
			$('#a-side-nav').addClass('selected');			
		}
		$("#side-links").toggle('blind','',250,function(){
			if(!$('#side-links').is(':visible'))
				$('#a-side-nav').removeClass('selected');
		});			
		return false;
	});
	//$( "#dialog" ).dialog({ disabled: true });
	
});

function set_active(div_name)
{
	$('div.input-bg').removeClass('active');
	//$('.textarea-bg textarea').removeClass('active');
	$('#' + div_name).addClass('active');
}


function show_div(div_id, text)
{
	$('#'+div_id).html(text);
	$('#'+div_id).show();
}

function is_email(str)
{
	var filtro = /^[A-Za-z][A-Za-z0-9_.-]*@[A-Za-z0-9_.-]+\.[A-Za-z0-9_.]+[A-za-z]$/;
	if (filtro.test(str)) return true;
	else return false;
}
function is_date(date_string)
{
	// matches DD/MM/Y or DD/MM/YYYY or D/M/Y or DD/M/YYYY Leap years treated.
	reg_expr = /^(((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}|\d))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}|\d))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}|\d))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00|[048])))$/;
	if (!reg_expr.test(date_string)) {
		return false;
	}
	return true;
}
function popup_locked(url, w, h)
{
	win = window.open(url, '', 'width='+w+',height='+h+',toolbar=no,menubar=no,scrollbars=yes,resizable=no');
	win.moveTo(window.screen.availWidth / 2 - w / 2, window.screen.availHeight / 2 - h / 2);
}

function text_optimize(str)
{
	// replace with unicode characters:
	str = str.replace('á', '\u00E1');
	str = str.replace('é', '\u00E9');
	str = str.replace('í', '\u00ED');
	str = str.replace('ó', '\u00F3');
	str = str.replace('ú', '\u00FA');
	return str;
}
function urlencode(str)
{
    var result = "";
    for (i = 0; i < str.length; i++) {
        if (str.charAt(i) == " ") result += "+";
        else result += str.charAt(i);
    }
    return escape(result);
}

function in_array(needle, haystack, argStrict)
{
    var key = '', strict = !!argStrict;
    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) {
                return true;
			}
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) {
				return true;
            }
        }
    }
     return false;
}
function find_position(obj)
{
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return [curleft, curtop];
}

/**************** Efectos Inputbox ****************/
// Inicializar un input con un texto predeterminado
function _initInput(input_id, text_ini)
{	
	input = $("#"+input_id);
	input.val(text_ini);
	input.attr("text_ini", text_ini);
	input.focus(function() {
		if ($(this).val() == $(this).attr("text_ini")) $(this).val("") 
	});
	input.blur(function() {
		if ($(this).val() == "") $(this).val($(this).attr("text_ini"));
	});
	input.getTexto = function()
	{
		return $(this).val();
	};
}
function inputIsEmpty(input_id)
{
	input = $("#"+input_id);
	return (input.val() == "" || input.val() == input.attr("text_ini"));
}

// Efecto de texto que aparece y desaparece. Llamar dentro de document.ready
function text_blur_focus(input_id, default_text)
{
	$('#'+input_id).blur(function(){
		if ($('#'+input_id).val() == '') $('#'+input_id).val(default_text);
	});
	$('#'+input_id).focus(function(){
		if ($('#'+input_id).val() == default_text) $('#'+input_id).val('');
	});
}


//Limpiar un formulario: los input del tipo hidden NO los borra =)
function clean_form(id_form){
	var all_inputs = $("#"+id_form+" :input");
	all_inputs.each(function(){
		if($(this).attr('type') != 'hidden'){
			$(this).val('');
			$(this).blur();
		}
	});
}
/**************** Fin Efectos Inputbox ****************/

String.prototype.trim = function() {
  return this.replace(/^\s+/, '').replace(/\s+$/, '');
};



/******************* Popup con Ajax **********************/
function ajax_div(url, callback)
{
	if (!jQuery.isReady) return;
	$("<div id='ajax_div'></div>").appendTo("#full");	
	$.ajax({
		type: "GET",
		url: url,
		data: {PHPSESSID : PHPSESSID},
		success: function(response) {
			$('#ajax_div').html(response);
			show_div("ajax_div");
			if (callback) eval(callback).call();
		},
		error: function (errorCode, textStatus, errorThrown) {
			if (errorCode.status == 450) session_perdida();
		} 
	});
}


