var FZOOMER = {						
	objXML:null,
	imgPath:'img/tessuti/',
	isOpen:false,
	isAnimating:false,
	coArray:null,
	currIndex:0,
	direction:'left',
	t:null
};	

FZOOMER.init = function(xmlObj, cat, collezioneArray){
	FZOOMER.objXML = xmlObj;
	FZOOMER.isAnimating = false;
	if(!FZOOMER.isOpen){
		FZOOMER.loadImg();
	}
	FZOOMER.coArray = collezioneArray;
	if(lang == "de"){
		cat = cat.replace("cat", "Kat");				
	}
	colNome = $(FZOOMER.objXML).attr('nome');
	if(lang == 'it'){
		colNome = colNome.replace("PVC", "Ecopelle Ignifuga");	
	}
	cat = cat.replace("ignifughi", langObject.fireproof_plural);
	if(colNome.toLowerCase() == "syrinx"){
		$('#fabricZoomer h1').html(colNome + "*&nbsp;<span style='font-size:40px'>.</span>&nbsp;<span style='font-size:23px'>" + cat + "</span>");
	}else{
		$('#fabricZoomer h1').html(colNome + "&nbsp;<span style='font-size:40px'>.</span>&nbsp;<span style='font-size:23px'>" + cat + "</span>");	
	}
	Cufon.replace('h1');
	$('html').css({'overflow':'hidden'});
	
	
	$('#fabricNote').html(langObject.fabric_note);
	$('#fabricNote').hide();
	
	if(colNome.toLowerCase() == "syrinx"){
		$('#fabricNote').html(langObject.syrinx_note);
		$('#fabricNote').show();
	}
	
	$('#fabricInfoHolderDiv .test').empty();
	
	
	
	var numRighe = $(FZOOMER.objXML).attr('numRighe');
	
	FZOOMER.objXML.find('tessuto').each(function(){
		var tag = $('<div class="tag"></div>');
		tag.append('<img src="' + FZOOMER.imgPath + $(this).attr('src') + '">');
		var tagString = $(this).attr('codice');
		switch(parseInt(numRighe)){
			case 1:
				if($(this).attr('nome') != ''){
					tagString += ' . ' + $(this).attr('nome');
				}
				tag.append('<div class="tagCaption"><div style="padding:3px; width:120px;">' + tagString + '</div></div>');
				break;			
			case 2:
				if($(this).attr('nome') != ''){
					tagString += '<br>' + $(this).attr('nome');
				}
				tag.append('<div class="tagCaption" style="height:38px;"><div style="padding:3px; width:120px;">' + tagString + '</div></div>');
				break;
			case 3:
				if($(this).attr('nome') != ''){
					tagString += ' . ' + $(this).attr('nome') + "";
				}
				tag.append('<div class="tagCaption" style="height:38px;"><div style="padding:3px; width:120px;">' + tagString + '</div></div>');
				break;
		}
		
		$('#fabricInfoHolderDiv .test').append(tag);
		if($(this).attr('codice').indexOf('*') != -1 || $(this).attr('nome').indexOf('*') != -1){
			if(FZOOMER.t == null){
				FZOOMER.t = setTimeout(FZOOMER.showNote, 1000);
			}
		}
	});	

	/*** loop through the coArray and find the current index ***/
	for(var i=0; i<FZOOMER.coArray.length; i++){
		if(FZOOMER.coArray[i].index == FZOOMER.objXML.attr('id')){
			FZOOMER.currIndex = i;
		}
	}
	
	var initLeftPos = $(window).width();
	var leftPos = 0;
	var divToAnimate = '#fabricZoomer';
	
	
	if(FZOOMER.isOpen){
		leftPos = 66;
		divToAnimate = '#fabricZoomer .contentWrapper';
	}
	if(FZOOMER.direction == 'right'){
		initLeftPos = -initLeftPos;
	}
	$(divToAnimate).css({'left':initLeftPos})
			.show()
			.animate({'left':leftPos}, 1000, "easeInOutExpo", function(){
					$('html').css({'overflow':'auto'});	
					if(!document.getElementById('fabricInfoHolderDiv').fleXcroll){
						try{
							fleXenv.fleXcrollMain("fabricInfoHolderDiv");
							fleXenv.updateScrollBars();		
						}catch(e){
							
						}	
			}
			});
	
	
	$(window).bind('keydown.FZOOMER', function(e) {
		e.preventDefault();	
		if(e.keyCode == 32){
			FZOOMER.close();			
		}
		if(e.keyCode == 39){
			FZOOMER.goNext();			
		}
		if(e.keyCode == 37){fabricNote
			FZOOMER.goPrev();			
		}
	});
	
	$('#next_fabric').unbind('click');
	$('#next_fabric').click(function(e){
		e.preventDefault();		
		FZOOMER.goNext();
	});
	
	$('#prev_fabric').unbind('click');
	$('#prev_fabric').click(function(e){
		e.preventDefault();		
		FZOOMER.goPrev();
	});
	
	$('.chiudiGallery a').unbind('click');
	$('.chiudiGallery a').click(function(e){
		e.preventDefault();		
		FZOOMER.close();
	})
	
	
	$('#fabricZoomer .description').html($(FZOOMER.objXML).find('descrizione').text());
	PO.doResize();
	setTimeout(FZOOMER.checkScrollbars, 2000);
	setTimeout(FZOOMER.checkScrollbars, 4000);
	
	
	FZOOMER.writeSecondaryMenu();
	
	
	FZOOMER.isOpen = true;
};

FZOOMER.showNote = function(){	
	if($('#fabricNote').width() == 0){
		FZOOMER.t = setTimeout(FZOOMER.showNote, 1000);	
		return;
	};
	FZOOMER.t = null;
	$('#fabricNote').css({'marginLeft': -$('#fabricNote').width()});
	$('#fabricNote').fadeIn(500);
}

FZOOMER.writeSecondaryMenu = function(){
	if($(FZOOMER.objXML).attr('scheda') != ''){
		$('#scheda_fabric').attr('href', 'downloads/tessuti/' + $(FZOOMER.objXML).attr('scheda'));
		$('#scheda_fabric').show();
	}else{
		$('#scheda_fabric').hide();
	}
	$('#scheda_fabric').html(langObject.scheda_tecnica);
	$('#prev_fabric').html(langObject.prev_fabric);
	$('#next_fabric').html(langObject.next_fabric);
}

FZOOMER.close = function(){
	 FZOOMER.isOpen = false;
	 FZOOMER.direction = 'left';			// reset
	 $(window).unbind('.FZOOMER');
	 $('html').css({'overflow':'hidden'});
	 $('#fabricZoomer').animate({'left':-$(window).width()}, 1000, "easeInOutExpo", function(){
			$('html').css({'overflow':'auto'});	
			$('#fabricZoomer').hide();	
	 });	 
	 $.address.value("/" + lang + "/" + PO.newSection + "/" + PO.subSection + "/");
}

FZOOMER.goNext = function(){
	 FZOOMER.direction = 'left';
	 $(window).unbind('.FZOOMER');
	 FZOOMER.currIndex < FZOOMER.coArray.length-1?FZOOMER.currIndex++:FZOOMER.currIndex=0;
	 $('html').css({'overflow':'hidden'});
	 $('#fabricZoomer .contentWrapper').animate({'left':-$(window).width()}, 1000, "easeInOutExpo", function(){
			$('html').css({'overflow':'auto'});	
			 $.address.value("/" + lang + "/" + PO.newSection + "/" + PO.subSection + "/" + FZOOMER.coArray[FZOOMER.currIndex].index);
	 });	 
	
}

FZOOMER.goPrev = function(){
	 FZOOMER.direction = 'right';
	 $(window).unbind('.FZOOMER');
	 FZOOMER.currIndex > 0 ? FZOOMER.currIndex--:FZOOMER.currIndex=FZOOMER.coArray.length-1;
	 $('html').css({'overflow':'hidden'});
	 $('#fabricZoomer .contentWrapper').animate({'left':$(window).width()+100}, 1000, "easeInOutExpo", function(){
			$('html').css({'overflow':'auto'});	
			 $.address.value("/" + lang + "/" + PO.newSection + "/" + PO.subSection + "/" + FZOOMER.coArray[FZOOMER.currIndex].index);
	 });
}

FZOOMER.checkScrollbars = function(){
	PO.doResize();
	if(!document.getElementById('fabricInfoHolderDiv').fleXcroll){
		try{
			fleXenv.fleXcrollMain("fabricInfoHolderDiv");	
		}catch(e){
			
		}
	}
	fleXenv.updateScrollBars();
}

FZOOMER.loadImg = function(){
	
	var div = $('#fabricZoomer div.container');
	var rand = Math.ceil(Math.random()*3);
	var src = "bgimages/tessuti/0" + rand + ".jpg";
	
	var img = new Image();
	
	// wrap our new image in jQuery, then:
	$(img)
		.load(function () { 
			
			$(this).hide();
			$(this).addClass('fullscreen');
										 
			$(div).append(this);
			
			PO.doResize();						// resize the newly-loaded image
			$(this).show();
			
		})		
		.error(function () {
					// notify the user that the image could not be loaded
		})
		.attr('src', src);
		
}




