/*
 * jQuery THINKPLACE-trep -> MainClass
 *
 * Copyright 2011, Marco Poglie
 * THINKPLACE scripts.
 * http://www.thinkplace.it
 * http://www.poglie.com
 * 
 */

(function($) {
	$(function() {
		var trep = function(element, options){
			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			//															OBJECT settings
			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			//Defaults are below
			var settings = $.extend({}, $.fn.trep.defaults, options);
	
			
			
			
			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			//															  INIT-VAR
			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			var _element = $(element); // l'oggetto selezionato
			
			var figli = _element.children();
			var lunghezzaElement = figli.length;
			
			// --------[OGGETTI]--------
			var header = $('#header');
			var content = $('#content');
			var mainContent = $('#main-content');
			
			var footer = $('#footer');
			
			var bgFoto = $('#bg-foto');
			
			var bgPage = $('#bg-page');
			
			//  ------- controllo dei ink ------
			var pageSelect = 0; // l'indice del bottone scelo - In questo caso è subito il primo
			var old_pageSelect; // l'indice del bottone precedentemente scelto
			
			
			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			//															    INIT
			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			// 
			
			var init = function(setting){
				
				
				
				// ------------------------------------------------------- HEADER ------------------------------------------------------------------
				//
				// CallBack
				var funEntrato = function(){
					//if(bgFoto) bgFoto.fadeOut(700, function() {});
					//
					
					//Trigger the afterLoad callback
					settings.afterLoad.call(this);
					
					//window.alert("aaa");
					
				}
				var funUscito = function(){
					
				}
				var clickBut = function(i, old_i){
					//
					scambioPagina(i); ///
					//
					/*if(content && content.data('vars').nascondi) content.data('vars').nascondi(0, function(){
																												bgFoto.fadeOut(700, function() {});
																											});*/
				}
				var clickQuit = function(i){
					//
					/*if(content && content.data('vars').mostra) content.data('vars').mostra(1000, function(){
																												bgFoto.fadeIn(700, function() {});
																										  });*/
				}
				// Setting
				var objHead = {
									site_url: settings.site_url,
									colorTx:'#FFFFFF',
									colorTxBg:'#000000',
									colorHover:'#555555',
									colorSelect:'#000',
									
									delay:1000,
									//
									
									clickBut:clickBut,
									clickQuit:clickQuit,
									// 
									onStart:funEntrato,
									chiuso:funUscito,
									//
									allCallback:true, // al click delle voci vengono usate solo i CallBack
									//
									otherSelector:''
								};
				var goHead = function(){
					/***************************************/				
					// Costructor
					header.menuBarrTop(objHead);
					/***************************************/
				}
				
				
				// ------------------------------------------------------- PAGINE ------------------------------------------------------------------
				
				var scrollFilm = function(i){
						
						
						if(header.data('vars')) header.data('vars').controllaBut(i);
						
				}
				var startFilm = function(){
						
						goHead();
						
						var indexRestituito = leggoPermalinkPageHeader();
						//window.alert('startFilm: vai alla pagina.. '+indexRestituito);
						
						
						if(header.data('vars')) header.data('vars').controllaBut(indexRestituito);
						//
						scambioPagina(indexRestituito);
						//
						
						
				}
				
				/***************************************/
				var objFilmV = {
					site_url: settings.site_url,
					delay: 1500,
					elements: settings.elements,
					  
					Hfoot:footer.outerHeight(true)-1,
					  
					resizeType: 'screen',
					  
					onInit:function(){},
					onScroll: scrollFilm,
					onStart: startFilm
					
					
				};
				// Costructor
				mainContent.scrollV(objFilmV);
				/***************************************/
				
				
				
				
				
				// ------------------------------------------------------- PIEDINO ------------------------------------------------------------------
				//
				// Setting
				var objFoot = {
								 	delay:1200,
									altezza:60
								};
								
				/***************************************/
				// Costructor
				footer.barrFoot(objFoot);
				/***************************************/
				
				
				
				
				
				
				//
				// ------------------------------------------------------- BG-Foto ------------------------------------------------------------------
				//
				// Setting
				var objBG = { 
									delay:400 
							};
				
				/***************************************/
				// Costructor
				//bgFoto.bgSliding(objBG);
				/***************************************/
				
				// Plugin ...
				//$('#background-foto').css({'display':'none'});
				//$('#background-foto').delay(400).fadeIn( 'slow');
																	
				/*$('#background-foto').crossSlide({
				  sleep: 2,
				  fade: 1
				  
				}, 	[
					  { src: 'images/f01.jpg' },
					  { src: 'images/f02.jpg' }
				  
					])*/
				
				
				//var FullscreenrOptions = {  width: 1024, height: 768, bgID: '#background-foto' };
				//jQuery.fn.fullscreenr(FullscreenrOptions);
	
	
				// ----------------------------------------------------------------------------------------------------------------------------------
				//window.alert('trep');
				//$('#header').effect('scale',{'percent':300, 'scale':'content', 'ease':'easeOutExpo'}, 800);
				/*$('#header').rotate({
									angle:180,
									animateTo:360,
									duration:3000,
									easing: $.easing.easeInOutElastic,
									callback: function(){}
									});*/
			}
			
			
			
			
			
			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			//														permalinkpage
			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			//
			var leggoPermalinkPageHeader = function(){
				//
				//window.alert(settings.permalinkpage);
				var indexRestituito;
				if(header.data('vars')) indexRestituito = header.data('vars').permalinktoindex(settings.permalinkpage);
				//window.alert(indexRestituito);
				return indexRestituito
			}
			var leggoPermalinkPageVSlide = function(){
				//
				//window.alert(settings.permalinkSubPage);
				var indexRestituito;
				if(mainContent.data('vars')) indexRestituito = mainContent.data('vars').permalinktoindex(settings.permalinkSubPage, pageSelect);
				//window.alert(indexRestituito+" - "+settings.permalinkSubPage);
				return indexRestituito
			}
			
			
			
			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			//															SCAMBIO
			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			//
			var scambioPagina = function(i){
				
				old_pageSelect = pageSelect;
				pageSelect = i;
				//
				var indiceRestituito = leggoPermalinkPageVSlide();
				//
				//window.alert(indiceRestituito+" AAAAAAAAAA");
				mainContent.data('vars').scrollWin(i, false, Number(indiceRestituito));
				
				
			}
			
			
			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			//															RESIZING
			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			//
			var scala  = function(){
				
				// uso data('vars') metodo pubblico di schiere.FilmV
				if(mainContent)	{
					mainContent.data('vars').scala();	
					
				}
				
			}
			var accendiScala = function (){
				
					$(window).bind('resize', scala);
			}
			var spegniScala = function (){
					$(window).unbind('resize');
			}
			
			
			/*********************************************************[ PUBBLIC Data.vars ]**********************************************/
			var vars = {
				// vuoto ...
				
			};
			//_element.data('vars',vars)
			/***********************************************************************************************************************/
			
			
			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			//															GOOOOOOO
			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			//
			init(settings);
			
			accendiScala();
			
			
			// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
			return this;
		};
			
		$.fn.trep = function(options) {
		
			return this.each(function(key, value){
				var element = $(this);
				
				// Rientro anticipato dell'attrubuto se questo elemento ha già un plugin istanza
				if (element.data('trep')) return element.data('trep');
				
				// COSTRUTTORE: -----------------------------
				var trepws = new trep(this, options);
				// ------------------------------------------
				
				// memorizzo il l'istanza in data
				element.data('trep', trepws);
			});
	
		};
		
		//Default settings
		$.fn.trep.defaults = {
			site_url: "",
			elements: [],
			permalinkpage:"",
			permalinkSubPage:"",
			afterLoad: function(){}
		};
		
		
	}); // end load js
})(jQuery);
