//Namespace
if (typeof EnergyApps == "undefined"){ EnergyApps = { SocialBookmarks: {} } }
if (typeof EnergyApps.SocialBookmarks == "undefined"){ EnergyApps.SocialBookmarks = {}; }


/**
 * @class EnergyApps.SocialBookmarks
 * @namespace EnergyApps
 * @extends Publicis.Lightbox
 * @constructor
 * @param {Object} cfg Configuration options
 * @author Sebastian Sauer
 */

EnergyApps.SocialBookmarks = function (config){
	EnergyApps.SocialBookmarks.superclass.constructor.call(this, config);
	this._origSettings = {
		top: this.top+21,
		left : this.left
	};
	this.initialized = false;
	this.addListener("open", function () {
		if(!this.initialized) {
			this._render();
		}
		this.modalLayer.addClassName("overlay_transparent");
		this._setPosition();
	}, this);
	this.addListener("close", function () {
		this.modalLayer.removeClassName("overlay_transparent");
	}, this);
}
Publicis.extend(EnergyApps.SocialBookmarks, Publicis.Lightbox, {
	_urlEncode : function (url) {
		return encodeURIComponent(url).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+');
	}, 
	/**
	 * render the layer content
	 * @private
	 */
	_render : function () {
		var container = $('share_socialbookmarks_container'),
            tmp = document.createElement('div'),
            mailto;
        /*mailTo = "mailto:?subject=Recommendation%20Siemens%Energy%20Website&body=The%20following%20page%20from%20the%20Siemens%20Energy%20Website%20has%20been%20recommended%20to%20you:%20";
		mailTo += this._urlEncode(window.location.href);*/
		tmp.innerHTML = [
			//'<p><a href="' + mailTo + '" class="share-email">E-Mail this page</a></p>',
			'<div class="share-block">',
				'<h3>Bookmarking Sites</h3>',
				'<ul class="share-links clearfix">',
					'<li><a href="javascript:void(0);" class="share-delicious">Delicious</a></li>',
					'<li class="right"><a href="javascript:void(0);" class="share-yigg">Yigg</a></li>',
					'<li><a href="javascript:void(0);" class="share-linkagogo">Link-a-Gogo</a></li>',
					'<li class="right"><a href="javascript:void(0);" class="share-mrwong">Mister Wong</a></li>',
					'<li><a href="javascript:void(0);" class="share-oneview">OneView</a></li>',
					'<li class="right"><a href="javascript:void(0);" class="share-stumbleupon">StumbleUpon</a></li>',
					'<li><a href="javascript:void(0);" class="share-faves">faves</a></li>',
				'</ul>',
				'<h3>Communities</h3>',
				'<ul class="share-links clearfix">',
					'<li><a href="javascript:void(0);" class="share-facebook">Facebook</a></li>',
					'<li class="right"><a href="javascript:void(0);" class="share-xing">Xing</a></li>',
					'<li><a href="javascript:void(0);" class="share-myspace">MySpace</a></li>',
					'<li class="right"><a href="javascript:void(0);" class="share-friendfeed">Friendfeed</a></li>',
					'<li><a href="javascript:void(0);" class="share-linkedin">LinkedIn</a></li>',
				'</ul>',
				'<h3>News</h3>',
				'<ul class="share-links clearfix">',
					'<li><a href="javascript:void(0);" class="share-digg">Digg</a></li>',
					'<li class="right"><a href="javascript:void(0);" class="share-newsvine">Newsvine</a></li>',
				'</ul>',
				'<h3>Blogs &amp; Microblogs</h3>',
				'<ul class="share-links clearfix">',
					'<li><a href="javascript:void(0);" class="share-twitter">Twitter</a></li>',
				'</ul>',
			'</div>'
		].join("\r\n");
        container.appendChild(tmp);
		sb = new SocialBookmarker(container);
		this.initialized = true;
	},
	/**
	 * @return number y-top-layer-position
	 */
	_calcYPosition : function () {
		var y = 0;
			body = $(document.getElementsByTagName('body')[0]);
		y = body.getDimensions().height;
		if(window.scrollY) {
			y += window.scrollY;
		} else {
			y += document.documentElement.scrollTop;
		}
		y -= this.height;
		y -= 62;
		/**
		 * detect IE6
		 */
		if(Prototype.Browser.IE
			&& parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf('MSIE')+5),10) == 6) {
				y -= this.opener.getDimensions().height;
		}
		return y;
	},
	/**
	 * detect who's the opener and adjust position
	 * @private
	 */
	_setPosition : function () {
		if(!Publicis.isArray(this.trigger)) {
			return;
		}
		if(this.opener.identify() == "open_footer_share_link") {
			$('socialbookmarks_container').setStyle({
				'left' : '615px',
				'top' : this._calcYPosition().toString() + 'px'
			});
		} else {
			$('socialbookmarks_container').setStyle({
				'left' : this._origSettings.left.toString() + 'px',
				'top' : this._origSettings.top.toString() + 'px'
			});
		}
	}
});

document.observe('dom:loaded', function() {
	if($("pagetools-zone").down("a.share-trigger") !== null) {
		var layer = new EnergyApps.SocialBookmarks ({
			layerType : "socialbookmarks",
			idContainer: "socialbookmarks_container",
			scrollTop : false,
			trigger: [
	          	$("pagetools-zone").down("a.share-trigger"),
	          	$("open_footer_share_link")
			]
		});
	}
});



