var player = false;var pageAjaxMode = false;var pageAjaxLastRequest = false;var currentPlaylist = false;var playlistQueryString = false;var playlistQue = false;var playlistSetPlaying = false;var playlistSetItem = false;var spinner;var spinnerOpts = {  lines: 16, // The number of lines to draw  length: 0, // The length of each line  width: 12, // The line thickness  radius: 29, // The radius of the inner circle  color: '#FFF', // #rgb or #rrggbb  speed: 1.5, // Rounds per second  trail: 10, // Afterglow percentage  shadow: false // Whether to render a shadow};jQuery(document).ready(function() {    enableAjax();});enableAjax = function(){    pageAjaxMode = true;    var loc = getPath(window.location.href);        if(window.location.hash.substring(1) == "" && !isAjaxRestricted(loc)) {        if(loc != "/" && loc) {            window.location = "/#"+loc;        }    }        setAjaxGetRequests("a");    setAjaxPostRequests("form");}setPlaylistItem = function(i){    if(currentPlaylist != playlistQueryString) {        if(player != false) {            jQuery("#jplayerNewPlaylist").load("/music/player"+playlistQueryString+"&newlist=true",function() {                player.setPlaylist(newPlaylist);                playlistSetPlaying = i;                currentPlaylist = i;                setPlayerCompletion();            });        } else {            jQuery("#jplayerPlaylist").load("/music/player"+playlistQueryString,function() {                currentPlaylist = playlistQueryString;                playlistQue = i;            });        }    } else {        player.showPlayer();        player.playItemByUrl(i);    }}setPlaylistItemUnlisted = function(o){    if(player == false) {        jQuery("#jplayerPlaylist").load("/music/player",function() {            playlistSetItem = o;        });    } else {        player.add(o);        player.showPlayer();        player.playItemByUrl(o['mp3']);    }}setPlaylist = function(q){    playlistQueryString = q;    if(currentPlaylist != playlistQueryString) {        jQuery("#jplayerPlaylist").load("/music/player"+playlistQueryString,function() {            currentPlaylist = playlistQueryString;            playlistSetPlaying = true;        });    } else {        player.showPlayer();        player.play();    }}setPlayerCompletion = function(){    if(playlistQue || playlistSetPlaying || playlistSetItem) {        player.showPlayer();                if(playlistQue) {            player.playItemByUrl(playlistQue);        } else if (playlistSetItem) {            player.add(playlistSetItem);            player.showPlayer();            player.playItemByUrl(playlistSetItem['mp3']);        } else {            player.playItemByUrl(playlistSetPlaying);        }        playlistQue = false;        playlistSetPlaying = false;        playlistSetItem = false;    }}setPlayer = function(){}jQuery.address.change(function(event) {    if(pageAjaxMode) {        if( window.location.hash.substring(1) == event.value.substring(1)) return ;        if(window.location.pathname != "/" && !isAjaxRestricted(window.location.pathname)) {            if(event.value && event.value != "/") {                window.location = window.location.href+"#"+event.value;            }        } else if (window.location.pathname != event.value ||            pageAjaxLastRequest && event.value != pageAjaxLastRequest) {                        pageAjaxLastRequest = event.value;            var loc = event.value;            var req = "";            if(isAjaxRestricted(event.value)) {                window.location = event.value;            }            if(loc.indexOf("?") > -1) {                req = loc+"&_content_only=1";            } else {                req = loc+"?_content_only=1";            }            loadSpinner();            jQuery.get(req,function(data) {                setAjaxContent(data);                scroll(0,0);            });        }    }});setAjaxGetRequests = function(ele){    jQuery(ele).each(function() {        var loc = jQuery(this).attr("href");        if(loc && loc != "" && loc.substring(0,1) != "#") {            var url = getPath(loc);            if(!isAjaxRestricted(url) && loc.indexOf("#") == -1) {                jQuery(this).attr("href","/#"+getPath(loc));            }        }    });}isAjaxRestricted = function(page){    var pages = new Array(        "http://",        "https://",        "/Admin",        "mailto:",        "/User",        "/files",        "/images",        "/junkfood",        "/lazerscale2010"    );        for(var i in pages) {        if(page.substring(0,pages[i].length) == pages[i]) {            return true;        }    }    return false;}setAjaxPostRequests = function(ele){    jQuery(ele).each(function() {        var loc  = jQuery(this).attr("action");        var form = this;        if(loc) {            if(loc.substring(0,1) == "/" || loc.indexOf("trash80.com/") > -1) {                jQuery(this).find(":submit").click(function() {                    if(isAjaxRestricted(getPath(loc))                    || loc.indexOf("#") > -1) {                        return true;                    }                    var req = "";                    if(loc.indexOf("?") > -1) {                        req = loc+"&_content_only=1";                    } else {                        req = loc+"?_content_only=1";                    }                    var type = jQuery(form).attr("method");                    if(type == "post") {                        jQuery.post(req, jQuery(form).serialize()+"&"+jQuery(this).attr("name")+"="+jQuery(this).attr("value"), function(data) {                            setAjaxContent(data);                        });                    } else {                        jQuery.address.value(getPath(loc)+"?"+jQuery(form).serialize()+"&"+jQuery(this).attr("name")+"="+jQuery(this).attr("value"));                    }                    return false;                });            }        }    });        jQuery(ele).submit(function(event) {        var loc  = jQuery(this).attr("action");        if(loc) {            if(loc.substring(0,1) == "/" || loc.indexOf("trash80.com/") > -1) {                if(isAjaxRestricted(getPath(loc))                || loc.indexOf("#") > -1) {                    return true;                }                var req = "";                if(loc.indexOf("?") > -1) {                    req = loc+"&_content_only=1";                } else {                    req = loc+"?_content_only=1";                }                var type = jQuery(this).attr("method");                loadSpinner();                if(type == "post") {                    jQuery.post(req, jQuery(this).serialize(), function(data) {                        setAjaxContent(data);                    });                } else {                    jQuery.address.value(getPath(loc)+"?"+jQuery(this).serialize());                }                return false;            }        }    });}loadSpinner = function(){    spinner = new Spinner(spinnerOpts).spin(document.getElementById('header'));}setAjaxContent = function(data){    if(data.substring(0,14) == "_url_redirect:") {        loc = data.substring(14);        loc = loc.replace(window.location.origin,"");        loc = loc.replace(/#([^#]+)/,"");        var req = "";        if(loc.indexOf("?") > -1) {            req = loc+"&_content_only=1";        } else {            req = loc+"?_content_only=1";        }        jQuery.get(req,function(data) {            setAjaxContent(data);        });        //$.address.value(loc);    } else {        jQuery("#content").html(data);        var title = jQuery("#html-title").html();        if(title == "") title = "trash80.com";        jQuery("title").html(title);        setAjaxGetRequests("#content a");        setAjaxPostRequests("form");    }    spinner.stop();}getPath = function(url){    return url.replace("http://"+window.location.hostname,"");}function insertAtCaret(obj, text) {		if(document.selection) {			obj.focus();			var orig = obj.value.replace(/\r\n/g, "\n");			var range = document.selection.createRange();			if(range.parentElement() != obj) {				return false;			}			range.text = text;						var actual = tmp = obj.value.replace(/\r\n/g, "\n");			for(var diff = 0; diff < orig.length; diff++) {				if(orig.charAt(diff) != actual.charAt(diff)) break;			}			for(var index = 0, start = 0; 				tmp.match(text) 					&& (tmp = tmp.replace(text, "")) 					&& index <= diff; 				index = start + text.length			) {				start = actual.indexOf(text, index);			}		} else if(obj.selectionStart) {			var start = obj.selectionStart;			var end   = obj.selectionEnd;			obj.value = obj.value.substr(0, start) 				+ text 				+ obj.value.substr(end, obj.value.length);		}				if(start != null) {			setCaretTo(obj, start + text.length);		} else {			obj.value += text;		}}	function setCaretTo(obj, pos) {		if(obj.createTextRange) {			var range = obj.createTextRange();			range.move('character', pos);			range.select();		} else if(obj.selectionStart) {			obj.focus();			obj.setSelectionRange(pos, pos);		}}playMediaFile = function(t,u,f){    setPlaylistItemUnlisted({		title:t,        markup:"<a href=\""+u+"\" onclick=\"window.location='"+u+"'\">"+t+"</a>",        mp3: f    });}_uacct = "UA-142750-1";urchinTracker();
