liwe.AJAX.url = "/ajax.pyhp";

var site = new liwe.module ( "site" , { 'home' : '_init', 'show_page' : '_show_page' } );

site.FADE_TIME = 100;
site.FADE_WAIT = 3000;
site._wf = null;

site._THEME_SPEED = 5;
site._THEME_TIME = 10;


site._THEME_SHOW = '';
site._THEME_HIDE = '';

site._curr_msg = -1;

site._msg = [];

site._curr_style = '';

site._displaied_area = [];

site._show_text = true;

site._init = function ()
{
	//SET HISTORY
        var chk_history = liwe.history.get_current_obj();
        if ( ! chk_history.get ( '_page' ) ) site.set_history ( 'home', site._init );

	setInterval ( function ()
	{
		system.plugins_render ();
	}, 500 );

	
	//CALC DISPLAIED MSG AREA
	site._displaied_area = liwe.dom.get_size ( $ ( "site-top") );
	var m = liwe.dom.get_size ( $ ( 'menu-outline' ) );
	site._displaied_area [ 1 ] = site._displaied_area [ 1 ] - m [ 1 ];
	
	//CALC DISPLAY MENU
	site._THEME_SHOW = ( site._displaied_area [ 0 ] - 357 ) +  'px' ;
	site._THEME_HIDE = ( site._displaied_area [ 0 ] -28 ) + 'px' ;

	var test = $('page');
	if ( test == null ) return;

	//CALC THEME
	var data = new Date();
	var hours = data.getHours();
	var theme = '';
	if ( hours > 8 && hours < 17 ) theme = 'day';
	else if ( hours > 16 && hours < 20 ) theme = 'dawn';
	else if ( hours > 19 || hours < 4 ) theme = 'night';
	else theme = 'sunrise';
	

	site.theme_set_style ( theme );

	//EMOTION
	Emotion.init ();

	liwe.events.add ( $( "site-image" ), "mousemove", Emotion._mousemove );
	liwe.events.add ( $( "site-image" ), "mouseout", Emotion._mouseout );

	liwe.events.add ( window, "devicemotion", Emotion._tilt );


	//LOAD MSG TEMPLATES
	var i=1;
	do
	{
	  site._msg.push ( site.templates [ 'ST-MSG-' + i ]);
	  i++;
	}
	while (typeof( site.templates [ 'ST-MSG-' + i ] ) != 'undefined');
	

	//NEWS
	news.cbacks [ 'before_search' ] = site._news_before_search;
	
        news.cbacks [ 'show' ] = site._show_news_full;
        news._row_manip = function ( ds, row )
        {               
                if ( row [ '_img' ] == '-1' )
                        row [ '_img' ] = news.templates [ 'NO_FOTO' ];
                        
                row [ '_HREF_CLICK' ] = String.formatDict ( news.templates [ '_HREF_CLICK' ] , row );
                row [ '_ACTION_CLICK' ] = String.formatDict (news.templates [ '_ACTION_CLICK' ] , row);
                row [ '_TAG_LIST' ] = site._news_render_tags ( row ) ;

                row [ 'dest' ] = news._dest;
        };


	setTimeout ( site.show_txt_start, site.FADE_WAIT );
};

site.show_txt = function ()
{
	liwe.fx.animate ( "text-cnt", { opacity : 0.7 }, site.start_hide_txt );
};

site.show_txt_start = function ()
{
	if ( ! site._show_text )  return;

	site._curr_msg = ( site._curr_msg + 1 ) % site._msg.length;

	// $( "text-cnt" ).style.opacity = 0;

	$( "text-fade", site._msg [ site._curr_msg ] );
	
	//calcolo posizionemanto testo
	var msg_size = liwe.dom.get_size ( $("text-fade" ) );
	var w = site._displaied_area [ 0 ] - msg_size [ 0 ];
	var h = site._displaied_area [ 1 ] - msg_size [ 1 ];

	h = Math.floor ( Math.random() * h ) + 32;
	w = Math.floor ( Math.random() * w );

	$("text-cnt").style.top = h +  'px';
	$("text-cnt").style.left = w +  'px';

        setTimeout ( site.show_txt , site.FADE_WAIT ) ;
};

site.start_hide_txt = function ()
{
        setTimeout ( site.hide_txt, site.FADE_WAIT );
};

site.hide_txt = function ()
{
	liwe.fx.animate ( "text-cnt", { opacity: 0 } ,site.show_txt_start );
};

site.init = function ()
{
	site.load_templates ( function ()
	{
		liwe.history.init();
		site._init();
	} );
};


site._show_page = function ( dct )
{
        site.show_page ( dct [ 'page' ], dct [ 'static_page' ], dct [ 'id' ] );
};

site.show_page = function ( page, static_page, id, tag_name )
{

	var val = { page : page, static_page : static_page };

	if ( id ) val [ 'id' ] = id;


	if ( page != 'show_news' || page != 'full_news' ) site.set_history ( 'show_page', "_show_page", val );

        site._cur_page = page;

        switch ( page )
        {
                case "show_news":
                        site.layout_set ( 'news' );
                        news.show ( id );
                        break;

                case "box":
                        site.layout_set ( 'box' );
                        news.show ( null, 'static_page', id );
                        break;

		case "full_news":
			var dest_div = 'lay' + site.layout_set ( 'box' );
			news.list_ds ( null, dest_div );
			break;

		case "tag_search":
			var dest_div = 'lay' + site.layout_set ( 'box' );
			news.tag_search( tag_name, dest_div )
			break;
	

                case "contacts":
                        site.layout_set ( 'contacts' );
			webform.dynamic_form ( 'contact_us', 'contacts' );

                        break;

                case "static":
                        site.layout_set ( 'static' );
                        site._show_static_page ( static_page, true );
                        break;


                case "home":
                        site.layout_set ( 'home' );
                        break;

                case "dove_siamo":
                        site.layout_set ( 'full' );
                        location = '/dove_siamo.html';
                        break;

                default:
                        break;
        }
};

site._show_static_page = function ( page, db )
{
        staticpage.get_page ( page, db, function ( p ) {
                $ ( 'static_page_text' ).innerHTML = p [ 'html' ];//String.formatDict ( .templates [ 'HP_BOX_DEFAULT' ], { '_txt': p [ 'html' ] } );
                $ ( 'static_page_title' ).innerHTML = p [ 'title' ];
        } );
};

site._show_news_full = function ( n, id_news, dest, permalink, pos )
{
	
        n [ '_img' ] = '';
        n [ '_html' ] = String.formatDict ( n.get ( 'template', '' ), n );
        $( 'lay2_right', n [ '_html' ] ); 
        if ( n ['media' ].length )  
        {       
                media_manager.set_items ( n [ 'media' ], '', n [ 'sizes' ] );
                var data = {};
                data [ 'dest_img' ] = 'news_media_img';
                data [ 'dest_div' ] = 'new_media_gallery';
                data [ 'media_items' ] = n [ 'media' ];
                data [ 'item'] =  { 'id' : id_news };
                data [ 'mm_instance' ] = 'news';
                site._render_gallery ( data, 'icon', 3 , 'new_media_gallery', 'news_media_img' );
        };


        //$ ( 'lay2_right', String.formatDict ( news.templates [ 'news_full_box_cnt' ], n ) );
        //$ ( 'lay2_right', String.formatDict ( news.templates [ 'NEWS_SHOW' ], n ) );
        
        site._corrs_news_full ( n );
};

site._corrs_news_full = function ( n )
{
        var t, l = n [ 'tags' ].length;
        var tags = [ site._lang ], exclude_tags = [ 'rightbox' ];
        var is_os3 = false;

        for ( t = 0; t < l; t++ )
                if ( n [ 'tags' ] [ t ] [ 'name' ] == 'os3' )
                {
                        is_os3 = true;
                        break;
                }

        var templ = "lay2_leftbox";

        if ( is_os3 )
                tags.push ( "os3" );
        else
                exclude_tags.push ( "os3" );

	/*
        site.rightbox.ajax ( { action: "news.ajax.list", tags: ','.join ( tags ), exclude_tags: ",".join ( exclude_tags ), quant: 15, exclude_ids: n [ 'id' ] }, function ( v )
        {
                console.debug ( v );
                $ ( 'lay2_left' ).innerHTML = '';
                $ ( 'lay2_left', site._format_list_corrs ( v, is_os3 ) );
        });
	*/
};

site._render_gallery = function ( data, mode, items_to_show )
{
        var res = '';
        var buf = new String.buffer();
        var media_items = data [ 'media_items' ];

        var id_obj = data [ 'item' ] [ 'id' ]
        var instance = data.get ( 'mm_instance' , 'news' );
        var items =  media_manager.instances [ instance + ':' +  id_obj ];

        var dest_img = data.get ( 'dest_img', 'st-item-image' );

        //if ( ! dest_img )  dest_img = 'ct-item-image' ;
        site.render_small_img ( media_items, 0, dest_img);

        if ( typeof ( items ) == 'undefined' ) return;

        if ( media_items.length == 1 ) { return res; };

        if ( ! items_to_show ) { items_to_show = 2; };
        var dest_div = data.get ( 'dest_div', 'st-item-gallery' );
        //if ( ! dest_div ) { dest_div = 'ct-item-gallery'; };
        if ( ! mode ) { mode = 'icon' ; };

        var arr_box = new WWL.arrowbox ( 'site_gallery' );


        var size = items.sizes [ mode ];
        arr_box.set_size  ( (parseInt( size.W , 10 ) + 20) * items_to_show , parseInt( size.H, 10 ) + 4 );
        arr_box.set_item_size ( parseInt ( size.W, 10 ) + 20 ,parseInt ( size.H, 10 ) + 4  );
        arr_box.set_arrow_w ( 36 );
        var dct = {};
        items.iterate ( function ( el, k )
        {
                if ( k == 'sizes' ) return;
                dct = el [ 'data' ];
                dct [ '_size' ] = mode;
                dct [ '_ext' ] = '.jpg' ;
                dct [ '_image' ] = String.formatDict ( dct ['html' ],  dct ) ;
                arr_box.add_item (  String.formatDict ( site.templates [ 'ST-sl-thumb' ], dct ) );
        });
        arr_box.render ( dest_div );
        var arr_margin = Math.floor ( ( parseInt ( size.H, 10 ) - 36 ) / 2 );
        $( 'mm-nav-next' ).style.marginTop= arr_margin + "px"
        $( 'mm-nav-prev' ).style.marginTop= arr_margin + "px"


};

site.render_small_img = function ( media_items, pos, dest_div  )
{
        var img = site.templates [ 'ST-zero-img' ];
        if ( media_items.length > 0 )
        {
                media_items [ pos ] [ '_size' ] = 'small';
                media_items [ pos ][ '_ext' ] = '.jpg' ;
                media_items [ pos ] [ '_image' ] = String.formatDict ( media_items [ pos ] ['html' ],  media_items [ pos ]);
                img = String.formatDict ( site.templates [ 'ST-image' ] , media_items [ pos ]  );   
        
        };
        $( dest_div , img );
        
};




//{{{THEME FUNCTION
site.theme_set_style = function ( style )
{
	site._curr_style = style;
	var b = document.getElementsByTagName('body')[0];
	liwe.dom.del_class ( b, 'day dawn sunset night' );
	liwe.dom.add_class ( b , style );
	site.theme_show();
};




site.theme_show = function ()
{
	var e = $( "theme_menu" );
	if ( e._is_shown || typeof( e._is_shown ) == 'undefined' )
	{
		liwe.fx.animate ( "theme_menu", { left : site._THEME_HIDE }, null, 1000, 'ease-in' );
		e._is_shown = false ;	
	}
	else
	{
		liwe.fx.animate ( "theme_menu", { left : site._THEME_SHOW }, null, 1000, 'ease-in' );
		e._is_shown = true;	
	}
};


//}}}

//{{{ LAYOUT FUNCTION

site.layout_switch = function ( lay_num )
{
	var t = 1;
	var e;

	e = $( "lay" + t );

	while ( e )
	{
		if ( t != lay_num ) 
			e.style.display = 'none';
		else
			e.style.display = 'block';

		t ++;
		e = $( "lay" + t );
	}
};

site.layout_set = function ( mode )
{
	var res= 1;
	switch ( mode )
	{
		case "home":
			site.layout_switch ( 1 );
			site.layout_set_top ( true );
			res = 1;
			break;

		case "news":
			site.layout_switch ( 2 );
			site.layout_set_top ( false );
			res = 2;
			break;

		case "box":
			site.layout_switch ( 3 );
			site.layout_set_top ( false );
			res = 3;
			break;

		case "search":
			site.layout_switch ( 4 );
			site.layout_set_top ( false );
			res = 4;
			break;

		case "full":
			site.layout_switch ( 5 );
			site.layout_set_top ( false );
			res = 5;
			break;

		case "contacts":
			site.layout_switch ( 6 );
			site.layout_set_top ( false );
			res = 6;
			break;

		case "static":
			site.layout_switch ( 7 );
			site.layout_set_top ( false );
			res = 7;
			break;
	};
	return res;
};

site.layout_set_top = function ( big )
{
	var top = $( "site-top" );
	var img = $( "site-image" );


	if ( big )
	{
		if ( ! site._show_text )
		{
			site._show_text = true;
			site.show_txt_start ();
		}
		top.style.height = "450px";
		img.style.backgroundPosition = "0px 0px";
	} else {
		site._show_text = false;
		top.style.height = "151px";
		img.style.backgroundPosition = "0px -130px";
	}
};
//}}}


//{{{NEWS OVERRIDE

site._news_before_search = function ()
{
        news.ds.paginator.templates [ "pag-link-space" ] = "";
        news.ds.paginator.templates [ 'pag-first' ] = site.templates [ 'ST-paginator-pag-first' ];
        news.ds.paginator.templates [ 'pag-prev' ] = site.templates [ 'ST-paginator-pag-prev' ];
        news.ds.paginator.templates [ 'pag-next' ]  = site.templates [ 'ST-paginator-pag-next' ];
        news.ds.paginator.templates [ 'pag-last' ]  = site.templates [ 'ST-paginator-pag-last' ];
        news.ds.paginator.templates [ 'pag-pos' ] = site.templates [ 'ST-paginator-pag-pos' ];
        news.ds.paginator.templates [ 'pag-sep' ] = '';
        news.ds.paginator.templates [ "pag-right-info" ] ='';
	

};

site._news_render_tags = function ( row ) {
        if ( row [ 'tags' ].count() == 0 ) return '';
        var tags = row [ 'tags'];
        var buf = new String.buffer;
        var t = '';
        tags.iterate ( function ( tag )
        {       
                t = String.formatDict ( news.templates [ 'NEWS_SHOW_TAG' ] , tag );
                buf.add ( String.formatDict ( news.templates [ 'NEWS_TAG' ] , { '_tag' : t } ) );
        });
        return String.formatDict ( news.templates [ 'NEWS_TAG_LIST' ] ,{ '_tag_list' : buf.toString() } );
};


//}}}


