PHP Classes

File: assets/js/rating.js

Recommend this page to a friend!
  Classes of Michael Beck   XOOPS Publisher Module   assets/js/rating.js   Download  
File: assets/js/rating.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: XOOPS Publisher Module
Publish static HTML content and article with XOOPS
Author: By
Last change:
Date: 4 years ago
Size: 3,418 bytes
 

Contents

Class file image Download
/* Page: rating.js Created: Aug 2006 Last Mod: Mar 11 2007 Handles actions and requests for rating bars. --------------------------------------------------------- ryan masuga, masugadesign.com ryan@masugadesign.com Licensed under a Creative Commons Attribution 3.0 License. http://creativecommons.org/licenses/by/3.0/ See readme.txt for full credit details. --------------------------------------------------------- */ var xmlhttp; /*@cc_on @*/ /*@if (@_jscript_version >= 5) try { xmlhttp=new ActiveXObject("Msxml2.XMLHTTP") } catch (e) { try { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP") } catch (E) { xmlhttp=false } } @else xmlhttp=false @end @*/ if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp = false } } function myXMLHttpRequest() { var xmlhttplocal; try { xmlhttplocal = new ActiveXObject("Msxml2.XMLHTTP") } catch (e) { try { xmlhttplocal = new ActiveXObject("Microsoft.XMLHTTP") } catch (E) { xmlhttplocal = false; } } if (!xmlhttplocal && typeof XMLHttpRequest != 'undefined') { try { var xmlhttplocal = new XMLHttpRequest(); } catch (e) { var xmlhttplocal = false; alert('couldn\'t create xmlhttp object'); } } return (xmlhttplocal); } function sndReq(itemid, rating) { changeText('unit_long' + itemid, '<div class="publisher_loading"></div>'); xmlhttp.open('get', 'include/ajax_rating.php?itemid=' + itemid + '&rating=' + rating); xmlhttp.onreadystatechange = handleResponse; xmlhttp.send(null); } function handleResponse() { if (xmlhttp.readyState == 4) { if (xmlhttp.status == 200) { var response = xmlhttp.responseText; var update = new Array(); if (response.indexOf('|') != -1) { update = response.split('|'); changeText(update[0], update[1]); } } } } function changeText(div2show, text) { // Detect Browser var IE = (document.all) ? 1 : 0; var DOM = 0; if (parseInt(navigator.appVersion) >= 5) { DOM = 1 } // Grab the content from the requested "div" and show it in the "publisher_container" if (DOM) { var viewer = document.getElementById(div2show); viewer.innerHTML = text; } else if (IE) { document.all[div2show].innerHTML = text; } } /* =============================================================== */ var ratingAction = { 'a.rater': function (element) { element.onclick = function () { var parameterString = this.href.replace(/.*\?(.*)/, "$1"); var parameterTokens = parameterString.split("&"); var parameterList = new Array(); for (j = 0; j < parameterTokens.length; j++) { var parameterName = parameterTokens[j].replace(/(.*)=.*/, "$1"); var parameterValue = parameterTokens[j].replace(/.*=(.*)/, "$1"); parameterList[parameterName] = parameterValue; } var theItemid = parameterList['itemid']; var theRating = parameterList['rating']; sndReq(theItemid, theRating); return false; } } }; Behaviour.register(ratingAction);