if (typeof smp_host === "undefined") {
	smp_host = "http://www.smarketplaces.com";
}
if (typeof smp_widget_params === "undefined"){
	if (typeof smp_use_price_tag === "undefined"){
		smp_use_price_tag = "yes";
	}
	var smp_widget_params ={site_name:smp_site,
			title:widget_title,
			width:smp_widget_width,
			widget_fx:smp_widget_fx,
			seller_info:smp_seller_info,
			sync_transitions:smp_sync_transitions,
			use_price_tag:smp_use_price_tag};
}

function load_widget() {
	document.getElementById('smarketplace-widget').style.width = smp_widget_params.width +'px';
	var widget_height;
	if (smp_widget_params.seller_info == '1') {
		widget_height = Math.round(1.6 * smp_widget_params.width);	
	} else {
		widget_height = Math.round(1.3 * smp_widget_params.width);
	}
	
	var widget_url = smp_host + "/widget-items?";
	for (key in smp_widget_params) {
		widget_url += "&" + key + "=" + escape(smp_widget_params[key]);
	}
	var smp_widget_iframe = '<iframe id="smarketplaces-widget-iframe" name="smarketplaces-widget-iframe" width="' + smp_widget_params.width + '" height="' + widget_height + '" scrolling="no" frameborder="0" src=' + widget_url + '>You need an iframes capable browser to view this content.</iframe>'
	document.getElementById('smarketplace-widget').innerHTML = smp_widget_iframe;
}

function load_search() {
    if (typeof easyXDM === "undefined") {
        // defer until easyXDM is loaded
        window.setTimeout(load_search, 200);
        return;
    }

    var params = {'view-type': 'image',
                  'site_name': smp_widget_params.site_name,
                  'search': getParameterByName('s'),
                  'sort': 'date',
                  'low_price': 0,
                  'high_price': 1000}

    var search_url = smp_host + "/search?";
    for (key in params) {
        search_url += "&" + key + "=" + escape(params[key]);
    }
    var smp_search_iframe = '<iframe id="smarketplaces-search-iframe" name="smarketplaces-search-iframe" width="100%" height="325px" scrolling="no" frameborder="0" src=' + search_url + '></iframe>'

    $('.post_box').last().after(smp_search_iframe);

    var socket = new easyXDM.Socket({
        remote: smp_host + '/xdm',
        onMessage: function(message, origin){
            if (message == "hide") {
                $("#smarketplaces-search-iframe").hide();
            }
        }
    });

    socket.postMessage("check_search");
}

function getParameterByName(name) {
    var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);

    return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}

function init() {
    load_widget();

    if (smp_widget_params.site_name == "indietot" || smp_widget_params.site_name == "borrowedandbleu") {
        var keyword = getParameterByName('s');
        if (!!keyword) {
            var easyxdm = document.createElement('script');
            easyxdm.setAttribute("type","text/javascript")
            easyxdm.setAttribute("src", smp_host + '/static/javascript/extern/easyXDM.js')
            document.getElementsByTagName('head')[0].appendChild(easyxdm);
            
            load_search();
        }
    }
}

function addEvent( obj, type, fn ) {
    if ( obj.attachEvent ) {
        obj['e'+type+fn] = fn;
        obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
        obj.attachEvent( 'on'+type, obj[type+fn] );
    } else
        obj.addEventListener( type, fn, false );
}

function removeEvent( obj, type, fn ) {
    if ( obj.detachEvent ) {
        obj.detachEvent( 'on'+type, obj[type+fn] );
        obj[type+fn] = null;
    } else
        obj.removeEventListener( type, fn, false );
}

// Ghetto $(document).ready from John Resig himself
// http://stackoverflow.com/questions/799981/document-ready-equivalent-without-jquery/3765710#3765710
var ready = ( function () {
    function ready( f ) {
        if( ready.done ) return f();

        if( ready.timer ) {
            ready.ready.push(f);
        } else {
            addEvent( window, "load", isDOMReady );
            ready.ready = [ f ];
            ready.timer = setInterval(isDOMReady, 13);
        }
    };

    function isDOMReady() {
        if( ready.done ) return false;

        if( document && document.getElementsByTagName && document.getElementById && document.body ) {
            clearInterval( ready.timer );
            ready.timer = null;
            for( var i = 0; i < ready.ready.length; i++ ) {
              ready.ready[i]();
            }
            ready.ready = null;
            ready.done = true;
        }
    }

    return ready;
})();

ready(init);

