var ra_voted = false;

function ra_aEv(obj, type, fn) { try { if (obj.addEventListener) { obj.addEventListener(type, fn, false); } else if (obj.attachEvent) { obj["e"+type+fn] = fn; obj[type+fn] = function() { obj["e"+type+fn](window.event); }; obj.attachEvent("on"+type, obj[type+fn]); }} catch (e) {}}
function ra_gOb(n) { return document.getElementById(n); }
function ra_gBTC(obj, tag, clName) { var objs = obj.getElementsByTagName(tag); var robj = new Array(); var j = 0; for (var i = 0; i < objs.length; i++) { if (ra_hCl(objs[i], clName)) robj[j++] = objs[i]; }; return robj; }
function ra_trm(x){return x.replace(/^\s+|\s+$/g,'');}
function ra_hCl(obj, clName) { var clN = ' ' + obj.className + ' '; return (clN.match(' ' + clName + ' ') != null); }
function ra_aCl(obj, clName) { if (!ra_hCl(obj, clName)) obj.className = ra_trm(obj.className + ' ' + clName); }
function ra_rCl(obj, clName) { if (!ra_hCl(obj, clName)) return; var clN = ' ' + obj.className + ' '; eval("obj.className = ra_trm(clN.replace(/ " + clName + " /g,''));"); }

function ra_get_xx(){ var uri = document.location.href; var tmp_uri = uri.split('/'); tmp_uri = tmp_uri[tmp_uri.length - 1].split(','); ra_dxx = tmp_uri[1]; ra_artxx = tmp_uri[2]; }

function ra_show_hint(e){
 if(ra_voted) return;
 var el; if (window.event && window.event.srcElement) { el = window.event.srcElement; }; if (e && e.target) { el = e.target; }; if (!el) { return; }; (e.preventDefault) ? e.preventDefault() : (e.returnValue = false);
 while(el.index < 1 || !el.index) { el = el.parentNode; }
 
 el.style.cursor = 'pointer';
 
 var _rat = /([1-5])/g;
 var _star_no = el.className.match(_rat);
 
 var _box = ra_gBTC(el.parentNode,'div','box')[0];
 if(_box){ _box.innerHTML = el.innerHTML; }
 
 if(ra_rating_half == 'false'){
  ra_rCl(el.parentNode, 'rate_'+ra_rating);
 }else{
  ra_rCl(el.parentNode, 'rate_'+ra_rating+'5');
 }
 ra_aCl(el.parentNode, 'rate_'+_star_no+'hover');
}

function ra_hide_hint(e){
 if(ra_voted) return;
 var el; if (window.event && window.event.srcElement) { el = window.event.srcElement; }; if (e && e.target) { el = e.target; }; if (!el) { return; }; (e.preventDefault) ? e.preventDefault() : (e.returnValue = false);
 while(el.index < 1 || !el.index) { el = el.parentNode; }
 
 el.style.cursor = 'default';
 
 var _rat = /([1-5])/g;
 var _star_no = el.className.match(_rat);
 
 var _box = ra_gBTC(el.parentNode,'div','box')[0];
 if(_box){ _box.innerHTML = ' '; }
 
 ra_rCl(el.parentNode, 'rate_'+_star_no+'hover');
 if(ra_rating_half == 'false'){
  ra_aCl(el.parentNode, 'rate_'+ra_rating);
 }else{
  ra_aCl(el.parentNode, 'rate_'+ra_rating+'5');
 }
}

function ra_vote(e){
 if(ra_voted) return;
 ra_voted = true;
 var el; if (window.event && window.event.srcElement) { el = window.event.srcElement; }; if (e && e.target) { el = e.target; }; if (!el) { return; }; (e.preventDefault) ? e.preventDefault() : (e.returnValue = false);
 while(el.index < 1 || !el.index) { el = el.parentNode; }
 
 el.style.cursor = 'default';
 
 var _rat = /([1-5])/g;
 var _star_no = el.className.match(_rat);
 
 var _box = ra_gBTC(el.parentNode,'div','box')[0];
 if(_box){ _box.innerHTML = 'wysyłanie oceny...'; }
 
 var _rootObj = ra_gOb('rateArticle');
 var _votesQtyObj = ra_gBTC(_rootObj,'p','c2')[0];

 var xmlHttp;
 try{ xmlHttp=new XMLHttpRequest(); } catch (e) {
  try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {
   try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { 
    alert('Twoja przegladarka nie wspiera technologii AJAX');
   }
  }
 }
 xmlHttp.onreadystatechange=function() {
  if(xmlHttp.readyState==4){
   eval('var _ans = ' + xmlHttp.responseText);
   switch(_ans.state){
    case 'OK':
     _box.innerHTML = 'Dziękujemy za ocenę';
     ra_rCl(el.parentNode, 'rate_'+_star_no);
     ra_rCl(el.parentNode, 'rate_'+_star_no+'hover');
     if(!_ans.isHalf){
      ra_aCl(el.parentNode, 'rate_'+_ans.avgRateInt);
     }else{
      ra_aCl(el.parentNode, 'rate_'+_ans.avgRateInt+'5');
     }
     _votesQtyObj.innerHTML = _ans.ratesCount + ' głosów';
     break;
    case 'WARNING':
     _box.innerHTML = 'Artykuł był już przez Ciebie oceniany';
     ra_rCl(el.parentNode, 'rate_'+_star_no);
     ra_rCl(el.parentNode, 'rate_'+_star_no+'hover');
     if(ra_rating_half == 'false'){
      ra_aCl(el.parentNode, 'rate_'+ra_rating);
     }else{
      ra_aCl(el.parentNode, 'rate_'+ra_rating+'5');
     }
     break;
    default:
     ra_voted = false;
     _box.innerHTML = 'Bład podczas oceny artykułu';
     break;
   }
   window.setTimeout(function(){ var _rootObj = ra_gOb('rateArticle'); var _box = ra_gBTC(_rootObj,'div','box')[0]; _box.innerHTML = ' '; },5000);
  }
 }
 var _vote_path = "/rate.do?oper=rateArticle&value(rate_value)="+ _star_no +"&value(xx_product)="+ ra_artxx +"&value(xx_section)="+ ra_dxx;
 xmlHttp.open("GET",_vote_path,true);
 xmlHttp.send(null);
}

function init_ra(){
 
 if(!ra_dxx && !ra_artxx) ra_get_xx();
 var _rootObj = ra_gOb('rateArticle');
 if(_rootObj){
  var _voteObj = ra_gBTC(_rootObj, 'p', 'hint');
  if(_voteObj.length > 0){
   for(var i = 0; i<_voteObj.length; i++){
    _voteObj[i].index = 1;
    ra_aEv(_voteObj[i],'mouseover',ra_show_hint);
    ra_aEv(_voteObj[i],'mouseout',ra_hide_hint);
    ra_aEv(_voteObj[i],'click',ra_vote);
   }
  } 
 }
}

ra_aEv(window, 'load', init_ra);
