$(document).ready(function()
{
    $('.subMenu').hide();
});

function verSubmenu(tag)
{
    ocultarSubmenu();
    $('#subMenu'+tag).show();
}

function ocultarSubmenu()
{
    $('.subMenu').hide();
}

$.ajaxSetup(
{
    data: {rmode: 'json'},
    dataType: 'json',
    error: defaultErrorHandler,
    success: defaultSuccessHandler
})

function defaultErrorHandler(data,status)
{
    var html = '<p class="errorSistema"> - Hubo un error en el sistema, intente nuevamente o contacte al soporte tecnico del sitio web. <a href="#" onclick="$(\'.errorSistema\').fadeOut(300,function(){$(\'.errorSistema\').remove()});" title="Eliminar este mensaje"><img src="img/window-close.png" border="0" width="16" height="16" alt="window-close.png (686 bytes)" align="left"><img src="img/error.png" border="0" width="16" height="16" alt="error.png (643 bytes)" align="right" title="'+data+' - '+data.responseText+'"></a></p>';
    $('#systemMessageContainer').html(html);
    $('#msgBox').dialog('close');
}

function defaultSuccessHandler(data,status)
{
    // nada
}

function jsonResponseHandler(data)
{
    switch(data.status)
    {
        case 'login':
        openLoginModal();
        break;
        
        default:
        $('#systemMessageContainer').html('Hubo un error al procesar. Por favor intente nuevamente o contacte al soporte tecnico del sitio web.');
        break
    }
}

function openLoginModal()
{
    $.ajax(
    {
        url: 'index.php?module=login',
        data: { xact: 'jsonlogin'},
        type: 'post',
        dataType: 'json',
        success: function (data,status)
        {          
            $('#msgBox').dialog('destroy');
            $('#msgBox').html(data.html);
            $("#msgBox").dialog(
            {
                 modal: true,
                 title: "Sesión expirada - Login",
                 closeOnEscape: false,
                 autoOpen: true,
                 width: 440,
                 height: 250,                                                
                 overlay: 
                 { 
                     opacity: 0.5, 
                     background: 'black' 
                 }
            });
        }        
    });
    
}


/**
* Window Modal : Iniciar Proceso
* @since    1.0.3
* @version  1.0.3
*/ 
function iniciarProceso() 
{
var iTabla = '<table width="100%"><tr>'
    var img = '<td valign="top" width="40" align="center"><img src="img/ajaxLoading.gif" border="0" width="32" height="32" alt="Procesando..." align="left"></td>';
    var mensaje = '<td valign="top">Procesando informaci&oacute;n, aguarde un momento...</td>';
    var cTabla = '</tr></table>';
    $("#msgBox").html(iTabla+img+mensaje+cTabla)
                .dialog('destroy')
                .dialog({modal: true,
                title: "Procesando",
                closeOnEscape: false,
                autoOpen: false,
                overlay: { opacity: 0.5, background: 'black' }});
    $("#msgBox").dialog('open');    
                    
}

/**
* Over Lines : 
*/
function convertSelectableRows()
{
    $('.selectableRow').each( function ()
        {
         $(this).attr('onmouseover',"$(this).attr('class','highlight');");   
         $(this).attr('onmouseout',"$(this).attr('class','');");
        }
    );
}

function cargando (jquerySelector)
{
  jquerySelector.after('<img src="img/loading.gif" />');  
}

 $.fn.clearForm = function() {
  return this.each(function() {
 var type = this.type, tag = this.tagName.toLowerCase();
 if (tag == 'form')
   return $(':input',this).clearForm();
 if (type == 'text' || type == 'password' || tag == 'textarea')
   this.value = '';
 else if (type == 'checkbox' || type == 'radio')
   this.checked = false;
 else if (tag == 'select')
   this.selectedIndex = -1;
  });
};

 function preventClose() 
 {
     return "Si presiona ACEPTAR todos los datos ingresados se perderan.";
 }

$.fn.reset = function () 
{
  $(this).each (function() { this.reset(); });
}

function _isInteger(val){var digits="1234567890";for(var i=0;i < val.length;i++){if(digits.indexOf(val.charAt(i))==-1){return false;}}return true;}
function _getInt(str,i,minlength,maxlength){for(var x=maxlength;x>=minlength;x--){var token=str.substring(i,i+x);if(token.length < minlength){return null;}if(_isInteger(token)){return token;}}return null;}

function getDateFromFormat(val,format)
{
    val=val+"";
    format=format+"";
    var i_val=0;
    var i_format=0;
    var c="";
    var token="";
    var token2="";
    var x,y;
    var now=new Date();
    var year=now.getYear();
    var month=now.getMonth()+1;var date=1;
    var hh=now.getHours();
    var mm=now.getMinutes();
    var ss=now.getSeconds();
    var ampm="";
    while(i_format < format.length)
    {
        c=format.charAt(i_format);
        token="";
        while((format.charAt(i_format)==c) &&(i_format < format.length))
        {
            token += format.charAt(i_format++);
        }
        if(token=="yyyy" || token=="yy" || token=="y")
        {
            if(token=="yyyy")
            {
                x=4;
                y=4;
            }
            if(token=="yy")
            {
                x=2;
                y=2;
            }
            if(token=="y")
            {
                x=2;
                y=4;
            }
            year=_getInt(val,i_val,x,y);
            if(year==null)
            {
                return 0;
            }
            i_val += year.length;
            if(year.length==2)
            {
                if(year > 70)
                {
                    year=1900+(year-0);
                } else {
                    year=2000+(year-0);
                }
            }
        } else if(token=="MMM"||token=="NNN") { 
            month=0;
            for(var i=0;i<MONTH_NAMES.length;i++)
            {
                var month_name=MONTH_NAMES[i];
                if(val.substring(i_val,i_val+month_name.length).toLowerCase()==month_name.toLowerCase())
                {
                    if(token=="MMM"||(token=="NNN"&&i>11)){month=i+1;if(month>12)
                    {
                        month -= 12;
                    }
                    i_val += month_name.length;
                    break;
                    }
                }
            }
            if((month < 1)||(month>12))
            {
                return 0;
            }
        } else if(token=="EE"||token=="E") {
            for(var i=0;i<DAY_NAMES.length;i++)
            {
                var day_name=DAY_NAMES[i];
                if(val.substring(i_val,i_val+day_name.length).toLowerCase()==day_name.toLowerCase())
                {
                    i_val += day_name.length;break;
                }
            }
        } else if(token=="MM"||token=="M") {
            month=_getInt(val,i_val,token.length,2);
            if(month==null||(month<1)||(month>12))
            {
                return 0;
            }
            i_val+=month.length;
        } else if(token=="dd"||token=="d") {
            date=_getInt(val,i_val,token.length,2);
            if(date==null||(date<1)||(date>31))
            {
                return 0;
            }
            i_val+=date.length;
        } else if(token=="hh"||token=="h") {
            hh=_getInt(val,i_val,token.length,2);
            if(hh==null||(hh<1)||(hh>12))
            {
                return 0;
            }
            i_val+=hh.length;
        } else if(token=="HH"||token=="H") {
            hh=_getInt(val,i_val,token.length,2);
            if(hh==null||(hh<0)||(hh>23))
            {
                return 0;
            }
            i_val+=hh.length;
        }else if(token=="KK"||token=="K"){
            hh=_getInt(val,i_val,token.length,2);
            if(hh==null||(hh<0)||(hh>11))
            {
                return 0;
            }
            i_val+=hh.length;
        } else if(token=="kk"||token=="k"){
            hh=_getInt(val,i_val,token.length,2);
            if(hh==null||(hh<1)||(hh>24))
            {
                return 0;
            }
            i_val+=hh.length;hh--;
        }else if(token=="mm"||token=="m"){ 
            mm=_getInt(val,i_val,token.length,2);
            if(mm==null||(mm<0)||(mm>59))
            {
                return 0;
            }
            i_val+=mm.length;
        } else if(token=="ss"||token=="s") {
            ss=_getInt(val,i_val,token.length,2);
            if(ss==null||(ss<0)||(ss>59))
            {
                return 0;
            }
            i_val+=ss.length;
        }else if(token=="a"){
            if(val.substring(i_val,i_val+2).toLowerCase()=="am")
            {
                ampm="AM";
            }else if(val.substring(i_val,i_val+2).toLowerCase()=="pm"){
                ampm="PM";
            }else{
                return 0;
            }
            i_val+=2;
        }else{
            if(val.substring(i_val,i_val+token.length)!=token)
            {
                return 0;
            }else{
                i_val+=token.length;
            }
        }
    }
    if(i_val != val.length)
    {
        return 0;
    }
    if(month==2)
    {
        if( ((year%4==0)&&(year%100 != 0) ) ||(year%400==0) )
        {
            if(date > 29)
            {
                return 0;
            }
        }else{
            if(date > 28)
            {
                return 0;
            }
        }
    }
    if((month==4)||(month==6)||(month==9)||(month==11))
    {
        if(date > 30)
        {
            return 0;
        }
    }
    if(hh<12 && ampm=="PM")
    {
        hh=hh-0+12;
    }else if(hh>11 && ampm=="AM"){
        hh-=12;
    }
    var newdate=new Date(year,month-1,date,hh,mm,ss);return newdate.getTime();
}


function keepAlive() 
{
    $.ajax(
    {
        url: 'index.php',
        data: { keepalive: '1'},
        type: 'post'
    });
}

function enDesarrollo()
{
    alert('Funcion en desarrollo');
}

/*
$(window).bind("beforeunload", function(e) 
{
    if (confirm('Esta seguro que desea cerra la ventana?')) {
        e.returnValue = "Esta seguro que desea cerra la ventana?"
    }
});
*/
