function ratingsys_ratingmouseover(catnum, comment_ID, setnum) {
    var maxrating = jQuery("#maxrating_" + comment_ID).val(); 
    var s = catnum.id.replace("rating_input_form_" + comment_ID + "_" + setnum + "_", '');	
    for (i = 1; i <= maxrating; i++ ){
        if (i <= s) {
            document.getElementById("rating_input_form_" + comment_ID + "_" + setnum + "_" + i).className = "on";
        } else {
            document.getElementById("rating_input_form_" + comment_ID + "_" + setnum + "_" + i).className = "";
        }
    }	
}
function ratingsys_ratingmouseout(me, comment_ID, setnum) {
    var maxrating = jQuery("#maxrating_" + comment_ID).val(); 
    var current = jQuery("#rating_input_form_" + comment_ID + "_" + setnum + "_rating").val();	
    for (i = 1; i <= maxrating; i++) {
        if (i <= current) {
            document.getElementById("rating_input_form_" + comment_ID + "_" + setnum + "_" + i).className = "on";
        } else {
            document.getElementById("rating_input_form_" + comment_ID + "_" + setnum + "_" + i).className = "";
        }
    }
}
function ratingsys_rateIt(me, comment_ID, setnum){
    var s = me.id.replace("rating_input_form_" + comment_ID + "_" + setnum + "_", '');
    document.getElementById("rating_input_form_" + comment_ID + "_" + setnum + "_rating").value = s;
    ratingsys_ratingmouseover(me, comment_ID, setnum);
}

function ratingsys_rateNumber(comment_ID, setnum) {
    var s = jQuery('#select_ratenum_' + comment_ID + '_' + setnum).val();      
    jQuery("#rating_input_form_" + comment_ID + "_" + setnum + "_rating").val(s);
}

function ratingsys_validate() {
    return (ratingsys_ratings_validate() && ratingsys_extracomment_validate()); 
}
                                    
function ratingsys_ratings_validate(){
    var compul_rating = jQuery('#compul_rating_0').val();
    if (compul_rating != null && compul_rating != '') {
        var str_compul_rating_cats = jQuery("#rating_cats_0").val(); 
        if (str_compul_rating_cats == null || str_compul_rating_cats == '') return true; 
        compul_rating_cats = str_compul_rating_cats.split(','); 
        var compul_ratingcat_count = compul_rating_cats.length; 
        var setcount = 0; 
        for ( var i = 0; i < compul_ratingcat_count; i ++) {
            var txt = jQuery("#rating_input_form_0_" + compul_rating_cats[i] + "_rating").val();
            if(txt!="0") setcount ++; 
        }
        if(setcount == 0) {
            alert("Please give me a rating at first.");return false;
        } 
    }
    return true;
}

function ratingsys_extracomment_validate() {
    var str_compul_extracomment_fields = jQuery("#compul_extracomment_fields_0").val(); 
    if (str_compul_extracomment_fields != null && str_compul_extracomment_fields != '') {
        compul_extracomment_fields = str_compul_extracomment_fields.split(','); 
        var compul_extracomment_field_count = compul_extracomment_fields.length; 
        for (var i = 0; i < compul_extracomment_field_count; i ++) {
            var txt = jQuery('#ratingsys_extracomment_field_' + compul_extracomment_fields[i]).val(); 
            if(!txt) { 
                alert("You are missing a extra field."); 
                var extra_field = document.getElementById('ratingsys_extracomment_field_' + compul_extracomment_fields[i]); 
                extra_field.select(); 
                return false; 
            }
        }
    }
    return true; 
}

function ratingsys_onthumbdown(template_id, template_type) {
    jQuery.ajax({      
        type: "post",
        url: ratingsys_plugin_url + "/ratingsys-ajax.php",
        data: "action=thumbdown" + "&id=" + template_id + "&template=" + template_type,
        dataType: "xml",
        success: function(xml){
            if ( jQuery(xml).find("status").text() == "1" ) {
                jQuery("span[name='ratingsys_thumbsdown_" + template_type + "_" + template_id + "']").each( function() {
                    this.innerHTML = jQuery(xml).find("content").text(); 
                });  
            } else if ( jQuery(xml).find("status").text() == "0" ) {
                alert(jQuery(xml).find("msg").text()); 
            }
        },
        error: function(err){
            alert( "Error was occurred while setting the configuration information into DB." );
        }
    }); 
}
function ratingsys_onthumbup(template_id, template_type) {
    jQuery.ajax({
        type: "post",
        url: ratingsys_plugin_url + "/ratingsys-ajax.php",
        data: "action=thumbup" + "&id=" + template_id + "&template=" + template_type,
        dataType: "xml",
        success: function(xml){
            if ( jQuery(xml).find("status").text() == "1" ) {
                if ( jQuery(xml).find("content").text() == '') alert(jQuery(xml).find("msg").text()); 
                jQuery("span[name='ratingsys_thumbsup_" + template_type + "_" + template_id + "']").each( function() {
                    this.innerHTML = jQuery(xml).find("content").text(); 
                });
            } else if ( jQuery(xml).find("status").text() == "0" ) {
                alert(jQuery(xml).find("msg").text()); 
            }
        },
        error: function(err){
            alert( "Error was occurred while setting the configuration information into DB." );
        }
    }); 
}

function process_ratingsys_view(post_id, view_type) {
    jQuery.ajax({
        type: "post", 
        url: ratingsys_plugin_url + "/ratingsys-ajax.php", 
        data: "action=countview" + "&postid=" + post_id + "&viewtype=" + view_type, 
        datatype: "xml", 
        success: function(xml) {}, 
        error: function (err) {  }
    }); 
}

var myTextExtraction = function(node)  
{  
    // extract data from markup and return it  
    if (document.all) {
        if (node.getElementsByTagName('TABLE')[0] != null && node.getElementsByTagName('TABLE')[0].className == 'ratings') {
            return (node.getElementsByTagName('TABLE')[0].getElementsByTagName('TR')[0].getElementsByTagName('TD')[0].getElementsByTagName('input')[0].getAttribute("value")); 
        } 
    } else {
        for ( var x = 0; x < node.childNodes.length; x ++ ) {
            if ( node.childNodes[x].tagName != null && node.childNodes[x].tagName.toLowerCase() == 'table' && node.childNodes[x].className != null && node.childNodes[x].className.toLowerCase() == 'ratings' ) {
                return (node.childNodes[x].childNodes[0].childNodes[0].childNodes[0].lastChild.getAttribute("value")); 
            } 
        }
    }
    
    return node.innerHTML; 
} 