$(document).ready(function(){
    if(Modernizr){
    nav.init();
    gallery.setpic_onload();
    }
});
$(window).load(function(){
    if(Modernizr){
        window.setTimeout('openpanel()',500);
        //solo per gallery no ajax o di primo livello
        if($('#gallery').length&&$('#car_gallery li').length>1){
            gallery.init();
            }
        else if($('#gallery').length==0){
            gallery.createStructure();
        }
        
        if($('body').hasClass('category-contatti')){
            loadScript();
        }
        // visualizza primo sottoelemento di locale-storico perch non ha testo proprio
        if($('body').hasClass('category-3')){
            var $firstEl=$('#panel_2 li:first-child').find('a');
            urlToGrab=$firstEl.attr('href');
            $firstEl.addClass('on');
           $('#panel_3').data('url_post',urlToGrab);
            $.ajax({
                       type: "GET",
                       url: urlToGrab,
                       data: "json=1",
                       success: function(msg){
                        nav.mngContent(msg)
                       }
                     });
            }
        }
    if($('#wrap_listing').length){
        scroll_listing();
    }
    });

$(window).resize(function(){
    if(Modernizr){
    setHeightVClip();
    ico_loader();
    //$('#car_gallery').jcarousel.pos(0);
    }
});


function scroll_listing(){
    			 var $wrap_l=$('#wrap_listing');
    			 var w_h=$(window).height()-30;
    			 $wrap_l.css({height:w_h});
    			 $wrap_l.jScrollPane();	
    			}

function loadScript() {
  var script = document.createElement("script");
  script.type = "text/javascript";
  script.src = "http://maps.googleapis.com/maps/api/js?sensor=false&callback=map_init";
  document.body.appendChild(script);
}


 function map_init() {
        var loader='<div id="ui-loader"><span class="spin_icon"></span><h1>Loading maps...</h1></div>';
        $('body').append(loader);
         ico_loader();
      $('#ui-loader').show();
        $('body').append('<div id="map_canvas" style="position:absolute;left:0;top:0;width:100%; height:100%"></div>');
        var latlng = new google.maps.LatLng(45.0674112,7.6828484);
        var myOptions = {
          zoom: 14,
          center: latlng,
         mapTypeControl: false,
            zoomControl: true,
                zoomControlOptions: {
                    style: google.maps.ZoomControlStyle.LARGE,
                    position: google.maps.ControlPosition.RIGHT_TOP
                },
            panControl : false,
			mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map_canvas"),
            myOptions);




    var content_psc="<div class=\"google_iw_psc\"><h1>Locale Storico - Shop</h1>" +
            "<p>Piazza San Carlo, 191<br>" +
            "10123 Torino<br>" +
            "Tel. +39.011.547920<br>" +
            "Fax +39.011.2304059<br></div>"+
            "Email:<a href=\"mailto:infoshop@stratta1836.it\"> infoshop@stratta1836.it</a></p></div>";

    var content_ldr="<div class=\"google_iw_ldr\"><h1>Uffici Operativi<br>Banqueting&amp;Catering</h1>" +
                 "<p>Lungo Dora Pietro Colletta, 113/10<br>" +
                 "10153 Torino<br>" +
                 "Fax +39.011.2304058<br>" +
                 "Fax +39.011.2304059<br>"+
                 "Email:<a href=\"mailto:infocatering@stratta1836.it\"> infocatering@stratta1836.it</a></p></div>";


    var info_psc = new google.maps.InfoWindow({
        content: content_psc
    });

     var info_ldr = new google.maps.InfoWindow({
        content: content_ldr
    });

     var image = tdir+'/img/shared/scudetto.png';
     
     var pz_sancarlo=new google.maps.LatLng(45.0674112,7.6828484);
     var ldora=new google.maps.LatLng(45.0751299,7.7151251);

     var marker_psc = new google.maps.Marker({
      position: pz_sancarlo,
      map: map,
      icon: image
  });

     var marker_ldora = new google.maps.Marker({
      position: ldora,
      map: map,
      icon: image
  });

    google.maps.event.addListener(marker_psc, 'click', function() {
      info_psc.open(map,marker_psc);
    });

    google.maps.event.addListener(marker_ldora, 'click', function() {
      info_ldr.open(map,marker_ldora);
    });

    google.maps.event.addListener(map, "bounds_changed", function() {
        $('#ui-loader').hide();
        google.maps.event.clearListeners(map, 'bounds_changed');
    });

     
 }


var gallery = {
    status : 0,
    init : function(){
        var loader='<div id="ui-loader"><span class="spin_icon"></span><h1>Loading...</h1></div>';
        $('body').append(loader);
        ico_loader();
        var hels=($('#car_gallery img').length)*105;
        if(hels>$(document).height()){
            gallery.setcarousel();
        }
        else{
            $('.btngall').hide();
            $('#car_gallery').css({paddingTop:45});
            $('#gallery').animate({right:0},500)
        }
         $('#car_gallery li').delegate('a','click',function(e){
             if($('#panel_3').css('width')!=0){
                 nav.closePanel();
             }
             gallery.changepic($(this).attr('href'));
             e.preventDefault();
         });
        
        $('#bkg img').imagesLoaded(function(){
               gallery.crossfadepic();
            });
    },
    createStructure : function(){
        var gcode='  <div id="gallery">' + '<div class="pnls_blur_top"></div>' +
                '<div class="pnls_blur_btm"></div>' +
                '<div class="pnls_blur_gallery"></div>' +
                '<a href="#" id="gup" class="btngall"><img src="' +tdir+ '/img/shared/arrow_up.png"></a>' +
                '<a href="#" id="gdwn" class="btngall"><img src="' +tdir+ '/img/shared/arrow_down.png"></a>' +
        '</div>';
        $('#layout').append(gcode);
    },
    setcarousel : function(){
         $('#car_gallery').jcarousel({
            vertical: true,
            scroll: 3,
            initCallback: carousel_setcontrol,
            buttonNextHTML: null,
            buttonPrevHTML: null
           });
           $('.btngall').show();
    },
    changepic : function(elsrc){
        $('#ui-loader').show();
        $('#bkg img:not(.on)').attr({src:elsrc});
    },
    setpic_onload : function(elsrc){
        var firstpic=$('#car_gallery li>a').eq(0).attr('href');
        $('#ui-loader').show();
        $('#bkg img.on').attr({src:firstpic});
        $('#bkg img:not(.on)').attr({src:firstpic});
    },
    crossfadepic : function(){
        var $imgON=$('#bkg img.on');
        var $imgOFF=$('#bkg img:not(.on)');
        $imgON.fadeOut('slow');
         $imgOFF.fadeIn('fast',function(){
                    $('#ui-loader').hide();
                    $imgON.removeClass('on');
                    $imgOFF.addClass('on');
                });
    },
    clearGallery :  function(){
        $('#car_gallery').remove();
        $('#ui-loader').remove();
    }
}

function ico_loader(){
    var postop=($(window).height()/2)-100;
    $('#ui-loader').css({top:postop});
}

function carousel_setcontrol(carousel){
    setHeightVClip();
    $('#gup').bind('click', function() {
        carousel.prev();
        return false;
    });

    $('#gdwn').bind('click', function() {
        carousel.next();
        return false;
    });
    $('#gallery').animate({right:0},500)
};

function setHeightVClip(){
    var hel=($(document).height()-75);
    $('.jcarousel-clip-vertical').css({height:hel});
    //carousel.pos(0);
}

function openpanel(){
    $('#panel_2').animate({width:195},500,'easeInOutQuint',function(){
        $('#panel_2 ul').show();
        $('#panel_2').find('.content_p2').show();
    });

}
var api=null;
var elScr=null;
var nav={
    init : function(){
    	//carico pagina, se esiste post per categoria secondo livello apro testo
        //se no creo panel_3 per chiamate ajax
        if($('#panel_3').length==1){
            nav.openPanel();
           }else{
            nav.createPanel3();
        }

        $('#panel_2 li>a,#panel_listing_detail .more-link').click(function(e){
        	  var post_url=$(this).attr('href');
        	  var prev_post_url=$('#panel_3').data('url_post');
        	  
        	  if(prev_post_url!='undefined'){
	        	  if(post_url==prev_post_url){
	        	  	nav.openPanel();
	        	  	e.preventDefault();
	        	  	return;
	        	  	}
	          else{
	          	$('#panel_3').data('url_post',post_url);
	          	}
        	  }
        			  	
              $.ajax({
                       type: "GET",
                       url: $(this).attr('href'),
                       data: "json=1",
                       success: function(msg){
                       nav.mngContent(msg);
                       }
                     });
            e.preventDefault();
           });
        //listing news
        $('.more-link').click(function(e){
               $.ajax({
                       type: "GET",
                       url: $(this).attr('href'),
                       data: "json=1",
                       success: function(msg){
                        nav.mngContentNews(msg)
                       }
                     });
            e.preventDefault();
           });


           $('#panel_2 li>a').click(function(){
              if($(this).attr('class')=='on') return;
              nav.removeOn();
              $(this).addClass('on');
           });
        $('.close_panel').click(function(e){
            nav.closePanel();
            nav.removeOn();
            e.preventDefault();
        });
        
    },
    createPanel3 : function(){
        var code_p3='<div id="panel_3" class="panel3_generic">' +
                '<div class="pnls_blur_middle"></div>' +
                '<div class="pnls_blur_content"></div>' +
                    '<div id="content_txt" class="content_p3">' +
                    '<a href="#" class="close_panel">X</a>' +
                '<div class="panel_content">' +
                    '<h1 id="title_content"></h1>' +
                    '<div id="post_content"></div>' +
                '</div>' +
                '</div>' +
                '</div>';
        $('#panels').append(code_p3);
    },
    openPanel : function(panelWidth){
              if(!panelWidth) panelWidth=325;
              if($('body').hasClass('category-contatti')) panelWidth=255;

              $('#panel_3').animate({width:panelWidth},500,'easeInOutQuint',function(){
                    $('#panel_3').find('.content_p3').show();
                    $('#panel_3').find('.panel_content').show();
                    nav.scrollPanel3();
                   });

    },
    closePanel : function(){
              $('#panel_3').css({width:0});
              $('#panel_3').find('.content_p3').hide();
              $('#panel_3').find('.panel_content').hide();

    },
    scrollPanel3 : function(){
    			 
    			 var $postcont=$('#post_content');
    			 var w_h=$(window).height()-60;
    			 var dh=$postcont.data('hscroll');
    			if($('body').hasClass('category-contatti')){
    			 	$('.panel_content').css({height:w_h});
    			 	}
    			/* if(dh==undefined||dh!=w_h){
    			console.log('api')
    			 console.log('w_h='+w_h)
    			     			 }
    			 else{
    			 	console.log('REINIT')
    			 	api.reinitialise();
    			 	}  	*/
    			 	//alert($postcont.height())
    			 	//alert(w_h)
    			 	//alert(dh)

    			 	if($postcont.height() > w_h){
    			 		if($('body').hasClass('category-contatti')){
    			 			$('#datisocietari').css({position:'relative'});
    			 		}
    			 		
    			 		$postcont.css({height:w_h});
    			 		elScr=$('#post_content').jScrollPane({maintainPosition:false});	
    			 		api=elScr.data('jsp')
    			 		$postcont.data('hscroll',w_h);
                    }
                    
                   if(dh!=undefined){
                   		api.destroy();
                   		elScr=$('#post_content').jScrollPane({maintainPosition:false});	
    			 		api=elScr.data('jsp');	
                   	}

				
    		  
    		   
    },
    removeOn : function(){
            $('#panel_2 li a').removeClass('on');
    },
    mngContent : function(post){
                var postCategory=post.category.id;
                var thePosts=post.posts;
               
                    for(i=0;i<thePosts.length;i++){
                        if(thePosts[i].categories[0].id==postCategory){
                           var post_title=thePosts[i].title;
                           var post_content=thePosts[i].content;
                         }
                }
				 var code_post=post_content.split('<!--startgallery-->');
                 txt_post=code_post[0];
                 $('#title_content').html(post_title);
                 $('#post_content').html(txt_post);
                 if($('#panel_3').css('width')!='0px'){
                    nav.closePanel();
                    nav.openPanel(325);
                    }else{
                    nav.openPanel(325);
                 }

                gallery_post=code_post[1];
                if(gallery_post){
                    if($('#car_gallery').length){
                        gallery.clearGallery();
                    }
                    $('#gallery').append(gallery_post);
                    gallery.setpic_onload();
                    gallery.init();
                }
    },
    mngContentNews : function(news){
                 $('#title_content').html(news.post.title);
                 $('#post_content').html(news.post.content);
                 if($('#panel_3').css('width')!='0px'){
                    nav.closePanel();
                    nav.openPanel(375);
                    }else{
                    nav.openPanel(375);
                 }

    }

}

