/* http://www.alternative.com/@@/zojax-crossposting/zojax.crossposting.js */
/*
 * Crossposting 1.0 - jQuery plugin implements simple crossposting
 * 
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $
 *
 */

;(function($) {

    $.fn.crossposting = function(settings) {
			
			settings = $.extend({
				textInputId: "",
                titleInputId: "",
                descriptionInputId: "",
                formId: "",
                buttonId: "",
                text: '',
                title: '',
                description: '',
                url: '',
                confirmMessage: 'Your comment please'
			}, settings);

			var textInput = settings.textInputId ? $('#'+settings.textInputId):false;
			var titleInput = settings.titleInputId ? $('#'+settings.titleInputId):false;
			var descriptionInput = settings.descriptionInputId ? $('#'+settings.descriptionInputId):false;
			var button = settings.buttonId ? $('#'+settings.buttonId):false;
			var form = settings.formId ? $('#'+settings.formId):false;
			
            var cnt = $.fn.crossposting.services.length;
            if (cnt == 0)
                return;
			function click_callback() {
			    cnt -= 1;
			    if (cnt <= 0) {
			        button.click()
			    };
			};
			
			button.one('click', function(){
			        settings.title = settings.title || (titleInput ? titleInput.val():'');
		            settings.description = settings.description || (descriptionInput ? descriptionInput.val():'');
		            settings.text = settings.text || (textInput ? textInput.val():'');
			        for (i = 0; i < $.fn.crossposting.services.length; i++) {
    	                var plugin = $.fn.crossposting.services[i];
    	                plugin({text:settings.text, 
    	                        title:settings.title, 
    	                        description: settings.description,
    	                        url: settings.url,
    	                        confirmMessage: settings.confirmMessage,
    	                        callback: click_callback});
    	            }
    	            return false;
			    });
			
	    };
	    
	$.fn.crossposting.services = [];
	
})(jQuery);

/* http://www.alternative.com/@@/zojax-crossposting/zojax.crossposting.init.js */
$(document).ready(function(){
});


/* http://www.alternative.com/@@/zojax-crossposting-facebook/zojax.crossposting.facebook.js */
/*
 * Crossposting 1.0 - jQuery plugin implements simple crossposting
 * 
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $
 *
 */

;(function($) {

    $.fn.crossposting.services.facebook = function(params) {
        if (!$('#zojax-crossposting-facebook-post').attr('checked'))
            return params.callback()
        FB_RequireFeatures(["Api"], function(){ 
                FB.Facebook.init($.fn.crossposting.services.facebook.api_key, $.fn.crossposting.services.facebook.channel_path);
                var attachment = {'name':params.title,'href': params.url,'description': params.description}
                function stream_callback (post_id, exception) {
                    if (post_id != 'null') {
                        params.callback(post_id)
                    }
                  }
                FB.Connect.streamPublish(params.text, attachment, null, null,
                                         params.confirmMessage,
                                         stream_callback);
            })

    };
    
    $.fn.crossposting.services.push($.fn.crossposting.services.facebook)
	
})(jQuery);

/* http://www.alternative.com/@@/zojax-crossposting-twitter/zojax.crossposting.twitter.js */
/*
 * Crossposting 1.0 - jQuery plugin implements simple crossposting
 * 
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $
 *
 */

;(function($) {

    $.fn.crossposting.services.twitter = function(params) {
        if (!$('#zojax-crossposting-twitter-post').attr('checked'))
            return params.callback()
        //if (!$.fn.crossposting.services.twitter.logged_in) {
        var url = 'http://twitter.com/home?status=' + encodeURIComponent(params.text + ' | ' + params.title + ' ' + params.description + '(' +params.url + ')');
        $.fn.crossposting.services.twitter.spawn_modal_and_wait(url, params.callback)
        //}
    };
    
    $.fn.crossposting.services.twitter.modal_window = null;

    $.fn.crossposting.services.twitter.spawn_modal_and_wait = function (url, callback) {
        $.fn.crossposting.services.twitter.modal_window = window.open(url, '_blank', 'height=600,width=800,left=300,top=200,resizable=yes', true);
        var intervalId = setInterval("$.fn.crossposting.services.twitter.waitForWindow()", 500);

        $.fn.crossposting.services.twitter.waitForWindow = function() {
            if ($.fn.crossposting.services.twitter.modal_window.closed) {
                //window.location.href=$('#redirect_url_div').innerHTML;
                clearInterval(intervalId);
                callback();
            }
        }
    };
    
    $.fn.crossposting.services.push($.fn.crossposting.services.twitter);
    
})(jQuery);

