// ==UserScript==
// @name           Full Facebook
// @namespace      com.expertsbundle.facebook
// @include        http://www.facebook.com/
// ==/UserScript==

/**
*
*@comment XD because everybody hates the new facebook layout. d[o_o]b
*/

var $body = document.getElementsByTagName('body')[0];
//--
function bid($id){return document.getElementById($id);};
function attr($el,$attrs){ if($el)for(var s in $attrs)$el[s] = $attrs[s]; return $el; };	
function css_attr($el,$attrs){ if($el)for(var s in $attrs)$el.style[s] = $attrs[s]; return $el; };	

if (!Array.prototype.forEach)
{
  Array.prototype.forEach = function(fun /*, thisp*/)
  {
    var len = this.length;
    if (typeof fun != "function")
      throw new TypeError();

    var thisp = arguments[1];
    for (var i = 0; i < len; i++)
    {
      if (i in this)
        fun.call(thisp, this[i], i, this);
    }
  };
}

if(!document.getElementsByClassName)
document.getElementsByClassName = function(cl,parentNode) {
    var retnode = [];
    var myclass = new RegExp('\\b'+cl+'\\b');
    var elem = (parentNode ? parentNode : this ).getElementsByTagName('*');
    for (var i = 0; i < elem.length; i++) {
        var classes = elem[i].className;
        if (myclass.test(classes)) retnode.push(elem[i]);
    }
    return retnode;
};

function unlikedom(el){	
	var d = el.parentNode.nextSibling!=null ? el.parentNode.nextSibling : (el.parentNode);
	d.innerHTML+='<div class="like_box ufi_section"><div class="UIImageBlock clearfix"><i class="UIImageBlock_Image UIImageBlock_ICON_Image img spritemap_icons sx_icons_like_off" style="background-image:url(/rsrc.php/z9DI0/hash/6pudki9k.png); background-repeat:no-repeat; background-position:0 -1741px;"></i><div class="UIImageBlock_Content UIImageBlock_ICON_Content"><a href="http://www.facebook.com/#/!">You</a> hate this.</div></div></div>';
}
function factoryDontLike(base){
	var di = document.createElement('button');
		di.className = 'as_link'; //like_link stat_elem 
	attr(di,{onclick:'fc_expand(this, false); return true;','name':'unlike',title:'Click here to unlike this item'});
		di.addEventListener('click',function(){unlikedom(di);},false);
		di.innerHTML = '<span class="default_message">Unlike</span><span class="saving_message">Like</span>';
		css_attr(di,{'paddingRight':'4px'});
	return di;
}

//Bg
css_attr($body,{background:'#EFEFEF none repeat scroll 0 0;'});
//expand
css_attr(bid('globalContainer'),{'width':'100%'});

//dont like items
(function(){
	var like_links = document.getElementsByClassName('like_link');
	for (var i = 0; i < like_links.length; i++){
		like_links[i].parentNode.insertBefore(	factoryDontLike(like_links[i]) , like_links[i]	);
	}
})();
