/**
 * pinasse.fr main execution javascript file
 */
Shadowbox.init();
var $jq = jQuery.noConflict();

$jq(document).ready(function(){
	
	/**
	 * Cycle products familly
	 */
	if($jq('.jqueryCycleCatalogFamily').length>0){
		$jq('.jqueryCycleCatalogFamily').cycle({
			fx:     'scrollHorz',
			next:   '.jqueryCycleCatalogFamilyButtonNext',
			prev:   '.jqueryCycleCatalogFamilyButtonPrev',
			pause: true
		});
	}
	
	/**
	 * Fields automaticaly empty on focus
	 */
	$jq('.deleteDefaultValueOnFocus').deleteDefaultValueOnFocus();
	
	/**
	 * Cycle Homepage
	 */
	if($jq('.homepage-viewer .container-elements').length>0){
		$jq('.homepage-viewer .container-elements').cycle({
			delay: 1000,
			next:   '#jqueryCycleHomeButtonNext',
			prev:   '#jqueryCycleHomeButtonPrev',
			pause:	true
		});
		
		$jq('#jqueryCycleHomeButtonNext').hide();
		$jq('#jqueryCycleHomeButtonPrev').hide();
		
		$jq('.homepage-viewer').live('mouseenter', function(){
			$jq('#jqueryCycleHomeButtonNext').fadeIn();
			$jq('#jqueryCycleHomeButtonPrev').fadeIn();
		});
		
		$jq('.homepage-viewer').live('mouseleave', function(){
			$jq('#jqueryCycleHomeButtonNext').fadeOut();
			$jq('#jqueryCycleHomeButtonPrev').fadeOut();
		});
	}
	/**
	 * Cycle product view
	 */
	if($jq('.more-views').length>0){
		$jq('.more-views').cycle({
			fx: 'scrollHorz',
			pause: true
		});
	}
	
	/**
	 * Product view color switch
	 */
	if($jq('.list-color-preview span').length>0){
		
		/**
		 * Change l'image principal et la couleur selectionnée, appel depuis les boutons du nuancier
		 */
		$jq('.list-color-preview span').click(function(){
			updateProductViewImage($jq(this).find('span').html());
			
			// Changement de l'attribut couleur selectionné
			$jq('.selectColorAttribut').val($jq(this).find('span').html());
			
			// Lancement de l'evenement du choix couleur
			var selectAttibutColor = $$('.selectColorAttribut')[0];
			fireEvent(selectAttibutColor, 'change');
		});
		
		/**
		 * Change l'image principal, appel depuis la liste couleur
		 */
		$jq('.selectColorAttribut').click(function(){			
			updateProductViewImage($jq(this).val());
		});
		
		/**
		 * Change la couleur selectionnée, appel depuis miniatures
		 *
		$jq('.productColor').click(function(){
			
			// Changement de l'attribut couleur selectionné
			var colorId = this.id.substr(13, this.id.length - 13);
			$jq('.selectColorAttribut').val(colorId);
			
			// Lancement de l'evenement du choix couleur
			var selectAttibutColor = $$('.selectColorAttribut')[0];
			fireEvent(selectAttibutColor, 'change');
		});
		/**/
	}
	
	/**
	 * Cycle products related
	 */
	if($jq('.jqueryCycleCatalogProductRelated').length>0){
		$jq('.jqueryCycleCatalogProductRelated').cycle({
			fx:     'scrollHorz',
			next:   '.jqueryCycleCatalogProductRelatedButtonNext',
			prev:   '.jqueryCycleCatalogProductRelatedButtonPrev',
			pause: true,
			timeout: 0
		});
	}
	
	/**
	 * Selection langues
	 */
	$jq('#dropdownLanguage').msDropDown();
	
});

/**
 * Met à jour l'image et le zoom principal de la fiche en
 * fonction d'une couleur
 */
function updateProductViewImage(colorId){
	if($jq('#productColor-'+colorId).length>0){
		MagicZoomPlus.update('Zoomer', $jq('#productColor-'+colorId).attr('href'), $jq('#productColor-'+colorId).attr('rev'), 'show-title: false');
	}
}

