var NUMBER_OF_STARS = 5;
var new_rate = 0;

function init_rating(divId, elemId, clickable) {	
var img_names = new Array(
    "../images/stars/rating_on.gif",
    "../images/stars/rating_half.gif",
    "../images/stars/rating_off.gif",
    "../images/stars/rating_over.gif",
	"../images/stars/submit.gif"
);
var imgs = new Image();
for (var i = 0; i < img_names.length; i++){
    imgs.src = img_names[i];
}
imgs = null;

    var obj = document.getElementById(elemId);
    if (obj == null) return;

    var rating = obj.firstChild.nodeValue;
    obj.innerHTML = "";
    for (var j = 0; j < NUMBER_OF_STARS; j++) {
        var star = document.createElement('img');
        var widgetId = obj.getAttribute('id').substr(7);
        if (rating >= 1) {
            star.setAttribute('src', '../images/stars/rating_on.gif');
            star.className = 'on';
            rating--;
        } else if (rating < 1 && rating >= 0.5) {
            star.setAttribute('src', '../images/stars/rating_half.gif');
            star.className = 'half';
            rating = 0;
        } else {
            star.setAttribute('src', '../images/stars/rating_off.gif');
            star.className = 'off';
        }
        widgetId = obj.getAttribute('id').substr(7);
        star.setAttribute('id', 'star_' + widgetId + '_' + j);
        if (clickable) {
            star.onmouseover = new Function("evt", "displayHover(" + widgetId + ", " + j + ", this);");
            star.onmouseout = new Function("evt", "displayNormal(" + widgetId + ", " + j + ", this);");
            star.onmousedown = new Function("evt", "setRating(this);");
        }
        obj.appendChild(star);
    }
}

function init_rating_order(divId, productId) {    
var img_names = new Array(
    "../images/stars/rating_on.gif",
    "../images/stars/rating_half.gif",
    "../images/stars/rating_off.gif",
    "../images/stars/rating_over.gif",
    "../images/stars/submit.gif"
);
var imgs = new Image();
for (var i = 0; i < img_names.length; i++){
    imgs.src = img_names[i];
}
imgs = null;
    var obj;            
    var tmp = document.getElementById(divId);
    var tmp2 = tmp.getElementsByTagName('div')[0];//[0]    
    obj= $(tmp2).getElementsByTagName('div')[1];//[1]
    //alert(obj.getElementsByTagName('div')[0].innerText);
    //var obj = tmp.getElementsByTagName('div')[0];        
    if (obj == null) return;       
    //var rating = obj.firstChild.nodeValue;    
    //var rating = obj.getElementsByTagName('div')[0].innerText;   
    var rating = obj.getElementsByTagName('div')[0].innerHTML;
    //alert("Rating" + rating);
    obj.innerHTML = "";
    for (var j = 0; j < NUMBER_OF_STARS; j++) {  
    
        var star = document.createElement('img');
        var widgetId = obj.getAttribute('id').substr(7);                
        if (rating >= 1) {
            star.setAttribute('src', '../images/stars/rating_on.gif');
            star.className = 'on';
            rating--;
        } else if (rating < 1 && rating >= 0.5) {
            star.setAttribute('src', '../images/stars/rating_half.gif');
            star.className = 'half';
            rating = 0;
        } else {
            star.setAttribute('src', '../images/stars/rating_off.gif');
            star.className = 'off';
        }
        widgetId = obj.getAttribute('id').substr(7);
        star.setAttribute('id', 'star_' + widgetId + '_' + j);
        //alert('star_' + widgetId + '_' + j);
        star.onmouseover = new Function("evt", "displayHover(" + widgetId + ", " + j + ", this);");
        star.onmouseout = new Function("evt", "displayNormal(" + widgetId + ", " + j + ", this);");
        star.onmousedown = new Function("evt", "setRatingOrder(this, '"+productId+ "', '" + divId +"')");        
        obj.appendChild(star);        
    }
}

function displayHover(ratingId, star, obj) {
    obj.style.cursor = "pointer";
    for (var i = 0; i <= star; i++) {
        document.getElementById('star_' + ratingId + '_' + i).setAttribute('src', '../images/stars/rating_over.gif');        
    }
}

function displayNormal(ratingId, star, obj) {
    obj.style.cursor = "default";
    for (var i = 0; i <= star; i++) {
        var status = document.getElementById('star_' + ratingId + '_' + i).className;
        document.getElementById('star_' + ratingId + '_' + i).setAttribute('src', '../images/stars/rating_' + status + '.gif');
    }
}


function setRating(obj) {

    var tmp = obj.getAttribute('id').substr(5);
    var widgetId = tmp.substr(0, tmp.indexOf('_'));
    var starNbr = tmp.substr(tmp.indexOf('_') + 1);
    var starNbr2 = Math.round((Number(starNbr) + 1));
    new_rate = starNbr2;
    var rate_wraper = document.getElementById('rating_' + widgetId).parentNode;
    var new_rate_div = rate_wraper.getElementsByTagName('div')[4];
    new_rate_div.innerHTML = starNbr2;
    init_rating('productRating', 'rating_1', true);
    var btn_rate_div = rate_wraper.getElementsByTagName('div')[5];
    var input_obj = btn_rate_div.getElementsByTagName('input')[0];
    input_obj.style.cursor = 'pointer';
    input_obj.style.background = 'url(../images/stars/submit.gif)';

}


function setRatingOrder(obj, productId, divId) {
    var tmp = obj.getAttribute('id').substr(5);
    var widgetId = tmp.substr(0, tmp.indexOf('_'));
    var starNbr = tmp.substr(tmp.indexOf('_') + 1);
    var starNbr2 = Math.round((Number(starNbr) + 1));
    new_rate = starNbr2;    
	serviceSaveProductRateOrder(productId, new_rate, divId);
	//updateAllRating(productId);	
}

function init_ratingorder(divId,new_rate, productId) {    
var img_names = new Array(
    "../images/stars/rating_on.gif",
    "../images/stars/rating_half.gif",
    "../images/stars/rating_off.gif",
    "../images/stars/rating_over.gif",
    "../images/stars/submit.gif"
);
var imgs = new Image();
for (var i = 0; i < img_names.length; i++){
    imgs.src = img_names[i];
}
imgs = null;
    var obj;        
    var tmp = document.getElementById(divId);
    var tmp2 = tmp.getElementsByTagName('div')[0];//[0]    
    obj= $(tmp2).getElementsByTagName('div')[1];//[1]    
    if (obj == null) return;
    var rating = new_rate;    
    //alert(rating);
    obj.innerHTML = "";
    for (var j = 0; j < NUMBER_OF_STARS; j++) {
        var star = document.createElement('img');
        var widgetId = obj.getAttribute('id').substr(7);        
        if (rating >= 1) {
            star.setAttribute('src', '../images/stars/rating_on.gif');
            star.className = 'on';
            rating--;
        } else if (rating < 1 && rating >= 0.5) {
            star.setAttribute('src', '../images/stars/rating_half.gif');
            star.className = 'half';
            rating = 0;
        } else {
            star.setAttribute('src', '../images/stars/rating_off.gif');
            star.className = 'off';
        }
        widgetId = obj.getAttribute('id').substr(7);
        star.setAttribute('id', 'star_' + widgetId + '_' + j);        
        star.onmouseover = new Function("evt", "displayHover(" + widgetId + ", " + j + ", this);");
        star.onmouseout = new Function("evt", "displayNormal(" + widgetId + ", " + j + ", this);");
        star.onmousedown = new Function("evt", "setRatingOrder(this, '"+productId+ "', '" + divId +"')");        
        obj.appendChild(star);
    }
}