var xmlObs=new Array(); function isNull(a) { return typeof a == 'object' && !a; } //get the xml page for attr,rating function rate(attr,rating,lrid) { var i = xmlObs.length; var j = i+1; var min_range=0; var max_range=5; var url = 'http://www.worstholiday.com/wp-content/themes/worstholiday/get_rating_data.php?attr='+attr+'&rating='+rating+'&list_rank_id='+lrid; try { xmlObs[j] = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlObs[j] = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { // client is not using IE xmlObs[j] = new XMLHttpRequest(); } } var xmlhttp = xmlObs[j]; var temp = ''; xmlhttp.open("GET", url,true); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { ratingContent = xmlhttp.responseXML; //the selected rating var old_rating_element = ratingContent.getElementsByTagName("selected"); var old_rating = old_rating_element[0].firstChild.nodeValue; //the message (above the rating buttons) var message_element = ratingContent.getElementsByTagName("message"); var message = message_element[0].firstChild.nodeValue; //total votes var votes_element = ratingContent.getElementsByTagName("votes"); var votes = votes_element[0].firstChild.nodeValue; //average var average_element = ratingContent.getElementsByTagName("average"); var average = average_element[0].firstChild.nodeValue; //rating bar var rating_bar_element = ratingContent.getElementsByTagName("percentage"); var rating_bar_width = rating_bar_element[0].firstChild.nodeValue; //rating bar var rank_element = ratingContent.getElementsByTagName("rank"); var rank = rank_element[0].firstChild.nodeValue; //user feedback (this appears below the rating button box) var user_feedback_element = ratingContent.getElementsByTagName("userfeedback"); if (user_feedback_element[0].firstChild) { // there will be no value if they've already voted var user_feedback = user_feedback_element[0].firstChild.nodeValue; } else { user_feedback = ''; } //set all rating buttons to be unclickable for(var i=min_range;i<=max_range;i++) { var el = document.getElementById('radio_'+i); el.style.className="rating_button_disabled"; } //to change the selected image var el = document.getElementById('radio_'+old_rating); el.style.className="rating_button_selected"; //set the message document.getElementById('rating_title').innerHTML = message; //votes document.getElementById('rqps_num_votes').innerHTML = votes; //average document.getElementById('rqps_average').innerHTML = average; //rating_bar document.getElementById('rqps_rating_bar').style.width = rating_bar_width+'%'; //rank document.getElementById('rqps_rank').innerHTML = rank; //user feed back document.getElementById('user_feedback').innerHTML = user_feedback; } // end if } // end func xmlhttp.send(null); } // end func getXMLContent