/* --- blox.blogfrog2w1.js ---
  połączenie dwóch skryptów osadzania wklejki do głosowania BlogFrog na blogach z blox.pl w jeden
  pokazuje wklejkę zarówno na stronie głównej jak i na stronie z komentarzami
  wersja 5 (2007.10.02)
  eskey (http://sgk74exp.blox.pl)
  
  SKRYPT 1
  http://testblog.blox.pl/resource/blox.frog.js
  wersja: 0.1  (21.09.2007)
  autor: s.z.y.m.o.n@gazeta.pl
  http://testblog.blox.pl/2007/09/BlogFrog-Blox-nieco-inaczej.html
  wstawia wklejkę do głosowania na stronie z pojedynczą notką (komentarze)
 
  SKRYPT 2
  http://debergerac.blox.pl/resource/blogfrog.js
  autor: debergerac@gazeta.pl
  http://debergerac.blox.pl/2007/09/Integracja-Blox-BlogFrog-i-Gwar-poprawka.html
  wstawia wklejkę do głosowania na stronie głównej, z listą blogowych wpisów
*/


//funkcje encode64 i encode pochodza z orginalnego skryptu wstawiającego widget BlogFroga. 
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

function encode64(input){
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   do {
      chr1 = input.charCodeAt(i++);
      chr2 = input.charCodeAt(i++);
      chr3 = input.charCodeAt(i++);

      enc1 = chr1 >> 2;
      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
      enc4 = chr3 & 63;

      if (isNaN(chr2)) {
         enc3 = enc4 = 64;
      } else if (isNaN(chr3)) {
         enc4 = 64;
      }

      output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) +
         keyStr.charAt(enc3) + keyStr.charAt(enc4);
   } while (i < input.length);

   return output;
}

function encode(val){
   return encode64(val).replace(new RegExp('/','g'),'_').replace(new RegExp('\\+','g'),'-').replace(new RegExp('=','g'),':');
}

//funkcje debergeraca
function AppendBlogFrogItem( BaseNode, PermaLink ){
 id = encode(PermaLink);
	
 var BlogFrogElem = document.createElement("iframe");
 BlogFrogElem.src = "http://blogfrog.pl/index.php/wpisy/vote_button/"+id;
 BlogFrogElem.width = 224;
 BlogFrogElem.height = 33;
 BlogFrogElem.frameBorder = 0;
 BlogFrogElem.setAttribute("scrolling","no");
 BaseNode.appendChild(BlogFrogElem);
}

function AppendBlogFrogItems(){
   var AllLinks = document.getElementsByTagName('a');
   for(i=0; i<AllLinks.length; i++)
   {
      if( AllLinks[i].className.match(/(^|\s)IPTlinkuj(\s|$)/)) 
      {
         var BaseElem = AllLinks[i];
			var NewElem = document.createElement("p");		
			BaseElem.parentNode.insertBefore(NewElem,BaseElem);
			AppendBlogFrogItem( NewElem, AllLinks[i].href );
      }
   }
}

//funkcja szymona
function insertFrog(){
 var bf = document.createElement('iframe');
 bf.id = 'BloxFrog';
 bf.src = 'http://blogfrog.pl/index.php/wpisy/vote_button/'+encode(document.URL.replace(/(#[^ ]*)$/,''));
 bf.width = 224;
 bf.height = 33;
 bf.frameBorder = 0;
 bf.setAttribute('scrolling','no');
 var d = document.getElementById('PolecWpisStrKom');
 d.parentNode.insertBefore(bf, d);
}


//moja funkcja 2w1 dla łatwiejszej obsługi procedury.
function insertBlogFrogVoting() {
 if (document.getElementById('SkomentujWazkaSzpalta')) {insertFrog();} else {AppendBlogFrogItems();}
}


//procedura właściwa
if (document.getElementById('BlogSzerokaSzpalta')) { insertBlogFrogVoting();}
else 
{
  if (window.addEventListener) {window.addEventListener('load', insertBlogFrogVoting, false);}
  else { 
			if (window.attachEvent) {window.attachEvent('onload', insertBlogFrogVoting);}
		}
}

