BooeepShare = {
	
	params: {
		currUrl:	document.location.href,
		siteId:		1,
		isOpen:		false
	},
	
	init: function( params )
	{
		var me = this;
	
		// load user defined params
		if ( params ) {
			$.extend( me.params, params );
		}
		
		$('#share_heading').click( function() {
			me.togglePane();
		} );
	},
	
	sendEmail: function()
	{
		if ( !FavoritesWidget.enforceLogin() )
			return;
	
		var me = this,
			sendForm = document.forms['share_email_form'],
			emailRegex = /^((?:\w+[^\w\s@]?)+)@((?:[^\.@\s]+\.)+[a-z]{2,}|(?:\d{1,3}\.){3}\d{1,4})$/,
			goodEmails = new Array();
			
		$(sendForm.send_email.value.split(/,|;|\s/)).each( function() {
			if( emailRegex.test(this) ) {
				goodEmails.push(this.toString() );
			}
		} );

		if ( goodEmails.length < 1 ) {
			alert('Please enter a valid email.');
			$('#send_email').focus();
			return false;
		}
		
		// send request
		$.ajax( {
			type:		'POST',
			url:		'/global/ajax/share/sendPage',
			data:		{
							site_id:	me.params.siteId,
							recipients:	$.toJSON( goodEmails ),
							msg:		sendForm.send_msg.value,
							url:		me.params.currUrl
						},
			dataType:	'json',
			success:	function(response)
						{
							if ( response.status == 'ok' ) {
								sendForm.reset();
								alert('Your message has been sent!');
							}
							else {
								alert( response.message || 'error' );
							}
						}
		} );
 	},
	
	actionAddThis: function( element )
	{
		var me = this;
		
		type = element.getAttribute('share_type');
		
		addthis_url = me.params.currUrl; // stupid hack...
		addthis_open( element, '', me.params.currUrl, '[TITLE]' );
		addthis_sendto( type );
		addthis_close();
	},
	
	updateCurrUrl: function( url )
	{
		var me = this;
	
		// update the params
		me.params.currUrl = url;
		
		// update the permalink field
		$('#permalink_field')[0].value = url;
	},
	
	togglePane: function( forceOpen )
	{
		var me = this;
	
		if ( !me.params.isOpen ) {
			$('#share_wrapper').addClass('pane_open');
			me.params.isOpen = true;
			if ( jQuery.browser.msie ) {
				$('#share_wrapper').show(); 
			}
			else {
				$('#share_wrapper').slideDown();
			}
		}
		else if ( !forceOpen ) {
			$('#share_wrapper').removeClass('pane_open');
			me.params.isOpen = false;
			if ( jQuery.browser.msie ) {
				$('#share_wrapper').hide(); 
			}
			else {
				$('#share_wrapper').slideUp();
			}
		} 
	}
};
