
function init_yolink( $tigr_apikey, wpversion )
{
   
   tigr.yolink.Widget.initialize(
    {
		display			: 'form',
		getSearch		: function(){  return yolink_getLinksHTML( wpversion ); },                
		base    	        : 'http://www.wordpress.org/wordpress/',
		popover			: true,
		showTools   	        : 'result',
		selectAll               : true,
		share                   : 'local',
		googledocs              : 'local',
		
		tweet                   : 'local',
		preview                 : 'tab',
		auto                    : false,
		apikey                  :  $tigr_apikey,
		location                : '#yolink_searchbox',
		showHide                : true
   } );
    
}

function initialize_yolink( $tigr_apikey, wpversion , posts)
{
    tigr.yolink.Widget.initialize(
    {
		display			: 'form',
		getSearch		: function(){   return posts; },                
		base    	        : 'http://www.wordpress.org/wordpress/',
		popover			: true,
		showTools   	        : 'result',
		selectAll               : true,
		share                   : 'local',
		googledocs              : 'local',
		
		tweet                   : 'local',
		preview                 : 'tab',
		auto                    : false,
		apikey                  :  $tigr_apikey,
		location                : '#yolink_searchbox',
		showHide                : true       
    });
}


var yolink_baseURL   = undefined;

function yolink_getLinksHTML( wpversion )
{
    try
    {
        var kwords         = $tigr('#yolink_search').val();
        var loc            = window.location.href;
        var iwp            = loc.lastIndexOf('wordpress/' );
        if( iwp < 0 )
        {
            iwp  = loc.lastIndexOf( '/' );
        }
        else
        {
            iwp += 9;
        }

        var baseURL;

        if( yolink_baseURL )
        {
            baseURL = yolink_baseURL;
        }
        else
        {
            baseURL = loc.substring( 0, iwp );
        }

        var search         = '/?s=' + encodeURIComponent( kwords );
        var mineURL        = baseURL + search;
        var htm            = '';
        var isErrDisplayed = false;
        var fourOhFour     = true;

        var onError        = function( message )
        {
            if( !isErrDisplayed )
            {
                var msg =
                    "%0A from:Wordpress account%0A siteURL: " +
                    encodeURIComponent(loc) +
                    " %0A version:" +
                    wpversion +
                    "%0A" +
                    message;

                tigr.yolink.Widget._oops(msg, "Wordpress");

                isErrDisplayed = true;
            }
        };

        var mineIt         = function()
        {
            $tigr.ajax(
            {
                url: mineURL,
                type: 'GET',
                async: false,
                dataType: 'html',
                error : function ( xhr, textStatus, thrownError )
                {
                    if( xhr.status != 404 )
                    {
                        isErrDisplayed = true;
                        onError( "ajaxURL: " + encodeURIComponent(mineURL) + " %0A statusCode: " + xhr.status + "%0A statusText: " + textStatus + "%0A Error: " + thrownError );
                    }
                },
                success: function( data )
                {
                    fourOhFour     = false;
                    yolink_baseURL = baseURL;

                    try
                    {
                        var html   = $tigr( 'div[id^="post-"] a[rel=bookmark],h3[id^="post-"] a[rel=bookmark],h2[id^="post-"] a[rel=bookmark]', $tigr(data));
                        var arrHtm = [];

                        for( i = 0; i < html.length; i++ )
                        {
                            var link = getLink( html[ i ].parentNode );
                            
                            if( link )
                            {
                                var url = link.url;
                                if( url &&
                                    url.length > 0 )
                                {
                                    var protocol = url.substring( 0, 'http://'.length );
                                    if( protocol != 'http://' &&
                                        protocol != 'https:/' )
                                    {
                                        var index = url.lastIndexOf( 'wordpress/' );
                                        if( index < 0 )
                                        {
                                            index = url.lastIndexOf( '/' ) + 1;
                                        }

                                        url = '/' + url.substring( index, url.length);
                                    }

                                    arrHtm.push("<li><a href='" + url + "' >" + link.title + "</a></li>");
                                }
                                else
                                {
                                    arrHtm.push("<li>No url found for wordpress search " + mineURL + "</li>");
                                }
                                htm = arrHtm.join('');
                            }

                        }
                    }
                    catch( e )
                    {
                        onError( "ajaxURL: " + encodeURIComponent(mineURL) + "%0A jsErr: " + e.message );
                    }
                }
            } );
        }

        while( fourOhFour )
        {
            mineIt();

            if( fourOhFour )
            {
                iwp = baseURL.lastIndexOf( '/' );
                if( iwp > 'https://'.length )
                {
                    baseURL = baseURL.substring( 0, iwp );
                    mineURL = baseURL + search;
                }
                else
                {
                    onError( "Search URL could not be determined." );
                }
            }
        }

        return htm;
    }
    catch( e )
    {
        if( !isErrDisplayed )
        {
            var msg = "%0A from: Wordpress Account" + "%0A siteURL: " + encodeURIComponent(window.location.href) + " %0A version:" + wpversion + "%0A jsErr: " + e.message ;
            tigr.yolink.Widget._oops(msg, "Wordpress");
        }
    }
}

function getLink(result)
{
        var su = tigr.yolink.Widget.options.getSearchURL;
        var a = tigr.util.exec( { src : su ? su : 'a', root : result } );

        return { url : $tigr(a).attr('href'), title : $tigr(a).text() };
}

