// Función que consigue dimensiones pantalla
// return : Struct (height & width)
function getWinSize()
	{
		var size = new Object();
		size.w = document.documentElement.clientWidth;
		size.h = document.documentElement.clientHeight;
		return size;
	} 

// Función que prepara el portfolio para su posterior uso
function preparaIndex()
{
    var medidas = getWinSize();    
    // Eventos
    // Aviso
    var cerrar_aviso = function() {
        // Fundido
        $(".aviso").fadeOut(function() {
            $(".aviso").remove();
        });
    };
    // Sig Twitter
    var click_more = function(e) {
            e.preventDefault();        
            page_twitter     +=  1;
            contador_twitter +=  3;
            var objeto        = $( this );            
            var url_twitter   =  objeto.attr( 'href' ) + true + '/' + page_twitter + '/' + count_twitter + '/' + contador_twitter; 
            // Ocultamos 
            $.ajax({
              url: url_twitter ,                                  
              success: function(data) {
                $('#mensajes_twitter').css('display', 'none');                                    
                $('#mensajes_twitter').html(data); 
                $('#mensajes_twitter').fadeIn(); 
                
                // AJAX
                $('#more').click(click_more);                                
                $('#less').click(click_less);  
                $(".twitter").click(go_click);               
              }
            });
            return false;
        };   
    // Ant Twitter    
    var click_less = function(e) {   
            e.preventDefault();
            page_twitter     -=  1;
            contador_twitter -=  3;
            var objeto        = $( this );    
            var url_twitter   =  objeto.attr('href') + true + '/' + page_twitter + '/' + count_twitter + '/' + contador_twitter; 
            $.ajax({
              url: url_twitter ,                                  
              success: function(data) {
                $('#mensajes_twitter').css('display', 'none');                                    
                $('#mensajes_twitter').html(data); 
                $('#mensajes_twitter').fadeIn(); 
                
                // AJAX                
                $('#more').click(click_more);                                
                $('#less').click(click_less); 
                $(".twitter").click(go_click);                                            
              }
            });
            return false;                               
};
    // GO Twitter
    var go_click = function(e)
     {
        e.preventDefault();
        // Conseguimos la capa de referencia
        var id_capa = $(this).attr('rel');
        var pos_request = new google.maps.LatLng($(id_capa).children('.lat').text(), $(id_capa).children('.long').text());
        sv.getPanoramaByLocation(pos_request, 50,  processSVData);
     };         
     
     // CLICK LOGO
     $('.logo').click( function(e) 
     {
        // Subimos barra ( si no lo está ya)
        $('#header_content').animate({'height': '15px'}, function() {
            $('#blog').css('display','none');
            $('.elemento_menu').css('display','none');
            $('#header_down').unbind();
            $('#header_down').click(flechaClick);
        });
        // Eliminamos blur
        $('#blur').fadeOut( function() 
        {
            $(this).remove();
        });
     });
        
     // CLICK SECCIONES    
     $("ul > li > a.ajax").click(function(e) { 
        e.preventDefault();
        medidas = getWinSize();
        var objeto = $(this);
        var ruta = objeto.attr('href');
        
        // Si hay elementos, los borramos
        if ($('#blur').size() == 1)
            $('#blur').remove();
        
        if ($('.aviso').size() == 1)
            $('.aviso').remove();
        ///////////////////////////////////
        
        $('body').append('<div id="blur"><div id="capa_blur"></div></div>'); 
        
        // Ancho capa
        $('#blur').css({'width' : '100%', 'display' : 'block'});
        
        // Subimos barra
        $('#header_content').animate({'height': '15px'}, function() {
            $('#blog').css('display','none');
            $('.elemento_menu').css('display','none');
            $('#header_down').unbind();
            $('#header_down').click(flechaClick);
        });
        
        // Deshacemos evento click
        $('#header_down').unbind();
        // Aplicamos evento click
        $('#header_down').click(flechaClick);
        ////////////
            
        // Animamos el resto
        $('#blur').animate({'height': '100%'}, function() { 
            $('#loading').css({'width': '100%', 'height' : '100%'});
                
                  // Cargamos contenido
                  var id = objeto.attr('id');
                  
                  if (id == "portfolio_a")                          
                        ruta += page_projects + '/' + count_projects;
                    
                  //$("#capa_blur").html(data);
                  //$("#capa_blur").append('<div class="back_theqube_outer" style="color: #FFF;" "><a id="cerrar_theqube_a" href="#">Back</a></div>');
                    $.ajax({
                          url: ruta,
                          success: function(data) {
                            $('#capa_blur').css({'display': 'none', 'width': '100%', 'height': '100%'});
                            $('#capa_blur').html(data);
                            $('#capa_blur').fadeIn();                                               
                          },
                          error: function(data)
                          {
                            $('#blur').fadeOut( function() {
                                $('#blur').remove();
                                $('body').append('<div class="aviso"><p>Comming Soon</p></div>');                                                              
                                ajustaCapaError();
                                $("#bg").click(function() {
                                    $('.aviso').fadeOut( function() 
                                    {
                                        $('.aviso').remove();
                                        $("#bg").unbind();
                                    });
                                
                                });
                            });
                                                      
                          }                                                    
                });   
        });
        });
        
        // EVENTOS 
        // AJAX - Twitter
        $('#more').click(click_more);                                
        $('#less').click(click_less);
        $(".twitter").click(go_click);
        $('#header_down').click(flechaClick);
        // HEADER //
        $('#header').css({'width': medidas.w + 'px'});
                        
}
    
// Función que prepara el portfolio para su posterior uso
function preparaPortfolio()
{
    var medidas = getWinSize();
    var handlerOverIn = function(){
	        $(this).children(".explanation").stop().animate({'top' : '-80px'});
		};
		
    var handlerOverOut = function(){        
	        $(this).children(".explanation").stop().animate({'top' : '-25px'});	
	   }; 
	
    var handlerOverInExp = function(){
	        $(this).stop().animate({'top' : '-80px'});
		};
		
    var handlerOverOutExp = function(){        
	        $(this).stop().animate({'top' : '-25px'});	
	   }; 
    
    var flechaAnt = function() { 
                page_projects--;
                
                $.ajax({
                  url: 'index.php/portfolio/portfolio/index/'+ page_projects + '/' + count_projects,
                  post: '',
                  success: function(data) {
                    $('#capa_blur').html(data);    
                    $('#portfolio').css('display', 'none');                  
                  }
                });                            
    };
    
    var flechaSig = function() { 
                page_projects++;
                
                $.ajax({
                  url: 'index.php/portfolio/portfolio/index/'+ page_projects + '/' + count_projects,
                  post: '',
                  success: function(data) {                    
                    $('#capa_blur').html(data);    
                    $('#portfolio').css('display', 'none');                                  
                  }
                });
    };
 
    var clickWrap = function(e)
    {
        e.preventDefault();
        // Obtenemos proyecto
        var num_proyecto = parseInt($(this).attr('rel'));
        $('#capa_blur').html('');
        
        $.ajax({
              url: 'index.php/portfolio/portfolio/getProject/' + num_proyecto ,                                  
              success: function(data) {
                $("#capa_blur").html(data).css('display', 'none');
                // Si es proyectos preparamos                
                preparaProyecto();
                $("#capa_blur").css('display', 'block');
              }
        });
    };
    
     
    $('.wrap').hover(handlerOverIn, handlerOverOut);  
    $('.wrap').click(clickWrap);
      
    $('#flechaAnt').click(flechaAnt);
    $('#flechaSig').click(flechaSig);
}

function preparaProyecto()
{ 
   $("div#my-folio-of-works").slideViewerPro({
		galBorderWidth: 0,
		galBorderColor: "aqua",
		thumbsTopMargin: 10,
		thumbsRightMargin: 20,
		thumbsBorderWidth: 0,
		thumbsActiveBorderColor: "gold",
		thumbsActiveBorderOpacity: 0.4,
		thumbsBorderOpacity: 0
		});
        posicionaContainer('#proyecto');  
        $('.volver').click( volver_click );         
}


function ajustaContainerProyecto()
{    
    
    // Ancho y alto
    var medidas = getWinSize();   
    
    // Calculo alto para centrar    
    var restante_pantalla_alto = medidas.h - $("#proyecto").height();
    
    var margen_sup = restante_pantalla_alto / 2;
    
    if (margen_sup < 80)        
        margen_sup = 100;
        
    $("#proyecto").css('margin-top' , margen_sup + 'px');   
}

function ajustaCapaError()
{  
    // Ancho y alto
    var medidas = getWinSize();   
    
    // Calculo alto para centrar    
    var restante_pantalla_alto = medidas.h - $(".aviso").height();
    // Margen superior e izquierdo  
    var margen_sup = restante_pantalla_alto / 2;
    
    $(".aviso").css({'text-align': 'center', 'top' : margen_sup + 'px', 'width': medidas.w + 'px'});
    $(".aviso").fadeIn();    
}

// Vertical
// capa         : capa que centramos
// datos_resta  : otros datos relativos a sumas de altos de capa para restar al espacio disponible en la pantalla
function ajustaCapaCentro(capa, datos_resta)
{
    // Ancho y alto
    var medidas = getWinSize();   
    var restante_pantalla_alto = 0;
    
    // Calculo alto para centrar
    if (datos_resta != undefined)    
         restante_pantalla_alto = (medidas.h - $(capa).height() - datos_resta) / 3;
    else restante_pantalla_alto = (medidas.h - $(capa).height()) / 3;
    
    // CSS
    $(capa).css('margin-top' , restante_pantalla_alto + 'px');    
}

// 185px : medida para evitar solapamientos
function posicionaContainer(seccion)
{
    var medidas    = getWinSize();    
    var alto_total = medidas.h - $(seccion).height() - 120;
    var margen     = 0;
    var alto_capablur = medidas.h + 5;
    
    switch (seccion)
    {
        case '#texto'     : if (alto_total > 120)
                                 margen = alto_total; 
                            else margen = 120;
                            $(seccion).css('top', margen + 'px');
                            break;
        case '#portfolio' : // Calculo alto para centrar
                            var alto_total = 3*128 + (3*40);
                            $('#capa_blur').css('height', alto_capablur + 'px');
                            var restante_pantalla_alto = medidas.h - alto_total - 120;                            
                            // Margen superior e izquierdo  
                            var margen_sup = restante_pantalla_alto / 2;
                            
                            if (margen_sup < 120)
                                margen_sup = 120;
    
                            $( seccion ).css('margin-top' , margen_sup + 'px'); 
                            break;
        case '#proyecto'  :  $('#capa_blur').css('height', alto_capablur + 'px');
                             var restante_pantalla_alto = medidas.h - $(seccion).height() - 120;
                             var margen_sup = restante_pantalla_alto / 2;
                            
                             if (margen_sup < 120)        
                                margen_sup = 120;
                                
                             $( seccion ).css('margin-top' , '120px');      
                             break;
        default           :  var restante_pantalla_alto = medidas.h - $(seccion).height() - 120;
                             var margen_sup = restante_pantalla_alto / 2;

                             $('#capa_blur').css({'height': '100%', 'width' : '100%'});
                             if (margen_sup < 120)        
                                 margen_sup = 120;
                                
                             $(seccion).css('margin' , 'auto auto');
                             $(seccion).css('margin-top' , margen_sup + 'px');     
                             break;
    }
}
