function set_crit_mod(module, id){
     if ( $j.browser.msie ) {
         var content = new Array();
        $j('.rating_block').hover(function(){
            $j(".gird_view_element_holder").each(function(i){
                content[i] = $j(this).html();
                $j(this).resizable({ 
                    handles: { 'e': '.ui-resizable-e'},
                    minWidth: 56,
                    maxWidth: 256,
                    resize: function(event, ui){
                       reposition = ui.position;
                       var size = ((ui.size.width-56)/200);
                       var lable = $j(this).parents(".gird_row").find('.gird_lable').text();
                       $j(this).children().attr("title",lable+ ' '+size);
                       $j(this).find(".gird_view_drag_button").text(size);
                       $j(this).css('background-color',rating_to_color(size));
                       get_current_total($j(".gird_view_element_holder").index($j(this)),size);
                    },
                    stop: function(event, ui){
                        content[$j(".gird_view_element_holder").index($j(this))] = $j(this).html();
                        var size = ((ui.size.width-56)/200);
                        save_crit_mod(module,id,$j(this).children('span').attr("class"),size);
                    }
                });
            });
            $j(".gird_view_element_holder")
        },function(){ 
            $j(".gird_view_element_holder").each(function(i){
                $j(this).resizable( "destroy" ).html(content[i]);
            });
        }); 
     }else{
         $j(".gird_view_element_holder").resizable({ 
            handles: { 'e': '.ui-resizable-e'},
            minWidth: 56,
            maxWidth: 256,
            resize: function(event, ui){
               reposition = ui.position;
               var size = ((ui.size.width-56)/200);
               var lable = $j(this).parents(".gird_row").find('.gird_lable').text();
               $j(this).children().attr("title",lable+ ' '+size);
               $j(this).find(".gird_view_drag_button").text(size);
               $j(this).css('background-color',rating_to_color(size));
               get_current_total($j(".gird_view_element_holder").index($j(this)),size);
            },stop: function(event, ui) {
                var size = ((ui.size.width-56)/200);
                save_crit_mod(module,id,$j(this).children('span').attr("class"),size);
            }
        });
     }
}

function get_current_total(index, rating){
    var count_crits = 0;
    var total = 0;
    $j(".gird_view_element_holder").each(function(i){
        if(i == index){
            total = total + parseFloat(rating);
        }else{
            total = total + parseFloat($j(this).text());
        }
        count_crits++
    });
    total = Math.round((total/count_crits)*1000)/1000;
    if(total===0 || total===1){
        $j(".gird_view_rating").addClass("large");
    }else{
        $j(".gird_view_rating").removeClass("large");
    }
    $j(".gird_view_rating").text(total).css("color",rating_to_color(total));
}


function rating_to_color(rating){
    var r = 255;
    var g = 255;
    var b = 0
    var reverse;
    if(rating > 0.5){
        reverse = 1 - rating;
        r = parseInt(510*reverse);
    }else if(rating < 0.5){
        reverse = rating;
        g = parseInt(510*reverse);
    }
    return '#'+dec_to_hex_color(r)+dec_to_hex_color(g)+dec_to_hex_color(b);
}


function dec_to_hex_color(i){
  if(i<0)i=0;
  if(i>255)i=255;
  var result = 0;
  if(i <= 15){ 
      result = "0" + i.toString(16); 
  }else{
      result = i.toString(16); 
  }
  return result;
}

//////////////////////////////////////////////
//              AJAX BLOCK                  //
//////////////////////////////////////////////

function save_crit_mod(module, id, crit, mod){
    $j.ajax({
        url: "index.php",
        type: "POST",
        data: {
            'save_crit_mod[module]': module,
            'save_crit_mod[id]':     id,
            'save_crit_mod[crit]':   crit,
            'save_crit_mod[mod]':    mod
        },
        success:function(info){
            if(info){
                alert(info);
            }
        }
    });
}

function change_rating_map(type,value){
    $j('.rating_block').html('<div style="text-align:center;height:'+$j('.rating_block').height()+'px;width:'+$j('.rating_block').width()+'px;"><img src="/images/updater.gif" /></div>');
    $j.ajax({
        url: "index.php",
        type: "POST",
        data: {
            'change_rating_map[module]': $j('#rating_module_name').text(),
            'change_rating_map[id]':     $j('#rating_object_id').text(),
            'change_rating_map[type]':   type,
            'change_rating_map[value]':  value
        },
        success:function(info){
            $j('.rating_block').html(info);
        }
    });
}
