/*
Plugin Name: jSocial
Version: 1.0
Plugin URI: http://thatryan.com
Description: jQuery Plugin for Social Linking
Author: Ryan Olson
Author URI: http://thatryan.com

The beautiful icons used in this plugin are by Rogie King of http://www.komodomedia.com/
*/

/* PLUGIN USAGE */
/* 
    All that is needed to display the list is an empty div with the
    class of "social"
    
        <div class="social"></div>  

    At the bottom of your page, above the </body> tag, call the script like this, 
    
    <script type="text/javascript" charset="utf-8">
    $('.social').jsocial({

            //options go in here...
    });
    </script>
    
    The available options, (for now) are as follows, for most enter only your username
    unless otherwise specified. Be sure to surround with '' . For URL's, do not enter the begining http:// 
    
    twitter     : null,     //add your user name
    facebook    : null,     //add your profile URL
    flickr      : null,     //add your user name
    friendfeed  : null,     //add your user name
    delicious   : null,     //add your user name
    digg        : null,     //add your user name
    lastfm      : null,     //add your user name
    linked      : null,     //add your profile URL
    youtube     : null,     //add your profile URL
    feed        : null,     //add your user name
    newPage     : null,     // true or false, opens link in new page
    center      : false,    //true or false, auto center the list
    inline      : false,    //true or false, display list horizontally
    small       : false     //true or false, use small (16x16)pixel icons
    
*/


(function($) {
    
    $.fn.jsocial = function(options) {

        var options = $.extend({
            
            twitter     : null, 
            facebook    : null, 
            flickr      : null, 
            friendfeed  : null, 
            delicious   : null, 
            digg        : null, 
            lastfm      : null, 
            linked      : null, 
            youtube     : null, 
            feed        : null,
            newPage     : null,
            center      : false,
            inline      : false,
            small       : false
            
        },options);
        
    
        return this.each(function() {
            
            if ( options.newPage ) {
                var target = 'target="_blank"';     //if user wants link to open in new page
            };
        
            var $this = $(this),        //cache 'this' , define variables
                total_links = 0,        //used to auto set the width of ul, for centering
                
                list = '<ul class = "social_links">';   //open the list element
                        
if( options.twitter ) {list += '<li><a href="http://twitter.com/' + options.twitter + '" class="twitter" ' + target + '>Twitter</a></li>'; total_links ++;};

if( options.facebook ) {list += '<li><a href="http://' + options.facebook + '" class="facebook" ' + target + ' >Facebook</a></li>'; total_links ++;};

if( options.flickr ) {list += '<li><a href="http://flickr.com/' + options.flickr + '" class="flickr" ' + target + ' >Flickr</a></li>'; total_links ++;};

if( options.friendfeed ) {list += '<li><a href="http://friendfeed.com/' + options.friendfeed + '" class="friendfeed" ' + target + ' >FriendFeed</a></li>'; total_links ++;};

if( options.delicious ) {list += '<li><a href="http://delicious.com/' + options.delicious + '" class="delicious" ' + target + ' >Delicious</a></li>'; total_links ++;};

if( options.digg ) {list += '<li><a href="http://digg.com/users/' + options.digg + '" class="digg" ' + target + ' >Digg</a></li>'; total_links ++;};

if( options.lastfm ) {list += '<li><a href="http://www.last.fm/user/' + options.lastfm + '" class="lastfm" ' + target + ' >Last.FM</a></li>'; total_links ++;};

if( options.linked ) {list += '<li><a href="http://' + options.linked + '" class="linked-in" ' + target + ' >Linked-In</a></li>'; total_links ++;};

if( options.youtube ) {list += '<li><a href="http://' + options.youtube + '" class="youtube" ' + target + ' >YouTube</a></li>'; total_links ++;};

if( options.feed ) {list += '<li><a href="http://feeds.feedburner.com/' + options.feed + '" class="feed" ' + target + ' >Feedburner</a></li>'; total_links ++;};
            
                list += '</ul>';    //close the ul
            
            $this.append(list); //add the list to the DOM
            
            if ( options.inline ) {
                $('ul.social_links li').css('float','left');    //add the float left to each list element
            };  //end inline if
            
            if ( options.small ) {
                $(this).removeClass('social').addClass('social_small');
            };  //end small icons if
            
            if ( options.center ) {     //if user wants social list centered
                
                if ( options.small) {   //if they chose small icons
                    $('ul.social_links').css('width', total_links*26); //calculate the width of the ul for centering
                    
                }
                else {      //else they chose large icons
                
                $('ul.social_links').css('width', total_links*42); //calculate the width of the ul for centering
                };
                
            };  //end centering if
            
        });  //end each
    
    } //end function
    
})(jQuery);


