// me.pathfinder.gr - button
// Version: 29.November.2010
(function() {
	
	String.prototype.esc  = function() { return window['encodeURIComponent'] ? encodeURIComponent(this) : escape(this); }
	
	return({
		
		initialize : function() {
		
			window.meCounter 	= (window.meCounter || 0) + 1;

			var allScripts 		= [];
			var validScripts  	= [];
			
			for(var e = 0; e < document.getElementsByTagName('script').length; e++)
				allScripts.push(document.getElementsByTagName('script')[e]);

			// Get the ones with me.js
			if(!allScripts.length)
				return;
				
			for(var i = 0; i < allScripts.length; i++) {
				
				if(allScripts[i].src.indexOf('/me.js') !== -1)
					validScripts.push(allScripts[i]);
			}
		
			this.script = validScripts[window.meCounter - 1];
			
			if(!this.script)
				return;
			
			return this.setup();
		},
	
		setup		: function() {
			
			this.iframe 						= document.createElement('iframe');
		
			var layout	 						= this.getAttr(this.script,'data-layout')   	|| 'horizontal';	
			var font							= (this.getAttr(this.script,'data-font')   		|| '').esc();
			var color							= (this.getAttr(this.script,'data-color')   	|| '').esc();
			var dark							= (this.getAttr(this.script,'data-dark')   		|| 'false');
			var url								= (this.getAttr(this.script,'data-url')			|| '').esc();
			var host							= (this.getAttr(this.script,'src')				|| '');
			var src							 	= "";
			
			if(host.indexOf("http://me.pathfinder.gr") !== -1)
				src = "http://me.pathfinder.gr/tools/share/";
			else if(host.indexOf("http://me.dev.pathfinder.gr") !== -1)
				src = "http://me.dev.pathfinder.gr/tools/share/";
			else if(host.indexOf("http://lb.dev.me.pathfinder.gr") !== -1)
				src = "http://lb.dev.me.pathfinder.gr/";
			else
				src = "http://lb.me.pathfinder.gr/";
				
			this.iframe.style.border 			= 'none';
			this.iframe.style.height 			= (layout == 'horizontal' || layout === 'full' ) ? '20px' : '62px';
			this.iframe.style.width 			= layout === 'full' ? '100%' : ( layout === 'horizontal' ? '84px' : '44px');
			this.iframe.style.overflow 			= 'hidden';
			this.iframe.style.verticalAlign 	= layout === 'vertical' ? 'bottom' : 'middle';

			this.setAttr(this.iframe, 'allowTransparency', true);
			this.setAttr(this.iframe, 'frameBorder',  0);
			this.setAttr(this.iframe, 'tabIndex',  0);
			this.setAttr(this.iframe, 'scrolling', 'no');

			var args = [];
			
			if(layout != '')
				args.push('layout=' + layout);
			if(font != '')
				args.push('font=' + font);
			if(color != '')
				args.push('color=' + color);
			if(dark != '')
				args.push('dark=' + dark);
			if(url != '')
				args.push('url=' + url);
			
			this.iframe.src = src + 'iframe.php?' + (args.length > 0 ? args.join('&') : '');
			this.script.parentNode.insertBefore(this.iframe, this.script);	
		},
	
		getAttr		: function(element, attribute) {
			return element.getAttribute ? element.getAttribute(attribute) : element[attribute];
		},
	
		setAttr		: function(element, attribute, value) {
			
		 	if( element.getAttribute ) {
				element.setAttribute ( attribute, value );
			} else {
				element[attribute] = value;
			}
		}
	});
})()['initialize']();
