var xmlHttp;
var currentobj;
var voteobj;
var aftervotetext;
var gpostid;
var req;

//Useful for compatibility
function function_exists( function_name ) { 
  if (typeof function_name == 'string'){
    return (typeof window[function_name] == 'function');
  } else{
    return (function_name instanceof Function);
  }
}

//Javascript Function for JavaScript to communicate with Server-side scripts
function lg_AJAXrequest(scriptURL, postID) {
	xmlHttp = zGetXmlHttpObject();
  if (xmlHttp==null) {
    alert ("Your browser does not support AJAX!");
    return;
  } 
	xmlHttp.onreadystatechange=zvoteChanged;
	xmlHttp.open("GET",scriptURL,true);
	xmlHttp.send(null);
}

function zGetXmlHttpObject() {
  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;
}

function zvoteChanged() { 
  if (xmlHttp.readyState==4) {
    var votedisp = document.getElementById('voteid' + currentobj);
    var votenodisp = document.getElementById('votes' + currentobj);
    var responseText = xmlHttp.responseText;
    var responseArray = responseText.split(",");
    var error = responseArray[0];
    var voteno = responseArray[1];

    if (error == "ippost") {
      alert("Oddano już głos z tego adresu ip na tą pizzerię");
      return;
    }
    if (error == "ip") {
      alert("Oddano już dzisiaj głos z tego komputera, prosimy zagłosować jutro");
      return;
    }
    if (error == "limit") {
      alert("Przekroczono dzienny limit głosowania, głos nie zostanie policzony");
      return;
    }

    currentobj_obj = document.getElementById(currentobj);
    voteobj_obj = document.getElementById(voteobj);
    votewidgetobj_obj = currentobj_obj.parentNode;
    votebuttonobj_obj = voteobj_obj.parentNode;
    currentobj_obj.innerHTML = voteno;
    voteobj_obj.innerHTML = aftervotetext;
    if (aftervotetext == '') {
      votebuttonobj_obj.style.display = 'none';

      votewidgetobj_obj.setAttribute("class", "post_votewidget_closed");
      votewidgetobj_obj.setAttribute("className", "post_votewidget_closed");
    }
  }
}

var isVoted = false;
var post;
function vote(obj, votelinkobj, aftervote, postID ,userID, baseURL) {
  if (isVoted && post == postID) {
    return;
  }
  post = postID;
  isVoted = true;
	currentobj = obj;
	voteobj = votelinkobj;
	gpostid = postID;
	aftervotetext = aftervote;
	var scripturl = baseURL+"/voteinterface.php?type=vote&tid=total&uid="+userID+"&pid="+postID+"&auth="+Math.random();
	lg_AJAXrequest(scripturl,postID);
}

