/*
* Rating
* @author Jan Molak
*/

var ajaxServerUrl = "http://resources.thewitcher.com/index.php";


var ratingImg =new Array(
    "http://www.thewitcher.com/community/skins/default/rating/mark_0_dark.gif",
    "http://www.thewitcher.com/community/skins/default/rating/mark_1-half_dark.gif",
    "http://www.thewitcher.com/community/skins/default/rating/mark_1_dark.gif",
    "http://www.thewitcher.com/community/skins/default/rating/mark_2-half_dark.gif", 
    "http://www.thewitcher.com/community/skins/default/rating/mark_2_dark.gif",
    "http://www.thewitcher.com/community/skins/default/rating/mark_3-half_dark.gif",      
    "http://www.thewitcher.com/community/skins/default/rating/mark_3_dark.gif",
    "http://www.thewitcher.com/community/skins/default/rating/mark_4-half_dark.gif",
    "http://www.thewitcher.com/community/skins/default/rating/mark_4_dark.gif",      
    "http://www.thewitcher.com/community/skins/default/rating/mark_5-half_dark.gif",
    "http://www.thewitcher.com/community/skins/default/rating/mark_5_dark.gif",
    "http://www.thewitcher.com/community/skins/default/status/default_dark.gif",
    "http://www.thewitcher.com/community/skins/default/status/default_d_dark.gif",
    "http://www.thewitcher.com/community/skins/default/status/waiting_dark.gif",
    "http://www.thewitcher.com/community/skins/default/status/waiting_d_dark.gif",
    "http://www.thewitcher.com/community/skins/default/status/accepted.gif",
    "http://www.thewitcher.com/community/skins/default/status/accepted_d.gif");
 

for (i=0; i<ratingImg.length; i++) new Image().src = ratingImg[i];

function actN(id,n) {
    if(!(n>=1 && n<=5)) return;
    
    for(i=0; i<n; i++) {
        $("f_m_"+id).childNodes[i].src = eval('ratingImg['+(i+1)*2+']');
    } 
    for(i=n; i<$("f_m_"+id).childNodes.length; i++) { 
        $("f_m_"+id).childNodes[i].src = eval('ratingImg[0]');  
    }
}
function deactN(id) {

    for(i=0; i<$("f_m_"+id).childNodes.length; i++) {
        $("f_m_"+id).childNodes[i].src = eval('ratingImg[0]');
    }    
}

function printRating(id, r) {

    var i=0;
    for(i=0; i<parseInt(r); i++) {
    
        $("f_m_"+id).childNodes[i].src = eval('ratingImg['+(i+1)*2+']');
    }
    var rem = r-parseInt(r);
    if(rem>0.00 && rem<=0.25) {
        $("f_m_"+id).childNodes[i].src = eval('ratingImg[0]');
        i++;
    }
    if(rem>0.25 && rem<=0.75) {
        $("f_m_"+id).childNodes[i].src = eval('ratingImg['+(i+1)*2+']');          
        i++;
    }
    if(rem>0.75) {
        $("f_m_"+id).childNodes[i].src = eval('ratingImg['+(i+1)*2+']');   
        i++;
    }    
    
    var fill = 6-i;
    for(i=1; i<=fill;i++) {
        $("f_m_"+id).childNodes[i].src = eval('ratingImg[0]');   
    }                                                           
}

function printRating(r) {

    var i=1;
    var ret="";
    for(i=1; i<=parseInt(r); i++) {
        ret += "<img src='http://www.thewitcher.com/community/skins/default/rating/mark_"+i+"_dark.gif' alt='' />";
    }
    var rem = r-parseInt(r);
    if(rem>0.00 && rem<=0.25) { 
        ret += "<img src='http://www.thewitcher.com/community/skins/default/rating/mark_0_dark.gif' alt='' />";   
        i++;
    }
    if(rem>0.25 && rem<=0.75) {
        ret += "<img src='http://www.thewitcher.com/community/skins/default/rating/mark_"+i+"-half_dark.gif' alt='' />";   
        i++;
    }
    if(rem>0.75) {
        ret += "<img src='http://www.thewitcher.com/community/skins/default/rating/mark_"+i+"_dark.gif' alt='' />";   
        i++;
    }

    var fill = 6-i;
    for(i=1; i<=fill;i++) {
        ret += "<img src='http://www.thewitcher.com/community/skins/default/rating/mark_0_dark.gif' alt='' />";   
    }
    return ret;
}

function rate(a,id,m) {

    var url = ajaxServerUrl+"?a="+a;
    new Ajax.Request(url, {
    
        parameters: {f_id: id, f_m: m},
        method: 'post',
        onLoading: function() {
            $("f_m_"+id).innerHTML = '<img src="http://www.thewitcher.com/community/skins/default/indicator.gif" alt="..." />';
        },
        onSuccess: function(request){
            var json = (request.responseText).evalJSON();
            
            $("f_r_"+json.id).innerHTML = printRating(json.r);
            $("f_m_"+json.id).innerHTML = json.c;
        },
        onFailure: errorHandler,
        onException: exceptionHandler        
    });
}

function makeRequest(a,id) {
	
    var url = ajaxServerUrl+"?a="+a;
    new Ajax.Request(url, {
    
        parameters: {f_id: id},
        method: 'post',
        onLoading: function() {
            switch(a) {
                case "f3bd513ca77313652fcb56408a435973":
                case '451374b877181537bc126737bf33f6fd':                                                      
                    $("f_s_"+id).innerHTML = '<img src="http://www.thewitcher.com/community/skins/default/indicator.gif" alt="..." />';
                    break;
                case "c93a193b3ed13111532b1a6682b16d44":
                    break;
                default: 
                    return false;
            }        
        },
        onSuccess: function(request) {
            var json = (request.responseText).evalJSON();
            switch(a) {
                case "f3bd513ca77313652fcb56408a435973":
                case '451374b877181537bc126737bf33f6fd':                                                      
                    $("f_s_"+json.id).innerHTML = json.s;
                    break;
                case "c93a193b3ed13111532b1a6682b16d44":
                    break;
            }
        },
        onFailure: errorHandler,
        onException: exceptionHandler
    });   
}

function exceptionHandler( request, exception )
{
    //alert("exception:\n"+request.responseText+"\n"+exception);
}

function errorHandler( request )
{
    //alert("error:\n"+request.responseText);
}
