/*********************************************************
* author: JD Medina - juan.medina@zemoga.com
*********************************************************/

$(function() {
	
	/********************************************
	* 03. Gallery picker
	*******************************************/
	
	var frame = $('.gallery_item.block_a');
	var viewSelButton = $('#check_availability');
	var frameImg = frame.find('img');
	var galA = $('.gallery_item ul li a');
	var beforeAfter = $('.wrapper_blocks .before_after');
	var afterImg = $('.gallery_item.block_a img').attr('src');
	var fadeSpeed = 300;
	var cat, whereAmI, finalPathSM, finalPathLG, selecFinish, selecFinishPure, selecStyle, selecStylePure, picked;
	
	var cusImgPath = '/shs/images/customizerTool';
	
	picked = checkPicks($('.gallery_item.block_b ul li a'), $('.gallery_item.block_c ul li a'));
	cat = galA.parents('.customizer_gallery').attr('id');

	if(picked) {
		selecFinishPure = $('.gallery_item.block_b ul li a.selected img').attr('alt');
		selecFinish = ((selecFinishPure).replace(/ /g, '.')).toLowerCase();
		selecStylePure = (($('.gallery_item.block_c ul li a.selected img').attr('alt')).replace(/ /g, '')).toLowerCase();
		selecStyle = ((selecStylePure).replace(/ /g, '')).toLowerCase();
		finalPathLG = makePaths(cat, selecStyle, selecFinish, '', cusImgPath);
		frame.find('a').attr('title', 'Your Customized Kitchen&Finish: &' + selecFinish + '&Style: &' + selecStyle);
		frame.find('a').attr('href', finalPathLG);
		if(viewSelButton.size() > 0) {
			UIObserver.lightbox.attachOpener(frame.find('a'));
		}
		frameImg.attr('src', makePaths(cat, selecStyle, selecFinish, 'SM', cusImgPath));
	
		if(viewSelButton.size() > 0) {
			viewSelButton.attr('href', finalPathLG);
			viewSelButton.attr('title', 'Your Customized Kitchen&Finish: &' + selecFinish + '&Style: &' + selecStyle);
			UIObserver.lightbox.attachOpener(viewSelButton);
		}
		frame.parents('.customizer_gallery').find('p.selection span.txtSty').text(selecFinishPure);
		frame.parents('.customizer_gallery').find('p.selection span.txtFin').text(selecStylePure);
	}
	else if(cat == 'doors') {
		selecFinish = (($('.gallery_item.block_b ul li a.selected img').attr('alt')).replace(/ /g, '.')).toLowerCase();
		finalPathSM = cusImgPath + '/misc/frame/' + cat + '/SM' + selecFinish + '.jpg';
		frameImg.attr('src', finalPathSM);
		frame.parents('.customizer_gallery').find('p.selection span.txtFin').text(selecFinish);
	}
	else {
		selecFinish = selecStyle = '';
	}
	
	galA.click(function(e) {
	
		e.preventDefault();
		var self = this;
		$(self).blur();
		
		$(self).parents('.gallery_item').find('ul li a.selected').removeClass('selected');
		$(self).parent().find('a').addClass('selected');
		
		whereAmI = $(self).parents('.gallery_item').attr('class');
		whereAmI = whereAmI.split(' ');
		whereAmI = whereAmI[1];
		
		switch(whereAmI) {
			
			// Finish, Siding Column
			case 'block_b':
			
				selecFinishPure = $(self).parent().find('img').attr('alt');
				
				frame.find('a').attr('title', 'Your Customized Kitchen&Finish: &' + selecFinish + '&Style: &' + selecStyle);
				
				selecFinish = selecFinishPure.toLowerCase();
				selecFinish = selecFinishPure.replace(/ /g, '.');
			
				break;
				
			// Style, Color Column
			case 'block_c':
			
				selecStylePure = $(self).parent().find('img').attr('alt');
				
				frame.find('a').attr('title', 'Your Customized Kitchen&Finish: &' + selecFinish + '&Style: &' + selecStyle);
				
				selecStyle = selecStylePure.toLowerCase();
				selecStyle = selecStylePure.replace(/ /g, '');
			
				break;
				
			default:
			
				selecFinish = selecStyle = '';
			
				break;
			
		}
		
		if(cat != 'doors') {
			finalPathSM = makePaths(cat, selecStyle, selecFinish, 'SM', cusImgPath);
			finalPathLG = makePaths(cat, selecStyle, selecFinish, '', cusImgPath);
		}
		else {
			finalPathSM = cusImgPath + '/misc/frame/' + cat + '/SM' + selecFinish.toLowerCase() + '.jpg';
		}
		
		picked = checkPicks($('.gallery_item.block_b ul li a'), $('.gallery_item.block_c ul li a'));
		
		if(picked) {
		
			frameImg.fadeTo(fadeSpeed, 0.01, function() {
				$(this).attr('src',finalPathSM);
				$(this).fadeTo(fadeSpeed, 1);
			});
			
			frame.parents('.customizer_gallery').find('p.selection span.txtSty').text(selecFinishPure);
			frame.parents('.customizer_gallery').find('p.selection span.txtFin').text(selecStylePure); 
		
		}
		else if(cat == 'doors') {
			
			frameImg.fadeTo(fadeSpeed, 0.01, function() {
				$(this).attr('src',finalPathSM);
				$(this).fadeTo(fadeSpeed, 1);
			});
						
			frame.parent().find('p.selection span.txtFin').text(selecFinish);
			
		}
		
		frame.find('a').attr('href', finalPathLG);
		
		if(viewSelButton.size() > 0) {
			viewSelButton.attr('href', finalPathLG);
			viewSelButton.attr('title', 'Your Customized Kitchen&Finish: &' + selecFinish + '&Style: &' + selecStyle);
			UIObserver.lightbox.attachOpener(viewSelButton);
			UIObserver.lightbox.attachOpener(frame.find('a'));
		}
		
		if(selecFinish != '' && selecStyle != '') {
			beforeAfter.text('After');
		}
		
		return false;
		
	});

});

function checkPicks(selecFinish, selecStyle) {
	var result = false;
	
	if(selecFinish.hasClass('selected') && selecStyle.hasClass('selected')) {
		result = true;
	}
	
	return result;
}

function makePaths(cat, selecStyle, selecFinish, size, cusImgPath) {
  return cusImgPath + '/misc/frame/' + cat.toLowerCase() + '/' + selecStyle.toLowerCase() + '/' + size + selecStyle.toLowerCase() + '.' + selecFinish.toLowerCase() + '.jpg';
}
