
(function($) {

		$.catalog = function(options) {
			
		}
		
		$.extend($.catalog, {
			settings: {
				link_catalog: '#Katalog',
				server: 'http://promo.vobis.pl/vobis_katalog/',
				array_flash_newspaper_size: {w: 765, h: 600},
				array_flash_newspaper_small_size: {w: 130, h: 180},
				array_flash_zoom_size: {w: 1010, h: 1345},
				current_page: 1,
				small_page: false,
				number_pages: 1,
				catalog_html: '<div id="catalog-container"></div>'
			},
			
			start: function(){
			
				jQuery('a[rel*=facebox]').facebox();			
				$.facebox.settings.opacity = 0.5;
				
				$.catalog.initSmallPage();
				$('#facebox .content').append($.catalog.settings.catalog_html);
				$.catalog.clearContainer();
				
				var URL = window.location.href;
				
				if (URL.toLowerCase().match('#vk-') && !URL.toLowerCase().match('#vobis_katalog')){
					
					var aURL 		=  $.catalog.split(URL, '#vk-');
					var aValue 	=  $.catalog.split(aURL[1], '-');
					
					$.catalog.settings.current_page 	=	aValue[0];
					$.catalog.settings.number_pages  	= aValue[1];
					
					$.catalog.setSmallPage();
					
				}else if ( URL.toLowerCase().match('#vobis_katalog') ){
					
					$.catalog.setNewspaper();
					
				}else if ( URL.toLowerCase().match('#vkb-') && !URL.toLowerCase().match('#vobis_katalog') ){
					
					var aURL 		=  $.catalog.split(URL, '#vkb-');
					var aValue 	=  $.catalog.split(aURL[1], '-');
					
					$.catalog.settings.current_page 	=	aValue[0];
					$.catalog.settings.number_pages  	= aValue[1];
					
					$.catalog.setBigPage($.catalog.settings.current_page, $.catalog.settings.number_pages);
				}				
				
			},
			
			redirect: function(link, cPage, nPages){
			
				$.catalog.current_page = cPage;
				window.location = unescape(link) + '#vk-' + cPage + '-' + nPages;
			},			
			
			split: function(string, sign){
			
				return string.toLowerCase().split(sign);
				
			},			
			
			setFlashContent: function( url, width, height, box, flashvars){
				
					var params = {
						menu: "false",
						quality: "high",
						bgcolor: "48484B",
						allowscriptaccess: "always"
					};
					
					if ($.catalog.settings.small_page)
						params.wmode =  "transparent";
					
					var attributes = {
						id: "swf-catalog",
						name: "swf-catalog"
					};
			
					swfobject.embedSWF($.catalog.settings.server + url, box, width, height, "9.0.0", $.catalog.settings.server + "swfobject/expressinstall.swf", flashvars, params, attributes);					
			},
			
			
			clearContainer: function(){
			
					$('#catalog-container').empty();  
					$('#catalog-container').append('<div id="swf-catalog"></div>');
			
			},
			
			showSelectBoxes: function(){
				var selects = document.getElementsByTagName("select");
				for (i = 0; i != selects.length; i++) {
					selects[i].style.visibility = "visible";
				}
			},
			
			// ---------------------------------------------------
			
			hideSelectBoxes: function(){
				var selects = document.getElementsByTagName("select");
				for (i = 0; i != selects.length; i++) {
					selects[i].style.visibility = "hidden";
				}
			},
			
			// ---------------------------------------------------
			
			showFlash: function(){
				var flashObjects = document.getElementsByTagName("object");
				for (i = 0; i < flashObjects.length; i++) {
					flashObjects[i].style.visibility = "visible";
				}
			
				var flashEmbeds = document.getElementsByTagName("embed");
				for (i = 0; i < flashEmbeds.length; i++) {
					flashEmbeds[i].style.visibility = "visible";
				}
			},
			
			// ---------------------------------------------------
			
			hideFlash: function (){
				var flashObjects = document.getElementsByTagName("object");
				for (i = 0; i < flashObjects.length; i++) {
					flashObjects[i].style.visibility = "hidden";
				}
			
				var flashEmbeds = document.getElementsByTagName("embed");
				for (i = 0; i < flashEmbeds.length; i++) {
					flashEmbeds[i].style.visibility = "hidden";
				}
			
			},			
			
			//
			// setNewspaper
			//
			setNewspaper: function(){
				
					var flashvars = {
					
						xmlPath:  $.catalog.settings.server + 'xml/pages.xml',
						domainPath: $.catalog.settings.server
						
					};
					
					$.catalog.hideFlash();
					$.catalog.hideSelectBoxes();					
					
					$.catalog.setFlashContent('pageflip_new.swf', $.catalog.settings.array_flash_newspaper_size.w, $.catalog.settings.array_flash_newspaper_size.h, 'swf-catalog', flashvars);
					
					$.facebox.loading();
					$('#facebox .loading').remove();
					$('#facebox .body').children().fadeIn('normal');
					$('#facebox').css('left', $(window).width() / 2 - ($('#facebox table').width() / 2));
					$(document).trigger('reveal.facebox').trigger('afterReveal.facebox');
					$('#facebox').show();
					
					$.catalog.settings.small_page = false;
					
			},
			
			//
			//	back2Newspaper()
			//	
			back2Newspaper: function(page){
			
				var flashvars = {
				
					xmlPath: $.catalog.settings.server + 'xml/pages.xml',
					domainPath: $.catalog.settings.server,
					currentPage: page,
					numberPages: $.catalog.settings.number_pages
					
				};
				
				$.catalog.setFlashContent('pageflip_new.swf', $.catalog.settings.array_flash_newspaper_size.w, $.catalog.settings.array_flash_newspaper_size.h, 'swf-catalog', flashvars);
				
				//$.facebox.loading();
				//$('#facebox .loading').remove();
				//$('#facebox .body').children().fadeIn('normal');
				$('#facebox').css('left', $(window).width() / 2 - ($('#facebox table').width() / 2));
				//$(document).trigger('reveal.facebox').trigger('afterReveal.facebox');
				//$('#facebox').show();
				
				$.catalog.settings.small_page = false;
			},				
			
			//
			//	setBigPage()
			//	
			setBigPage: function(page, number){
				
				var flashvars = {
					currentPage:  page,
					numberPages:  number ,
					domainPath:   $.catalog.settings.server
				};	
				
				$.catalog.settings.current_page = page;
				$.catalog.settings.number_pages = number;
				
				$.catalog.setFlashContent('zoom_new.swf', $.catalog.settings.array_flash_zoom_size.w, $.catalog.settings.array_flash_zoom_size.h, 'swf-catalog', flashvars);
				
				//$.facebox.loading();
				//$('#facebox .loading').remove();
				//$('#facebox .body').children().fadeIn('normal');
				setTimeout(function (){
						$('#facebox').css('left', $(window).width() / 2 - ($('#facebox table').width() / 2));
				}, 100);
				
				//$(document).trigger('reveal.facebox').trigger('afterReveal.facebox');
				$('#facebox').show();
				
				$.catalog.settings.small_page = false;
			
			},
			
			//
			//	setBigPage()
			//	
			back2BigPage: function(){
				
				var flashvars = {
					currentPage:  $.catalog.settings.current_page,
					numberPages:  $.catalog.settings.number_pages ,
					domainPath:   $.catalog.settings.server
				};	
				
				$.catalog.hideFlash();
				$.catalog.hideSelectBoxes();				
				
				$.catalog.setFlashContent('zoom_new.swf', $.catalog.settings.array_flash_zoom_size.w, $.catalog.settings.array_flash_zoom_size.h, 'swf-catalog', flashvars);
				
				$.facebox.loading();
				$('#facebox .loading').remove();
				$('#facebox .body').children().fadeIn('normal');
				$('#facebox').css('left', $(window).width() / 2 - ($('#facebox table').width() / 2));
				$(document).trigger('reveal.facebox').trigger('afterReveal.facebox');
				$('#facebox').show();
				
				$.catalog.settings.small_page = false;
			
			},			
			
			initSmallPage: function(){
			
				$('body').append('<div id="smallPage"><div id="small-page-swf"></div></div>');
				var _s = $('#smallPage');
				_s.css({width: '130px', height: '180px', display: 'none', 'z-index': 1000});
				
			},
			
			end: function(){
				
				$.catalog.showFlash();
				$.catalog.showSelectBoxes();
				
				$(document).trigger('close.facebox');
				
				//Firefox bug, lose focus and scroll doesn't work
				if ($("#search-text").length > 0){
					$("#search-text").focus();
				}
				
			},
			
			
			//
			// setSmallPage()
			setSmallPage: function(){
			
				flashvars = {
						currentPage: $.catalog.settings.current_page,
						numberPages: $.catalog.settings.number_pages,
						domainPath:  $.catalog.settings.server
				};		
				
				this.setFlashContent('mini_new.swf', $.catalog.settings.array_flash_newspaper_small_size.w, $.catalog.settings.array_flash_newspaper_small_size.h, 'small-page-swf', flashvars);
				$('#smallPage').show();
				
				$.catalog.settings.small_page = true;
			} 			
		});	
			
})(jQuery);

