$(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');
    }).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');
    }).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();
    
    $('.addToCartBtn').css({'background':'url(/images/icons/cartAddItem.png) no-repeat 0px 6px'});
    $('.searchBtn').css({'background':'url(/images/icons/searchElem.png) no-repeat 0px 6px'});
    $('.sendmailBtn').css({'background':'url(/images/icons/emailGo.png) no-repeat 0px 7px'});
    $('.mailingBtn').css({'background':'url(/images/icons/mailingSubscribe.png) no-repeat 0px 6px'});
    
    $('#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="/images/icons/bulletUp.png" 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','/images/icons/bulletDown.png')},function() { $(this).attr('src','/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'); });
    $('.listItemsInBox div:has("a>img")').css({'width':'110px','height':'110px','cursor':'pointer'}).click(function() {
	document.location = $(this).children('a').attr('href');
    });
    $('.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,'frameWidth':fW,'frameHeight':fH,'zoomOpacity':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); });
}

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 ($) {
    $.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);
