/*
* Modification  2009-10-05 12:00 arcade_rate.js -> KillBill http://dumatopik.com Email:killbill@dumatopik.com
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*/

var Poll = {list : new Array,user : function(sheet){Poll.list.push(sheet);},start : function(){Poll.addLoadEvent(function(){Poll.apply();});},apply : function(){for (h=0;sheet=Poll.list[h];h++){for (selector in sheet){list = document.getElementsBySelector(selector);if (!list){continue;}for (i=0;part=list[i];i++){sheet[selector](part);}}}},addLoadEvent : function(func){var oldonload = window.onload;if (typeof window.onload != 'function') {window.onload = func;} else {window.onload = function() {oldonload();func();}}}}
Poll.start();function getallpoll(e) {return e.all ? e.all : e.getElementsByTagName('*');}document.getElementsBySelector = function(selector) {if (!document.getElementsByTagName) {return new Array();}var tokens = selector.split(' ');var currentContext = new Array(document);for (var i = 0; i < tokens.length; i++) {token = tokens[i].replace(/^\s+/,'').replace(/\s+$/,'');if (token.indexOf('#') > -1) {var bits = token.split('#');var tagName = bits[0];var id = bits[1];var part = document.getElementById(id);if (tagName && part.nodeName.toLowerCase() != tagName) {return new Array();}currentContext = new Array(part);continue; }if (token.indexOf('.') > -1) {var bits = token.split('.');var tagName = bits[0];var className = bits[1];if (!tagName) {tagName = '*';}var found = new Array;var foundCount = 0;for (var h = 0; h < currentContext.length; h++) {var parts;if (tagName == '*') {parts = getallpoll(currentContext[h]);} else {parts = currentContext[h].getElementsByTagName(tagName);}for (var j = 0; j < parts.length; j++) {found[foundCount++] = parts[j];}}currentContext = new Array;var currentContextIndex = 0;for (var k = 0; k < found.length; k++) {if (found[k].className && found[k].className.match(new RegExp('\\b'+className+'\\b'))) {currentContext[currentContextIndex++] = found[k];}}continue;}if (token.match(/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/)) { var tagName = RegExp.$1;var attrName = RegExp.$2;var attop = RegExp.$3;var attrValue = RegExp.$4;if (!tagName) {tagName = '*';}var found = new Array;var foundCount = 0;for (var h = 0; h < currentContext.length; h++) {var parts;if (tagName == '*') {parts = getallpoll(currentContext[h]);} else {parts = currentContext[h].getElementsByTagName(tagName);}for (var j = 0; j < parts.length; j++) {found[foundCount++] = parts[j];}}currentContext = new Array;var currentContextIndex = 0;var checkFunction; switch (attop) {case '=': checkFunction = function(e) { return (e.getAttribute(attrName) == attrValue); };break;case '~': checkFunction = function(e) { return (e.getAttribute(attrName).match(new RegExp('\\b'+attrValue+'\\b'))); };break;case '|': checkFunction = function(e) { return (e.getAttribute(attrName).match(new RegExp('^'+attrValue+'-?'))); };break;case '^': checkFunction = function(e) { return (e.getAttribute(attrName).indexOf(attrValue) == 0); };break;case '$': checkFunction = function(e) { return (e.getAttribute(attrName).lastIndexOf(attrValue) == e.getAttribute(attrName).length - attrValue.length); };break;case '*': checkFunction = function(e) { return (e.getAttribute(attrName).indexOf(attrValue) > -1); };break;default: checkFunction = function(e) { return e.getAttribute(attrName); };}currentContext = new Array;var currentContextIndex = 0;for (var k = 0; k < found.length; k++) {if (checkFunction(found[k])) {currentContext[currentContextIndex++] = found[k];}}continue; }if (!currentContext[0]){return;}tagName = token;var found = new Array;var foundCount = 0;for (var h = 0; h < currentContext.length; h++) {var parts = currentContext[h].getElementsByTagName(tagName);for (var j = 0; j < parts.length; j++) {found[foundCount++] = parts[j];}}currentContext = found;}return currentContext;}
var xmlhttp 
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('Hiba: Nem tudom elemezni az xmlhttp objektumot');}}return(xmlhttplocal);}

function svote(game_id, vote) 
{
var voteurl = document.getElementById('poll'+game_id); 
voteurl.innerHTML = '<div class="loading"></div>';
xmlhttp.open('get', 'arcade_rate.php?g='+game_id+'&v='+vote,true);
xmlhttp.onreadystatechange = hrp;xmlhttp.send(null);	
}

function hrp() {if(xmlhttp.readyState == 4){if (xmlhttp.status == 200){var response = xmlhttp.responseText;var update = new Array();if(response.indexOf('|') != -1) {update = response.split('|');chtx(update[0], update[1]);}}}}function chtx( div2show, text ) {var IE = (document.all) ? 1 : 0;var DOM = 0; if (parseInt(navigator.appVersion) >=5) {DOM=1};if (DOM) {var viewer = document.getElementById(div2show);viewer.innerHTML = text;}  else if(IE) {document.all[div2show].innerHTML = text;}}
var vote_action = {'a.count' : function(part){part.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 Game_id     = parameterList['g'];
var Voting      = parameterList['v'];

svote(Game_id, Voting); return false;}}
};
Poll.user(vote_action);
