/**********************
** Rating
***********************/
function enable_rating(url, model, model_id, name) {
    $('.'+name).rating({
        callback: function(value, link){
            saveRated(value, url, model, model_id, name);
        }
     });    
}

function disable_rating(objClassName){
    $('.'+objClassName).rating('readOnly',true);
}

function saveRated(value, url, model, model_id, name) {
    var post_var = {'data[rate]': value, 'data[model]': model, 'data[model_id]' : model_id, 'data[name]': name};
    
    var ajax_cf = {url: url, type: 'POST', data: post_var, dataType: 'json', success: function(data){setRate(data.tot_point, data.tot_user, name)}}
    
    $.ajax(ajax_cf);
    
    disable_rating(name);
}

function setRate(tot_point, tot_user, prefix) {
    for(i=1; i <= 5; i++) {
        if(i <= tot_point) {
            $('.'+prefix+'_'+i).addClass('star-rating-on');
        }
        else {
            $('.'+prefix+'_'+i).removeClass('star-rating-on');
        }
    }
}

function getRated(url, model, model_id, name) {
    var post_var = {'data[model]': model, 'data[model_id]' : model_id, 'data[name]': name};
    
    var ajax_cf = {url: url, type: 'POST', data: post_var, dataType: 'json', success: function(data){setRate(data.tot_point, data.tot_user, name)}}
    
    $.ajax(ajax_cf);
}

/**********************
** Select All Checkboxes
***********************/
function checkAllCheckboxes(toggleSelectAllObjClassName, toggleDeselectAllObjClassName, selectObjClassName) {
    $(toggleSelectAllObjClassName).click(function(){
        $(selectObjClassName).attr('checked', true);
    })
    
    $(toggleDeselectAllObjClassName).click(function(){
        $(selectObjClassName).attr('checked', false);
    })        
}

function submitForm(toggleSubmit, objForm, type, objProccess) {
    $(toggleSubmit).click(function(){
        if(type == 'del') {proccess = 'del';}else{proccess = 'other';}
        $(objProccess).val(proccess);
        $(objForm).submit();
    })        
}
 
/**********************
** Accordion
***********************/
function enableAccordion(obj) {
    $(obj).accordion({
        header: 'h2',
        /*autoHeight: false,*/ 
        fillSpace: true,
        active: '.selected' 
    });  
    
    // check cookie for accordion state
    if(location.hash.toLowerCase().substring(1)) {
        $(obj).accordion('option', 'animated', false); // turn off animation
        $(obj).accordion('activate', $('#' + location.hash.toLowerCase().substring(1)).parent('h2')); // open menu from cookie
        $(obj).accordion('option', 'animated', 'slide'); // turn animation back on
           
    }
    else{
        def_state = '#'+$(obj+' H2 a').attr('id');
        $(obj).accordion('activate', $(def_state).parent('h2'));
    }   
}


/**********************
** Lightbox
***********************/
function enableLightbox(obj) {
    /*http://leandrovieira.com/*/
    $(obj).lightBox({
        imageLoading: '/img/lightbox/lightbox-ico-loading.gif',
        imageBtnClose: '/img/lightbox/lightbox-btn-close.gif',
        imageBtnPrev: '/img/lightbox/lightbox-btn-prev.gif',
        imageBtnNext: '/img/lightbox/lightbox-btn-next.gif',
        imageBlank: '/img/lightbox/lightbox-blank.gif'
    });    
}
