var curr_tri = 'ptotal';
$(document).ready(function(){
    $('.shops th').click(function(){
        $.each($('th[id='+$(this).attr('id')+']'), function(){
            $('th[id='+$(this).attr('id')+'] img').attr('src', '/images/fiche_prod/classement_carac.png');
            $('th[id='+$(this).attr('id')+'] img').attr('height', '9');
        });

        var trieur = $(this).find('.trieur');
        var val_tri = trieur.attr('id');
        var token = val_tri.substr(0, 3);
        var val = val_tri.substr(4,val_tri.length-3);
        var next_val = '';
        var id_tab = trieur.parent().parent().parent().parent().parent().attr('id');
        switch (val){
            case 'up':
                next_val = 'down';
                trieur.attr('src','/images/fiche_prod/arrow_up.png');
                trieur.attr('height','4');
                break;
            case 'down':
                next_val = 'up';
                trieur.attr('src','/images/fiche_prod/arrow_down.png');
                trieur.attr('height','4');
                break;
        }
        orderPrices(token, val, id_tab);

        trieur.attr('id',token+'_'+next_val);

    });
});

function orderPrices(token,value,id_tableau){

    $('.sortinfo').val('');
    var list_prix = $('#'+id_tableau+ ' > tbody > tr');
    var sortArray = new Array();
    var sortFunction = 'keySort';
    switch (token){
        case 'pri':
            list_prix.each(function(){
                var keyValue = $(this).find('.price').text();
                keyValue = keyValue.replace('€','');
                keyValue = keyValue.replace(',','.');
                keyValue = parseFloat(keyValue);
                sortFunction = 'numericKeySort';
                var localArray = new Array(keyValue,$(this));
                sortArray.push(localArray);
            });

            break;
        case 'mag':
            list_prix.each(function(){
                var localArray = new Array($(this).find('.shopname').text(),$(this));
                sortArray.push(localArray);
            });

            break;
        case 'inf':
            list_prix.each(function(){
                var localArray = new Array($(this).find('.toorder').text(),$(this));
                sortArray.push(localArray);
            });
            break;
        case 'tot':
            list_prix.each(function(){
                var keyValue = $(this).find('.price').text();
                keyValue = keyValue.replace('€','');
                keyValue = keyValue.replace(',','.');
                keyValue = parseFloat(keyValue);
                sortFunction = 'numericKeySort';
                var localArray = new Array(keyValue,$(this));
                sortArray.push(localArray);
            });
            break;
    }
    sortArray.sort(eval(sortFunction));
    if (value=="down")
        sortArray.reverse();
    var fhtml = '<tbody>';
    for (var i=0;i<sortArray.length;i++)
    {
        var itm=sortArray[i];
        var class_name = (i%2==0)? 'odd':'even';
        fhtml += '<tr class="'+class_name+'">'+itm[1].html()+'</tr>';
    }
    fhtml += '</tbody>';
    $('#'+id_tableau+ ' > tbody').replaceWith(fhtml);
}

function keySort(a,b)
{
    var val = a[0] > b[0];
    return val;
}
function numericKeySort(a,b)
{
    return a[0]-b[0];
}
