$(document).ready(function() {
    initExternalLinks();
    initTabs();
    initCompare();

    $('.art-BlockContent-body>ul>li>a>strong.selected').parents('li').addClass('selected');
    
    $('.art-BlockContent-body>ul>li').not('.selected').hover(
	function() { $(this).css({'background-color':'#f6f9ff','color':'#f60'}).children('a').css({'color':'#f60'}); },
	function() { $(this).css({'background-color':'','color':''}).children('a').css({'color':''}); }
    ).click(function() {
	$(this).css({'background-color':'#f6f9ff'});
	document.location = $(this).children('a').attr('href');
	return false;
    }).parent('ul').css('padding-bottom','5px');
    
    $('.art-BlockContent-body>ul>li.selected>ul>li').hover(
        function() { $(this).css({'background-color':'#f6f9ff','color':'#f60'}).children('a').css({'color':'#f60'}); },
        function() { $(this).css({'background-color':'','color':''}).children('a').css({'color':''}); }
    ).click(function() {
        $(this).css({'background-color':'#f6f9ff'});
        document.location = $(this).children('a').attr('href');
	return false;
    }).parent('ul').css('padding-bottom','5px');
    
    $('.art-menu a.active .t').parents('li').css({'border-bottom':'3px solid #f60'});
    $('.art-button').click(function() { this.blur(); });
    $('.help').tipsy({gravity:'w'});
    $('.zoom').fancybox({'titleShow':false});
    
    $('.formToAddProductToCart span.qteTag').html('Quantité');
    $('.addToCartBtn').css({'background':'url(http://static.on-avance.fr/images/icons/cartAddItem.png) no-repeat 0px 6px'}).val('Commander');
    $('.searchBtn').css({'background':'url(http://static.on-avance.fr/images/icons/searchElem.png) no-repeat 0px 6px'});
    $('.sendmailBtn').css({'background':'url(http://static.on-avance.fr/images/icons/emailGo.png) no-repeat 0px 7px'});
    $('.mailingBtn').css({'background':'url(http://static.on-avance.fr/images/icons/mailingSubscribe.png) no-repeat 0px 6px'});
    $('.apartirde').text('(à partir de)');
    
    $('#formContact').submit(function() {
	var $error = false;
	$('#formContact [class*=required]').each(function() {
	    if(isEmpty($(this).val()) || ($(this).hasClass('email') && !isEmail($(this).val()))) {
		$(this).attr('bdc',$(this).css('border-color')).css('border-color','red');
		$error = true;
	    }
	    else $(this).css('border-color',$(this).attr('bdc'));
	});
	if($error) {
	    $('#contact_error').slideDown();
	    return false;
	}
	else return true;
    });
    
    $('.tableProductContent tr.tHeader>td').append('<img src="http://static.on-avance.fr/images/icons/bulletUp.png" width="16" height="16" class="tHeader_scroller" />');
    $('.tHeader_scroller').css({'float':'right','margin':'0px','padding':'1px','cursor':'pointer'}).click(function() {
	$(this).parents('tr').siblings('tr.tContent').toggle();
    }).toggle(
		function() { $(this).attr('src','http://static.on-avance.fr/images/icons/bulletDown.png')},
		function() { $(this).attr('src','http://static.on-avance.fr/images/icons/bulletUp.png')}
	);
    
    $('#listProducts_sortBy option:first').css('margin','5px auto 10px auto').css('font-weight','bold');
    $('#listProducts_sortBy option:contains(- )').css({'padding':'5px','border-top':'1px dotted #fff'});
    $('#listProducts_sortBy option:contains(->)').css({'margin-left':'10px','padding':'3px','border-top':'1px dotted #fff'});
    $('#listProducts_sortBy').change(function() { document.location = $('#listProducts_sortBy option:selected').val(); });
    
    $('#listProducts_sortByYear option:first').css('margin','5px auto 10px auto').css('font-weight','bold');
    $('#listProducts_sortByYear option:contains(- )').css({'padding':'5px','border-top':'1px dotted #fff'});
    $('#listProducts_sortByYear').change(function() {
	var $year = $('#listProducts_sortByYear option:selected').val();
	$('div.listProducts_container').each(function() {
	    if($(this).hasClass('year'+$year) || $year == 'all') $(this).show();
	    else $(this).hide();
	});
    });
    
    $('.listProducts_inBox').hover(
	function() {
	    $(this).css({'background':'#efd2c2','border-color':'#f30'});
	    $(this).children('.listProducts_inBox_nameContainer').children('a').css('color','#f60');
	},
	function() { $(this).css({'background':'','border-color':''}).children('.listProducts_inBox_nameContainer').children('a').css('color',''); }
    ).click(function() {
	document.location = $(this).children('.listProducts_inBox_imgContainer').children('a').attr('href');
	return false;
    });
    $('.listItemsInBox div:has("a>img")').css({'width':'110px','height':'110px','cursor':'pointer'}).click(function() {
	document.location = $(this).children('a').attr('href');
	return false;
    });
    $('.listItemsInBox div>a>img').vAlign();
    $('.listItemsInBox div.selected').css({'background':'#efd2c2','border-color':'#f30'}).children('a').css({'color':'#f60'});
    
    if($('.alertAfterLoad').length) { if(!isEmpty($('.alertAfterLoad').html())) alert($('.alertAfterLoad').html()); }
});

function initTabs() {
    if($('#tabsContainer ul').length) {
	var $tabs = $('#tabsContainer>ul').tabs({selected:0});
	$('[toTab]').click(function() { $tabs.tabs('select',$(this).attr('toTab')); });
    }
}

function initCompare() {
    $('#compareBtn').hover(
	function() { $(this).css('color','#f30');$('.listProducts_compareBox').css('background-color','#efd2c2'); },
	function() { $(this).css('color','');$('.listProducts_compareBox').css('background-color',''); }
    ).click(function() {
	if($('.compareMe:visible:checked').length > 1) {
	    var fW = Math.round($(window).width()*0.95);
	    var fH = Math.round($(window).height()*0.90);
	    $('#compareBtnLoad').fancybox({'hideOnContentClick':false,'width':fW,'height':fH,'opacity':true}).trigger('click');
	}
	else alert('Vous devez sélectionner au moins 2 produits à comparer !');
    });
	
    $('.compareMe').change(function() {
        var $parent = $(this).parents('div.listProducts_container');
        var $target = $('#compareBtnLoad');
        var $elem   = ','+$(this).attr('name').replace('p','');
	    
        if(this.checked) {
	    $parent.attr('bg',$parent.css('background-color')).css('background-color','#efd2c2'); //#c3dfcf
	    $target.attr('href',$target.attr('href')+$elem);
	}
	else {
	    $parent.css('background-color',$parent.attr('bg'));
	    $target.attr('href',$target.attr('href').replace($elem,''));
	}
	    
	$(this).blur();
    }).each(function() { $(this).attr('checked',false); });
    
    $('#formToBuyFromCompare .addToCartBtn').unbind('click').click(function() {
		var $url = $('#formToBuyFromCompare').attr('action');
		var $qty = $('.productQty_toBuyFromCompare').val();
		var $pID = $('.productID_toBuyFromCompare').val();
		$.post($url,{productQty:$qty,productID:$pID},function() { parent.$.fancybox.close();showBoxCaddieOrNot(); });
		return false;
	});
}

function alert_cannondale() {
	alert("La politique commerciale de Cannondale est très stricte, elle ne nous autorise pas la vente en ligne de vélos de la marque,\nmerci de nous contacter directement par mail ou téléphone pour de plus amples renseignements.");
	return false;
}

function initExternalLinks() {
    $('a').filter(function() { return this.hostname && this.hostname !== location.hostname; }).attr('target','_blank');
}

function isEmpty(str) {
    return (str == '' ? true : false);
}
function isEmail(str) {
    return /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(str);
}

function showBoxCaddieOrNot() {
	// Affichage du popup pour choisir de rester sur la page ou voir son caddie
	// en attendant on renvoit vers la page de commande temporaire
	parent.document.location="/fr/actions/buy";
}

(function ($) {
    $.fn.vAlign = function() {
	return this.each(function(i){
	    var ah = $(this).height();
	    var ph = $(this).parents('div').height();
	    var mh = (ph - ah) / 2;
	    $(this).css('padding-top', mh);
	});
    };
})(jQuery);

