Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 07-08-2017, 11:47 AM
wolfe wolfe is offline
 
Join Date: Jan 2002
Posts: 900
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Javascript Clean Up..

I use a old Ajax rating system but the code seems a little out dated can anyone help bring it upto date with the same effect


these are the errors im getting.


Attachment 156507

Code:
if (document.images) {
    pic1 = new Image(220, 19);
    pic1.src = "./backend/images/rating_loading.gif";
    pic2 = new Image(25, 75);
    pic2.src = "./backend/images/rating_star.png";
    pic3 = new Image(25, 75);
    pic3.src = "./backend/images/rating_star_2.png";
    pic4 = new Image(16, 13);
    pic4.src = "./backend/images/rating_tick.gif";
    pic5 = new Image(14, 14);
    pic5.src = "./backend/images/rating_warning.gif";
}
// AJAX ----------------------------------------
var xmlHttp

function GetXmlHttpObject() {
    var xmlHttp = null;
    try {
        // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    } catch (e) {
        // Internet Explorer
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}
// Calculate the rating
function rate(rating, id, show5, showPerc, showVotes) {
    xmlHttp = GetXmlHttpObject()
    if (xmlHttp == null) {
        alert("Your browser does not support AJAX!");
        return;
    }
    xmlHttp.onreadystatechange = function() {
        var loader = document.getElementById('loading_' + id);
        var uldiv = document.getElementById('ul_' + id);
        if (xmlHttp.readyState == 4) {
            //loader.style.display = 'none';
            var res = xmlHttp.responseText;
            //alert(res);
            if (res == 'already_voted') {
                loader.style.display = 'block';
                loader.innerHTML = '<div class="voted_twice">You already voted!</div>';
            } else {
                loader.style.display = 'block';
                loader.innerHTML = '<div class="voted">Thanks for voting!</div>';
                if (show5 == true) {
                    var out = document.getElementById('outOfFive_' + id);
                    //var calculate = res/20;
                    //out.innerHTML = Math.round(calculate*100)/100; // 3.47;
                    out.innerHTML = res; // 3.5;
                }
                if (showPerc == true) {
                    var perc = document.getElementById('percentage_' + id);
                    var newPerc = Math.round(res * 2) * 10;
                    //var newPerc = res;
                    perc.innerHTML = newPerc + '%';
                } else if (showPerc == false) {
                    var newPerc = res;
                }
                if (showVotes == true) {
                    var votediv = document.getElementById('showvotes_' + id).firstChild.nodeValue;
                    var splitted = votediv.split(' ');
                    var newval = parseInt(splitted[0]) + 1;
                    if (newval == 1) {
                        document.getElementById('showvotes_' + id).innerHTML = newval + ' Vote';
                    } else {
                        document.getElementById('showvotes_' + id).innerHTML = newval + ' Votes';
                    }
                }
                var ulRater = document.getElementById('rater_' + id);
                ulRater.className = 'star-rating2';
                var all_li = ulRater.getElementsByTagName('li');
                // start at 1 because the first li isn't a star
                for (var i = 1; i < all_li.length; i++) {
                    all_li[i].getElementsByTagName('a')[0].onclick = 'return false;';
                    all_li[i].getElementsByTagName('a')[0].setAttribute('href', '#');
                }
                if (navigator.appName == 'Microsoft Internet Explorer') {
                    uldiv.style.setAttribute('width', newPerc + '%'); // IE
                } else {
                    uldiv.setAttribute('style', 'width:' + newPerc + '%'); // Everyone else
                }
            }
        } else {
            loader.innerHTML = '<img src="./backend/images/rating_loading.gif" alt="loading" />';
        }
    }
    var url = "rating_process.php";
    var params = "id=" + id + "&rating=" + rating;
    xmlHttp.open("POST", url, true);
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", params.length);
    xmlHttp.setRequestHeader("Connection", "close");
    xmlHttp.send(params);
}
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 05:22 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06205 seconds
  • Memory Usage 2,189KB
  • Queries Executed 14 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete