/* --- blogfrog2w1 + mybloglog.avatars
	wersja 4 - poprawione pokazywanie awatara dla linkow do profilu bloxa
*/

// funkcja wstawiająca awatary MBL w komentarze
//  DeBergerac (c) 2007 http://debergerac.blox.pl
// 2008-03-14 poprawiana przeze mnie; przy linkowaniu do profilu bloxa pojawia się stałe logo Blox z moich zasobów
function AppendAvatarItems()
{
   var AllLinks = document.getElementsByTagName('div');
   for(i=0; i<AllLinks.length; i++)
   {
      if( AllLinks[i].className.match(/(^|\s)InfoKomentarzAuthor(\s|$)/)) 
      {   
         var BaseElem = AllLinks[i];
		 var InnerAnch = AllLinks[i].getElementsByTagName('a');				
		 if(( InnerAnch!=null )&&( InnerAnch.length>0 ))
		 {
		    var AnchElem = document.createElement("a");
		 	var ImgElem = document.createElement("img");			
			if ( InnerAnch[0].href.substr(7,40) == 'www.blox.pl/html?page=userProfilePreview') {
				AnchElem.href = InnerAnch[0].href;				
				ImgElem.src = "http://sgk74exp.blox.pl/resource/mbl.blox.48.png";				
			} else {
				AnchElem.href = "http://www.mybloglog.com/buzz/co_redir.php?t=&href="+InnerAnch[0].href+"&n=";
				ImgElem.src = "http://pub.mybloglog.com/coiserv.php?href="+InnerAnch[0].href+"&n=";
			}			
			ImgElem.width = 24;
			ImgElem.height = 24;
			ImgElem.vspace = 0;
			ImgElem.hspace = 0;
            AnchElem.appendChild(ImgElem);
			BaseElem.parentNode.insertBefore(AnchElem,BaseElem);
			ImgElem.className = "MBLAvatar";
			i++;
		 }
      }
   }
}

/* --- 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
  http://testblog.blox.pl/2007/09/BlogFrog-Blox-nieco-inaczej.html
 
  SKRYPT 2
  http://debergerac.blox.pl/resource/blogfrog.js
  http://debergerac.blox.pl/2007/09/Integracja-Blox-BlogFrog-i-Gwar-poprawka.html
*/


//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+"/white";
 BlogFrogElem.width = 165;
 BlogFrogElem.height = 28;
 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(/(#[^ ]*)$/,''))+"/white";
 bf.width = 165;
 bf.height = 28;
 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 + wstawianie awatarów MBL w komentarze
function insertBlogFrogMBLAvatars() {
	if (document.getElementById('SkomentujWazkaSzpalta')) {
		AppendAvatarItems();
		insertFrog();		
	} 
	else {
		AppendBlogFrogItems();
	}
}



//procedura właściwa
if (document.getElementById('BlogSzerokaSzpalta')) { 
	insertBlogFrogMBLAvatars();
}
else 
{
	if (window.addEventListener) {
		window.addEventListener('load', insertBlogFrogMBLAvatars, false);
	}
	else { 
		if (window.attachEvent) {
			window.attachEvent('onload', insertBlogFrogMBLAvatars);
		}
	}
}
