var ss = {};


$(document).ready(function(){
	
	$(".jshide").css("display","none");
	$(".jsshow").css("display","").css("visibility","visible").removeClass("none");
});

ss.extractHostname = function(str) {
    if (!str.length) return '';
    var re = new RegExp('^(?:f|ht)tp(?:s)?\://([^/]+)', 'im');
    var match = str.match(re);
    if (match && match[1]){
	return match[1].toString();
    } else {
	return '';
    }
};

ss.ajax = function(params){
    var data = params.data;
    
    var myhost = window.location.hostname;
    var reqhost = ss.extractHostname(params.url);

    if(params.ref){
	if(data.length) data = data+'&';
	data = data + 'json=' + escape($.toJSON(params.ref)).replace( /[+]/g, '%2B' );
    }

    var error = function(){ss.error('An error has occurred.<br />StreetStyle.com has been notified of the problem.')};

    var success = function(r){

	if (params.success){
	    params.success(r);
	}
	else if (params.error){
	    ss.error(error);
	}
    }

    if (myhost == reqhost || !reqhost){
	$.ajax({
	    type: "POST",
	    url: params.url,
	    data: data,
	    dataType: 'json',
	    success: success,
	    error : error
	});
    } else {
	$.getJSON(params.url, data + '&jsoncallback=?',success);
    }
};

ss.overlay = function(msg){
    $("body").append("<div id='overlay' style='height:"+$(document).height()+"px'></div>").append("<div id='overlay_msg' style='top:"+($(window).scrollTop()+200)+"px'>"+msg+"</div>");
    $("body").click( function() { $("#overlay").remove(); $("#overlay_msg").remove() } );
};

ss.error = function(msg){
    ss.overlay("<div class='red b'>"+msg+"</div>");
};

ss.limit = function(text,length){
    if (text.length > length)
	return text.substr(0,length-3)+"...";
    return text;
};
