/**
 * postitManager
 *
 * @package    mivilagunk
 * @subpackage Manager
 * @author     Szijártó Tamás ( szicsu ) <szicsu@jquery.hu>
 * @version    SVN: $Id: $
 */
postitManager = new function(){
	var self = this;
	
	this.data = [];
	this.containerId = 'postitContainer';
	this.postitSwf = '/swf/postit.swf';
	this.displayTime = 20; //s
	this.launchTime = 1; //ms
	
	
	this.init = function(){
		
		if( self.data.length < 1 ){
			return;
		}
		
		window.setTimeout( self.open, self.launchTime);
		
	}
	
	this.open = function(){
		
		if( self.data.length < 1 ){
			return;
		}
		
		data = self.data.shift();
		
		$.cookie( data.cookieName, 1, {expires: data.expires , path: '/'});
		self.display( data );
	}
	
	this.close = function(){
		$('#'+self.containerId).remove();
		return 	self.unBindWinEvent();
	}
	
	this.add = function( data ){
		self.data.push( data );
	}
	
	this.display = function( data ){
		
		$('<div id="'+ self.containerId +'"><div>&nbsp;</div></div>')
			//.appendTo('div.content_left:eq(0)')
			.appendTo('body')
			.css( $.extend( self.getPosition(),
				{
					position: 'absolute',
					color: 'transparent',
					zIndex: 100000
				}
			))
			.find('div').flash( self.postitSwf, {
				width: 320, 
				height: 340, 
				flashvars: {
					postit_text: data.text,
					postit_link: self.formatLink( data.link ),
					postit_meter_code: data.meter_code,
					postit_display_time: self.displayTime
				}, 
				paremeters: {
					wmode: 'transparent',
					quality: 'high'
				}
			});
		
		this.doViewMetering( data.meter_code );
		
		return self.bindWinEvent();
	}
	
	this.doViewMetering = function( meterCode ){
		
		var _gde_mkpmntpmxa = new Image(1,1);
		_gde_mkpmntpmxa.src='http://ad.hit.gemius.pl/redot.gif?l=8/tstamp='+(new Date()).getTime()+'/id='+ meterCode  +'/stparam=mkpmntpmxa';
		
	}
	
	this.getPosition = function(){
		
		return {
			top: parseInt( $(window).scrollTop( ) + 120 ),
			left: parseInt( $('.content:eq(0)').offset().left + 270 )
		}
	}
	
	this.bindWinEvent = function(){
		
		$(window).bind( 'resize.postit, scroll.postit',function(){
			
			if( $.browser.msie ){
				$('#'+self.containerId).css( self.getPosition() );
			}
			else{
				$('#'+self.containerId).animate( self.getPosition(), 200 );
			}	
			
		});
	}
	
	this.unBindWinEvent = function( ){
		$(window).unbind( 'resize.postit, scroll.postit' );
	}
	
	this.formatLink = function( sLink ){
		
		if( sLink.substring( 0, 1 ) == '/' ){
			sLink = window.location.hostname + sLink;
		}
		
		if( !/^https?:\/\//.test( sLink ) ){
			sLink = window.location.protocol +'//'+ sLink; 
		}

		return sLink;
	}
	
}	