




if (typeof(disqus_iframe_css) == 'undefined') {
	disqus_iframe_css = '';
}
if (typeof(disqus_def_name) == 'undefined') {
	disqus_def_name = '';
}
if (typeof(disqus_def_email) == 'undefined') {
	disqus_def_email = '';
}
if (typeof(disqus_skip_auth) == 'undefined') {
	disqus_skip_auth = false;
}
if (typeof(disqus_default_text) == 'undefined') {
	disqus_default_text = 'Type your comment here.';
}

(function(){
	
	var ie = document.uniqueID
		&& document.compatMode
		&& !window.XMLHttpRequest
		&& document.execCommand ;

	try {
		if(!!ie) {
			document.execCommand("BackgroundImageCache", false, true);
		}
	} catch(e) {};
})();

var Dsq = new function() {
	this.container = document.getElementById('dsq-content');
	this.jsonData = {"reactions": [], "has_more_reactions": false, "users": {"David_E": {"username": "David_E", "tumblr": "", "display_name": "David_E", "url": "http://disqus.com/David_E/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 5, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5314/avatar32.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "jabartlett": {"username": "jabartlett", "tumblr": "", "display_name": "jabartlett", "url": "http://disqus.com/jabartlett/", "registered": true, "linkedin": "", "blog": "http://jabartlett.wordpress.com", "remote_domain": null, "points": 2, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5485/avatar32.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "DwDunphy": {"username": "DwDunphy", "tumblr": "", "display_name": "DwDunphy", "url": "http://disqus.com/DwDunphy/", "registered": true, "linkedin": "", "blog": "http://www.popdose.com", "remote_domain": null, "points": 15, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5322/avatar32.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "EvilNickname": {"username": "EvilNickname", "tumblr": "", "display_name": "EvilNickname", "url": "http://disqus.com/EvilNickname/", "registered": true, "linkedin": "", "blog": "http://www.evilnickname.org/", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5533/avatar32.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "DavidMedsker": {"username": "DavidMedsker", "tumblr": "", "display_name": "DavidMedsker", "url": "http://disqus.com/DavidMedsker/", "registered": true, "linkedin": "", "blog": "http://www.bullz-eye.com", "remote_domain": null, "points": 5, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5698/avatar32.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "18d720b7257c018c6a60f714130f55a3": {"username": "matthew", "tumblr": "", "display_name": "matthew", "url": "http://disqus.com/guest/18d720b7257c018c6a60f714130f55a3/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "peterlee43": {"username": "peterlee43", "tumblr": "", "display_name": "My hmphs", "url": "http://disqus.com/peterlee43/", "registered": true, "linkedin": "", "blog": "http://www.myhmphs.com", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "drcastrato": {"username": "drcastrato", "tumblr": "", "display_name": "drcastrato", "url": "http://disqus.com/drcastrato/", "registered": true, "linkedin": "", "blog": "http://www.drcastrato.blogspot.com", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5688/avatar32.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4756cc9a1c3564d5b6f9281a65d120c6": {"username": "JonCummings", "tumblr": "", "display_name": "JonCummings", "url": "http://disqus.com/guest/4756cc9a1c3564d5b6f9281a65d120c6/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "Old_Davy": {"username": "Old_Davy", "tumblr": "", "display_name": "Old_Davy", "url": "http://disqus.com/Old_Davy/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 2, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5837/avatar32.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "8b375c72c52b9ad2556ba264f5d7dc56": {"username": "George", "tumblr": "", "display_name": "George", "url": "http://disqus.com/guest/8b375c72c52b9ad2556ba264f5d7dc56/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "WHarrisBullzEye": {"username": "WHarrisBullzEye", "tumblr": "", "display_name": "WHarrisBullzEye", "url": "http://disqus.com/WHarrisBullzEye/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 3, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5347/avatar32.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "onebrownjeff": {"username": "onebrownjeff", "tumblr": "", "display_name": "onebrownjeff", "url": "http://disqus.com/onebrownjeff/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/3/8423/avatar32.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "47a1a69ba781a427979afbf850d5898e": {"username": "Bubba the Elder", "tumblr": "", "display_name": "Bubba the Elder", "url": "http://disqus.com/guest/47a1a69ba781a427979afbf850d5898e/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "234c908e9e11e99c190d032ef0a8f019": {"username": "Mike", "tumblr": "", "display_name": "Mike", "url": "http://disqus.com/guest/234c908e9e11e99c190d032ef0a8f019/", "registered": false, "linkedin": "", "blog": "http://music.consumerhelpweb.com/blog", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "wags": {"username": "wags", "tumblr": "", "display_name": "wags", "url": "http://disqus.com/wags/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "9067b2ea6e0999eec30aaa392d87476f": {"username": "Matracas", "tumblr": "", "display_name": "Matracas", "url": "http://disqus.com/guest/9067b2ea6e0999eec30aaa392d87476f/", "registered": false, "linkedin": "", "blog": "http://www.lost80s.com", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "thefxc": {"username": "thefxc", "tumblr": "", "display_name": "thefxc", "url": "http://disqus.com/thefxc/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5343/avatar32.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4f91d80ae3eea38ea0a827876f901403": {"username": "danat123", "tumblr": "", "display_name": "danat123", "url": "http://disqus.com/guest/4f91d80ae3eea38ea0a827876f901403/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "a16a38cdfe8b2cbd38e8a56ab93238d3": {"username": "scrumble", "tumblr": "", "display_name": "scrumble", "url": "http://disqus.com/guest/a16a38cdfe8b2cbd38e8a56ab93238d3/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/12270/avatar32.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b4a42cc9195422ec8d7cb906cced79e3": {"username": "Breadalbane", "tumblr": "", "display_name": "Breadalbane", "url": "http://disqus.com/guest/b4a42cc9195422ec8d7cb906cced79e3/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "552f4f6bc1f8c3a4ab104af6fcc84924": {"username": "Jeff", "tumblr": "", "display_name": "Jeff", "url": "http://disqus.com/guest/552f4f6bc1f8c3a4ab104af6fcc84924/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "Elaine": {"username": "Elaine", "tumblr": "", "display_name": "Elaine", "url": "http://disqus.com/Elaine/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 3, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/6492/avatar32.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "whiteray": {"username": "whiteray", "tumblr": "", "display_name": "whiteray", "url": "http://disqus.com/whiteray/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "bd3844c0b991acfe72b983e346a184b6": {"username": "Phil", "tumblr": "", "display_name": "Phil", "url": "http://disqus.com/guest/bd3844c0b991acfe72b983e346a184b6/", "registered": false, "linkedin": "", "blog": "http://www.pkmeco.com/familyblog/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "MarlboroTestMonkey7": {"username": "MarlboroTestMonkey7", "tumblr": "", "display_name": "MarlboroTestMonkey7", "url": "http://disqus.com/MarlboroTestMonkey7/", "registered": true, "linkedin": "", "blog": "http://avarana.blogspot.com", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/3/5626/avatar32.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4ce67b0a7cf809131378e750c5b15c31": {"username": "Eric S.", "tumblr": "", "display_name": "Eric S.", "url": "http://disqus.com/guest/4ce67b0a7cf809131378e750c5b15c31/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "steed": {"username": "steed", "tumblr": "", "display_name": "steed", "url": "http://disqus.com/steed/", "registered": true, "linkedin": "", "blog": "http://www.bastardradio.com", "remote_domain": null, "points": 5, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/19665/avatar32.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "e39e4796db942022fd1763302d5971e4": {"username": "Eric K", "tumblr": "", "display_name": "Eric K", "url": "http://disqus.com/guest/e39e4796db942022fd1763302d5971e4/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3e5e0f53ad3bf17c862778c1c4c4b6ee": {"username": "cindy", "tumblr": "", "display_name": "cindy", "url": "http://disqus.com/guest/3e5e0f53ad3bf17c862778c1c4c4b6ee/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "5147f866a0a4536d54ccec2e6386f279": {"username": "clerck", "tumblr": "", "display_name": "clerck", "url": "http://disqus.com/guest/5147f866a0a4536d54ccec2e6386f279/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "forwardgirl": {"username": "forwardgirl", "tumblr": "", "display_name": "forwardgirl", "url": "http://disqus.com/forwardgirl/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/23315/avatar32.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "EightE1": {"username": "EightE1", "tumblr": "", "display_name": "EightE1", "url": "http://disqus.com/EightE1/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 3, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5315/avatar32.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "eddie_w": {"username": "eddie_w", "tumblr": "", "display_name": "eddie_w", "url": "http://disqus.com/eddie_w/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/87/1105/avatar32.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "e9a89cdc47872d22751c77ed99846d6d": {"username": "jack", "tumblr": "", "display_name": "jack", "url": "http://disqus.com/guest/e9a89cdc47872d22751c77ed99846d6d/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "rsbrandt": {"username": "rsbrandt", "tumblr": "", "display_name": "rsbrandt", "url": "http://disqus.com/rsbrandt/", "registered": true, "linkedin": "", "blog": "http://home.comcast.net/~rsbrandt", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/8744/avatar32.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "MatthewBolin": {"username": "MatthewBolin", "tumblr": "", "display_name": "MatthewBolin", "url": "http://disqus.com/MatthewBolin/", "registered": true, "linkedin": "", "blog": "http://popdose.com", "remote_domain": null, "points": 6, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/6853/avatar32.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "JohnHughes": {"username": "JohnHughes", "tumblr": "", "display_name": "JohnHughes", "url": "http://disqus.com/JohnHughes/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 5, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5334/avatar32.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "hemisphire": {"username": "hemisphire", "tumblr": "", "display_name": "hemisphire", "url": "http://disqus.com/hemisphire/", "registered": true, "linkedin": "", "blog": "http://www.hemisphire.com", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/29/4002/avatar32.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "gavadajoe": {"username": "gavadajoe", "tumblr": "", "display_name": "gavadajoe", "url": "http://disqus.com/gavadajoe/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": true, "name": "Popdose", "streaming_realtime": false, "url": "popdose", "allow_anon_post": true, "reactions_enabled": true, "reply_position": 0, "show_avatar": true, "allow_anon_votes": false, "disqus_auth_disabled": false}, "realtime_enabled": false, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "popdose", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-15_14:19:43", "remote_domain": "", "page": 1, "is_moderator": false, "display_username": "", "points": null, "subscribe_on_post": 2, "moderator_can_edit": false, "is_remote": false, "is_verified": false, "missing_perm": null}, "realtime_paused": false, "posts": {"569472": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hmm...First 45 I can remember was \"Saturday Night\" by the Bay City Rollers. Or \"Beth\" by Kiss. Seeing as SN was released in 1973 and I bought the single at a garage sale, I can't really place the time, but it was around 1976.<br><br>First album: \"Foreigner\", Foreigner<br>First cassette: \"Tonight\", David Bowie<br>First CD: \"Umbrella,\" The Innocence Mission", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-01_20:59:24", "killed": false, "user_key": "peterlee43", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "554142": {"up_voted": false, "ip": "", "has_replies": true, "message": "There is not a perfect place to post this, but since we're on the subject  -- where we all fall on the rock/pop continuum -- I wanted to mention there is a relatively new FM station at 100.3 I've discovered in socal.  In the last few weeks, I've heard old debut-era Elvis Costello, \"Shut Your Eyes\" by Snow Patrol, and on the way home tonight I heard Lyle Lovett's \"Church.\"  They're all over the place in a good way. I don't remember the last time I enjoyed listening to terrestrial FM radio.  <a href=\"http://www.thesoundla.com/\" rel=\"nofollow\">listen live</a>.  When I told my husband about it, he said, \"ah.  so they're now creating oldies stations for people *your* age.\"  (please note: he is older than I am.)  But anyway it got me thinking.  Maybe that's what's really going on here.  I don't know who created it (what's AAA?) or what their corporate intentions are, so give it a listen before it starts sucking.  'cuz we all know it will.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-29_21:34:32", "killed": false, "user_key": "Elaine", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 2, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "542726": {"up_voted": false, "ip": "", "has_replies": false, "message": "You are strange.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_12:55:08", "killed": false, "user_key": "MarlboroTestMonkey7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 541858, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "541322": {"up_voted": false, "ip": "", "has_replies": false, "message": "First 45 Single - probably Meco's \"Star Wars Cantina\" or Buckner & Garcia's \"Pac Man Fever\"<br>First Album - Fast Times At Ridgemont High Soundtrack<br>First Cassette - Blue Oyster Cult,  \"Fire Of Unknown Origin\"<br>First CD (s) I bought two at once, U2's Unforgettable Fire, & Tom Waits \"Rain Dogs\"", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_09:32:18", "killed": false, "user_key": "onebrownjeff", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "546071": {"up_voted": false, "ip": "", "has_replies": false, "message": "First LP: Bee Gees - Spirits Having Flown<br>First 45: Survivor - Eye of the Tiger<br>First cassette: Air Supply - Lost in Love<br>First CD: Tom Petty - Southern Accents<br><br>I think the cassette is right -- I had lots of cassettes, taped from my cousins' most excellent record collections before I ever bought a tape of my own.  My fave -- the Eagles' Hotel California on Side A, ELO's Discovery on Side B.  The LP is dead-on, though; bought it at K-Mart for $5.98.  I was a latecomer to CDs; I think I got the Petty used just before I joined both the Columbia and RCA CD clubs and got, like, an instant CD collection.  <br><br>Most recent CD Purchase: Death Cab for Cutie - Narrow Stairs<br>Most recent download: Metallica, Angora 1983<br><br>My moods are all over the place right now.  So are my music selections.<br><br>Rob<br>EightE1", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_21:10:50", "killed": false, "user_key": "EightE1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "561805": {"up_voted": false, "ip": "", "has_replies": false, "message": "Toto IV and Glass Houses, plus Synchronicity, were all I listened to for a good 18 months of my life. No Journey, but Asia's first LP was waiting on deck.<br><br>And I still remember singing \"Makin' It\" in the back of our station wagon, only to have my mom turn around from the front seat and ask, rather accusingly, \"Do you know what that means?\" [No.] \"Then stop saying it.\" [Shrinks into vinyl seat, unsure why.]", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2008-05-31_00:31:32", "killed": false, "user_key": "David_E", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 547511, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "542096": {"up_voted": false, "ip": "", "has_replies": false, "message": "First tape:  unlisted, cheaply made but durable as a tank, venezuelan or mexican Beatles compilation<br>First 45: Michael Jackson's Ben<br>Last 45:  Billy Vera's At this moment ($0.75 discount bin)<br>First LP:  not sure, but it might have been Hall and Oates's Big Bam Boom<br>Last LP: Little River Band's Get Lucky and/or Anderson-Bruford-Wakeman-Howe self titled.<br>First CD: The best of Kansas.  Bought at a cd store which closed a week after. Had no cd player, nor did my friends or acquitances, had to wait 4 months to transfer to tape.  Foolishly overwrote side A.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_11:22:00", "killed": false, "user_key": "MarlboroTestMonkey7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "552212": {"up_voted": false, "ip": "", "has_replies": false, "message": "My first purchase with my own cash came in the spring of 1970 and was one of two LPs: either \"Let It Be\" by the Beatles or \"Chicago II\" with the silver cover. Both are still on the shelves and both play pretty well - not pristine, but no major scratches. I still love the Chicago, but, looking back, the Beatles' album was a lot worse than it should have been, thanks to Phil Spector.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-29_16:20:21", "killed": false, "user_key": "whiteray", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "549271": {"up_voted": false, "ip": "", "has_replies": false, "message": "I would. But just not that.<br><br>Actually, a couple of months ago, I was asked to do a small presentation about what that magical thing is he won't do. Good fun.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2008-05-29_10:28:21", "killed": false, "user_key": "EvilNickname", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 546058, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "552239": {"up_voted": false, "ip": "", "has_replies": false, "message": "I should add: First 45 was 5th Dimension's \"Aquarius/Let the Sun Shine In, 1969.\"<br><br>First cassette: \"Blood, Sweat and Tears,\" 1969.<br><br>First CD: \"High On The Hog\" by The Band, 1999. (I was late to the party.)", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-29_16:24:01", "killed": false, "user_key": "whiteray", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "545820": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Shooting Shark\" actually reminds me of the new Death Cab For Cutie single (or vice versa) but, yes, in the grander context this would be like if Death Cab were best known for sounding like Puddle of Mudd or Three Doors Down.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_20:22:20", "killed": false, "user_key": "a16a38cdfe8b2cbd38e8a56ab93238d3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 542001, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "6485533": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dave: I couldn't find a way to e-mail you directly so I am replying to this post. I am a Blondie fan and I see that you purchase practicly anything made in the 80's and I 'm wondering if you have the Chequered Past LP anywhere in your collection. I know 2 Blondie members were in that group and the album had no singles and this album is nowhere to be found \u00bfAny chance you have it and if so, any what you could share it with me? Let me know at <a href=\"mailto:matrakas@gmail.com\" rel=\"nofollow\">matrakas@gmail.com</a>", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2009-02-22_16:40:32", "killed": false, "user_key": "9067b2ea6e0999eec30aaa392d87476f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "9 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 541994, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "545438": {"up_voted": false, "ip": "", "has_replies": false, "message": "W, we must be of an age - the Thriller and Pyromania cassettes were de rigeur when I was in the 6th grade. And I remember riding home from the mall with my Dad with the Cargo LP on my lap, ready to run in and play it as soon as we got home. <br><br>I think my first 45 I hadtohadtohadto get was Moving Pictures 'What About Me'.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_19:02:52", "killed": false, "user_key": "forwardgirl", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 541891, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "599583": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree..I hear repeats sometimes, too.  But you're right, they're mostly playing and replaying good stuff, as opposed to playing/replaying crap.  So, for now I'm willing to stick with it.  Always ever ready to bolt, though.  I just think I admire a station setup that's trying to mimic someone's ipod.  That's what I think is going on.<br><br>Every city (it seems) has a Bob-FM station nowadays, which has a similar premise but you hear the same Maroon 5 song 3x/day.  At least at The Source, it'll be World Party or obscure 80's new wave.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2008-06-05_12:10:08", "killed": false, "user_key": "Elaine", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 597117, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "541858": {"up_voted": false, "ip": "", "has_replies": true, "message": "first tape: I think Raiders of the Lost Ark soundtrack., followed by Thriller.<br>first CD: Pantera, \"Vulgar Display of Power\"<br>first MP3: The Doves, \"Some Cities\"", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_10:53:03", "killed": false, "user_key": "drcastrato", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "545572": {"up_voted": false, "ip": "", "has_replies": true, "message": "I've still got to go with his '83 look: <a href=\"http://youtube.com/watch?v=L72uh4u5WCw\" rel=\"nofollow\">http://youtube.com/watch?v=L72uh4u5WCw</a>  Plus, this video was all over MTV that summer.  It's interesting, because he didn't go right from metal to soul.  His album \"The Hunger\" that has \"Wait on Love\" is all over the map.  It's got some great songs with co-writers like Jonaton Cain/Neal Schon and Martin Briley.  But then he does an audio \"jump the shark\" by co-writing the last song \"Walk Away\" with non other than Dianne Warren.  This last song was also produced separately from the rest of the album by someone named Susan Hamilton.  I don't know who she is, but between her and Warren they took his manhood and it was never heard from again.<br><br>One other interesting note on \"The Hunger\" is that of a couple of the song feature the remaining Journey line-up at that time:  Cain, Schon, Mike Baird and Randy (American Idol) Jackson.  Does anyone know if these were demos or auditions for Bolton as Journey's new lead singer?  I believe this is about the time that Steve Perry walked away.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_19:29:21", "killed": false, "user_key": "4ce67b0a7cf809131378e750c5b15c31", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": 541015, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "546054": {"up_voted": false, "ip": "", "has_replies": false, "message": "There's nothin' wrong with either \"Love Rollercoaster\" (Say what?!) or \"Jive Talkin'\".<br><br>But Ted Nugent is an armadillo douche.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_21:08:32", "killed": false, "user_key": "DwDunphy", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 545878, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "541862": {"up_voted": false, "ip": "", "has_replies": true, "message": "Is it me or doesn't Blue Mercedes Titlow sounds like ABC's Martin Fry?  I always thought this a lot ABC single.  Harsh delayed reality.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_10:53:31", "killed": false, "user_key": "MarlboroTestMonkey7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "544305": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wow, not sure how I missed this thread. <br><br>First 45: Captain & Tennille, \"Shop Around\"<br>First LP: Kiss, Destroyer<br>First cassette: Asia, Asia (I think)<br>First CD: Roxy Music, Avalon (gift), New Order: Low Life (purchase)<br><br>\"Pretty Boys and Pretty Girls\" was one of my least favorite of the Book of Love singles. Hopefully the stuff you're hearing now is from the first album. Love the Boomtown Rats, too. That whole album that \"Mondays\"  is from is great. I also loved the Bourgeois Tagg and even the Bonham song. Nice list, my man. <br><br>And I know I shouldn't, but I really like \"Shooting Shark.\" Sue me.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_16:17:37", "killed": false, "user_key": "DavidMedsker", "has_been_anonymized": false, "edited": false, "author_is_moderator": true, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "544936": {"up_voted": false, "ip": "", "has_replies": true, "message": "My memory kinda sucks but I think it went down like this:<br><br>First 45: either \"Come And Get Your Love\" by Redbone or \"Sweet Talkin' Woman\" by ELO<br><br>First cassette: either The Cars \"Candy-O\" or Scorpions \"Blackout\"<br><br>First LP: Well, with my own money, it would be Rush \"Signals\" but I was always a music freak, so people would give me records at every occasion. <br>Now I'm just a plain ol' freak.<br><br>First CD: To further solidify my last self-deprecating comment, I had Phil Collins' \"Hello I Must Be Going\" a full four months before owning a CD player.<br><br>First Holy Communion: Monsignor Bulman threatened to beat us all if we didn't behave.<br><br>First National Bank: a damn fine bank.<br><br>Stephen Furst: Whatever happened to...?<br><br>Quench your thirst: with Lipton Iced Tea. Ahhhhhh! Refreshing-ah!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_17:40:29", "killed": false, "user_key": "DwDunphy", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "541994": {"up_voted": false, "ip": "", "has_replies": true, "message": "That always did irk me about Kiss Me Kiss Me Kiss Me - sorry, should have made it a double CD too then. <br><br>\"Runaway\" just made it - hit #39 - as their first single. <br><br>Blondie's 'The Hunter' had two singles - \"Island of Lost Souls\" which hit #37 and \"War Child\" which didn't chart and frankly, I can't remember even one note of it.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_11:09:57", "killed": false, "user_key": "steed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": true, "email": "", "parent_post_id": 541543, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "544555": {"up_voted": false, "ip": "", "has_replies": false, "message": "First LP(s): SIgned up for a record club and got \"Thriller\", \"Sports\" and \"Invisible Touch\" at the same time. Then got a couple albums more and cancelled.<br>First 45: George Harrison, \"When We Was Fab\"<br>First Cassette Single (door prize at bar mitzvah): Madonna, \"Who's That Girl\"<br>First Cassette Single (bought with own money): Traveling Wilburys, \"Handle With Care\"<br>First CD: Tracy Chapman, \"Crossroads\"", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_16:45:19", "killed": false, "user_key": "MatthewBolin", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "542126": {"up_voted": false, "ip": "", "has_replies": true, "message": "Dumb Dumb Ditties! My first LP as well.<br>First 45: \"Can't Go For That (No Can Do) by Hall & Oates.<br>First cassette: \"Ghost In The Machine,\" The Police.<br>First CD: \"Best of the Alan Parsons Project, Vol. I\"<br>First MP3: \"Just When I Needed You Most,\" Randy VanWarmer (thankyou, Napster)", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_11:26:09", "killed": false, "user_key": "David_E", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": 541899, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "544605": {"up_voted": false, "ip": "", "has_replies": true, "message": "In order of purchase:<br><br>First CD: Meat Loaf - Bat Out Of Hell II<br>First Tape: I only have ever bought three tapes that weren't blank, and Meat Loaf's Bat Out Of Hell  was the first one of those. It was an upgrade from a dubbed copy, which ommited one song and cut off half of my favorite track, \"For Crying Out Loud\".<br>First CD single: 2 Brothers on the 4th Floor - Never Alone (Eurohouse. Can't quite figure out why I bought that as dance is totally not for me.)<br>First LP: Meat Loaf - Bat Out Of Hell<br>First 45: Meat Loaf - Paradise By The Dashboard Light (can't stand the song anymore) and Bonnie Tyler's Total Eclipse of the Heart.<br><br>And yes, I quite dig Meat Loaf.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_16:52:16", "killed": false, "user_key": "EvilNickname", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 2, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "542001": {"up_voted": false, "ip": "", "has_replies": true, "message": "Me: \"Hey, we should cover some Blue \u00d6yster Cult in our set.\"<br>Band: \"Okay. What song?\"<br>Me: \"Shooting Shark!\"<br>Band: (Narrows eyes)", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_11:10:58", "killed": false, "user_key": "David_E", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": 541015, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "548659": {"up_voted": false, "ip": "", "has_replies": false, "message": "first lp - Go West by (yup) Go West<br>first single - view to a kill by Duran Duran<br>first cd - operation mindcrime by queensryche<br><br>christ on a bike it's a wonder i had any friends.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-29_08:58:58", "killed": false, "user_key": "18d720b7257c018c6a60f714130f55a3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "546100": {"up_voted": false, "ip": "", "has_replies": false, "message": "First 45: Strawberry Fields Forever/Penny Lane - The Beatles<br><br>First LP:  I bought Emitt Rhodes self-titled debut album and the first McCartney solo album on the same day.  I totally expected Paul's solo album to be great, and had low expectations for Emitt Rhodes.  Boy, was I wrong on both counts!<br><br>First 8-track:  Led Zeppelin - II  (if only for \"Whole Lotta Love\", but ended up liking the whole thing quite a bit)<br><br>First cassette:  The Partridge Family - The Partridge Family Album (as a cut-out - it was probably my only non-blank cassette purchase ever)<br><br>First CD:  There were five - 2 by Alan Parsons (I Robot and Pyramid), REM - Fables of the Reconstruction of the Fables of the Reconstruction of the Fables of the..., Supertramp - Crime of the Century, Pink Floyd - Wish You Were Here<br><br>I am totally in love with anything that Karla Bonoff releases.  \"Baby Don't Go\" is a bit trite, but \"Please Be The One\" burns with a sexy passion that is irresistible.  <br><br>I'll stand in that line of Bourgeois Tagg fans as well.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_21:15:51", "killed": false, "user_key": "Old_Davy", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "550622": {"up_voted": false, "ip": "", "has_replies": false, "message": "First LP:  Wall of Voodoo, \"Call of the West\". Still one of my all-time favourite albums.<br>First cassette: Either \"Stop Making Sense\" by Talking Heads, or \"Soul Mining\" by The The.  In both cases, the cassette version had extra or extended tracks, although the extra The The tracks were terrible.  <br>First 45:  Talking Heads, \"Once In A Lifetime (Live)\".  Already had this A-side on cassette; bought it for the B-side, the live version of \"This Must Be The Place (Naive Melody)\"<br>First CD: The Smiths, \"Louder Than Bombs\".  Purchased some weeks before I had an actual CD player.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-29_13:09:09", "killed": false, "user_key": "b4a42cc9195422ec8d7cb906cced79e3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "547511": {"up_voted": false, "ip": "", "has_replies": true, "message": "These first lists are fascinating.  It gives you a glimpse at someone who was in a similar place to yours at the time, or worlds apart.  But we're all here today.  So that is somewhat profound.  ~head cocked to one side~  Who matches me?<br><br>1st album I asked for: Grease soundtrack.  Wore that sucker OUT.  Other albums I wore out were my parents' Linda Ronstadt Greatest Hits, and their Bee Gees' \"Night Fever\" 45.  I also had a soundtrack of Broadway hits on semi-permanent loan from my local library.<br><br>1st albums I bought: Journey Escape and Toto IV at the same time I bought Billy Joel's Glass Houses.  I got a new turntable for Christmas!<br>1st 45 I bought:  Makin' It by David Naughton.  Yeah I said it.<br>1st cassette?  I think it was U2's War.<br>8-tracks were BMT<br>1st CDs were \"Robbie Robertson\" and Traveling Wilburys.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-29_01:50:03", "killed": false, "user_key": "Elaine", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "544058": {"up_voted": false, "ip": "", "has_replies": true, "message": "Love that Boomtown Rats song, though I didn't discover it until the 90s... guess like America, I lagged behind on that group...<br><br>1st album:  Men at Work -- Cargo ** I did have K-Tel's Dumb Ditties as well but I don't count that as I was far from aware of the concept of ownership and/or purchasing at the point that it came into my life.<br><br>1st single: Thompson Twins -- Hold Me Now<br><br>1st tape: Air Supply's Greatest Hits -- upgrading to cassettes was a MAJOR deal in our house when it finally happened.  This selection was made knowing that it had to be vetted by the parents first.<br><br>1st CD: continuing in the trend of late adoption of new technology:  Nirvana -- Nevermind.  (or it was among the first ten)", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_15:46:11", "killed": false, "user_key": "wags", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "544953": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh, first 45 received: probably Johnny Nash \"I Can See Clearly Now\"", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_17:42:30", "killed": false, "user_key": "DwDunphy", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 544936, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "541626": {"up_voted": false, "ip": "", "has_replies": false, "message": "1st cassette:  Rush - Grace Under Pressure.  Still one of my favorite groups.<br><br>1st CD: Led Zeppelin - BBC bootleg.  I didn't have a CD player yet, but couldn't pass up this puppy (luckily I sold it before it was rendered obsolete by the official release, which oddly I still haven't picked up).", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_10:22:43", "killed": false, "user_key": "hemisphire", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "542011": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh, it isn't you - that definitely could be an ABC single.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_11:11:42", "killed": false, "user_key": "steed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 541862, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "541962": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ha. That's quite a group.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_11:06:04", "killed": false, "user_key": "steed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 541417, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "541247": {"up_voted": false, "ip": "", "has_replies": true, "message": "My first music purchases were 'Cargo' by Men at Work (which, at the time, I never did enjoy like I do now), and sadly, Kilroy Was Here, by Styx, which I listened to over and over. Both of these were on cassette. My first CD purchase was '. . .Nothing Like The Sun' by Sting, which is still my favorite Sting CD (which I realize isn't saying a lot).", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_09:19:09", "killed": false, "user_key": "552f4f6bc1f8c3a4ab104af6fcc84924", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "546881": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have read that there were rumors of Bolton replacing Steve Perry.  Maybe these songs were auditions of some sort.  Too bad it did not happen.  It might have saved us all a great deal of agony between Bolton's solo career and Bad English.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_23:16:22", "killed": false, "user_key": "e39e4796db942022fd1763302d5971e4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 545572, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "541891": {"up_voted": false, "ip": "", "has_replies": true, "message": "What, no cross-promotion for my interview with the two guys from Blue Mercedes?  :-)<br><br>My first single may or may not have been Queen's \"Another One Bites the Dust,\" and I say that because I can no longer swear if it was my sister or I who bought it.<br><br>The first cassettes blend in together, but the holy trifecta of my  early tape-buying years was definitely \"Thriller,\" \"Pyromania,\" and Men at Work's \"Cargo.\"<br><br>The first CD, however, I absolutely remember:  The Icicle Works' \"If You Want To Defeat Your Enemy, Sing His Song.\"<br><br>In closing, may I just say that I have an autographed Bonham poster in my collection?  \"Wait for You\" RULZ!!!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_10:57:26", "killed": false, "user_key": "WHarrisBullzEye", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 6, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "547274": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thanks! It never fails to amaze me how the \"first\" conversation just never seems to get old. No matter how many times someone asks me, I'm more than willing to discuss without hesitation. Seems like everyone here is as well, which is awesome.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2008-05-29_00:38:24", "killed": false, "user_key": "steed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 545359, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "541899": {"up_voted": false, "ip": "", "has_replies": true, "message": "Oh, yeah, and the first LP I remember owning?  The classic K-Tel compilation known as \"Dumb Ditties.\"  For better or worse, it was my first introduction to Chuck Berry, courtesy of \"My Ding-A-Ling.\"", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_10:59:10", "killed": false, "user_key": "WHarrisBullzEye", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 3, "is_first_child": true, "email": "", "parent_post_id": 541891, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "545359": {"up_voted": false, "ip": "", "has_replies": true, "message": "Great idea...I like \"first\" stories too.<br><br>First 8-track tape: When I was about 6, I used to borrow my sister's freshly-brought copy of Olivia Newton-John's \"Have You Never Been Mellow\" so much, she finally bought me my own copy (and wrote my name on it in black magic marker) so I would leave hers alone.  I think I probably still can sing every lyric from every song by memory to this day.<br><br>First album: The soundtrack to \"The Muppet Movie\".  My sister ended up taking it for herself later (payback, perhaps?).<br><br>First cassette:  I'm pretty sure it was the soundtrack to \"Footloose\", right after hearing it numerous times on the bus during a junior high field trip.<br><br>First CD: I was VERY late in making the technology switch to CDs...I hung onto my hundreds of tapes all the way until 2000, when I finally made the plunge.  But, I did buy some CDs early, and the first one I got was a used copy of U2's \"Zooropa\".<br><br>Excellent post, as always.  Keep up the good work!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_18:51:50", "killed": false, "user_key": "eddie_w", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1017208": {"up_voted": false, "ip": "", "has_replies": false, "message": "Converting Bourgeois Tagg's first into MP3 as I write this, \"Electric Train\" fading out.  Underrated band.  Brings me back to the summer of '86 and my first true independence after college.  I remember hearing \"Mutual Surrender\" on the radio for the first time from a station in Lubbock of all places.  The year had a bunch of great music opening up to us - Fabulous T-Birds, INXS, Wall of Voodoo, all experienced for the first time.  And the club scene w/ Nu Shooz and Jermaine Stewart.<br><br>First LPs - \"Carpenters\" (eponymous) & the J5 Greatest Hits<br>First Rock LP - \"The Grand Illusion\", Styx<br>First 45s (bought in a frenzy w/ cash burning a hole in my first wallet - \"The Night Chicago Died\", Paper Lace; \"You Make Me Feel Brand New\", The Stylistics; \"Rikki Don't Lose That Number\", Steely Dan\";  \"Who Do You Think You Are\", Bo Donaldson & The Heywoods; \"Don't Ever Be Lonely (A Poor Little Fool Like Me), Cornelius Brothers and Sister Rose; \"Wildwood Weed\", Jim Stafford.  My dad asked me if I had any idea what the latter was about and I was completely clueless.<br>First 8-Track - My parents were far too un-hip and of-the-now to own one, but this very cool dude with a smoking hot Mopar (forget the exact model, but I can see it now) let me listen to his.  I couldn't get enough of The Grassroots Greatest.<br>First Cassette - Think it was a Seals and Crofts Greatest that someone slid my way.  Loved and wore it out.<br>First CD - I was a vinyl junkie and highly resentful of these pieces of plastic that forced my favorite product of any kind out of stores.  I didn't convert until 1997!!  Think it was a mix single of Smashmouth's \"Walkin' On The Sun\".  First full lengths were Francis Dunnery's \"Tall Blonde Helicopter\" and United Future Organization's \"3rd Perspective\".<br><br>Thanks for the topic!  Fun to read everyones firsts.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-27_23:53:37", "killed": false, "user_key": "5147f866a0a4536d54ccec2e6386f279", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "542034": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh shit - I can't believe I missed that interview with them. I have to go back and read it right now.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_11:14:42", "killed": false, "user_key": "steed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 541891, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "541395": {"up_voted": false, "ip": "", "has_replies": true, "message": "My first music purchase was Duran Duran's \"Seven and the Ragged Tiger\" on cassette (What the hell does that title mean, anyway?). <br><br>First CD purchase was Agent Orange's \"We Are the Voice.\" How random is that?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_09:45:46", "killed": false, "user_key": "e9a89cdc47872d22751c77ed99846d6d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "545878": {"up_voted": false, "ip": "", "has_replies": true, "message": "First 45:  Don't judge me, but the AM radio influence as a youngster made this either Love Rollercoaster by Ohio Players or Jive Talkin' by Bee Gees<br><br>First LP:  Four Wheel Drive by Bachman Turner Overdrive (loved \"Hey You\" and still do, even it is the simplest song ever written)<br><br>First CD:  Cat Scratch Fever by Ted Nugent (the title song, the attitude, the cover concept...How could this not appeal to a teenage boy?)<br><br>First 8-track:  Greatest Hits by Alice Cooper (I had never picked up the LP)", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_20:34:59", "killed": false, "user_key": "4ce67b0a7cf809131378e750c5b15c31", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 2, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "541015": {"up_voted": false, "ip": "", "has_replies": true, "message": "Your assessment of Blue Oyster Cult may well be correct with them as a force on the radio, but the tune is consistent with the more eccentric side they had in the first place (Patti Smith co-write, after all). Has the \"More Cowbell\" thing obscured that aspect forever?<br><br>Bolton's \"Wait on Love\" was co-written by Jonathan Cain so one not to be ignored by purists who stick up for John Waite. \"Fool's Game\" is definitely first-rate second-rate Whitesnake, the video shows him at the height of his \"metal\" era, and I'd say the shift to maudlin white soul crooner was entirely because he *looked* like that was what he should be doing. Dig his '79 style, though: <a href=\"http://youtube.com/watch?v=_J_Tpm0N9bc\" rel=\"nofollow\">http://youtube.com/watch?v=_J_Tpm0N9bc</a><br><br>Far as I know Blue Zone had the \"UK\" added not because of another band but because it was the name of an advertising campaign from Labatt's Blue beer, whose t-shirt Pamela Anderson was wearing when she got discovered at a football game wearing a beer T-shirt, presumably of her own volition", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_08:24:14", "killed": false, "user_key": "a16a38cdfe8b2cbd38e8a56ab93238d3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 5, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "547544": {"up_voted": false, "ip": "", "has_replies": false, "message": "I had actually heard the Boomtown Rats song early in the 80's.  There were a couple of smartaleck student DJ's at our school that played it.  They also played \"Walk on the Wild Side,\" which was exotic and scandalous at the time.  Wonder where those guys are. . .", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2008-05-29_02:01:00", "killed": false, "user_key": "Elaine", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 544058, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "546058": {"up_voted": false, "ip": "", "has_replies": true, "message": "Damn, I guess you would do anything for love.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_21:09:08", "killed": false, "user_key": "DwDunphy", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": true, "email": "", "parent_post_id": 544605, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "547407": {"up_voted": false, "ip": "", "has_replies": false, "message": "Shooting Shark! Why, that's Randy Jackson popping the four-string!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-29_01:17:49", "killed": false, "user_key": "47a1a69ba781a427979afbf850d5898e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "546106": {"up_voted": false, "ip": "", "has_replies": false, "message": "I didn't have Dumb Dumb Ditties--but I did have (and still have) both Goofy Greats and Funny Favorites.  Screw K-Tel!  Ronco RULES!!!!!!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_21:16:46", "killed": false, "user_key": "4756cc9a1c3564d5b6f9281a65d120c6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 542126, "depth": 3, "points": 0, "author_is_creator": false, "is_realtime": false}, "545886": {"up_voted": false, "ip": "", "has_replies": false, "message": "My bad, I mixed up the CD and 8-track", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_20:36:13", "killed": false, "user_key": "4ce67b0a7cf809131378e750c5b15c31", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 545878, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "549344": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think my first LP was either something by Culture Club or Duran Duran.<br><br>First cassette was \"Victory\" by the Jacksons.<br><br>And the first cd was \"Time's Up\" by Living Colour. I do recall that with my cd player I had an offer to join Columbia House and get 4 free cd's and the one's I chose were \"To the Extreme\" by Vanilla Ice, \"Tender Lover\" by Babyface, \"World Clique\" by DeeLite and the Johnny Gill cd with \"Rub you the Right Way.\"", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-29_10:35:37", "killed": false, "user_key": "8b375c72c52b9ad2556ba264f5d7dc56", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "545723": {"up_voted": false, "ip": "", "has_replies": false, "message": "First 45... \"Gonna Fly Now\" from the Rocky soundtrack.  I still remember buying it at a Kmart when I was 10.<br><br>First LP... Sgt. Pepper's Lonely Hearts Club Band.  But not by The Beatles.  No, my first LP purchase was of the Bee Gees movie soundtrack.  It's far too painful to listen to it now, so I don't even have it on CD.<br><br>First CD... \"Red Rose Speedway\" by Paul McCartney.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_19:59:49", "killed": false, "user_key": "bd3844c0b991acfe72b983e346a184b6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "541028": {"up_voted": false, "ip": "", "has_replies": false, "message": "Fast forward two minutes into that Blackjack video to get to the actual song. If the '80s started a few months earlier it'd have been perfect for this series...", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_08:27:52", "killed": false, "user_key": "a16a38cdfe8b2cbd38e8a56ab93238d3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 541015, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "541543": {"up_voted": false, "ip": "", "has_replies": true, "message": "1st cassette purchase: The Go-Go's, <i>Talk Show</i>.  I didn't \"buy\" it per se--I was in 6th grade--but I asked for it as a reward for getting straight A's.  In a small town ruled my Motley Crue, I got my ass whupped for liking chick rock, but it's a fine album and I stand by my choice...<br><br>1st CD purchase: The Cure, <i>Kiss Me Kiss Me Kiss Me</i>.  I was irked at the time because almost every CD those days had bonus tracks on them, but my first CD was one that had one <b>fewer</b> track than the LP/cassette.<br><br>This is a very strong list--the Bourgeois Tagg song is one of the great forgotten faux-wave songs of the Holly Knight school (she didn't write it, but doesn't it sound like she could have?).  <br><br>Book of Love's \"Pretty Boys...\" is my fave song from them, so I'm glad to see it get a bit of attention.  <br><br>A bit surprised at Bon Jovi: so did \"Runaway\" go Top 40, or was it not an official single?  <br><br>I'd never heard that Blondie track, and it is quite good.  What, no singles from <i>The Hunter</i>?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_10:07:44", "killed": false, "user_key": "thefxc", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 2, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "541801": {"up_voted": false, "ip": "", "has_replies": false, "message": "I can't remember my first single purchase anymore. My first album purchase was K-Tel's \"Bright Side of Music.\" (Donny Osmond! Lobo! Paul Davis!) My first real album purchase was \"Hot Rocks 1964-1971\" by the Stones. The first CD I ever owned was \"Sgt. Pepper.\"", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_10:46:22", "killed": false, "user_key": "jabartlett", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "545063": {"up_voted": false, "ip": "", "has_replies": false, "message": "i thought the boomtown rats single was pulled by the record company because of some lawsuit threatened by the songs quotee(?)'s father.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_17:58:24", "killed": false, "user_key": "3e5e0f53ad3bf17c862778c1c4c4b6ee", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "544492": {"up_voted": false, "ip": "", "has_replies": false, "message": "First 45: \"Loving You's The Right Thing to Do\" by Carly Simon.<br><br>Hey, that really is Cyd Charisse! As late as the 1970's she was still smokin' hot. By 1988, maybe not so much.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_16:38:33", "killed": false, "user_key": "rsbrandt", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "584302": {"up_voted": false, "ip": "", "has_replies": false, "message": "First 45: \"Power Of Love\", Huey Lewis And The news<br>First 33: Hmmm... probably \"Love At First Sting\", Scorpions", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-03_20:44:12", "killed": false, "user_key": "gavadajoe", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "541938": {"up_voted": false, "ip": "", "has_replies": false, "message": "I know what you're saying about 'Cargo' - I enjoy that more today than in the 80s as well.  For some reason I'm a Styx fan, and I think 'Kilroy' is a damn good album. Another one that I don't admit too often.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_11:03:22", "killed": false, "user_key": "steed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 541247, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "542067": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Seven\" = the five band members plus their two managers.<br>\"Ragged Tiger\" = a euphemism for \"success\"<br><br>...according to that wacky poet Simon.  I dunno either.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_11:18:35", "killed": false, "user_key": "JohnHughes", "has_been_anonymized": false, "edited": false, "author_is_moderator": true, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 541395, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "541417": {"up_voted": false, "ip": "", "has_replies": true, "message": "First 45 Purchase: \"Ebony & Ivory\"<br>First LP Purchase: \"Somebody's Watching Me\" by Rockwell<br>First Cassette Purchase: \"Make it Big\" by Wham!<br>First CD Purchase (because I couldn't afford CDs until I was 15 and actually had a JOB): \"Dangerous\" by Michael Jackson<br><br>Now do you feel so bad???", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_09:48:46", "killed": false, "user_key": "234c908e9e11e99c190d032ef0a8f019", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "542712": {"up_voted": false, "ip": "", "has_replies": false, "message": "First single received (as gift, age 5): \"We've Only Just Begun,\" the Carpenters<br>First LPs received (as gift, age 6):  \"Jackson 5 Greatest Hits\"; \"Up To Date,\" the Partridge Family<br>First single purchased:  \"Philadelphia Freedom\"<br>First LP purchased:  \"Main Course,\" the Bee Gees<br>Last 45 purchased: as discussed somewhere on Popdose, \"Radio Ga-Ga,\" Queen<br>First CDs purchased (simultaneously, upon receipt of first CD player): \"The Joshua Tree,\" U2; \"Document,\" REM; \"Bad,\" Michael Jackson", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_12:53:23", "killed": false, "user_key": "4756cc9a1c3564d5b6f9281a65d120c6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "884031": {"up_voted": false, "ip": "", "has_replies": false, "message": "1st LPs  (xmas gifts from my dad)  were Sgt Pepper and G Geils band<br><br>1st actual purchase of my own... Cory Hart - the one with Sunglasses at Night  and Starship - We Built This City<br><br>My shame is palpable", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-13_23:20:47", "killed": false, "user_key": "4f91d80ae3eea38ea0a827876f901403", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "597117": {"up_voted": false, "ip": "", "has_replies": true, "message": "That is an amazing station--it's a bit like the \"Deep Tracks\" station on XM.  So far they don't have DJs, so it's a bit like the \"Jack\" format except that the songs are more obscure.<br><br>However, I've been listening to it for a month or two, and I'm already getting upset when they play a song again that I've heard there before.  This afternoon it was \"Put the Message in the Box\" by World Party.  Great song, but come on!  World Party had a dozen great songs--play \"Ship of Fools\" already!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-05_03:14:29", "killed": false, "user_key": "4756cc9a1c3564d5b6f9281a65d120c6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": true, "email": "", "parent_post_id": 554142, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "546175": {"up_voted": false, "ip": "", "has_replies": false, "message": "Never had Dumb Ditties but I did have Kooky Toones and a similar comedy comp from Ronco Records. I tried to recall the name of it but, apparently, I set it and then forgot it.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_21:30:05", "killed": false, "user_key": "DwDunphy", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 541899, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": false, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "853213", "user_id": "anonymous", "forum_id": "994", "hash": 6570022316669864680}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "bottom_feeders_the_ass_end_of_the_821780s_part_9_81", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 853213, "num_posts": 65, "closed": false, "queued": false, "killed": false}, "reactions_limit": 10, "context": {"show_reply": true, "use_fb_connect": true, "forum_facebook_key": "4c89f79bca1e06310589602ac7ca620d", "use_yahoo": true, "subscribed": false, "use_twitter_signin": true, "use_openid": true, "realtime_speed": 5000}, "reactions_start": 0, "settings": {"debug": false, "disqus_url": "http://disqus.com", "media_url": "http://media.disqus.com"}, "media_url": "http://media.disqus.com"};
	/* */ this.jsonData.cookie_messages = {"user_created": null, "post_has_profile": null, "post_twitter": null, "post_not_approved": null}; this.jsonData.session = {"url": null, "name": null, "email": null}; /* */

	
	this.curPageId = 'dsq-comments';

	this.frames = {};
};

var disqus_popup_reference = null;

if(typeof DsqLocal == 'undefined') {
	DsqLocal = {};
}



/**
 * Dsq.Strings: UI strings
 */
Dsq.Strings = new function() {
	this.ADD_NEW_COMMENT = "Add New Comment";
	this.LOG_INTO_DISQUS = "Log into DISQUS";
	this.USE_MEDIA = "Use Media";
	this.LOGOUT = "Logout";
	this.SHARING_OPTIONS = "Sharing options";
	this.SHARE_ON = "Share on";
	this.TWEET_THIS_COMMENT = "Tweet this comment";
	this.SHARE_ON_NEWSFEED = "Share on news feed";
	this.SEND_UPDATE_TO_YAHOO = "Send update to Yahoo!";
	this.REBLOG_ON = "Reblog on";
	this.CONFIGURE_OPTIONS = "Configure options";
	this.POST_AS = "Post as";
	this.SORT_BY = "Sort by";
	this.SUBSCRIBE_BY_EMAIL = "Subscribe by email";
	this.SUBSCRIBE_BY_RSS = "Subscribe by RSS";
	this.POPULAR_NOW = "Popular now";
	this.BEST_RATING = "Best Rating";
	this.NEWEST_FIRST = "Newest first";
	this.OLDEST_FIRST = "Oldest first";
	this.HIGHLIGHTED = "Highlighted";
	this.UNSUBSCRIBE = "Unsubscribe";
	this.REQUIRED = "Required";
	this.OPTIONAL = "Optional";
	this.YOU_ARE_COMMENTING_AS_A = "You are commenting as a";
	this.LOGIN_BELOW = "Login below";
	this.PLEASE_LOGIN_BELOW_TO_COMMENT = "Please login below to comment.";
	this.SUBSCRIBE_TO_ALL_COMMENTS_BY_EMAIL = "Subscribe to all comments by email";
	this.DO_NOT_SUBSCRIBE_TO_COMMENTS = "Do not subscribe to comments";
	this.REALTIME_UPDATING_IS = "Real-time updating is";
	this.ENABLED = "enabled";
	this.PAUSED = "paused";
	this.PAUSE = "Pause";
	this.RESUME = "Resume";
	this.SHOW = "Show";
	this.JUST_NOW = "Just now";
	this.REPLY = "Reply";
	this.EDIT = "Edit";
	this.FLAG = "Flag";
	this.MODERATE = "Moderate";
	this.CANCEL = "Cancel";
	this.REPLYING_TO = "Replying to";
	this.REPORT_MISSING_REACTIONS = "Report missing reactions";
	this.POST_A_COMMENT = "Post a comment";
	this.FLAG_INAPPROPRIATE_COMMENT = "Flag inappropriate comment";
	this.FLAGGED = "Flagged";
	this.NO = "No";
	this.YES = "Yes";
	this.NEVER_MIND = "Never mind";
	this.ARE_YOU_SURE_YOU_WOULD_LIKE_TO_REPORT_THIS_COMMENT_TO_A_MODERATOR = "Are you sure you would like to report this comment to a moderator";
	this.THIS_WILL_FLAG_COMMENTS_FOR_MODERATORS_TO_TAKE_ACTION = "This will flag comments for moderators to take action";
	this.TO_RATE_PLEASE_LOG_IN = "To rate, please log in";
	this.JUST_A_MOMENT = "Just a moment...";
	this.GUEST = "Guest";
	this.NAME = "Name";
	this.EMAIL = "Email";
  this.WEBSITE = "Website";
  this.SETTINGS = "Settings";
  this.MODERATOR_OPTIONS = "Moderator options: ";
  this.MODERATE_OPTIONS = "Moderate Options";

  // Thread moderator actions
  this.CLOSE_THREAD = "Close thread";
  this.OPEN_THREAD = "Open thread";
  this.REMOVE_THREAD = "Remove thread";
  this.RESTORE_THREAD = "Restore thread";
  this.ACTIONS = "Actions";
};
// Dsq.Strings

/**
 * Dsq.FmtStrings: functions that return interpolated UI strings
 */
Dsq.FmtStrings = new function() {
	// Seems we have to use named interpolation for Django to translate. Investigate more.
	this.LOGGED_IN_AS = function(username) {
		return Dsq.Utils.interpolate('Logged in as %(username)s', {username:username});
	};

	this.LOGOUT_FROM = function(disqus) {
		return Dsq.Utils.interpolate('Logout from %(disqus)s', {disqus:disqus});
	};

	this.SHOWING_COMMENTS_FULL = function(total, num) {
		if (num === 1) {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> of <span id='dsq-total-posts'>%(total)s</span> comment", {num:num, total:total});
		} else {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> of <span id='dsq-total-posts'>%(total)s</span> comments", {num:num, total:total});
		}
	};

	this.SHOWING_COMMENTS_WITHOUT_PAGINATION = function(num) {
		if (num === 1) {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> comment", {num:num});
		} else {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> comments", {num:num});
		}
	};

	this.NUMBER_OF_COMMENTS = function(num) {
		return Dsq.Utils.interpolate(
			(num == 1
				? '%(num)s comment'
				: '%(num)s comments'
			), {num:num});
	};

	this.NUMBER_OF_LIKES = function(num) {
		return Dsq.Utils.interpolate(
			(num == 1
				? '%(num)s like'
				: '%(num)s likes'
			), {num:num});
	};

	this.NUMBER_OF_POINTS = function(num) {
		return Dsq.Utils.interpolate(
			(num == 1
				? '%(num)s point'
				: '%(num)s points'
			), {num:num});
	};
};
// Dsq.FmtStrings





Dsq.CSRF_TOKEN = 'a2d140c59df8cd4ce27a20e0829cacd8';
Dsq.COMMENTS_RE = /(<li.*?id="?dsq-comment-(\d+)"?.*?>)((?:.|\s)*?)(<\/li>)/gim;
Dsq.POST_RE = /(<div.*?id="?dsq-comment-header-(\d+)"?.*?>)((?:.|\s)*?)(<\/div>)\s*(<div.*?class="?dsq-comment-body"?.*?>)((?:.|\s)*)(<\/div>)/gim;
Dsq.POST_BODY_RE = /\s*(<div.*?id="?dsq-comment-message-(\d+)"?.*?>)((?:.|\s)*)(<\/div>)/gim;
// HACK: Safari ends with "-->" while other browsers end with "--&gt;" as expected.
Dsq.MEDIA_POST_RE = /&lt;!--\[(.*?)\]--(?:>|&gt;)/gim;



var FragmentPacket = function(reader, writer, writer_url, is_child, receiveCallback) {
	var that = this;
	this.reader = reader;
	this.writer = writer;
	this.writer_url = writer_url;

	this.is_child = is_child || false;
	this.receiveCallback = receiveCallback;

	this._lastHash = null;

	this._accumMsg = '';

	this._lastSeqno = 0;

	this.MAX_DATA_LEN	= 1024;

	this.WAIT_TIME		= 10;

	this.READY		= 0x1;
	this.WRITING	= 0x2;
	this.FIN		= 0x4;
	this.ACK		= 0x8;

};

FragmentPacket.prototype.createListener = function() {
	var that = this;
	var listener = function() {
		that.recv();
	};
	return window.setInterval(listener, 10);
};

FragmentPacket.prototype.log = function(msg) {



};

FragmentPacket.prototype.recv = function() {
	var hash;
	if (/MSIE/.test(navigator.userAgent)) {

		hash = this.reader.name;
	} else {

		var hashIndex = this.reader.location.href.indexOf('#');
		if (hashIndex == -1) {
			return;
		}
		hash = this.reader.location.href.substring(hashIndex+1);
	}
	var flags = parseInt(hash.substring(0, 4), 10);
	var seqno = parseInt(hash.substring(4, 24), 10);
	var data  = hash.substring(24);

	if (this._lastHash !== hash) {
		this._lastHash = hash;
		this.log('recv: ' + hash);

		this.log(' flags: ' + flags);
		this.log(' seqno: ' + seqno + ' len: ' + hash.substring(4, 24).length + ' (' + hash.substring(4, 24) + ')');
		this.log(' data: ' + data + ' len: ' + data.length);

		this._lastSeqno = seqno;

		if (flags & this.WRITING) {
			this._accumMsg += data;
			this.sendFlag(this.ACK, seqno);
			if (flags & this.FIN) {
				this.log('recv finished: ' + decodeURIComponent(this._accumMsg));
				this.receiveCallback(decodeURIComponent(this._accumMsg));

				this._accumMsg = '';

				this.sendFlag(this.READY | this.ACK, this._lastSeqno);
			}
		}
	}

	return {
		flags: flags,
		seqno: seqno,
		data: data
	};
};

FragmentPacket.prototype.sendRawPacket = function(packet) {
	if (/MSIE/.test(navigator.userAgent)) {
		this.writer.name = packet;
	} else {

		this.writer.location.href = this.writer_url + '#' + packet;
	}

};

FragmentPacket.prototype.sendFlag = function(flag, seqno) {
	this.sendRawPacket(this._zerofill(flag, 4) + this._zerofill(seqno, 20));
};

FragmentPacket.prototype.send = function(msg) {
	this._send(0, encodeURIComponent(msg));
};

FragmentPacket.prototype._send = function(packetNum, msg) {
	var that = this;
	var recvBuf = this.recv();

	if (packetNum === 0) {

		if (!(recvBuf.flags & this.READY)) {
			this.log('client is not ready, waiting...');
			window.setTimeout(function() { that._send(packetNum, msg); }, this.WAIT_TIME);
			return;
		}
	} else {

		if (!( (recvBuf.flags & this.ACK) && (recvBuf.seqno === this._lastSeqno) )) {
			this.log('waiting for ack from client...');
			window.setTimeout(function() { that._send(packetNum, msg); }, this.WAIT_TIME);
			return;
		} else {
			this.log('received ack: ' + this._lastSeqno + ' ' + recvBuf.seqno);
		}
	}

	var flags = this.WRITING;
	var num_packets = Math.ceil(msg.length / this.MAX_DATA_LEN);
	this.log('num_packets: ' + num_packets);

	if (num_packets === packetNum) {

		this.log('message successfully sent!');
		this.sendFlag(this.READY | this.ACK, this._lastSeqno);
		return true;
	}

	this._lastSeqno++;

	if (packetNum == num_packets-1) {
		flags |= this.FIN;
	}

	var data = msg.substring(packetNum * this.MAX_DATA_LEN, (packetNum+1) * this.MAX_DATA_LEN);
	var packet = this._zerofill(flags, 4) + this._zerofill(this._lastSeqno, 20) + data;

	this.log('sending raw packet: ' + packet);
	this.sendRawPacket(packet);

	return this._send(packetNum + 1, msg);
};

FragmentPacket.prototype._zerofill = function(num, width) {
	var retval = num.toString();
	var retval_len = retval.length;
	for (var i = 0; i < width - retval_len; i++) {
		retval = '0' + retval;
	}
	return retval;
};

var PostMessagePacket = function(receiver, receiveCallback, id, receiverId) {
	var that = this;
	this.receiver = receiver;
	this.receiveCallback = receiveCallback;
	this.id = id;


	this.receiverId = receiverId;
};

PostMessagePacket.prototype.createListener = function() {
	var that = this;

	var listener = function(e) {

		if (!that.id) {
			that.id = e.data;
			return;
		}


		var id = e.data.split(';')[0];
		if (id !== that.id) {
			return;
		}
		var data = e.data.substring(e.data.indexOf(';') + 1);

		that.receiveCallback(data);
	};

	if (typeof window.attachEvent == 'function') {
		window.attachEvent('onmessage', listener);
	} else if (typeof window.addEventListener == 'function') {
		window.addEventListener('message', listener, false);
	} else {
		throw new Error('No method found to create event listener for PostMessagePacket.');
	}
};

PostMessagePacket.prototype.send = function(msg) {



	var needs_reget = false;
	try {
		if (typeof this.receiver.id == 'undefined' || typeof this.receiver.postMessage == 'undefined') {
			needs_reget = true;
		}
	} catch(e) {


	}
	if (needs_reget && typeof this.receiverId != 'undefined') {
		this.receiver = document.getElementById(this.receiverId).contentWindow;
	}

	var packet;
	if (!msg) {

		packet = this.id;
	} else {
		packet = this.id + ';' + msg;
	}
	this.receiver.postMessage(packet, '*');
};

PostMessagePacket._last_unique_id = null;
PostMessagePacket._get_unique_id = function() {
	var id = (new Date()).getTime();
	if (id == PostMessagePacket._last_unique_id) {
		id++;
	}
	PostMessagePacket._last_unique_id = id;
	return id.toString();
};

var JsonRpc = function() {

	this.ids = {};

	this.objectToJSON = function(obj) {
		var json = '';
		var results = [];

		if (obj === undefined || obj === null) {
			return 'null';
		}

		switch (obj.constructor) {
			case Object:
				for (var property in obj) {
					if (obj.hasOwnProperty(property)) {
						results.push(this.objectToJSON(property) + ': ' + this.objectToJSON(obj[property]));
					}
				}
				json = '{' + results.join(', ') + '}';
				break;
			case Array:
				for (var i = 0; i < obj.length; i++) {
					results.push(this.objectToJSON(obj[i]));
				}
				json = '[' + results.join(', ') + ']';
				break;
			case Number:
			case Boolean:
				json = obj.toString();
				break;
			case String:

				var specialChars = {'\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '\\': '\\\\'};

				json = obj.replace(/[\x00-\x1f\\]/g, function(match) {
					var ch = specialChars[match];
					return ch ? ch : '\\u00' + match.charCodeAt().toPaddedString(2, 16);
				});

				json = '"' + json.replace(/"/g, '\\"') + '"';
				break;
			default:

				json = 'null';
				break;
		}

		return json;
	};

	this.createHandler = function(send_func, registered_funcs) {
		var that = this;
		var handler = function(message) {

			try {
				var rpc = eval('(' + message + ')');
			} catch(e) {
				alert('bad JSON: ' + message);
				return;
			}
			if (rpc.method) {

				if (!registered_funcs[rpc.method]) {
					return;
				}

				var retval = registered_funcs[rpc.method].apply(null, rpc.params);
				if (rpc.id) {
					var response = {
						result: retval,
						error: null,	// TODO
						id: rpc.id
					};
					send_func(that.objectToJSON(response));
				}
			} else if(rpc.result) {

				if (!that.ids[rpc.id]) {
					return;
				}

				that.ids[rpc.id](rpc.result);
				delete that.ids[rpc.id];
			}
		};
		return handler;
	};

	this.execute = function(send_func, method, params, response_callback) {
		response_callback = response_callback || null;
		var id = (response_callback) ? (new Date()).getTime() : null;

		var request = {
			method: method,
			params: params,
			id: id
		};

		send_func(this.objectToJSON(request));

		if (id) {
			this.ids[id] = response_callback;
		}
	};
};
JsonRpc = new JsonRpc();

var ParentMessenger = function(childUrl, receiverUrl, container, receiveCallback) {


	if (navigator.userAgent.indexOf('Safari') >= 0 && parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf('Version/') + 8), 10) == 3) {
		throw new Error("unsupported.");
	} else if (window.opera) {
		throw new Error("unsupported.");
	}



	if (!receiverUrl &&
		navigator.userAgent.indexOf('Gecko') >= 0 &&
		parseFloat(navigator.userAgent.slice(navigator.userAgent.indexOf('rv:') + 3, navigator.userAgent.indexOf('rv:') + 6)) < 1.9) {
		throw new Error("unsupported.");
	}


	if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) {


		if (document.domain == window.location.hostname) {
			receiverUrl = '';
		}
	}

	var that = this;
	this.childUrl = childUrl;
	this.receiverUrl = receiverUrl;
	this.container = container || document.body;

	this.packetHandler = null;


	this._ready = false;
	this._error = false;


	var _createReceiverForFragmentPacket = function() {

		that.receiver = document.createElement('iframe');
		that.receiver.src = receiverUrl;
		that.receiver.id = 'receiver_' + (new Date()).getTime();
		that.receiver.name = that.receiver.id;

		that.receiver.frameBorder = '0';
		that.receiver.frameSpacing = '0';
		that.receiver.style.borderStyle = 'none';

		var receiver_onload = function() {
			var receiver = document.getElementById(that.receiver.id).contentWindow;

			try {
				receiver.document.body.innerHTML = '';
			} catch(e) {

				that._error = true;
			}
			receiver.document.body.style.padding = '0px';
			receiver.document.body.style.margin = '0px';

			var child = receiver.document.createElement('iframe');
			child.id = 'child';
			child.name = 'child';
			child.src = that.childUrl;

			child.frameBorder = '0';
			child.frameSpacing = '0';
			child.style.borderStyle = 'none';
			child.style.width = '100%';
			child.style.height = '100%';
			receiver.document.body.appendChild(child);

			that.child = receiver.document.getElementById('child').contentWindow;
			that.receiver = receiver;

			that.packetHandler = new FragmentPacket(that.receiver, that.child, that.childUrl, false, receiveCallback);

			that._listener = that.packetHandler.createListener();

			that.packetHandler.sendFlag(that.packetHandler.READY, 0);

			that._ready = true;
		};

		that.receiver.onreadystatechange = function() {
			if (this.readyState == 'complete') {
				receiver_onload();
			}
		};

		that.receiver.onload = receiver_onload;







		if (Dsq.Utils.ie) {
			if (that.container.clientWidth === 0) {

				var _waitForWidth = function() {
					if (that.container.clientWidth > 0) {
						Dsq.Utils.fixIframesIE(that.container.id);
					} else {
						window.setTimeout(_waitForWidth, 100);
					}
				};
				_waitForWidth();

				that._once = false;
				that.receiver.onresize = function() {
					if (!that._once) {
						Dsq.Utils.fixIframesIE(that.container.id);
					}
					that._once = true;
				};
			}
		}

		that.container.appendChild(that.receiver);
	};


	var _createReceiverForPostMessage = function() {

		var receiver_onload = function() {

			that.packetHandler.send();
			that._ready = true;
		};

		var id = PostMessagePacket._get_unique_id();
		var receiverId = 'child_' + id;


		ParentMessenger['_receiver_onload_' + receiverId] = receiver_onload;

		that.container.innerHTML += '<iframe ' +
			'src="' + childUrl + '" ' +
			'id="' + receiverId + '" ' +
			'name="' + receiverId + '" ' +
			'onload="ParentMessenger._receiver_onload_' + receiverId +'();" ' +
			'></iframe>';

		that.receiver = document.getElementById(receiverId).contentWindow;
		that.packetHandler = new PostMessagePacket(that.receiver, receiveCallback, id, receiverId);
		that._listener = that.packetHandler.createListener();
	};

	if (typeof window.postMessage == 'function') {
		_createReceiverForPostMessage();
	} else {
		_createReceiverForFragmentPacket();
	}

};

ParentMessenger.prototype.sendMessage = function(message) {
	var that = this;
	if (!this._ready) {

		window.setTimeout(function() { that.sendMessage(message); }, 10);
		return;
	}
	this.packetHandler.send(message);
	return true;
};

Dsq.NewFrames = function(url) {
	this.url = url;
};

Dsq.NewFrames.prototype.init = function(onFailure) {
	var that = this;

	try {
		this.messenger = new ParentMessenger(this.url, Dsq.jsonData.integration.receiver_url, this.container, this.receive_callback);
	} catch(e) {
		if (typeof onFailure == 'function') {
			onFailure();
		}
	}

	if (typeof onFailure == 'function') {
		var iId = window.setInterval(function() {
			if (typeof that.messenger == 'undefined') {
				window.clearInterval(iId);
				return;
			}
			if (that.messenger._ready) {
				window.clearInterval(iId);
			} else if (that.messenger._error) {
				window.clearInterval(iId);
				onFailure();
			}
		}, 10);
	}
};

Dsq.NewFrames.prototype._execute = function(method, args, callback) {
	var that = this;
	if (typeof that.messenger == 'undefined') {
		return false;
	}
	JsonRpc.execute(
		function(msg) { that.messenger.sendMessage(msg); },
		method,
		args || [],
		callback);
	return true;
};

Dsq.ReplyFrame = function(container, parent_post_id) {
	var that = this;
	this.container = container;
	this.parent_post_id = parent_post_id;

	var sendFunc = function(msg) {

		Dsq.Debug.log('Dsq.ReplyFrame.sendFunc');
		that.messenger.sendMessage(msg);
	};


	var postComment_onSuccess = function(response) {
		Dsq.jsonData.posts[response.message.id] = response.message.post_meta;
		if (!Dsq.jsonData.users[response.message.post_meta.user_key]) {
			Dsq.jsonData.users[response.message.post_meta.user_key] = response.message.user_meta;
		}


		var reply_position = (typeof(disqus_insert_wrt_sort) == 'undefined' 
			? (Dsq.jsonData.forum.reply_position ? -1 : null) 
			: (Dsq.jsonData.request.sort == 2 ? null : -1));
		
		if (response.message.post_meta.approved) {
			Dsq.Post.insert(response.message.post_meta.parent_post_id || reply_position, response.message.id, response.message.post_meta.message);
		}

		Dsq.Templates.postComment_onSuccess(response, parent_post_id, response.message.id);
	};

	var postComment_onFailure = function(response) {
		Dsq.Popup.popModal(response.message, 'Error');
		Dsq.Templates.postComment_onFailure(response, parent_post_id, response.message.id);
	};

	var editComment_onSuccess = function(response) {
		var post_id = parent_post_id;
		var message = Dsq.$('dsq-comment-message-' + post_id);
		
		message.innerHTML = response.message;
		Dsq.Templates.toggleEdit(post_id);
		Dsq.Templates.setLoadingButton(false);
	};
	
	var editComment_onFailure = function(response) {
		var post_id = parent_post_id;
		
		Dsq.Popup.popModal('Sorry, there was an error editing this comment.', 'Edit Error');
		Dsq.Templates.toggleEdit(post_id);
		Dsq.Templates.setLoadingButton(false);
	};

	var getUserByEmail_onSuccess = function(response) {
		var msg = response.message;
		var fields = Dsq.Templates.getFormFields(parent_post_id);

		if (msg.username) {

			Dsq.Templates.lightboxAuthenticate(parent_post_id, 'login', {
				'username': msg.username,
				'display_name': msg.display_name,
				'avatar_url': msg.avatar_url,
				'verified': msg.verified,
				'email': fields.email.value
			});
		} else {

			Dsq.Templates.lightboxAuthenticate(parent_post_id, 'register');
		}
	};

	var validateAuth_onSuccess = function(response, auth_choice) {
		Dsq.Templates.postComment(parent_post_id, null, true, auth_choice);
	};

	var validateAuth_onFailure = function(response, auth_choice) {
		var pid = parent_post_id ? '-' + parent_post_id : '';
		var msg = response.message;

		if (auth_choice == 'register') {
			var fields = ['email', 'username', 'password'];

			for (var i = 0; i < fields.length; i++) {
				var field = fields[i];
				var errorDiv = Dsq.$('dsq-' + field + '-errors' + pid);

				if (msg[field]) {
					errorDiv.innerHTML = msg[field];
				} else {
					errorDiv.innerHTML = '';
				}
			}
		} else if (auth_choice == 'login') {
			Dsq.$('dsq-lightbox-errors' + pid).innerHTML = '<p>We couldn\'t log you in. Please verify your login.</p>';
		}
		
		Dsq.Templates.setLoadingButton(false);
	};

	this.receive_callback = JsonRpc.createHandler(sendFunc, {
		'postComment.onSuccess': postComment_onSuccess,
		'postComment.onFailure': postComment_onFailure,
		'editComment.onSuccess': editComment_onSuccess,
		'editComment.onFailure': editComment_onFailure,		
		'getUserByEmail.onSuccess': getUserByEmail_onSuccess,
		'validateAuth.onSuccess': validateAuth_onSuccess,
		'validateAuth.onFailure': validateAuth_onFailure,
		'reload': function() { window.location.reload(); }
	});

	this.url = Dsq.Urls.REPLY +
		'?' + (new Date()).getTime() +
		'&f=popdose' +
		'&t=bottom_feeders_the_ass_end_of_the_821780s_part_9_81' +
		'&ff=' + Dsq.Thread.ff +
		'&default_text=' + encodeURIComponent(disqus_default_text) +
		'&ifrs=' + encodeURIComponent(disqus_iframe_css);
	if (this.parent_post_id) {
		this.url += '&parent_post=' + this.parent_post_id;
	}
};

Dsq.ReplyFrame.prototype = new Dsq.NewFrames(Dsq.ReplyFrame.url);

Dsq.ReplyFrame.prototype.post = function(author_name, author_email, author_url, authenticate, sharing_services, subscribe) {
	this._execute('postComment', [author_name, author_email, author_url, authenticate, sharing_services, subscribe]);
};

Dsq.ReplyFrame.prototype.edit = function(post_id, message) {
	this._execute('editComment', [post_id, message]);
};

Dsq.ReplyFrame.prototype.setState = function(parent_post_id, depth) {
	this._execute('setState', [parent_post_id, depth]);
};

Dsq.ReplyFrame.prototype.getUserByEmail = function(email) {
	this._execute('getUserByEmail', [email]);
};

Dsq.ReplyFrame.prototype.validateAuth = function(auth_choice, email, username, password) {
	this._execute('validateAuth', [auth_choice, email, username, password]);
};

Dsq.ReplyFrame.prototype.authenticateFacebook = function(session, forum_url) {
	this._execute('authenticateFacebook', [session, forum_url]);
};

	Dsq.Facebook = function() {
	var that = this;

	var handleSessionData = function(session) {

		var forum_url = Dsq.jsonData.forum.url;




		if (typeof disqus_facebook_forum != 'undefined') {
			forum_url = disqus_facebook_forum;
		}
		Dsq.frames.reply_0.authenticateFacebook(session, forum_url);
	};

	var onLogin = function() {
		FB.Connect.getSignedPublicSessionData(handleSessionData);
	};

	this.login = function() {
		FB.Connect.requireSession(onLogin, true);
	};
};
Dsq.Facebook = new Dsq.Facebook();


	






Dsq.Themes = {};

Dsq.Themes.narcissus = new function() {
	this.addPostContainer = 'dsq-form-area';
	this.textareaContainer = 'dsq-textarea-wrapper';



	
	this.header = function() {
		var comments_count, total_posts, num_posts;
		var html = '';
		var missing_perm_tmpl;

		if (Dsq.jsonData.request.missing_perm) {
			missing_perm_tmpl = Dsq.Templates.missingPermissions();
			if (missing_perm_tmpl) {
				html += '<div class="dsq-missing-permissions">' + missing_perm_tmpl + '</div>';
			}
		}

		total_posts = Dsq.jsonData.thread.total_posts;
		num_posts = Dsq.jsonData.thread.num_posts;

		if (total_posts) {
			comments_count = Dsq.FmtStrings.SHOWING_COMMENTS_FULL(total_posts, num_posts);
		} else {
			comments_count = Dsq.FmtStrings.SHOWING_COMMENTS_WITHOUT_PAGINATION(num_posts);
		}

		html += ' \
		<div id="dsq-comments-title"> \
			<h3>' + comments_count + '</h3> \
		</div> \
		';

		html += ' \
		<div class="dsq-options"> \
			<span class="dsq-item-sort">'
				+ Dsq.Strings.SORT_BY + ' \
				<select id="dsq-sort-select" onchange="Dsq.Thread.sortBy(this.value);"> \
					<option value="hot" ' + (Dsq.jsonData.request.sort == 4 ? 'selected="selected"' : '') + '>' + Dsq.Strings.POPULAR_NOW + '</option> \
					<option value="best" ' + (Dsq.jsonData.request.sort == 3 ? 'selected="selected"' : '') + '>' + Dsq.Strings.BEST_RATING + '</option> \
					<option value="newest" ' + (Dsq.jsonData.request.sort == 2 ? 'selected="selected"' : '') + '>' + Dsq.Strings.NEWEST_FIRST + '</option> \
					<option value="oldest" ' + (Dsq.jsonData.request.sort == 1 ? 'selected="selected"' : '') + '>' + Dsq.Strings.OLDEST_FIRST + '</option> \
				</select> \
				&nbsp; \
			</span> \
			<span class="dsq-subscribe-email"> \
				<img src="http://media.disqus.com/images/embed/email.png" style="width:12px;height:12px;vertical-align:middle"> \
				<span id="dsq-subscribe">'
					+ (Dsq.jsonData.context.subscribed
						? '<a href="#" onclick="Dsq.Thread.subscribe(0); return false">' + Dsq.Strings.UNSUBSCRIBE + '</a>'
						: '<a href="#" onclick="Dsq.Thread.subscribe(1); return false">' + Dsq.Strings.SUBSCRIBE_BY_EMAIL + '</a>')
				+ '</span> \
			</span> \
			<span class="dsq-subscribe-rss" style="width:12px;height:12px;vertical-align:middle"> \
				<img src="http://media.disqus.com/images/embed/bullet-feed.png" alt="" /> \
				<a href="http://popdose.disqus.com/bottom_feeders_the_ass_end_of_the_821780s_part_9_81/latest.rss">' + Dsq.Strings.SUBSCRIBE_BY_RSS + '</a> \
			</span> \
		</div> \
		';

		
		
			html += Dsq.Templates.realtime();
			html += Dsq.Templates.showThreadSettings();
			html = Dsq.Templates.postBox() + html;

		
		

		return html;

	};
	
	this.footer = function() {
		var html = '';

		html += Dsq.Templates.pagination();


		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		


		if (Dsq.jsonData.request.is_global_moderator) {
 			html += ' \
				<div class="dsq-global-moderator-extras">'
					+ '<strong>shortname:</strong> ' + Dsq.jsonData.forum.url
					+ '<strong>thread id:</strong> ' + Dsq.jsonData.thread.id
					+ '<strong>thread slug:</strong> ' + Dsq.jsonData.thread.slug
				+ '</div> \
			';
		}

		return html;
	};
	
	this.realtime = function() {
		var html = '';
		
		if (Dsq.jsonData.realtime_enabled) {
			html += '<div id="dsq-realtime-options" class="dsq-options">'
					 + Dsq.Strings.REALTIME_UPDATING_IS + ' <strong id="dsq-realtime-status" style="text-transform: lowercase">' + Dsq.Strings.ENABLED + '</strong>. \
					 <a href="#" id="dsq-realtime-toggle" style="text-transform: capitalize"></a> \
					</div>';
		}

		if (!Dsq.jsonData.forum.streaming_realtime) {
			html += ' \
				<div style="display: none" id="dsq-realtime-alert" class="dsq-realtime-alert"><span id="dsq-realtime-queued"></span> <a href="#" id="dsq-realtime-show"></a></div> \
			';
		}
		
		return html;
	};

	this.showThreadSettings = function() {
		if (!Dsq.jsonData.request.is_moderator) {
			return '';
		}

		html = '<div id="dsq-thread-settings" class="dsq-thread-settings">' + Dsq.Strings.MODERATOR_OPTIONS;
		html += '<a href="#" onclick="Dsq.Thread.showSettings(); return false;">' + Dsq.Strings.SETTINGS + '</a>';
		html += '<a href="#" onclick="Dsq.Thread.showModeratorActions(); return false;">' + Dsq.Strings.MODERATE + '</a>';
		if (Dsq.jsonData.forum.reactions_enabled && Dsq.jsonData.reactions.length === 0) {
			html += '<a href="#" onclick="Dsq.Reaction.reportMissingReactions(); return false;">'
						+ Dsq.Strings.REPORT_MISSING_REACTIONS
						+ '</a>';
		}
		html +='</div>';

		return html;
	};

	this.postBox = function(post_id, use_fallback_iframe) {


		var html;
		var display_sharing_options = Dsq.jsonData.request.is_authenticated;

		if (!Dsq.jsonData.request.is_authenticated && Dsq.jsonData.forum.disqus_auth_disabled && !Dsq.jsonData.forum.allow_anon_post) {
			return '';
		}
		
		if (Dsq.jsonData.request.is_remote) {


			if (!Dsq.jsonData.request.sharing.hasOwnProperty(Dsq.jsonData.request.remote_domain)) {
				display_sharing_options = false;
			}
		}
		
		if (post_id) {
			var _meta = Dsq.jsonData.posts[post_id];
			var userData = Dsq.jsonData['users'][_meta.user_key];				
		}
		
		var pid = post_id ? '-' + post_id : '';

		var _requestUserInfo = function() {
			var html;



			var user_has_email = false;

			html = '<div class="dsq-request-user-info"> <!-- // If authenticated --> \
				<a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.LOGOUT + '?ctkn=' + Dsq.CSRF_TOKEN + '" class="dsq-request-user-logout">' + Dsq.Strings.LOGOUT + '</a> \
				<table> \
					<tr> \
						<td rowspan="2">'
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '<a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE + '">' : '')
								+ '<img src="' + Dsq.Urls.REQUEST_USER_AVATAR + '" width="48" height="48" class="dsq-request-user-avatar">'
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '</a>' : '')
						+ '</td> \
						<td class="dsq-request-user-name">'
								+ (Dsq.jsonData.request.is_remote
									 ? '<span class="dsq-badge-small dsq-badge-' + Dsq.jsonData.request.remote_domain + '">' + Dsq.jsonData.request.remote_domain + '</span>'
									 : (Dsq.jsonData.request.is_verified
											? '<span class="dsq-badge-small dsq-badge-verified">Verified</span>'
											: '<span class="dsq-badge-small dsq-badge-registered">Registered</span>'))
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? ' <a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE + '">' : '') 
								+ Dsq.jsonData.request.display_username 
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '</a>' : '')
							+  (Dsq.jsonData.request.is_remote && user_has_email ? ' <small>(<a href="#" onclick="Dsq.Popup.remoteAccountSettings(); return false;">change settings</a>)</small>' : '')
							+  (!Dsq.jsonData.request.is_remote && !Dsq.jsonData.forum.disqus_auth_disabled ? ' <small>(<a href="' + Dsq.jsonData.settings.disqus_url + '/profile/info/" target="_blank">change name</a> or <a href="' + Dsq.jsonData.settings.disqus_url + '/profile/avatar/" target="_blank">picture</a>)</small>' : '')
						+ '</td> \
					</tr> \
					<tr> \
						<td class="dsq-request-user-stats"> \
							<span><big>' + Dsq.jsonData.request.comments_count + '</big> ' + (Dsq.jsonData.request.comments_count == 1 ? 'comment' : 'comments') + '</span> \
							<span><big>' + Dsq.jsonData.request.likes_count + '</big> ' + (Dsq.jsonData.request.likes_count == 1 ? 'like' : 'likes') + '</span> \
							<span><big>' + Dsq.jsonData.request.points + '</big> ' + (Dsq.jsonData.request.points == 1 ? 'point' : 'points') + '</span> \
						</td> \
					</tr> \
				</table> \
			</div> \
			';
			return html;
		};

		var _loginOptions = function() {
			var html;
			html = ' \
			<div class="dsq-authenticate"> \
				<p class="dsq-autheneticate-copy">'
				+ (Dsq.jsonData.forum.allow_anon_post
					? Dsq.Strings.YOU_ARE_COMMENTING_AS_A + ' <a class="dsq-help" title="Click for more information" href="#" onclick="Dsq.Popup.helpBadges(); return false">Guest</a>. ' + Dsq.Strings.OPTIONAL + ': ' + Dsq.Strings.LOGIN_BELOW + '.'
					: Dsq.Strings.REQUIRED + ': ' + Dsq.Strings.PLEASE_LOGIN_BELOW_TO_COMMENT + '.')
				+ '</p> \
				<ul class="dsq-login-buttons">'
					+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Popup.login(); return false"><img src="http://media.disqus.com/images/themes/narcissus/login-disqus.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_fb_connect ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Facebook.login(); return false;"><img src="http://media.disqus.com/images/themes/narcissus/login-facebook.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_twitter_signin ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Twitter.startTwitterConnect(); return false"><img src="http://media.disqus.com/images/themes/narcissus/login-twitter.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_openid ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.OpenID.requestURL(); return false" ><img src="http://media.disqus.com/images/themes/narcissus/login-openid.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_yahoo ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Yahoo.startYahooConnect(); return false"><img src="http://media.disqus.com/images/themes/narcissus/login-yahoo.gif" /></a></li>' : '')
				+ '</ul> \
			</div> \
			';
			return html;
		};

		if (!Dsq.jsonData.context.show_reply) {


			if (!Dsq.jsonData.request.is_authenticated) {



				return '<div id="dsq-form-area" style="display:none"><div id="dsq-textarea-wrapper"></div></div>' + _loginOptions();
			} else {
				return '';
			}
		}

		html = ' \
		<div id="' + (post_id 
			? 'dsq-reply-post-' + post_id
			: 'dsq-new-post')
		 	+ '" class="dsq-post-area"> \
			<div class="dsq-dc-logo"> \
				<a href="http://disqus.com/comments" target="_blank"><img src="http://media.disqus.com/images/themes/narcissus/disqus-logo.png"></a> \
			</div>'
			+ (post_id 
				? '<h3>' + Dsq.Strings.REPLYING_TO + ' ' + userData.display_name + '</h3>'
				: '<h3>' + Dsq.Strings.ADD_NEW_COMMENT + '</h3>')
			+ (Dsq.jsonData.request.is_authenticated 
				? _requestUserInfo()
				: _loginOptions() )
			+ '<div id="dsq-form-area' + pid + '">'
			+ '<div class="dsq-textarea"> \
				<div class="dsq-textarea-wrapper" id="dsq-textarea-wrapper' + pid + '"></div> \
			</div>'
			+ (!Dsq.jsonData.request.is_authenticated
			? ' \
			<div class="dsq-post-fields"> \
				<table> \
					<tr> \
						<td class="dsq-post-fields-left"><div class="dsq-input-wrapper"><input id="dsq-field-name' + pid + '" type="text" value="' + (disqus_def_name ? disqus_def_name : (Dsq.jsonData.session.name ? Dsq.jsonData.session.name : Dsq.Strings.NAME + '" class="dsq-placeholder')) + '" onfocus="Dsq.Templates.handlePlaceholder(event, this, \'name\')" onblur="Dsq.Templates.handlePlaceholder(event, this, \'name\')" /></div></td> \
						<td class="dsq-post-fields-right"><div class="dsq-input-wrapper"><input id="dsq-field-website' + pid + '" type="text" value="' + (Dsq.jsonData.session.url ? Dsq.jsonData.session.url : Dsq.Strings.WEBSITE + ' (' + Dsq.Strings.OPTIONAL.toLowerCase() + ')" class="dsq-placeholder') + '" onfocus="Dsq.Templates.handlePlaceholder(event, this, \'website\')" onblur="Dsq.Templates.handlePlaceholder(event, this, \'website\')" /></div></td> \
					</tr> \
					<tr> \
						<td class="dsq-post-fields-left"><div class="dsq-input-wrapper"><input id="dsq-field-email' + pid + '" type="text" value="' + (disqus_def_email ? disqus_def_email : (Dsq.jsonData.session.email ? Dsq.jsonData.session.email : Dsq.Strings.EMAIL + '" class="dsq-placeholder')) + '" onfocus="Dsq.Templates.handlePlaceholder(event, this, \'email\')" onblur="Dsq.Templates.handlePlaceholder(event, this, \'email\')" /></div></td> \
						<td class="dsq-post-fields-right"> \
							<div class="dsq-subscribe"> \
								<a href="#" onclick="Dsq.Templates.chooseSubscribe(' + post_id + '); return false" class="dsq-subscribe-menu"><span id="dsq-subscribe-select' + pid + '">' + (Dsq.jsonData.request.subscribe_on_post ? Dsq.Strings.SUBSCRIBE_TO_ALL_COMMENTS_BY_EMAIL : Dsq.Strings.DO_NOT_SUBSCRIBE_TO_COMMENTS) + '</span> <small>&#9660;</small></a> \
								<ul class="dsq-panel" id="dsq-subscribe-menu' + pid + '"> \
									<li><a href="#" onclick="Dsq.Templates.setSubscribe(2, this, ' + post_id + '); return false">' + Dsq.Strings.SUBSCRIBE_TO_ALL_COMMENTS_BY_EMAIL + '</a></li> \
									<li><a href="#" onclick="Dsq.Templates.setSubscribe(0, this, ' + post_id + '); return false">' + Dsq.Strings.DO_NOT_SUBSCRIBE_TO_COMMENTS + '</a></li> \
								</ul> \
								<input id="dsq-subscribe-on-post' + pid + '" type="hidden" value="' + Dsq.jsonData.request.subscribe_on_post + '" /> \
							</div> \
						</td> \
					</tr> \
				</table> \
			</div>'
			: '')
			+ '<div class="dsq-post-footer"> \
				<div class="dsq-sharing-options" ' + (!display_sharing_options ? 'style="display:none;"' : '') + '> \
					<button type="button" class="dsq-button-small" onfocus="document.getElementById(\'dsq-post-button' + pid + '\').focus();"><span>' + Dsq.Strings.SHARING_OPTIONS + ' <small>&#9660;</small></span></button> \
					<div class="dsq-panel"> '
						+ (Dsq.jsonData.request.sharing.twitter !== undefined
								&& Dsq.jsonData.request.sharing.twitter.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-twitter' + pid + '"'
								  + (Dsq.jsonData.request.sharing.twitter.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-twitter' + pid + '">' + Dsq.Strings.SHARE_ON + ' Twitter</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.facebook
								&& (Dsq.jsonData.request.sharing.facebook.enabled === true ||
										(Dsq.jsonData.request.is_remote && Dsq.jsonData.request.remote_domain == 'facebook'))
							? '<div><input type="checkbox" id="dsq-sharing-facebook' + pid + '"'
									+ (Dsq.jsonData.request.sharing.facebook.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-facebook' + pid + '">' + Dsq.Strings.SHARE_ON + ' Facebook</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.yahoo !== undefined
								&& Dsq.jsonData.request.sharing.yahoo.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-yahoo' + pid + '"'
									+ (Dsq.jsonData.request.sharing.yahoo.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-yahoo' + pid + '">' + Dsq.Strings.SHARE_ON + ' Yahoo!</label> \
								</div>'
							: '')
						+ (Dsq.jsonData.request.sharing.tumblr !== undefined
								&& Dsq.jsonData.request.sharing.tumblr.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-tumblr' + pid + '"'
									+ (Dsq.jsonData.request.sharing.tumblr.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-tumblr' + pid + '">' + Dsq.Strings.SHARE_ON + ' Tumblr</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.wordpress !== undefined
								&& Dsq.jsonData.request.sharing.wordpress.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-wordpress' + pid + '"'
									+ (Dsq.jsonData.request.sharing.wordpress.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-wordpress' + pid + '">' + Dsq.Strings.SHARE_ON + ' Wordpress</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.movabletype !== undefined
							  && Dsq.jsonData.request.sharing.movabletype.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-movabletype' + pid + '"'
									+ (Dsq.jsonData.request.sharing.movabletype.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-movabletype' + pid + '">' + Dsq.Strings.SHARE_ON + ' Movable Type</label> \
							   </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.typepad !== undefined
							  && Dsq.jsonData.request.sharing.typepad.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-typepad' + pid + '"'
									+ (Dsq.jsonData.request.sharing.typepad.auto === true ? 'checked=true' : '') + '/> \
								  <label for="dsq-sharing-typepad' + pid + '">' + Dsq.Strings.SHARE_ON + ' TypePad</label> \
							   </div>'
							: '')
						+ '<div><a href="' + Dsq.jsonData.settings.disqus_url + '/profile/connections/" target="_blank" class="dsq-configure-options">' + Dsq.Strings.CONFIGURE_OPTIONS + '</a></div>'
					+ '</div> \
				</div>'
				+ '<button type="button" class="dsq-button" id="dsq-post-button' + pid + '" onclick="Dsq.Templates.postComment(' + post_id + ', this, false)"><span>' + Dsq.Strings.POST_AS + ' '
				+ (Dsq.jsonData.request.display_username
					? Dsq.jsonData.request.display_username
					: Dsq.Strings.GUEST)
				+ '</span></button>'
				+ (post_id
					? '<button type="button" class="dsq-button" id="dsq-cancel-button' + pid + '" onclick="Dsq.Post.toggleReply(' + post_id +', this)"><span>' + Dsq.Strings.CANCEL + '</span></button>'
					: '')
			+ '</div>'
			+ '</div>' // end dsq-form-area
		+ '</div> \
		';
		
		return html;
	};




	this.appendPost = function(post_id) {
		var html = '<div id="dsq-append-post-' + post_id + '"></div>';
		return html;
	};

	this.postPrependHeader = function(post_id) {
		var html;
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		
		html = ' \
		<table> \
			<tr> \
				<td id="dsq-header-avatar-' + post_id + '" class="dsq-header-avatar" onmouseover="Dsq.Post.dropProfile(' + post_id + ')"> \
					<a id="dsq-avatar-' + post_id + '" class="dsq-avatar" href="' + userData.url + '" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">'
					+ (Dsq.jsonData.forum.show_avatar
					? '<img src="' + Dsq.jsonData.users[_meta.user_key].avatar + '" alt="" />'
					: '')
				+ '</a> \
				</td> \
				<td class="dsq-comment-header-meta"> \
		';

		
		return html;
	};
	
	this.postAppendHeader = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var html;
		var parent_display_name = '';
		
		if(_meta.parent_post_id) {

			var _parent_meta = Dsq.jsonData.posts[_meta.parent_post_id];

			if (_parent_meta) {
				var parentUserData = Dsq.jsonData['users'][_parent_meta.user_key];
				parent_display_name = parentUserData.display_name;
			}
		}

		html = ' \
		<img src="http://media.disqus.com/images/themes/narcissus/moderator.png" class="dsq-moderator-star" title="Moderator" /> \
		<span class="dsq-comment-header-time"><a href="#comment-' + post_id + '" onclick="Dsq.Popup.permalink(' + post_id + ')" title="Permalink">' + (_meta.is_realtime ? Dsq.Strings.JUST_NOW : _meta.date) + '</a></span> '
		+ (_meta.parent_post_id && parent_display_name
			? '<a href="#comment-' + _meta.parent_post_id + '" title="Jump to comment">in reply to ' + parent_display_name + '</a>'
			: '')
		+ '</td> \
		<td id="dsq-like-pts-' + post_id + '" class="dsq-comment-header-likes">'
		+ (_meta.points
			? _meta.points + Dsq.Utils.pluralize(_meta.points, ' person', ' people') + ' liked this.'
			: '')
		+ '</td> \
		</tr> \
		</table> \
		';
		return html;
	};

	this.preBody = function(post_id) {
		var html = '';
		return html;
	};

	this.postFooter = function(post_id) {
		var html;
		var _meta = Dsq.jsonData.posts[post_id];
		if(_meta.killed || !_meta.approved) { return ''; }
		
		html = ' \
		<div class="dsq-comment-footer" id="dsq-comment-footer-' + post_id + '"> \
			<div class="dsq-comment-footer-left">'
				+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator
					? '<a href="#" onclick="Dsq.Templates.moderateOptions(' + post_id+ '); return false">' + Dsq.Strings.MODERATE + '</a>'
					: '')
				+ '<a href="#" id="dsq-post-report-' + post_id + '" class="dsq-post-report" onclick="Dsq.Post.report(' + post_id + ', false); return false;">' + Dsq.Strings.FLAG + '</a> \
			</div> \
			<div class="dsq-comment-footer-right">'
				+ (_meta.votable 
					? '<span id="dsq-like-' + post_id + '" class="dsq-like">'
					+ (!_meta.up_voted
						? '<button type="button" class="dsq-button-small" onclick="Dsq.Post.rate(this, ' + post_id + ', 1)" >Like</button>'
						: 'You liked this.&nbsp;&nbsp;')
					+ '</span>'
					: '')
				+ (_meta.can_reply && !_meta.has_replies && _meta.from_request_user
					? '<button type="button" class="dsq-button-small dsq-post-edit" onclick="Dsq.Post.edit(this, ' + post_id + ')" >' + Dsq.Strings.EDIT + '</button>'
					: '')
				+ (_meta.can_reply
					? '<span class="dsq-comment-footer-reply" id="dsq-comment-footer-reply-' + post_id + '" onclick="Dsq.Post.toggleReply(' + post_id +', this)"> \
						<button type="button" class="dsq-button-small">' + Dsq.Strings.REPLY + '</button> \
						<button type="button" class="dsq-comment-footer-reply-tab">' + Dsq.Strings.REPLY + '</button><span></span> \
					</span>'
					: '')
			+ '</div> \
		</div> \
		';
		
		return html;
	};



	
	this.showRetweets = function(id, limit, element_id /* Optional */) {
		var source, html = '';

		for (var i = 0, reaction; reaction = Dsq.jsonData.reactions[i]; i++) {
			if (reaction.id === id) {
				source = reaction.retweets;
			}
		}

		if (source) {
			if (limit === 0) {
				limit = source.length;
			}

			for (var j = 0; j < limit; j++) {
				var rt = source[j];
				html += '<a href="' + rt.url + '">' + rt.author_name + '</a>'	+ ((j === (limit - 1)) ? '.' : ', ');
			}
		}

		if (element_id === undefined) {
			return html;
		}

		var element = document.getElementById(element_id);
		element.innerHTML = html;
		return element;
	};

	this.showMoreReactions = function(reactions, has_more, start, limit) {
		var link = document.getElementById('dsq-show-more-reactions');
		var container = link.parentNode;
		container.removeChild(link);

		for (var i = 0, reaction; reaction = reactions[i]; i++) {
			var el = Dsq.Templates.generateReactionHTML(reaction);
			if (el) {
				container.innerHTML += el;
			}
		}

		if (has_more) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = start;
			var l = limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			container.innerHTML += '<li id="dsq-show-more-reactions" class="dsq-show-more-reactions"><button type="button" class="dsq-button-small" onclick="' + handler + '">Show more reactions</button></li>';
		}
	};

	this.generateReactionHTML = function(reaction) {
		if (reaction.body === null || reaction.body == '') {
			return;
		}

		if (reaction.author_name === '') {
			reaction.author_name = '&nbsp;';
		}

		if (reaction.url === '') {
			reaction.url = reaction.get_service_url;
		}

		var item = '<li class="dsq-comment dsq-reaction" id="dsq-reaction-' + reaction.id + '">'
			+ '<div class="dsq-comment-header"> \
			<table> \
			<tr> \
			<td class="dsq-header-avatar"> \
			';

		if (reaction.author_url && reaction.author_url !== '') {
			item += '<a target="_blank" href="' + reaction.author_url +'" class="dsq-avatar">';
		}

		if (reaction.avatar_url && reaction.avatar_url !== '') {
			item += '<img src="' + reaction.avatar_url + '"/>';
		} else {

			item += '<img src="' + Dsq.jsonData.media_url + '/images/noavatar92.png"/>';
		}

		var service_icon = (reaction.get_service_name == 'trackback' || reaction.get_service_name == 'pingback' ? 'rss' : reaction.get_service_name.replace(' ', ''));
		item += (reaction.author_url && reaction.author_url !== ''
				? '</a>'
				: '')
			+ '</td>'
			+ '<td><cite class="dsq-comment-cite">' + reaction.author_name + '</cite> <span class="dsq-comment-header-time">' + reaction.date_created + '</span></td>'
			+ '<td class="dsq-comment-header-likes"></td>'
			+ '</tr></table></div>' // end dsq-comment-header
			+ '<div class="dsq-reaction-header" \
				<table> \
					<tr> \
						<td class="dsq-reaction-header-left">'
							+ '<img class="dsq-service-icon" src="' + Dsq.jsonData.media_url + '/images/reactions/services/' + service_icon + '.png" />'
							+ ' From <a class="dsq-service-name" target="_blank" href="' + reaction.url + '">' + reaction.get_service_name + '</a> '
							+ 'via <a href="' + reaction.source_url + '">' + (reaction.source == 'backtype' ? 'BackType' : 'UberVU') + '</a>'
						+ '</td>'
						+ '<td class="dsq-reaction-header-right">';

			if(reaction.retweets) {
				var num_retweets = reaction.retweets.length;
				if (num_retweets > 0) {
					if (num_retweets == 1) {
						item += 'One more retweet from <a href="' + reaction.retweets[0].url + '">'  + reaction.retweets[0].author_name + '</a>';
					} else {
						item += (num_retweets + ' more retweets from ');
						item += '<span id="dsq-reaction-retweets-' + reaction.id + '">';
						var n_tweets = (num_retweets > 3) ? 3 : num_retweets;
						item += Dsq.Templates.showRetweets(reaction.id, n_tweets);
						if (n_tweets != num_retweets) {
							item += '</span> <a onclick="Dsq.Templates.showRetweets(' + reaction.id + ', 0, \'dsq-reaction-retweets-' + reaction.id + '\');'
								+ 'this.parentNode.removeChild(this); return false;" href="#">Show all</a>';
						}
					}
				}
			}	
			item += '</td></tr> \
			</table> \
			</div>' // end dsq-reaction-header
			+ '<div class="dsq-comment-body"> \
				<div class="dsq-comment-message">' + reaction.body + '</div>'
			+ '</div> \
			<div class="dsq-comment-footer"> \
				<div class="dsq-comment-footer-left"> \
				</div>'
				+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator 
					? ' \
					<div class="dsq-comment-footer-right"> \
						<button type="button" class="dsq-button-small dsq-hide-reaction" onclick="Dsq.Reaction.hide(' + reaction.id + ')">Hide</button> \
					</div>'
					: '')
			+ '</div>'
		item += '</li>'; /* Reaction HTML ends */
		return item;
	};

	this.reactions = function() {
		var html, reaction;

		if (Dsq.jsonData.reactions === undefined || Dsq.jsonData.reactions.length === 0) {
			return '';
		}

		html = '';
		for (var i = 0; reaction = Dsq.jsonData.reactions[i]; i++) {
			var item = Dsq.Templates.generateReactionHTML(reaction);
			if (item) {
				html += item;
			}
		}

		if (Dsq.jsonData.has_more_reactions) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = Dsq.jsonData.reactions_start;
			var l = Dsq.jsonData.reactions_limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			html += '<li id="dsq-show-more-reactions" class="dsq-show-more-reactions"><button type="button" class="dsq-button-small" onclick="' + handler + '">Show more reactions</button></li>';
		}

		return '<h3 id="dsq-reactions-title" class="dsq-h3-reactions">Reactions</h3><ul id="dsq-reactions" class="dsq-reactions">' + html + '</ul>';
	};
	
	this._popupGeneric = function(content) {
		return ' \
		<div class="dsq-popup-container"> \
			<table> \
				<tbody> \
					<tr> \
						<td class="dsq-popup-tl"></td><td class="dsq-popup-b"></td><td class="dsq-popup-tr"></td> \
					</tr> \
					<tr> \
						<td class="dsq-popup-b"></td> \
						<td class="dsq-popup-body"> \
							<div class="dsq-popup-content"> \
								<div class="dsq-popup-title"> \
									<button type="button" class="dsq-button-small" style="float:right" onclick="Dsq.Popup._closePopup(null, true)">Close</button>'
									+ content['header'] 
								+ '</div>'
								+ content['body']
							+ '</div> \
							<div class="powered-by"><a href="http://disqus.com/comments/">Powered by <img src="http://media.disqus.com/images/embed/disqus-logo.png" alt="Disqus Comments" style="margin-bottom:-5px" /></a></div> \
						</td> \
						<td class="dsq-popup-b"></td> \
					</tr> \
					<tr> \
						<td class="dsq-popup-bl"></td><td class="dsq-popup-b"></td><td class="dsq-popup-br"></td> \
					</tr> \
				</tbody> \
			</table> \
		</div> \
		';
	};



	
	this.chooseSubscribe = function(post_id) {

		var pid = post_id ? '-' + post_id : '';
		var menu = Dsq.$('dsq-subscribe-menu' + pid);
		
		menu.style.display = menu.style.display == 'block' ? 'none' : 'block';
		
	};
	
	this.setSubscribe = function(value, el, post_id) {

		var pid = post_id ? '-' + post_id : '';
		var input = Dsq.$('dsq-subscribe-on-post' + pid);
		var select = Dsq.$('dsq-subscribe-select' + pid);
		var menu = Dsq.$('dsq-subscribe-menu' + pid);
		
		select.innerHTML = el.innerHTML;
		input.value = value;
		this.chooseSubscribe(post_id);
	};
	
	this.getFormFields = function(post_id) {

		var fields = {};
		var pid = post_id ? '-' + post_id : '';
		var name = Dsq.$('dsq-field-name' + pid);
		var email = Dsq.$('dsq-field-email' + pid);
		var website = Dsq.$('dsq-field-website' + pid);
		var username = Dsq.$('dsq-field-username' + pid);
		var password = Dsq.$('dsq-field-password' + pid);

		fields = {
			'name': name,
			'email': email,
			'website': website,
			'username': username,
			'password': password
		}
		
		return fields;
	}
	
	this.validateFields = function(post_id) {
		
		if(Dsq.jsonData.request.is_authenticated) { return true; }
		
		var fields = Dsq.Templates.getFormFields(post_id);
		
		var nameField = fields.name;
		var websiteField = fields.website;
		var emailField = fields.email;
		
		websiteField.value = (websiteField.value == Dsq.Templates.placeholder['website']) ? '' : websiteField.value;
		
		var v = [{

			validator: Dsq.Validators.name,
			value: nameField.value
		}, {

			validator: Dsq.Validators.email,
			value: emailField.value
		}, {

			validator: Dsq.Validators.url,
			value: websiteField.value
		}];
		
		return Dsq.Validators.validate(v, function(e) { Dsq.Popup.popModal(e, 'Oops...') } );
	};
	
	this.checkExistingUser = function(post_id) {
		var fields = Dsq.Templates.getFormFields(post_id);		
		Dsq.Popup.loading(post_id);
		
		if (post_id) {
			Dsq.frames['reply_' + post_id].getUserByEmail(fields.email.value);
		} else {
			Dsq.frames['reply_0'].getUserByEmail(fields.email.value);
		}
	};

	this.validateAuth = function(el_clicked, post_id, auth_choice) {
		var fields = Dsq.Templates.getFormFields(post_id);
		var email = fields.email ? fields.email.value : '';
		var username = fields.username ? fields.username.value : '';
		var password = fields.password ? fields.password.value : '';
		
		Dsq.Templates.setLoadingButton(el_clicked, post_id);
		
		if (post_id) {
			Dsq.frames['reply_' + post_id].validateAuth(auth_choice, email, username, password);
		} else {
			Dsq.frames['reply_0'].validateAuth(auth_choice, email, username, password);
		}
	};

	this.lightboxUpdateEmail = function(post_id, new_email) {
		var fields = Dsq.Templates.getFormFields(post_id);
		fields.email.value = new_email;
	};

	this.lightboxAuthenticate = function(post_id, auth_choice, auth_data) {
		var title, body;
		var pid = post_id ? '-' + post_id : '';

		if(typeof(auth_data) == 'undefined') {
			var auth_data = Dsq.Templates.getFormFields(post_id);
		}

		d = auth_data;

		switch(auth_choice) {
			case 'register':
				var suggestedUsername = d.name.value.replace(/[^a-zA-Z0-9-]/g,'').toLowerCase();
			
				title = Dsq.jsonData.forum.allow_anon_post ? 'Optional:' : 'Required:';
				title += ' Register a <img src="http://media.disqus.com/images/embed/disqus-profile.png" alt=Disqus Profile" />';

				body = ' \
				<ul class="dsq-lightbox-register-reasons"> \
				<li>Verify your comments</li> \
				<li>Edit and delete comments</li> \
				<li>Manage comments and replies</li> \
				</ul> \
				';

				body += ' \
				<div class="dsq-lightbox-auth-fields"> \
					<table> \
						<tr> \
							<td>Email</td> \
							<td><input type="text" value="' + d.email.value + '" onchange="Dsq.Templates.lightboxUpdateEmail(' + post_id + ', this.value)" /><div id="dsq-email-errors' + pid + '"></div></td> \
						</tr> \
						<tr> \
							<td>Username</td> \
							<td><input id="dsq-field-username' + pid + '" type="text" value="' + suggestedUsername + '"/><div id="dsq-username-errors' + pid + '"></div></td> \
						</tr> \
						<tr> \
							<td>Password</td> \
							<td><input id="dsq-field-password' + pid + '" type="password" /><div id="dsq-password-errors' + pid + '"></div></td> \
						</tr> \
					</table> \
					<div class="dsq-lightbox-switch-auth"><a href="#" onclick="Dsq.Templates.lightboxAuthenticate(' + post_id + ',\'login\'); return false">Login instead</a></div> \
				</div> \
				<div id="dsq-lightbox-errors' + pid + '" class="dsq-lightbox-errors"></div> \
				<div class="dsq-lightbox-submit"> \
					<div class="dsq-lightbox-auth-post"><button type="button" class="dsq-button" onclick="Dsq.Templates.validateAuth(this, ' + post_id + ',\'' + auth_choice + '\')">Register and Post comment</button></div>'
					+ (Dsq.jsonData.forum.allow_anon_post
						? '<div class="dsq-lightbox-auth-skip"><button type="button" class="dsq-button-small" onclick="Dsq.Templates.postComment(' + post_id + ', this, true)">Just post as a Guest</button></div>'
						: '')
				+ '</div> \
				';
				break;
			case 'login':
				title = Dsq.jsonData.forum.allow_anon_post ? 'Optional:' : 'Required:';
				title += ' Login to your <img src="http://media.disqus.com/images/embed/disqus-profile.png" alt=Disqus Profile" />';
				body = '';
				
				if(d.avatar_url) {
					body += '<div class="dsq-lightbox-recognized"><table><tr>';
					body += '<td><img src="' + d.avatar_url + '" alt="" /></td>';
					body += '<td><span class="dsq-badge ' + (d.verified ? 'dsq-badge-verified' : 'dsq-badge-registered') + '">' + (d.verified ? 'Verified' : 'Registered') + '</span></td>';
					body += '<td>Hey <strong>' + d.display_name + '</strong>, is that you? Login below to claim this comment.';
					body += '</tr></table></div>';
				}

				body += ' \
				<div class="dsq-lightbox-auth-fields"> \
					<table> \
						<tr> \
							<td>Username or Email</td> \
							<td><input id="dsq-field-username' + pid + '" type="text" value="' + (d.avatar_url ? d.username : '') + '" /></td> \
						</tr> \
						<tr> \
							<td>Password <a href="http://disqus.com/forgot" target="_blank">(cannot log in?)</a></td> \
							<td><input id="dsq-field-password' + pid + '" type="password" /></td> \
						</tr> \
					</table> \
					<div class="dsq-lightbox-switch-auth"><a href="#" onclick="Dsq.Templates.lightboxAuthenticate(' + post_id + ',\'register\'); return false">Register instead</a></div> \
				</div> \
				<div id="dsq-lightbox-errors' + pid + '" class="dsq-lightbox-errors"></div> \
				<div class="dsq-lightbox-submit"> \
					<div class="dsq-lightbox-auth-post"><button type="button" class="dsq-button" onclick="Dsq.Templates.validateAuth(this, ' + post_id + ',\'' + auth_choice + '\')">Login and Post comment</button></div>'
					+ (Dsq.jsonData.forum.allow_anon_post
						? '<div class="dsq-lightbox-auth-skip"><button type="button" class="dsq-button-small" onclick="Dsq.Templates.postComment(' + post_id + ', this, true)">Just post as a Guest</button></div>'
						: '')
				+ '</div> \
				';
				break;
			default:
				break;
		}
		Dsq.Popup.lightbox(body, title, post_id);
		Dsq.$('dsq-field-username' + pid).focus();
	};
	
	this.buttonsToRestore = [];
	this.setLoadingButton = function(btn, post_id) {
		var pid = post_id ? '-' + post_id : '';
		if (btn) {

			var loadingBtn = document.createElement('button');
			loadingBtn.id = btn.id + '-loading';
			loadingBtn.innerHTML = '<img src="http://media.disqus.com/images/loading-lite.gif" alt="" /> ' + Dsq.Strings.JUST_A_MOMENT;
			loadingBtn.className = btn.className + ' dsq-post-loading';
			btn.parentNode.appendChild(loadingBtn);
			btn.style.display = 'none';
			var cancelBtn = Dsq.$('dsq-cancel-button' + pid);
			if(cancelBtn) { cancelBtn.style.display = 'none'; this.buttonsToRestore.push(cancelBtn); }
			this.buttonsToRestore.push(btn);
		} else {

			var buttons = this.buttonsToRestore;
			for(var i = 0; i < buttons.length; i++) {
				buttons[i].style.display = 'inline';
				Dsq.Utils.deleteNode(Dsq.$(buttons[i].id + '-loading'));
			}
		}
		
	};

	this.postComment = function(post_id, el_clicked, force, auth_choice) {
		var append_id = post_id ? '-' + post_id : '';
		var fields = Dsq.Templates.getFormFields(post_id);

		if (Dsq.Templates.validateFields(post_id)) {

			if (!Dsq.jsonData.request.is_authenticated && !force &&
				((!Dsq.Utils.readCookie('skipped_auth') && !disqus_skip_auth && !Dsq.jsonData.forum.disqus_auth_disabled) || !Dsq.jsonData.forum.allow_anon_post)) {
				Dsq.Templates.checkExistingUser(post_id);
				return false;
			}
			var params = [];
			if (!Dsq.jsonData.request.is_authenticated) {
				params.push(fields.name.value,
					fields.email.value,
					fields.website.value);

				if (auth_choice == 'login' || auth_choice == 'register') {
					params.push({
						auth_choice: auth_choice,
						username: fields.username.value,
						password: fields.password.value,
						email: fields.email.value
					});
				} else {
					params.push(null);
				}

				params.push(null /* sharing options */, Dsq.$('dsq-subscribe-on-post' + append_id).value);
			} else {
				var service_checked = function(name) {
					var el = Dsq.$('dsq-sharing-' + name + append_id);
					return (el !== null && el.checked === true) ? '1' : '0';
				};
				params.push(null, null, null, null, {
					tw: service_checked('twitter'),
					fb: service_checked('facebook'),
					tr: service_checked('tumblr'),
					wp: service_checked('wordpress'),
					mt: service_checked('movabletype'),
					tp: service_checked('typepad'),
					yh: service_checked('yahoo')
				});
			}

			var frame = Dsq.frames['reply_' + (post_id ? post_id : 0)];
			frame.post.apply(frame, params);

			if (el_clicked) {
				Dsq.Templates.setLoadingButton(el_clicked, post_id);
			}
			
			if (force) {
				Dsq.Utils.createCookie('skipped_auth', true);	
			}
			
		} else {
			return false;
		}
	};

	this.editComment = function(el_clicked, post_id) {
		var edited_message = Dsq.$('dsq-edit-textarea-' + post_id).value;

		Dsq.Templates.setLoadingButton(el_clicked, post_id);
		Dsq.frames['edit_' + post_id].edit(post_id, edited_message);
	};

	this.toggleEdit = function(post_id) {
		var body = Dsq.$('dsq-comment-body-' + post_id);
		var message = Dsq.$('dsq-comment-message-' + post_id);

		if (!Dsq.Post.stateEditToggled[post_id]) {


			message.style.display = 'none';
			if (Dsq.$('dsq-edit-' + post_id)) {
				Dsq.$('dsq-edit-' + post_id).style.display = 'block';
			} else {

				var edit_area = document.createElement('div');
				edit_area.id = 'dsq-edit-' + post_id;
				edit_area.className = 'dsq-edit dsq-textarea';
				edit_area.innerHTML = ' \
				<div class="dsq-textarea-wrapper"> \
					<textarea class="dsq-edit-textarea" id="dsq-edit-textarea-' + post_id + '">' + message.innerHTML + '</textarea> \
				</div> \
				<div class="dsq-save-edit"> \
					<button type="button" onclick="Dsq.Templates.editComment(this, ' + post_id + ')" class="dsq-button-small">Save Edit</button> \
				</div> \
				<div id="dsq-edit-iframe-' + post_id + '" style="display: none"></div> \
				';

				body.appendChild(edit_area);

				if (!Dsq.frames['edit_' + post_id]) {
					var _meta = Dsq.jsonData.posts[post_id];
					Dsq.frames['edit_' + post_id] = new Dsq.ReplyFrame(Dsq.$('dsq-edit-iframe-' + post_id), post_id);
					Dsq.frames['edit_' + post_id].init();
					Dsq.frames['edit_' + post_id].setState(post_id, _meta.depth);
				}
			}
		} else {

			message.style.display = 'block';
			Dsq.$('dsq-edit-' + post_id).style.display = 'none';
		}
		
		Dsq.Post.stateEditToggled[post_id] = !Dsq.Post.stateEditToggled[post_id];
	};
	
	this.edit = function(el, post_id) {

		Dsq.Templates.toggleEdit(post_id);
	};

	this.toggleReply = function(post_id, button) {
		
		if(!this.stateReplyToggled[post_id]) {

			if (Dsq.$('dsq-reply-post-' + post_id)) {
				Dsq.$('dsq-append-post-' + post_id).style.display = 'block';
			} else {
				Dsq.$('dsq-append-post-' + post_id).innerHTML = Dsq.Templates.postBox(post_id);
				var container = Dsq.$('dsq-textarea-wrapper-' + post_id);
				if (!Dsq.frames['reply_' + post_id] && container) {
					var _meta = Dsq.jsonData.posts[post_id];
					Dsq.frames['reply_' + post_id] = new Dsq.ReplyFrame(container, post_id);
					Dsq.frames['reply_' + post_id].init(function() {

						Dsq.$('dsq-append-post-' + post_id).innerHTML = Dsq.Templates.postBox(post_id, true);
						Dsq.$('dsq-form-area-' + post_id).innerHTML = '';

						var theme = (typeof disqus_frame_theme == 'undefined') ? 'default' : disqus_frame_theme;
						Dsq.Iframes.showReplyIframeInContainer(Dsq.$('dsq-form-area-' + post_id), post_id, {theme: theme});

					});
					Dsq.frames['reply_' + post_id].setState(post_id, _meta.depth);
				}
			}
			Dsq.$('dsq-append-post-' + post_id).className = 'dsq-append-post';
			Dsq.$('dsq-comment-footer-reply-' + post_id).className = 'dsq-comment-footer-reply-active';
			
		} else {

			Dsq.$('dsq-append-post-' + post_id).style.display = 'none';
			Dsq.$('dsq-append-post-' + post_id).className = '';
			Dsq.$('dsq-comment-footer-reply-' + post_id).className = 'dsq-comment-footer-reply';
		}
		
		this.stateReplyToggled[post_id] = !this.stateReplyToggled[post_id];

		if(Dsq.Utils.ie && this.stateReplyToggled[post_id]) {

		}

		Dsq.Events.fire(Dsq.Events.REPLY_IFRAME_TOGGLED, {
			postId: post_id,
			opened: this.stateReplyToggled[post_id]
		});
	};
	
	this.moderateOptions = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		
		if(!Dsq.jsonData.request.is_moderator && !Dsq.jsonData.request.is_global_moderator) { return false; }

		var html;
		
		html = ' \
		<div class="dsq-moderate-options"> \
		<table>'
		+ (_meta.email ? '<tr><td>Email</td><td>' + _meta.email + '</td></tr>' : '')
		+ (_meta.ip ? '<tr><td>IP address</td><td>' + _meta.ip + '</td></tr>' : '')
		+ '<tr> \
			<td>Actions</td> \
			<td><ul>'
			+ (Dsq.jsonData.request.moderator_can_edit
				? '<li><a href="#" onclick="Dsq.Post.edit(this, ' + post_id + '); Dsq.Popup._closePopup(null, true); return false;">Edit Comment</a></li>'
				: '')
			+ '<li><a href="#" onclick="Dsq.Post.removePost(' + post_id + ', 1); Dsq.Popup._closePopup(null, true); return false;">Delete Comment</a></li> \
			<li><a href="#" onclick="Dsq.Post.reportSpam(' + post_id + '); Dsq.Popup._closePopup(null, true); return false;">Mark Spam</a></li> \
			<li><a href="#" onclick="Dsq.Popup.blacklist(' + post_id + '); return false">Block User</a></li> \
			</ul></td> \
			</table> \
		</div> \
		';
		
		html += '<p>Go to the full <a href="http://disqus.com/comments/moderate/" target="_blank">moderate panel</a> for more options.</p>';
		
		return Dsq.Popup.popModal(html, 'Moderate Options', post_id);
	};
	
	this.placeholder = {
		'class': 'dsq-placeholder',
		'name': Dsq.Strings.NAME,
		'email': Dsq.Strings.EMAIL,
		'website': Dsq.Strings.WEBSITE + ' (' + Dsq.Strings.OPTIONAL.toLowerCase() + ')'
	};
	
	this.handlePlaceholder = function(evt, el, key) {
		var placeholder = Dsq.Templates.placeholder[key];
		var className = Dsq.Templates.placeholder['class'];
		
		switch(evt.type) {
			case 'focus':
				if(el.value == placeholder) {
					el.value = '';
					el.className = '';
				}
				break;

			case 'blur':
				if(el.value == '') {
					el.value = placeholder;
					el.className = className;
				}
				break;
			default:
				break;
		}
	};
	
	this.paginate = function(page, el_clicked) {

		var extra_params = '';

		if(typeof disqus_per_page != 'undefined') {
			extra_params += '&per_page=' + disqus_per_page;
		}
		if(typeof disqus_sort != 'undefined') {
			extra_params += '&sort=' + disqus_sort;
		}

		Dsq.$('dsq-pagination').innerHTML += '<img src="http://media.disqus.com/images/loading-small.gif">';
		
		if(el_clicked) {
			Dsq.Templates.setLoadingButton(el_clicked);
		}
		
		Dsq.Utils.execScript('http://disqus.com/forums/popdose/thread.js'
			+ '?slug='	+ 'bottom_feeders_the_ass_end_of_the_821780s_part_9_81'
			+ '&p='		+ page
			+ extra_params);
	};
	
	
	this.rate = function(el, id, vote) {


		if(Dsq.jsonData.request.is_authenticated || Dsq.jsonData.forum.allow_anon_votes) {
			if(vote == 1) {
				Dsq.$('dsq-like-' + id).innerHTML = '<img src="http://media.disqus.com/images/loading-small.gif">';
			}
			Dsq.Utils.execScript('http://disqus.com/forums/popdose/vote.js'
				+ '?post_id='    + id
				+ '&vote='        + vote);
		} else {
			Dsq.Popup.login('To rate, please log in');
		}
	};

	this.voted = function(post_id, points, vote) {

		Dsq.$('dsq-like-pts-' + post_id).innerHTML = points + Dsq.Utils.pluralize(points, ' person', ' people') + ' liked this.';

		if(vote) {
			Dsq.$('dsq-like-' + post_id).innerHTML = 'You liked this.&nbsp;&nbsp;';
		}
	};




	this.postComment_onSuccess = function(response, parent_post_id, post_id) {
		var approved = response.message.post_meta.approved;

		if (parent_post_id) {
			Dsq.Post.toggleReply(parent_post_id);
		}

		Dsq.Popup._closePopup(null, true);
		
		if (approved) {
			Dsq.Post.incrementPostCount();
			Dsq.Post.outlineComment(post_id);
		} else {			
			var unapproved_msg = 'Thanks for posting!\
	 Your comment must be approved by a moderator before appearing here.\
			';
			Dsq.Popup.popModal(unapproved_msg, 'Comment awaiting approval', post_id);
		}

		var sharing_results = response.message.sharing_results;
		var sharing_errors = '';
		for (var service in sharing_results) {
			if (sharing_results.hasOwnProperty(service) === true) {
				if (sharing_results[service].error === true) {
					sharing_errors += service + ', ';
				}
			}
		}

		if (sharing_results.facebook && sharing_results.facebook.callback) {
			FB.ensureInit(function() {
				FB.Connect.streamPublish('', sharing_results.facebook.attachment);
			});
		}

		if (sharing_errors !== '') {
			var message = 'Your comment was posted, but there were errors sharing with the following connections: ';
			message += sharing_errors.replace(/,\s$/, '');
			message += '<p><a href="' + Dsq.jsonData.settings.disqus_url + '/profile/connections" target="_blank">Configure your connections here</a></p>'
			Dsq.Popup.popModal(message, 'Sharing options');
		}

		Dsq.Templates.setLoadingButton(false);
	};

	this.postComment_onFailure = function(response, parent_post_id, post_id) {

		Dsq.Templates.setLoadingButton(false);
	};
};




// TODO: It might be faster to use string methods to find all <li (...) </li> blocks and pass to Dsq.PostHandler manually.
Dsq.CommentsHandler = function(str, head, post_id, content, tail, offset, s) {
	var prepend_post = Dsq.Templates.prependPost(post_id);
	var append_post = Dsq.Templates.appendPost(post_id);

	content = content.replace(Dsq.POST_RE, Dsq.PostHandler);
	Dsq.Templates.postLoopCounter++;
	head = Dsq.Templates.Filters.commentContainer(post_id, head);
	return prepend_post + head + content + tail + append_post;
};

Dsq.PostHandler = function(str, h_head, post_id, h_content, h_tail, b_head, b_content, b_tail, offset, s) {
	var prepend_header = Dsq.Templates.postPrependHeader(post_id);
	var append_header = Dsq.Templates.postAppendHeader(post_id);
	var prepend_body = Dsq.Templates.preBody(post_id);
	var append_body = Dsq.Templates.postBody(post_id);
	var append_footer = Dsq.Templates.postFooter(post_id);

	b_content = b_content.replace(Dsq.POST_BODY_RE, Dsq.PostBodyHandler);
	return h_head + prepend_header + h_content + append_header + h_tail + b_head + prepend_body + b_content + append_body + b_tail + append_footer;
};

Dsq.PostBodyHandler = function(str, head, post_id, content, tail, offset, s) {
	content = Dsq.Templates.Filters.commentContent(post_id, content);
	return head + content + tail;
};

Dsq.MediaPostHandler = function(str, args, offset, s) {
	args = args.split(' ');
	if(args[0] == 'seesmic') {
		return '<br />' + Dsq.Templates.mediaSeesmic(args[1], args[2]);
	}
	return '';
};


/**
 * Shorcuts
 */
Dsq.$ = function(element) { return document.getElementById(element); };
Dsq.$b = document.body || document.getElementsByTagName('body')[0];


/**
 * Dsq.Debug: Logging functions.
 */

Dsq.Debug = new function() {this.log=function(s){};this.profile=function(f){if(typeof f == 'function')return f();else return eval(f);};};


/**
 * Dsq.Urls: URL paths
 */
Dsq.Urls = new function() {
	this.LOGIN = '/profile/login/';
	this.LOGOUT = '/logout/';
	this.REPLY = 'http://popdose.disqus.com/bottom_feeders_the_ass_end_of_the_821780s_part_9_81/reply.html';
	this.REQUEST_USER_PROFILE = '/AnonymousUser/';
	this.REQUEST_USER_AVATAR = 'http://media.disqus.com/images/noavatar92.png';
};
// Dsq.Urls

/**
 * Dsq.Validators: Validation for form fields
 */
Dsq.Validators = new function() {
	this.VALID_EMAIL_RE = /^[a-z0-9\-\_\+]+(\.[a-z0-9\-\_\+]+)*\@(([a-z0-9\-\_\+]+(\.[a-z0-9\-\_\+]+)*)+\.[a-z]{2,}|([0-9]+\.){3}[0-9]+)$/i;
	this.name = function(name) {
		var error = false;

		if(typeof Dsq.Templates.placeholder !== 'undefined' &&
		   name == Dsq.Templates.placeholder.name) {
			error = true;
		}
		if(name.length <= 1) {
			error = true;
		}

		if(error) {
			return "Please enter a name to comment.";
		} else {
			return true;
		}
	};
	this.email = function(addr) {
		if(Dsq.Validators.VALID_EMAIL_RE.test(addr)) {
			return true;
		} else {
			return "Please enter a valid email to comment.";
		}
	};
	this.url = function(addr) {
		if(!addr || addr.indexOf('.') != -1) {
			return true;
		} else {
			return "Please check your website URL (this field is optional).";
		}
	};

	this.validate = function(bulk_validation, failure_callback) {
		failure_callback = failure_callback || function(e){ alert(e); };

		for(var i = 0; i < bulk_validation.length; i++) {
			v = bulk_validation[i];
			ret = v.validator(v.value);
			if(ret !== true) {
				failure_callback(ret);
				return false;
			}
		}
		return true;
	};
};

/**
 * Dsq.Utils: Generic utility functions.
 */
Dsq.Utils = new function() {
	this.ie = /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
	this.ie7 = (document.all && !window.opera && window.XMLHttpRequest) ? true : false;
	this.ie6 = (!window.XMLHttpRequest) ? true: false;
	this.webkit = navigator.userAgent.indexOf('AppleWebKit/') >= 0;
	this.gebiFromElementCollectionCache = {};
	this._styleSheet = null;

	this.gebiFromElement = function(el, id, tag) {
		// This only method only helps IE.
		if(!this.ie) {
			return Dsq.$(id);
		} else {
			var cacheKey = el.id + '-' + tag;
			tag = tag || 'div';
			if(typeof this.gebiFromElementCollectionCache[cacheKey] != 'undefined') {
				collection = this.gebiFromElementCollectionCache[cacheKey];
			} else {
				collection = el.getElementsByTagName(tag);
				this.gebiFromElementCollectionCache[cacheKey] = collection;
			}

			for(var i = 0; i < collection.length; i++) {
				if(collection[i].id == id) {
					return collection[i];
				}
			}
			return null;
		}
	};

	this.execOnReady = function(func) {
		var node = document.createElement('document:ready');
		try {
			node.doScroll('left');
			func();
			node = null;
		} catch(err) {
			setTimeout(function() { Dsq.Utils.execOnReady(func); }, 10);
		}
	};


	// Courtesy of http://www.quirksmode.org/js/cookies.html
	this.createCookie = function(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	};

	this.readCookie = function(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	};

	this.eraseCookie = function(name) {
		Dsq.Utils.createCookie(name,"",-1);
	};

	this.deleteNode = function(node) {
		if(node) {
			this.deleteChildren(node);
			if(typeof node.outerHTML != 'undefined') { node.outerHTML = ''; }
			else if(node.parentNode) { node.parentNode.removeChild(node); }
			delete node;
		}
	};

	this.deleteChildren = function(node) {
		if(node) {
			for(var x = node.childNodes.length-1; x >= 0; x--) {
				var childNode = node.childNodes[x];
				if(childNode.hasChildNodes()) { this.deleteChildren(childNode); }
				if(typeof childNode.outerHTML != 'undefined') { childNode.outerHTML = ''; }
				else node.removeChild(childNode);
				delete childNode;
			}
		}
	};

	this.findPos = function(obj) {
		var curleft = 0;
		var curtop = 0;
		if (obj.offsetParent) {
			do {
				curleft += obj.offsetLeft;
				curtop += obj.offsetTop;
			} while (obj = obj.offsetParent);
		}
		return [curleft,curtop];
	};

	this.getWindowSize = function() {
		var windowWidth = -1;
		var windowHeight = -1;

		if(typeof(window.innerWidth) == 'number') { //Non-IE
			windowWidth = window.innerWidth;
			windowHeight = window.innerHeight;
		} else if(document.documentElement) { // IE 6+ in 'standards compliant mode'
			windowWidth = document.documentElement.clientWidth || document.body.clientWidth;
			windowHeight = document.documentElement.clientHeight || document.body.clientHeight;
		}

		return [windowWidth, windowHeight];
	}

	this.getScrollPos = function() {
		var scrollWidth, scrollTop;

		if(document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollWidth)) {
			scrollWidth = document.documentElement.scrollWidth;
			// IE is weird here.  If no doctype is provided, document.body.scrollTop is 0,
			// otherwise document.documentElement.scrollTop is 0.
			scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
		} else if(document.body.scrollTop && document.body.scrollWidth) {
			scrollWidth = document.body.scrollWidth;
			scrollTop = document.body.scrollTop;
		}

		return [scrollWidth, scrollTop];
	}

	this.addEventListener = function(instance, eventName, listener) {
		var listenerFn = listener;
		if (instance.addEventListener) {
			instance.addEventListener(eventName, listenerFn, false);
		} else if (instance.attachEvent) {
			listenerFn = function() {
				listener(window.event);
			};
			instance.attachEvent("on" + eventName, listenerFn);
		} else {
			throw new Error("Event registration not supported");
		}
		return {
			instance: instance,
			name: eventName,
			listener: listenerFn
		};
	};

	this.removeEventListener = function(event) {
		var instance = event.instance;
		if (instance.removeEventListener) {
			instance.removeEventListener(event.name, event.listener, false);
		} else if (instance.detachEvent) {
			instance.detachEvent("on" + event.name, event.listener);
		}
	};

	this.fixIframesIE = function(id) {
		var disqusThread = Dsq.$(disqus_container_id);
		var iframes = disqusThread.getElementsByTagName('iframe');

		if(id) {
			var container = Dsq.$(id);
		} else {
			var container = Dsq.$('dsq-content');
		}

		for(i = 0; i < iframes.length; i++) {
			if (container) {
				iframes[i].style.width = container.offsetWidth;
			}
		}
	};

	this.getElementsByClassName = function(oElm, strTagName, strClassName) {
	/* Credit: Jonathan Snook [http://www.snook.ca/jonathan], Robert Nyman [http://www.robertnyman.com] */
		var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
		var arrReturnElements = new Array();
		strClassName = strClassName.replace(/\-/g, "\\-");
		var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
		var oElement;
		for(var i = 0; i < arrElements.length; i++) {
			oElement = arrElements[i];
			if(oRegExp.test(oElement.className)) {
				arrReturnElements.push(oElement);
			}
		}
		return (arrReturnElements);
	};

	this.postToUrl = function(url, post_data, opt_redirect) {
		var form = document.createElement('form');
		var iframe_container = document.createElement('div');
		var id = 'dsq-temp-iframe-' + (new Date()).getTime();

		form.method = 'POST';
		form.action = url;
		if (!opt_redirect) {
			form.target = id;
		}
		iframe_container.innerHTML = '<iframe style="display:none" name="' + id + '" id="' + id + '"></iframe>';

		for(var key in post_data) {
			if(post_data.hasOwnProperty(key)) {
				var input = document.createElement('input');
				input.name = key;
				input.type = 'hidden';
				input.value = post_data[key];

				form.appendChild(input);
			}
		}

		Dsq.$b.appendChild(iframe_container);
		Dsq.$b.appendChild(form);
		form.submit();
	};

	// Strips integer id from id of element in the form ('some-id-###')
	this.extractId = function(e) {
		var chunks = e.id.split('-');
		if(chunks.length <= 1) {
			return 0;
		} else {
			var retval = parseInt(chunks[chunks.length-1]);
			return !isNaN(retval) ? retval : null;
		}
	};

	this.getStyle = function(el, styleProp) {
		if(el.currentStyle) {
			var y = el.currentStyle[styleProp];
		} else if(window.getComputedStyle) {
			var y = document.defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);
		}

		if(y == 'transparent' || y == '') {
			this.getStyle(el.parentNode, styleProp);
		} else {
			return y;
		}
	};

	this.execScript = function(url, append_qs, container) {
		var script = document.createElement('script');
		append_qs = typeof append_qs == 'undefined' ? true : append_qs;
		container = container || Dsq.container;

		if(append_qs) {
			var j = (url.indexOf('?') >= 0) ? '&' : '?';
			url += j + (new Date()).getTime();
		}
		script.type = 'text/javascript';
		script.charset = 'UTF-8';
		script.src = url;
		container.appendChild(script);
		return script;
	};

	this.pluralize = function(num, singular, plural) {
		return (num != 1) ? plural || 's' : singular || '';
	};

	this.getRequestParams = function(queryString /* optional */) {
		var pairs, tuple;
		var params = {};

		queryString = queryString || window.location.search.substring(1);
		pairs = queryString.split('&');

		for (var i = 0, pair; pair = pairs[i]; i++) {
			tuple = pair.split('=');
			params[tuple[0]] = (tuple[1] || true);
		}

		return params;
	};

	this.addCssRule = function(selector, styleText, index) {
		var stylesheet;
		index = index || 0;

		if(!this._styleSheet) {
			var styleEl = document.createElement('style');
			document.getElementsByTagName('head')[0].appendChild(styleEl);
			this._styleSheet = styleEl.sheet;
			if(!this._styleSheet) {
				// IE does not like our newly created stylesheet.
				this._styleSheet = document.styleSheets[document.styleSheets.length-1];
			}
		}
		stylesheet = this._styleSheet;

		if(stylesheet.insertRule) {
			var ruleText = selector + ' { ' + styleText + ' }';
			if(index == -1) {
				index = stylesheet.cssRules.length;
			}
			stylesheet.insertRule(ruleText, index);
		} else if(stylesheet.addRule) {
			stylesheet.addRule(selector, styleText, index);
		}
	};

	this.forEachIn = function(obj, callback) {
		for(var key in obj) {
			if(obj.hasOwnProperty(key)) {
				callback(key, obj[key]);
			}
		}
	};

	this._interpolateGlobalContext = {
		// values that get used a lot and are global to the request
		'profile_url': Dsq.Urls.REQUEST_USER_PROFILE,

		'disqus_url': Dsq.jsonData.settings.disqus_url,
		'media_url': Dsq.jsonData.settings.media_url,
		'request_username': Dsq.jsonData.request.username,
		'request_display_username': Dsq.jsonData.request.display_username,
		'forum_name': Dsq.jsonData.forum.name
	};

	this.renderFromContextStack = function(key, contexts) {
		// Returns the first instance of `key` in the array of objects `contexts` or else ''
		for (var i=0; i<contexts.length; i++) {
			if (contexts[i][key] !== undefined) {
				return String(contexts[i][key]);
			}
		}
		throw new Error('key ' + key + ' not found in context');
	};

	var that = this;
	this.interpolate = function(fmt, opt_localContext) {
		// Interpolate `fmt` named-format string with an assumed global context.
		// Based on `interpolate` in django.views.i18n
		var contextStack = [opt_localContext || {}, that._interpolateGlobalContext];
		return fmt.replace(/%\(\w+\)s/g, function(match){
			return that.renderFromContextStack(match.slice(2,-2), contextStack);
		});
	};

	this.stripTags = function(s) {
		// Removes HTML tags from `s`
		return s.replace(/(<([^>]+)>)/g,"");

	};

	this.assert = function(b) {
		if (!b) {
			throw new Error('Assertion error.');
		}
	};

};
// Dsq.Utils

/**
 * Dsq.Popup: Popup helper functions.
 */
Dsq.Popup = new function() {
	this.timeHide = new Array();
	this.timeShow = new Array();
	this.activePopup = {};
	this.profileCache = {};
	this.statusCache = {};

	this.showTimer = function(post_id) {
		// clear the hide timer
		clearTimeout(this.timeHide[post_id]);

		// start the timer
		if(!Dsq.Popup.profileIsOn && !Dsq.Thread.adminIsOn) {
			this.timeShow[post_id] = setTimeout("Dsq.Popup.popProfile(\"" + post_id + "\")", 400);
		}
	};

	this.hideTimer = function(post_id) {
		// clear the show timer
		clearTimeout(this.timeShow[post_id]);
	};

	this.updateProfile = function(username) {
		// Callback from /embed/profile.js
		if (this.statusCache[username]) {
			var statusEl = Dsq.$('dsq-profile-status-' + username);
			statusEl.innerHTML = this.statusCache[username];
			statusEl.style.display = 'block';
		}

		if (this.profileCache[username]) {
			var _cache = this.profileCache[username];

			var _genhtml = function(text) { return '<span><big>' + text + '</big></span>'; };
			var _no_comments = _genhtml(Dsq.FmtStrings.NUMBER_OF_COMMENTS(_cache.comments_count));
			var _no_likes = _genhtml(Dsq.FmtStrings.NUMBER_OF_LIKES(_cache.likes_count));
			var _no_points = _genhtml(Dsq.FmtStrings.NUMBER_OF_POINTS(_cache.points));

			var statsEl = Dsq.$('dsq-popup-profile-user-stats-' + username);
			statsEl.innerHTML = '';

			if (Dsq.jsonData.users[username].registered) {
				statsEl.innerHTML = _no_comments + _no_likes;
			}
			statsEl.innerHTML += _no_points;

			var activeSites = '';
			for (var i = 0; i < _cache.active_sites.length; i++) {
				var site = _cache.active_sites[i];
				activeSites += '<li><a href="' + site.url + '"> \
					<img src="' + site.favicon + '"/ width="16" height="16"/></a>\
					<a href="' + site.url + '">' + site.name + '</a></li>';
			}
			if (activeSites !== '') {
				Dsq.$('dsq-popup-profile-active-sites-' + username).innerHTML = activeSites;
			} else {
				Dsq.$('dsq-popup-profile-active-sites-' + username).innerHTML = 'This site.';
			}

			var moderatedSites = '';
			for (var i = 0; i < _cache.moderated_sites.length; i++) {
				var site = _cache.moderated_sites[i];
				moderatedSites += '<li><a href="' + site.url + '"> \
					<img src="' + site.favicon + '"/ width="16" height="16"/></a>\
					<a href="' + site.url + '">' + site.name + '</a></li>';
			}
			if (moderatedSites !== '') {
				Dsq.$('dsq-popup-profile-moderated-' + username).innerHTML = moderatedSites;
			} else {
				Dsq.$('dsq-popup-profile-moderated-wrapper-' + username).innerHTML = '';
			}
		}

		// Reposition popup after full HTML is rendered
		if(Dsq.Popup.activePopup && Dsq.Popup.activePopup.el) {
			Dsq.Popup.initPopup(Dsq.Popup.activePopup.el, Dsq.Popup.activePopup.id, Dsq.Popup.activePopup.type);
		}

	};

	this.showCookieMsgs = function() {
		var title = '';
		var message = '';
		var numAlerts = 0;

		Dsq.Utils.forEachIn(Dsq.jsonData.cookie_messages, function(k, v) {
			if (!v) return;

			switch(k) {
				// Cookie: Twitter
				case 'post_twitter':
					if (v === 'error') {
						title = 'Twitter Error!';
						message += '<li id="dsq-msg-twitter-error">Oops, we couldn\'t tweet this comment. Please check your <a href="http://disqus.com/account/services">account settings</a>.</li>';
					} else {
						var _msg = v.split(':');
						title = 'Tweeted!';
						message += '<li id="dsq-msg-twitter-success">Your comment was successfully tweeted. <a href="http://twitter.com/' + _msg[0] + '/status/' + _msg[1] + '">Click here to view the tweet</a>.</li>';
					}
					break;
				// Cookie: Unapproved Post
				case 'post_not_approved':
					title = 'Comment awaiting approval by a moderator';
					message += '<li id="dsq-msg-post-not-approved">Your comment must be approved by a moderator before appearing here.</li>';
					break;
				// Cookie: Profile Found
				case 'post_has_profile':
					title = 'Use your existing commenter profile';
					message += '<li id="dsq-msg-post-has-profile">You have just posted your commment as a <span class="dsq-badge-guest">Guest</span>, but you may already have a <span class="logo-disqus">Disqus</span> Profile.<br /><br /><a href="http://disqus.com/claim">Log in and claim this comment!</a></li>';
					break;
				case 'user_created':
					var _data = v.split(':');
					title = 'Profile created!';
					message += '<li id="dsq-msg-user-created">You have just created a <span class="logo-disqus">Disqus</span> Profile, the best way to claim, manage, and track your comments all over the web. \
					<br /><br />A confirmation is being sent to <strong>' + _data[1] + '</strong>. Please check for this email in order to verify your profile. \
					<ul class="dsq-list-tick"> \
						<li>Your username is <strong>' + _data[0] +'</strong>. <a href="http://disqus.com/people/' + _data[0] + '/" target="_blank">Click here to view your public profile</a>.</li> \
						<li>Be sure to set your profile picture, as well as connect your <span class="dsq-badge-facebook">Facebook</span> and <span class="dsq-badge-twitter">Twitter</span> accounts. <a href="http://disqus.com/account/" target="_blank">Click here for account settings</a>.</li> \
					</ul> \
					</li>'
					break;
				default:
					break;
			}
			numAlerts++;
		});

		if(numAlerts > 1) {
			message = '<ul class="dsq-list-bluebullet">' + message;
			message += '</ul>';
			title = 'Thanks for posting!';
		}
		if(numAlerts > 0) {
			if(typeof(disqus_cookie_msgs) == 'function') {
				disqus_cookie_msgs(message, title);
			} else {
				Dsq.Popup.popModal(message, title);
			}
		}
	};

	this.helpBadges = function(post_id) {
		var html = ' \
			<ul class="dsq-popup-help"> \
				<li><span class="dsq-badge dsq-badge-verified">Verified</span> has a <span class="logo-disqus">Disqus</span> Profile with a confirmed email address.</li> \
				<li><span class="dsq-badge dsq-badge-registered">Registered</span> has a <span class="logo-disqus">Disqus</span> Profile, but has not yet confirmed his or her email address.</li> \
				<li><span class="dsq-badge dsq-badge-guest">Guest</span> is not logged in with any account and has not claimed his or her comments.</li> \
				<li class="dsq-help-otheraccts">Other accounts</li> \
				<li><span class="dsq-badge dsq-badge-facebook">Facebook</span> is using his or her Facebook profile via Facebook Connect.</li> \
				<li><span class="dsq-badge dsq-badge-twitter">Twitter</span> is using his or her Twitter profile via Twitter Sign-in.</li> \
				<li><span class="dsq-badge dsq-badge-openid">OpenID</span> is using his or her OpenID.</li> \
			</ul> \
		';

		this.popModal(html, 'Help: Types of Commenters', post_id);
		return;
	};

	this.permalink = function(post_id) {
		var header = 'Link to this comment';
		var body = '<strong>You are anchored to</strong>:<br />' + document.location.protocol + '//' + document.location.host + document.location.pathname + document.location.search + '#comment-' + post_id;

		this.popModal(body, header, post_id);
	};

	this.login = function(header, body) {
		var h = header || 'Login or Register';
		var b = body || '';
		b += Dsq.Templates.frameLogin({id: 'dsq-popup-login'});
		b += '</iframe>'; // HACK: Sometimes there is something funky with the IFRAME SRC that causes no end tag
		this.popModal(b, h, null, true, 'dsq-popup-login');
	};

	this.blacklist = function(id) {
		var _meta = Dsq.jsonData.posts[id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		var title = 'Add to Blacklist';
		var message = ' \
		Adding this person to the blacklist will block him or her from commenting on this site. Check the following types that you would like to add to the blacklist:'
		+ (userData['registered'] ?
			'<div class="dsq-blacklist-option"> \
				<input id="dsq-blacklist-username" type="checkbox" checked> \
				<label for="dsq-blacklist-username"><strong>Username</strong>: ' + userData['username'] + '</label> \
			</div>'
			: '')
		+ (_meta.email ?
			'<div class="dsq-blacklist-option"> \
				<input id="dsq-blacklist-email" type="checkbox" checked> \
				<label for="dsq-blacklist-email"><strong>Email address</strong>: ' + _meta.email + '</label> \
			</div>'
			: '')
		+ '<div class="dsq-blacklist-option"> \
			<input id="dsq-blacklist-ip" type="checkbox" onclick="Dsq.$(\'dsq-blacklist-ip-warning\').style.display=\'block\'"> \
			<label for="dsq-blacklist-ip"><strong>IP address</strong>: ' + _meta.ip + '</label> \
		</div> \
		';

		message += ' \
			<p id="dsq-blacklist-ip-warning" style="display:none">	\
				Note: Blocking this person\'s IP address may also unintentionally prevent others, who share his/her IP address, from commenting on this site. \
				This may include people who are sharing the same computer, living in the same house, or using the same Internet provider. Only block an IP address as a last resort. \
			</p> \
		';

		message += ' \
			<p style="text-align:center"><button type="button" onclick="Dsq.Post.blockUser(' + id + '); this.disabled=true; this.innerHTML=\'Just one moment...\'">Add to Blacklist</button></p> \
		';

		Dsq.Popup.popModal(message, title);
	};

	this.remoteAccountSettings = function() {
		var body = '';
		// Set up IFrame.
		var params = {};
		var base_url = 'http://disqus.com/forums/popdose/_auth/embed/remote_settings/';
		var attributes = {id: 'dsq-popup-account-settings'};
		if (typeof disqus_frame_theme != 'undefined') {
			params['theme'] = disqus_frame_theme;
		}

		body = Dsq.Templates._frameGeneric(base_url, params, attributes);
		this.popModal(body, 'Account Settings', null, true, 'dsq-popup-account-settings');
	};

	this.popModal = function(message, title, post_id, use_listener, extra_classes) {
		var container = document.createElement('div');
		var header, body;

		Dsq.Popup._closePopup(null, true);

		if(typeof(title) == 'undefined') { title = ''; }
		if(typeof(use_listener) == 'undefined') { use_listener = true; }

		if(post_id) {
			container.id = 'dsq-popup-message-' + post_id;
		} else {
			container.id = 'dsq-popup-message';
		}

		header = title;
		body = message;

		container.innerHTML = Dsq.Templates.popupModal(header, body);
		Dsq.Popup.initPopup(container, post_id, 'message', extra_classes);
		if(use_listener) {
			Dsq.Popup.popupListener = Dsq.Utils.addEventListener(document, 'mouseup', Dsq.Popup._closePopup);
		}
	};

	this.popAlert = this.popModal;

	this.loading = function(post_id) {
		var title = Dsq.Strings.JUST_A_MOMENT;
		var body = '<div style="text-align:center; padding: 5px 0 10px 0"><img src="http://media.disqus.com/images/loading.gif" alt="" /></div>'
		Dsq.Popup.lightbox(body, title, post_id);
	};

	this.lightbox = function(message, title, post_id) {
		// Wraps Dsq.Popup.popModal

		var overlay = document.createElement('div');
		overlay.id = 'dsq-overlay';
		overlay.className = 'dsq-overlay';
		Dsq.$b.appendChild(overlay);
		
		Dsq.Popup.popModal(message, title, post_id, false, 'dsq-lightbox');
	};

	this.popProfile = function(post_id, userKey) {
		var post = Dsq.jsonData['posts'][post_id];
		if (post && post.has_been_anonymized) {
			Dsq.Popup.popModal('This message was anonymized by its previous owner.', 'Anonymized', post_id);
			return;
		}

		if(post_id) {
			userKey = Dsq.jsonData['posts'][post_id].user_key;	
		}
		var userData = Dsq.jsonData['users'][userKey];
		var elId = 'dsq-popup-profile-' + userKey;
		var container = document.createElement('div');

		if(this.activePopup.el) {
			this._closePopup(null, true);
			if(this.activePopup.linkClicked) {
				this.activePopup.linkClicked = false;
				return;
			}
		}

		container.id = elId;
		container.innerHTML = Dsq.Templates.popupProfile(userKey);

		this.initPopup(container, post_id, 'profile');
		this.popupListener = Dsq.Utils.addEventListener(document, 'mouseup', this._closePopup);

		if(!this.profileCache[userKey]) {
			Dsq.Utils.execScript('http://disqus.com/embed/profile.js'
				+ '?username=' + userKey
				+ '&anon=' + (userData['registered'] ? 0 : 1)
				+ '&f=' + Dsq.jsonData['request'].forum);
		} else {
			this.updateProfile(userKey);
		}
	};

	this._closePopup = function(e, force) {
		var activePopup = Dsq.Popup.activePopup.el;
		var id = Dsq.Popup.activePopup.id;
		var link = 'dsq-avatar-' + id; // HACK: Specific to profile toggle target

		// HACK: This event should be gone if there is no active popup.
		if(!activePopup) {
			return;
		}
		if(force || !Dsq.Popup.isClicked(e, activePopup.id)) {
			// TODO: This is breaking iE?
			if(Dsq.Popup.popupListener) {
				Dsq.Utils.removeEventListener(Dsq.Popup.popupListener);
			}
			
			// Kill overlay
			var overlay = Dsq.$('dsq-overlay');
			if(overlay) { Dsq.Utils.deleteNode(overlay); }
			
			try {
				Dsq.Utils.deleteNode(activePopup);
			} catch(e) {
				// HACK: IE6 throws an error when using deleteNode() with a node containing a <table> in the html.
				activePopup.parentNode.removeChild(activePopup);
			}
			Dsq.Popup.activePopup = {};
		}

		if(!force && Dsq.Popup.isClicked(e, link)) {
 			Dsq.Popup.activePopup.linkClicked = true;
		}

	};

	this.initPopup = function(popup, post_id, type, extra_classes) {
		popup.className = 'dsq-popup dsq-popup-' + type + ' ' + (extra_classes ? extra_classes : '');
		if(Dsq.Utils.ie6 || Dsq.Utils.ie7) {
			// HACK: We can't modify the body before it's ready, so we need
			//       to use an IE-safe "DOMReady" workaround before loading
			//       our popup.
			Dsq.Utils.execOnReady(function() {Dsq.$b.appendChild(popup); });
		} else {
			Dsq.$b.appendChild(popup);
		}

		popup.style.display = 'block';

		var xPos = (Dsq.Utils.getWindowSize()[0] - popup.offsetWidth) / 2;
		var yPos = (Dsq.Utils.getWindowSize()[1] - popup.offsetHeight) / 2;

		if(Dsq.Utils.ie6) {
			yPos += Dsq.Utils.getScrollPos()[1];
		}

		popup.style.left = xPos + 'px';
		popup.style.top = yPos + 'px';

		Dsq.Popup.activePopup = {
			'el' : popup,
			'id' : post_id,
			'type': type,
			'linkClicked' : false
		};
	};

	this.isClicked = function(e, id) {
		var t = e.target || e.srcElement;
		while(t && t.parentNode) {
			if(t.id == id) {
				return true;
			}

			t = t.parentNode;
		}
		return false;
	};
};
// Dsq.Popup

/**
 * Dsq.Templates
 */
Dsq.Templates = new function() {
	/*
	 * Counter keeping track of the number of posts iterated over.
	 */
	this.postLoopCounter = 0;
	this.filters = {};
	this.addPostContainer = 'dsq-post-add';
	this.textareaContainer = 'dsq-post-add';

	this.registerTemplate = function(name, func) {
		this['$$_' + name] = func;

		if(typeof DsqLocal.Filters != 'undefined'
		&& typeof DsqLocal.Filters[name] == 'function') {
			// Push filters to this.filters to unify code.
			this.filters[name] = this.filters[name] || [];
			this.filters[name].push(DsqLocal.Filters[name]);
		}

		this[name] = function() {
			var ret;

			if(typeof DsqLocal.Templates != 'undefined'
			&& typeof DsqLocal.Templates[name] == 'function') {
				ret = DsqLocal.Templates[name].apply(this, arguments);
			}

			if(ret === undefined) {
				ret = this['$$_' + name].apply(this, arguments);
			}

			if(this.filters[name]) {
				var args = [ret];

				args.push.apply(args, arguments);
				for(var i = 0; i < this.filters[name].length; i++) {
					ret = this.filters[name][i].apply(this, args);
				}
			}

			return ret;
		};
	};

	this.registerFilter = function(name, func) {
		this.filters[name] = this.filters[name] || [];
		this.filters[name].push(func);
	};

	/**
	 * Dsq.Templates.Filters
	 */
	this.Filters = new function() {
		this.commentContainer = function(post_id, s) {
			var _meta = Dsq.jsonData.posts[post_id];
			var classes = [];
			if(Dsq.jsonData.request.page > 1) {
				classes.push('dsq-append');
			}

			//
			// Extra classes used for custom themes
			//

			if(_meta.depth) {
				classes.push('dsq-comment-child', 'dsq-depth-' + _meta.depth, 'dsq-parent-is-' + _meta.parent_post_id);
			}


			//

			if(_meta.author_is_creator) {
				// TODO: We need to deprecate the "special" class since it is not properly prefixed.
				classes.push('special', 'dsq-special');
			}
			if(_meta.author_is_moderator) {
				classes.push('dsq-moderator');
			}
			classes.push(['dsq-odd', 'dsq-even'][Dsq.Templates.postLoopCounter % 2]);

			s = s.substring(0, s.lastIndexOf('>'));
			return s + ' class="dsq-comment ' + classes.join(' ') + '" style="margin-left:' + _meta.depth*30 + 'px">';
		};

		this.commentContent = function(post_id, s) {
			var _meta = Dsq.jsonData.posts[post_id];
			if (_meta.killed) {
				return '<em>Comment removed.</em>';
			} else if (!_meta.approved) {
				return '<em>This comment was flagged for review.</em>';
			}

			s = s.replace(Dsq.MEDIA_POST_RE, Dsq.MediaPostHandler);
			return s;
		};
	};

	//
	// Thread
	//
	// TODO: These need to be stripped of all Django template tags.

	this.authPost = function() {
		if (!Dsq.jsonData.context.show_reply) {
			return '';
		}
		var result = [];
		result = result.concat([
				'<div id="dsq-auth"',
						Dsq.jsonData.integration.reply_position ? 'class="dsq-auth-bottom"' : '',
						'>',
					'<div class="dsq-by">',
						'<a href="http://disqus.com" target="_blank">',
							(Dsq.jsonData.integration.disqus_logo ?
								Dsq.Utils.interpolate('<img src="%(media_url)s/images/embed/by-disqus.png" alt="discussion by DISQUS">') :
								Dsq.Utils.interpolate('<img src="%(media_url)s/images/embed/dsq-button-120x19.png" alt="discussion by DISQUS">')
							),
						'</a>',
					'</div>',
					'<div class="dsq-auth-header">',
						'<h3 id="dsq-add-new-comment" class="dsq-h3-addcomment">',
								Dsq.Strings.ADD_NEW_COMMENT,
						'</h3>',
						'<div id="dsq-login">',
						(!Dsq.jsonData.request.is_authenticated && Dsq.jsonData.forum.allow_anon_post
								? '<p class="dsq-login-message" id="dsq-login-message">You are commenting as a <a class="dsq-help" title="Click for more information" href="#" onclick="Dsq.Popup.helpBadges(); return false">Guest</a>. You may select one to log into:</p>'
								: '')
		]);
		if (!Dsq.jsonData.request.is_authenticated) {
			result = result.concat([
							Dsq.Utils.interpolate(
								'<a id="dsq-login-toggle" href="%(disqus_url)s%(login_url)s?next=article:%(thread_id)s" onclick="Dsq.Popup.login(); return false"><img class="dsq-login-icon" src="%(media_url)s/images/dsq-profile-btn.png" title="%(log_into)s" alt="%(log_into)s"/></a>',
								{login_url: Dsq.Urls.LOGIN, thread_id: Dsq.jsonData.thread.id, log_into: Dsq.Strings.LOG_INTO_DISQUS}
								),
							'&nbsp; ',
							(Dsq.jsonData.context.use_fb_connect ?
								'<div id="dsq-fbc-login" onlogin="DisqusFbcParentController.onLogin()" size="medium" background="light" length="short" style="display:inline; margin-right:7px"></div>' :
								''
							),
							(Dsq.jsonData.context.use_twitter_signin ?
								Dsq.Utils.interpolate(
									'<div id="dsq-twitter-login" class="dsq-twitter-login" onclick="Dsq.Twitter.startTwitterConnect();" style="display:inline; cursor: pointer"><img src="%(media_url)s/images/twitter-signin-short.png" style="margin-right:7px" /></div>', {}) : ''),
							(Dsq.jsonData.context.use_openid ?
								Dsq.Utils.interpolate(
									'<div id="dsq-openid-login" class="dsq-openid-login" onclick="Dsq.OpenID.requestURL();" style="display:inline; cursor:pointer;"><img src="%(media_url)s/images/openid-login-button.png"/></div>', {}
								) : '')
			]);
		}
		result = result.concat([
						'</div>', // dsq-login
					'</div>', // dsq-auth-header
					'<div id="dsq-authenticated" class="dsq-authenticated" ',
						Dsq.jsonData.request.is_authenticated ? 'style="display:block"' : '',
						'>',
						'<div class="dsq-authenticated-pic">',
								Dsq.Utils.interpolate('<a href="%(url)s" title="%(request_display_username)s">' +
																			'<img class="dsq-post-avatar" src="%(avatar_url)s" alt="" /></a>',
																			{avatar_url: Dsq.Urls.REQUEST_USER_AVATAR,
																			url: (Dsq.jsonData.request.is_remote
																					 ? Dsq.jsonData.request.url
																					 : Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE) }),
						'</div>',
						'<div class="dsq-authenticated-info">',
							'<ul>',
								'<li>',
									(Dsq.jsonData.request.is_remote
										? Dsq.FmtStrings.LOGGED_IN_AS(
												Dsq.Utils.interpolate('<a href="%(url)s" title="%(request_display_username)s">%(request_display_username)s</a>', {url:Dsq.jsonData.request.url})
										  )
										: Dsq.FmtStrings.LOGGED_IN_AS(
												Dsq.Utils.interpolate('<a href="%(disqus_url)s%(profile_url)s" title="%(request_display_username)s">%(request_display_username)s</a>')
											)
									),
								'</li>',
								'<li class="logout">',
									(!Dsq.jsonData.request.is_remote
										? Dsq.Utils.interpolate('<img class="dsq-login-icon" src="%(media_url)s/images/dsqicon12.png" alt="%(logged_in_as)s"/>&nbsp',
											{logged_in_as: Dsq.FmtStrings.LOGGED_IN_AS(Dsq.jsonData.request.display_username)})
										: ''),

									(!Dsq.jsonData.request.is_remote
										? Dsq.Utils.interpolate('<a href="%(disqus_url)s%(logout_url)s?ctkn=%(csrf_token)s" title="%(logout_from_disqus)s">',
											{logout_url: Dsq.Urls.LOGOUT, csrf_token: Dsq.CSRF_TOKEN, logout_from_disqus: Dsq.FmtStrings.LOGOUT_FROM('DISQUS')})
										: ((Dsq.jsonData.request.remote_domain == 'twitter')
												? Dsq.Utils.interpolate('using Twitter (<a href="%(disqus_url)s%(logout_url)s?ctkn=%(csrf_token)s" title="Logout">Logout</a>)',
												 {logout_url: Dsq.Urls.LOGOUT, csrf_token: Dsq.CSRF_TOKEN})
												: ((Dsq.jsonData.request.remote_domain == 'openid')
													 ? Dsq.Utils.interpolate('using OpenID (<a href="%(disqus_url)s%(logout_url)s?ctkn=%(csrf_token)s" title="Logout">Logout</a>)',
													 {logout_url: Dsq.Urls.LOGOUT, csrf_token: Dsq.CSRF_TOKEN})
													 : ''
													)
											)
									),

									(!Dsq.jsonData.request.is_remote ? Dsq.FmtStrings.LOGOUT_FROM('<span class="logo-disqus">DISQUS</span>') : ''),
									'</a>',
								'</li>',
							'</ul>',
						'</div>',
					'</div>'
		]);
		if (Dsq.jsonData.context.use_fb_connect) {
			result = result.concat([
					'<div id="dsq-fbc-authenticated" class="dsq-authenticated">',
						'<div id="dsq-fbc-profilepic" class="dsq-authenticated-pic" uid="loggedinuser" type="FB.XFBML.ProfilePic" size="square" facebook-logo="true"></div>',
						'<div class="dsq-authenticated-info">',
							'<ul>',
								'<li>',
									'Logged in as <span id="dsq-fbc-name" uid="loggedinuser" type="FB.XFBML.Name" linked="true" useyou="false"></span>',
								'</li>',
								'<li class="logout">using Facebook Connect <a href="#" onclick="javascript:DisqusFbcParentController.logout();return false;">(Logout)</a></li>',
							'</ul>',
						'</div>',
					'</div>'
			]);
		}
		result = result.concat([
				'</div>', // dsq-auth
				'<div id="dsq-toolbar-items">',
				'</div>'
		]);
		result = result.concat([
					//
					//
					//
				((!Dsq.jsonData.forum.allow_anon_post && !Dsq.jsonData.request.is_authenticated) ?
					// Needs to be translated:
					('<p id="dsq-no-anon-msg">Required: Please log into <span class="logo-disqus">Disqus</span> ' +
					(Dsq.jsonData.context.use_fb_connect ? 'or connect with Facebook ' : '') +
					(Dsq.jsonData.context.use_twitter_signin ? 'or sign in with Twitter ' : '') +
					(Dsq.jsonData.context.use_openid ? 'or sign in using OpenID ' : '') +
					Dsq.Utils.interpolate('to comment on <strong>%(forum_name)s</strong>.</p>')) :
					''
				),
				'<div id="dsq-post-add"></div>',
				'<div style="margin:10px 0">',
				((Dsq.jsonData.forum.use_media) ?
						'<a href="#" id="dsq-media-link" onclick="Dsq.Post.showMenu(this, false, \'media\'); return false">' + Dsq.Strings.USE_MEDIA + ' <small>&#9660;</small></a>' :
						''),
				'</div>'
		]);
		return result.join('');
	};


	this.header = function() {

		var html = '\<h3 id="dsq-comments-count" class="dsq-h3-commentcount">\
	 <span id="dsq-num-posts">65</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://popdose.disqus.com/bottom_feeders_the_ass_end_of_the_821780s_part_9_81/latest.rss"><img src="http://media.disqus.com/images/embed/bullet-feed.png"></a>\
	 </span>\
	 </h3>\
	 <div id="dsq-options" style="margin:15px 0">\
	 <span class="dsq-item-sort">\
	 Sort by\
	 <select id="dsq-sort-select" onchange="Dsq.Thread.sortBy(this.value);">\
	 <option value="hot" selected="selected">Popular now</option>\
	 <option value="best" >Best Rating</option>\
	 <option value="newest" >Newest first</option>\
	 <option value="oldest" >Oldest first</option>\
	 </select>\
	 &nbsp;\
	 </span>\
	 <span class="dsq-item-cp"><a href="http://popdose.disqus.com/bottom_feeders_the_ass_end_of_the_821780s_part_9_81/">Community Page</a>&nbsp;&nbsp;&nbsp;</span>\
	 <span class="dsq-item-subscribe">\
	 <img src="http://media.disqus.com/images/embed/email.png" style="width:12px;height:12px;vertical-align:middle">\
	 <span id="dsq-subscribe">\
	 <a href="#" onclick="Dsq.Thread.subscribe(1); return false">Subscribe by email</a>\
	 </span>\
	 </span>\
	 </div>\
	 <div id="dsq-alerts">\
	 </div>\
		';

		
			html = Dsq.Templates.authPost() + html;
		

		
		if (Dsq.jsonData.request.is_moderator) { 
			html = ' \
			<div class="dsq-alert-message dsq-upgrade-message"> \
				<strong>Disqus upgrade available.</strong> Hi ' + Dsq.jsonData.request.display_username + ', this message is being displayed to you because you are a moderator of this site. <a href="#" onclick="Dsq.$(\'dsq-upgrade-message\').style.display=\'block\';this.style.display=\'none\';return false">Click here for details.</a> \
				<div style="display:none; margin-top:10px;" id="dsq-upgrade-message"> \
					A new theme is available with added features. <a href="http://disqus.com/comments/settings/' + Dsq.jsonData.forum.url + '/?p=customize">To change your theme, click here</a> and choose the theme Narcissus. \
					If you do not upgrade, you are missing out on features such as: real-time commenting, new sign-in integrations, and an upgrade interface. \
					<strong>This message will automatically go away in one week.</strong> \
				</div> \
			</div> \
			' + html; 
		}
		return html;
	};

	this.footer = function() {
		var html = Dsq.Templates.pagination();

		

		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		

		return html;
	};

	this.pagination = function() {
		var html = '';
		
		if (Dsq.$('dsq-pagination')) { Dsq.$('dsq-pagination').innerHTML = ''; }
		if (!Dsq.jsonData.thread.paginate) { return ''; }

		//
		// TODO: num_paginator still uses the template tag for pagination, 
		// 		while append_paginator does it all in JavaScript.
		//		This should all be in JavaScript.
		//

		if (Dsq.jsonData.thread.num_pages > 1 && Dsq.jsonData.request.page < Dsq.jsonData.thread.num_pages) {
			html = ' \<a class="dsq-paginate-append-text" href="#" onclick="Dsq.Thread.paginate(Dsq.jsonData.request.page + 1, this); return false">Show more comments...</a>\
	 <button type="button" class="dsq-button-small dsq-paginate-append-button" onclick="Dsq.Thread.paginate(Dsq.jsonData.request.page + 1, this);">Load more comments</button>\
			';
		}
		
		if (Dsq.$('dsq-pagination')) {
			Dsq.$('dsq-pagination').innerHTML = html;
			return '';
		} else {
			return '<div id="dsq-pagination" class="dsq-pagination">' + html + '</div>';
		}
	};

	this.trackbacks = function() {
		var html = '';

		if(typeof DsqLocal != 'undefined' && DsqLocal.trackback_url && DsqLocal.trackbacks) {
			var trackbacks = DsqLocal.trackbacks;
			var trackback_url = DsqLocal.trackback_url;
		} else {
			var trackbacks = [
			
			
			];
			var trackback_url = 'http://popdose.disqus.com/bottom_feeders_the_ass_end_of_the_821780s_part_9_81/trackback/';
		}

		html += '<div class="dsq-item-trackback">Trackback URL&nbsp;&nbsp;<input class="dsq-trackback-url" onclick="this.select()" readonly="true" value="' + trackback_url + '"></div>';

		if(trackbacks.length) {
			html += '<ul id="dsq-references">'
			for(var i = 0; i < trackbacks.length; i++) {
				var trackback = trackbacks[i];
				html += '<li><cite><a href="' + trackback.author_url + '" rel="nofollow">' + trackback.author_name + '</a></cite> \
						<p class="dsq-meta">' + trackback.date + '</p> \
						<p class="dsq-content">' + trackback.excerpt + '</p></li>';
			}
			html += '</ul>';
			html = '<h3 class="dsq-h3-trackbacks">Trackbacks</h3>' + html;
		}

		return html;
	}

	this.showRetweets = function(id, limit, element_id /* Optional */) {
		var source, html = '';

		for (var i = 0, reaction; reaction = Dsq.jsonData.reactions[i]; i++) {
			if (reaction.id === id) {
				source = reaction.retweets;
			}
		}

		if (source) {
			if (limit === 0) {
				limit = source.length;
			}

			for (var j = 0; j < limit; j++) {
				var rt = source[j];
				html += '<a href="' + rt.url + '">' + rt.author_name + '</a>'	+ ((j === (limit - 1)) ? '.' : ', ');
			}
		}

		if (element_id === undefined) {
			return html;
		}

		var element = document.getElementById(element_id);
		element.innerHTML = html;
		return element;
	};

	this.showMoreReactions = function(reactions, has_more, start, limit) {
		var link = document.getElementById('dsq-show-more-reactions');
		var container = link.parentNode;
		container.removeChild(link);

		for (var i = 0, reaction; reaction = reactions[i]; i++) {
			var el = Dsq.Templates.generateReactionHTML(reaction);
			if (el) {
				container.innerHTML += el;
			}
		}

		if (has_more) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = start;
			var l = limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			container.innerHTML += '<li id="dsq-show-more-reactions"><a href="#" onclick="' + handler + '">Show more reactions</a></li>';
		}
	};

	this.generateReactionHTML = function(reaction) {
		if (reaction.body === null || reaction.body == '') {
			return;
		}

		if (reaction.author_name === '') {
			reaction.author_name = '&nbsp;';
		}

		if (reaction.url === '') {
			reaction.url = reaction.get_service_url;
		}

		/* Reaction HTML begins */
		var item = '<li class="dsq-reaction" id="dsq-reaction-' + reaction.id + '">'
			+ '<div class="dsq-reaction-header">'
			+ '<div class="dsq-header-avatar">';

		if (reaction.author_url && reaction.author_url !== '') {
			item += '<a target="_blank" href="' + reaction.author_url +'">';
		} else {
			item += '<a target="_blank" href="#" onclick="return false;">';
		}

		if (reaction.avatar_url && reaction.avatar_url !== '') {
			item += '<img src="' + reaction.avatar_url + '"/>';
		} else {
			item += '<img src="' + Dsq.jsonData.media_url + '/images/noavatar32.png"/>';
		}

		var service_icon = (reaction.get_service_name == 'trackback' || reaction.get_service_name == 'pingback' ? 'rss' : reaction.get_service_name.replace(' ', ''));
		item += '<img class="dsq-service-icon" src="' + Dsq.jsonData.media_url + '/images/reactions/services/' + service_icon + '.png"/>'
			+ '</a></div>'
			+ '<cite><span>' + reaction.author_name + '</span></cite>'
			+ '<span class="dsq-header-meta"><a class="dsq-header-time">' + reaction.date_created + '</a></span>'
			+ '</div><div class="dsq-reaction-body">'
			+ '<div class="dsq-reaction-message">' + reaction.body + '</div>'
			+ '<div class="dsq-reaction-footer">From <a class="dsq-service-name" target="_blank" href="' + reaction.url + '">' + reaction.get_service_name + '</a> '
			+ 'via <a href="' + reaction.source_url + '">' + (reaction.source == 'backtype' ? 'BackType' : 'UberVU') + '</a>'
			+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator ? '&nbsp;&bull;&nbsp;<a class="dsq-hide-reaction" href="#" onclick="Dsq.Reaction.hide(' + reaction.id + '); return false;">Hide</a>' : '') + '</div></div>';

		if(reaction.retweets) {
			var num_retweets = reaction.retweets.length;
			if (num_retweets > 0) {
				item += '<div class="dsq-reaction-retweets">';
				if (num_retweets == 1) {
					item += 'One more retweet from <a href="' + reaction.retweets[0].url + '">'  + reaction.retweets[0].author_name + '</a>';
				} else {
					item += (num_retweets + ' more retweets from ');

					item += '<span id="dsq-reaction-retweets-' + reaction.id + '">';
					var n_tweets = (num_retweets > 15) ? 15 : num_retweets;
					item += Dsq.Templates.showRetweets(reaction.id, n_tweets);

					if (n_tweets != num_retweets) {
						item += '</span> <a onclick="Dsq.Templates.showRetweets(' + reaction.id + ', 0, \'dsq-reaction-retweets-' + reaction.id + '\');'
							+ 'this.parentNode.removeChild(this); return false;" href="#">Show all</a>';
					}
				}
				item += '</div>';
			}
		}

		item += '</li>'; /* Reaction HTML ends */
		return item;
	};

	this.reactions = function() {
		var html, reaction;

		if (Dsq.jsonData.reactions === undefined || Dsq.jsonData.reactions.length === 0) {
			return '';
		}

		html = '';
		for (var i = 0; reaction = Dsq.jsonData.reactions[i]; i++) {
			var item = Dsq.Templates.generateReactionHTML(reaction);
			if (item) {
				html += item;
			}
		}

		if (Dsq.jsonData.has_more_reactions) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = Dsq.jsonData.reactions_start;
			var l = Dsq.jsonData.reactions_limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			html += '<li id="dsq-show-more-reactions"><a href="#" onclick="' + handler + '">Show more reactions</a></li>';
		}

		return '<h3 class="dsq-h3-reactions">Reactions</h3><ul id="dsq-reactions" class="dsq-reactions">' + html + '</ul>';
	};
	
	this.missingPermissions = function() {
		return '';
	};

	//
	// Post
	//

	this.prependPost = function(post_id) {
		var html = '<div id="comment-' + post_id + '"></div>';
		return html;
	};

	this.appendPost = function(post_id) {
		var html = '<div id="dsq-comment-reply-' + post_id + '"></div>';
		return html;
	};

	this.postPrependHeader = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];

		var _includeServices = function() {
			var userServices = Dsq.Post.getUserServices(null, post_id);
			var html = '';
			var hiddenThreshold = 3; // Define # of services to show before stuffing them in hidden div

			for(var i = 0; i < userServices.length; i++) {
				html +=
				(i == hiddenThreshold
					? '<li id="dsq-drop-hidden-' + post_id +'" class="dsq-drop-hidden"><ul>'
					: '')
				+ '<li class="dsq-drop-services"> \
					<a class="dsq-service-' + userServices[i].name.toLowerCase() + '" href="' + userServices[i].url + '" target="_blank"> \
						<img src="' + Dsq.jsonData.media_url + '/images/embed/services/' + userServices[i].name.toLowerCase() + '.png" alt="' + userServices[i].name.toLowerCase() + '">'
					+ userServices[i].name
					+ '</a> \
				</li>';
			}

			if(i >= hiddenThreshold) {
				html += '</ul></li> \
				<li id="dsq-drop-more-' + post_id + '" class="dsq-drop-more"><a href="#" onclick="Dsq.Post.dropProfileMore(this, '+ post_id + '); return false"><small>&#9660;</small></a></li> \
				';
			}
			return html;
		};

		return ' \
			<div class="dsq-header-avatar" id="dsq-header-avatar-' + post_id + '" onmouseover="Dsq.Post.dropProfile(' + post_id + ')"> \
				<a id="dsq-avatar-' + post_id + '" class="dsq-avatar" href="' + userData.url + '" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">'
			+ (Dsq.jsonData.forum.show_avatar
				? '<img src="' + Dsq.jsonData.users[_meta.user_key].avatar + '" alt="" />'
				: '')
			+ '</a>'
			+ '</div> \
		';
	};

	this.postAppendHeader = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];

		return ''
			+ (_meta.author_is_moderator
				? '<img class="dsq-mod-star" src="http://media.disqus.com/images/bullet-star.png" title="Moderator" alt="" />'
				: '')
			+ '<span class="dsq-header-meta"> \
				<a id="dsq-time-' + post_id + '" class="dsq-header-time" href="#comment-' + post_id + '" title="Permalink">' + _meta.date + '</a> \
			</span>';
	};

	this.preBody = function(post_id) {
		return '';
	}

	this.postBody = function(post_id) {
		// TODO: Deprecate flagging conditional
		var _meta = Dsq.jsonData.posts[post_id];
		return ''
			+ (_meta.edited
				? '<p class="dsq-editedtxt">(Edited by a moderator)</p>'
				: '')
			;
	};

	this.postFooter = function(post_id) {
		// TODO: Use media should be conditional
		var _meta = Dsq.jsonData.posts[post_id];
		if(_meta.killed) { return ''; }

		return ' \
			<div class="dsq-comment-footer" id="dsq-comment-footer-' + post_id + '"> \
				<div id="dsq-points-' + post_id + '" class="dsq-likedtxt">'
				+ (_meta.points
					? _meta.points + Dsq.Utils.pluralize(_meta.points, ' person', ' people') + ' liked this comment.'
					: '')
				+ '</div>'
				+ '<ul class="dsq-comment-options dsq-list-style">'
				+ (_meta.votable
					? '<li class="dsq-list-first dsq-rate" id="dsq-rate-cont-' + post_id + '">'
					+ (!_meta.up_voted
						? '<a href="#" onclick="Dsq.Post.rate(this, ' + post_id + ', 1); return false;">Like</a>'
						: 'You liked this.') + '</li>'
					: '')
				+ '<li class="dsq-report' + (!_meta.votable ? ' dsq-list-first' : '') + '" id="dsq-post-report-' + post_id + '"><a href="#" class="dsq-post-report" onclick="Dsq.Post.report(' + post_id + ', false); return false;">Report</a></li> \
				</ul> \
				<ul class="dsq-list-style">'
				+ (_meta.can_reply
					? '<li class="dsq-list-first"><a href="#" id="dsq-reply-link-' + post_id +'" onclick="Dsq.Post.toggleReply(this, ' + post_id +'); return false;">Reply</a></li>'
					: '')
				+ (_meta.can_reply && !_meta.has_replies && _meta.from_request_user
					? '<li id="dsq-edit-el-' + post_id + '"><a id="dsq-edit-link-' + post_id + '" href="#" onclick="Dsq.Post.edit(this, ' + post_id + '); return false;">Edit</a></li>'
					: '')
				+ '<li class="' + (!_meta.can_reply ? 'dsq-list-first' : '') + '" id="dsq-more-el-' + post_id + '"><a id="dsq-more-link-' + post_id + '" href="#" onclick="Dsq.Post.showMenu(this, ' + post_id + ', \'more\'); return false">More <small>&#9660;</small></a></li>'
				+ (Dsq.jsonData.forum.use_media
					? '<li id="dsq-media-el-' + post_id +'" style="display:none"><a id="dsq-media-link-' + post_id + '" href="#" onclick="Dsq.Post.showMenu(this, ' + post_id + ', \'media\'); return false">Use Media <small>&#9660;</small></a></li>'
					: '')
				+ '</ul>'
				+ '<div id="dsq-reply-bar-' + post_id + '" class="dsq-reply-bar" style="display:none"> \
						<div id="dsq-reply-bar-items-' + post_id + '" class="dsq-reply-bar-items"> \
						</div> \
						<div id="dsq-reply-bar-auth-' + post_id + '" class="dsq-reply-bar-auth"> \
							 \
								 \
								 	<a href="#" class="dsq-help dsq-reply-req-opt" title="You are commenting as a Guest. You may choose to log into an existing DISQUS Profile, your Facebook, Twitter or OpenID account to comment on Popdose" onclick="Dsq.Popup.helpBadges(); return false">Optional:</a> \
								 \
								<img class="dsq-login-icon" src="http://media.disqus.com/images/dsq-favicon-16x16.png" alt="" /> \
								<a id="dsq-reply-login-' + post_id + '" href="http://disqus.com/profile/login/?next=article:853213" onclick="Dsq.Popup.login(); return false">Login</a> \
								 \
									&nbsp;or&nbsp; \
									<img class="fb_login_image" src="http://static.ak.fbcdn.net/images/fbconnect/login-buttons/connect_light_small_short.gif" alt="Facebook Connect"/> \
									<a href="#" onclick="FB.Connect.requireSession(DisqusFbcParentController.onLogin); return false;">Connect</a> \
								 \
								&nbsp;or&nbsp; \
									<img src="http://media.disqus.com/images/twitter-signin-icon.png" alt="" /> \
									<a href="#" onclick="Dsq.Twitter.startTwitterConnect(); return false">Sign-in</a> \
								 \
								&nbsp;or&nbsp; \
									 <img src="http://media.disqus.com/images/openid-login-icon.png" alt="" /> \
									 <a href="#" onclick="Dsq.OpenID.requestURL(); return false">OpenID</a> \
								 \
							 \
						</div> \
					</div> \
					<div id="dsq-reply-' + post_id + '"></div> \
			</div> \
		';
	};

	//
	// Iframes
	//

	this._makeAttributes = function(attributes) {
		// Makes a tag attributes string out of an object.
		// Caller is responsible for making sure nothing needs to be escaped.
		var result = [];
		for (key in attributes) {
			result.push(' ' + key + '="' + attributes[key] + '"');
		}
		result = result.join('');
		return result;
	};

	this._frameGeneric = function(base_url, params, attributes) {
		if(typeof(disqus_callback_params) == 'undefined') {
			disqus_callback_params = '';
		}

		var default_params = {
			// TODO: These should be moved to Dsq.jsonData.
			'f'				: 'popdose',
			't'				: 'bottom_feeders_the_ass_end_of_the_821780s_part_9_81',
			// Do we need encodeURIComponent here?
			'ifrs'			: encodeURIComponent(disqus_iframe_css),
			'to_redirect'	: encodeURIComponent(window.location),
			'cbp'			: disqus_callback_params,
			'ff'			: Dsq.Thread.ff,
			'fc'			: Dsq.Thread.fc,
			'ac'			: Dsq.Thread.ac,
			'default_text'	: disqus_default_text
		};

		base_url += '?' + (new Date()).getTime();
		// Add params to default_params.
		if(params) {
			for(var key in params) {
				if(params.hasOwnProperty(key)) {
					default_params[key] = encodeURIComponent(params[key]);
				}
			}
		}
		// Build querystring.
		for(var key in default_params) {
			if(default_params[key] && default_params.hasOwnProperty(key)) {
				base_url += '&' + key + '=' + default_params[key];
			}
		}

		return [
			'<iframe marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0"',
			(' allowtransparency="true" src="' + base_url + '"'),
			this._makeAttributes(attributes),
			'</iframe>'].join('');
	};

	this.frameLogin = function(opt_attributes) {
		var params = {};
		var base_url = 'http://disqus.com/embed/login.html';
		var attributes = opt_attributes || {};
		attributes['class'] = 'dsq-post-login';

		if(typeof disqus_frame_theme != 'undefined') {
			params['theme'] = disqus_frame_theme;
		}
		return this._frameGeneric(base_url, params, attributes);
	};

	this.frameReply = function(post_id, extra_params, attributes) {
		// Returns the HTML for a reply iframe. Called by Dsq.Iframes.setReplyIframeToContainer
		var _meta = (typeof post_id != 'undefined') ? Dsq.jsonData.posts[post_id] : false;
		var base_url = Dsq.Urls.REPLY;
		var params = {
			'def_email'		: disqus_def_email,
			'def_name'		: disqus_def_name
		};
		if(extra_params) {
			for(var key in extra_params) {
				if(extra_params.hasOwnProperty(key)) {
					params[key] = extra_params[key];
				}
			}
		}
		if(_meta) {
			params['parent_post'] = post_id;
		}
		if(typeof disqus_per_page != 'undefined') {
			params['per_page'] = disqus_per_page;
		}
		if(typeof disqus_frame_theme != 'undefined') {
			params['theme'] = disqus_frame_theme;
		}
		if(Dsq.jsonData.request.is_authenticated) {
			attributes['class'] += '-authenticated';
		}
		return this._frameGeneric(base_url, params, attributes);
	};

	this.frameEdit = function(post_id) {
		var _meta = (typeof post_id != 'undefined') ? Dsq.jsonData.posts[post_id] : false;
		var base_url = 'http://disqus.com/embed/edit.html';
		var params = {
			'p' : post_id
		};
		return this._frameGeneric(base_url, params, {'class': 'dsq-post-edit', 'name': 'dsq-edit_' + post_id + '-frame'});
	};

	//
	// Menus
	//

	this.menuMore = function(post_id) {
		// TODO: "Remove post" button should hide menu.
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		return ' \
			<li><a href="#comment-' + post_id + '" onclick="Dsq.Popup.permalink(' + post_id + ')">Link</a></li> \
			<li><a href="#" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">Profile</a></li>'
	+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator
		? '	<li class="dsq-menu-sep"></li>' + (_meta.email ? '<li class="dsq-admin-email">' + _meta.email + '</li>' : '')
		+ '	<li class="dsq-admin-ip">' + _meta.ip + '</li> \
			<li class="dsq-menu-sep"></li>'
		+ (Dsq.jsonData.request.moderator_can_edit
			? ' <li class="dsq-admin-edit"><a href="#" onclick="Dsq.Post.edit(this, ' + post_id + '); return false;">Edit Comment</a></li>'
			: '')
		+ ' <li class="dsq-remove"><a href="#" onclick="Dsq.Post.removePost(' + post_id + ', 1); return false;">Remove Comment</a></li> \
			<li class="dsq-report-spam"><a href="#" onclick="Dsq.Post.reportSpam(' + post_id + '); return false;">Mark Spam</a></li> \
			<li class="dsq-block-user"><a href="#" onclick="Dsq.Popup.blacklist(' + post_id + '); return false">Block User</a></li>'
		: '');
	};

	this.menuMedia = function(post_id) {
		return ' \
			<li><a href="#" onclick="Dsq.Post.toggleMediaReply(this, ' + post_id + ', \'seesmic\'); return false;">Record video</a></li> \
		';
	};

	this.dropProfile = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];

		var _includeServices = function() {
			var userServices = Dsq.Post.getUserServices(null, post_id);
			var html = '';
			var hiddenThreshold = 3; // Define # of services to show before stuffing them in hidden div

			for(var i = 0; i < userServices.length; i++) {
				html +=
				(i == hiddenThreshold
					? '<li id="dsq-drop-hidden-' + post_id +'" class="dsq-drop-hidden"><ul>'
					: '')
				+ '<li class="dsq-drop-services"> \
					<a class="dsq-service-' + userServices[i].name.toLowerCase() + '" href="' + userServices[i].url + '" target="_blank"> \
						<img src="' + Dsq.jsonData.media_url + '/images/embed/services/' + userServices[i].name.toLowerCase() + '.png" alt="' + userServices[i].name.toLowerCase() + '">'
					+ userServices[i].name
					+ '</a> \
				</li>';
			}

			if(i >= hiddenThreshold) {
				html += '</ul></li> \
				<li id="dsq-drop-more-' + post_id + '" class="dsq-drop-more"><a href="#" onclick="Dsq.Post.dropProfileMore(this, '+ post_id + '); return false"><small>&#9660;</small></a></li> \
				';
			}
			return html;
		};


		var menu = '<li class="dsq-drop-showlnk"><a href="#" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">Expand &#8663;</a></li>';
		var pointsMessage = '';
		if (userData['registered']) {
			pointsMessage = 'with ' + userData['points'] + ' points (more points are better).';
		}

		if (userData['is_remote']) {
			var domain = userData['remote_domain_name'];
			menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' is a ' + domain + ' user ' + pointsMessage + '" onclick="Dsq.Popup.helpBadges()">';
			menu += '<span class="dsq-badge-' + domain.toLowerCase() + '">' + domain + '</span></li>';
		} else if (userData['registered']) {
			if (userData['verified']) {
				menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' has a verified commenter profile ' + pointsMessage + '" onclick="Dsq.Popup.helpBadges()">';
				menu += '<span class="dsq-badge-verified">Verified</span></li>';
			} else {
				menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' has a registered, but unverified, commenter profile ' + pointsMessage + '" onclick="Dsq.Popup.helpBadges()">';
				menu += '<span class="dsq-badge-registered">Registered</span></li>';
			}
		} else {
			menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' has not claimed this commenter profile." onclick="Dsq.Popup.helpBadges()"><span class="dsq-badge-guest">Guest</span></li>';
		}

		menu += _includeServices();
		return menu;
	};

	//
	// Popups
	//

	this._popupGeneric = function(content) {
		return ' \
		<div class="dsq-popup-content"> \
			<div class="dsq-popup-top"></div> \
			<div class="dsq-popup-body" class="clearfix"> \
				<div class="dsq-popup-body-padding"> \
					<div class="dsq-popup-header"> \
						<a class="dsq-close-link" href="#" onclick="Dsq.Popup._closePopup(null, true); return false"><img src="http://media.disqus.com/images/modal-close.png" alt="" /></a>'
						+ content['header']
					+ '</div>'
					+ content['body']
					+ '<div class="powered-by"><a href="http://disqus.com/comments/">Powered by <img src="http://media.disqus.com/images/embed/disqus-logo.png" alt="Disqus Comments" style="margin-bottom:-5px" /></a></div> \
				</div> <!-- padding --> \
			</div> <!-- body --> \
			<div class="dsq-popup-bottom"></div> \
		</div> \
		';
	};

	this.popupProfile = function(user_key) {
		var userServices = Dsq.Post.getUserServices(user_key, null);
		var userData = Dsq.jsonData['users'][user_key];
		var headerHtml = '';
		var bodyHtml = '';
		var content = {};

		var _includeServices = function() {
			var html = '';
			for(var i = 0; i < userServices.length; i++) {
				html +=
				(i == 0
					? '<h4>Connections</h4><ul>'
					: '')
				+ '<li> \
					<img src="' + Dsq.jsonData.media_url + '/images/embed/services/' + userServices[i].name.toLowerCase() + '.png" alt="' + userServices[i].name.toLowerCase() + '" title="' + userServices[i].name.toLowerCase() + '" /> \
					<a class="dsq-service-' + userServices[i].name.toLowerCase() + '" href="' + userServices[i].url + '" target="_blank">'
					+ userServices[i].name
					+ '</a> \
				</li>'
				+ (i+1 == userServices.length ? '</ul>' : '');
			}
			return html;
		};

		headerHtml = ' \
			<table> \
				<tr> \
					<td> \
						<a class="dsq-profile-userurl" href="' + userData.url + '"><img class="dsq-popup-profile-avatar" src="' + userData['avatar'] + '" alt="" /></a> \
					</td> \
					<td> \
						<div class="dsq-popup-profile-user"> \
							<h3>' + userData['display_name'] + '</h3> \
							<div class="dsq-popup-profile-user-stats" id="dsq-popup-profile-user-stats-' + user_key + '">Loading...</div> \
						</div> \
					</td> \
				</tr> \
			</table> \
		';

		bodyHtml = ' \
			<div class="dsq-popup-profile-state"> \
				This is a&nbsp;<span class="'
					+ (userData['registered']
						? (userData['verified']
							? ' dsq-badge-verified'
							: (userData['is_remote']
								? ' dsq-badge-' + userData['remote_domain_name'].toLowerCase()
								: ' dsq-badge-registered')
							)
							: ' dsq-badge-guest') + '">'
			+ (userData['registered']
				? (userData['verified']
					? 'Verified'
					: (userData['is_remote']
						 ? userData['remote_domain_name']
						 : 'Registered')
					)
				: 'Guest')
			+ '</span>&nbsp;commenter profile.'
			+ '&nbsp;<a class="dsq-profile-userurl" href="' + userData.url + '"><strong>View more comments </strong></a>'
			+ (!userData['points']
				? '<p class="dsq-popup-notice">If this is you, <a href="http://disqus.com/profile" target="_blank">claim it now</a> to manage your comments.</p>'
				: '')
			+ ((userData['registered'] && !userData['verified'] && (Dsq.jsonData.request.username && (Dsq.jsonData.request.username == userData['username'])) && !userData['is_remote'])
				? '<p class="dsq-popup-notice"><strong>Alert</strong>: You have not verified this account. <a href="http://disqus.com/verify">Verify it now.</a></p>'
				: '')
			+ '</div> \
			<div id="dsq-profile-status-' + user_key + '" class="dsq-popup-profile-status" style="display:none"></div> \
			<div class="dsq-popup-profile-snapshot"> \
				<table> \
					<tr> \
						<td> \
							<div id="dsq-popup-profile-active-sites-wrapper-' + user_key + '"> \
								<h4>Most active sites</h4> \
								<ul id="dsq-popup-profile-active-sites-' + user_key + '"> \
									<li>Loading...</li> \
								</ul> \
							</div> \
						</td> \
						<td>'
							+ _includeServices()
							+ '<div id="dsq-popup-profile-moderated-wrapper-' + user_key + '"> \
								<h4>Moderator of</h4> \
								<ul id="dsq-popup-profile-moderated-' + user_key + '"> \
									<li>Loading...</li> \
								</ul> \
							</div> \
						</td> \
					</tr> \
				</table> \
			</div> \
			';

		content = {
			'header': headerHtml,
			'body': bodyHtml
		};

		return this._popupGeneric(content);
	};

	this.popupReblog = function() {
		var headerHtml = '';
		var bodyHtml = '';
		var content = {};

		headerHtml = ' \
			<cite><span>Reblog this comment</span></cite> \
		';

		bodyHtml = ' \
			<div id="dsq-reblog-form" class="dsq-reblog-form"> \
			</div> \
		';

		content = {
			'header': headerHtml,
			'body': bodyHtml
		};

		return this._popupGeneric(content);
	};

	this.popupModal = function(title, message) {
		var headerHtml = '';
		var bodyHtml = '';
		var content = {};

		headerHtml = ' \
			<h3>' + title + '</h3> \
		';

		bodyHtml = message;

		content = {
			'header': headerHtml,
			'body': bodyHtml
		};

		return this._popupGeneric(content);
	};

	this.alertContent = function(name, post_id) {
		var alert = {
			'post_not_approved': {
				'title': 'Comment awaiting approval by a moderator',
				'message': 'Thanks for posting. Your comment must be approved by a moderator before appearing here.'
			},
			'post_has_profile': {
				'title': 'Use your existing commenter profile',
				'message': 'You have just posted your commment as a <span class="dsq-badge dsq-badge-guest">Guest</span>, but you may already have a <span class="dsq-badge dsq-badge-registered">Registered</span> commenter profile.<br /><br /><a href="http://disqus.com/claim">Log in and claim this comment!</a>'
			}
		};
		return alert[name] || false;
	};

	//
	// Actions
	//

	this.voted = function(post_id, points, vote) {
		// Update number of points
		Dsq.$('dsq-points-' + post_id).innerHTML = points + Dsq.Utils.pluralize(points, ' person', ' people') + ' liked this comment.';

		// Update link text
		if(vote) {
			Dsq.$('dsq-rate-cont-' + post_id).innerHTML = 'You liked this.';
		}
	};

	this.subscribed = function(status) {
		var title, message;

		if(status) {
			title = 'Subscribed!';
			message = 'You have subscribed to this comment thread. New comments will be sent directly to your email inbox, where you may read and respond by email.';
			Dsq.$('dsq-subscribe').innerHTML = ' \
				<a href="#" onclick="Dsq.Thread.subscribe(0); return false">Unsubscribe</a> \
			';
		} else {
			title = 'Unsubscribed';
			message = 'You have unsubscribed to this comment thread. New comments will no longer be sent to your email inbox.';
			Dsq.$('dsq-subscribe').innerHTML = ' \
				<a href="#" onclick="Dsq.Thread.subscribe(1); return false">Subscribe by email</a> \
			';
		}

		Dsq.Popup.popModal(message, title);

	};
	
	this.highlighted = function() {
		Dsq.Popup.popModal('This comment has been highlighted.', 'Highlighted comment');
	};

	//
	// Media
	//

	this.mediaSeesmic = function(id, thumb) {
		return ' \
			<div id="dsq-seesmic-' + id + '_preview" class="dsq-seesmic-preview"><a href="http://www.seesmic.com/video/' + id + '" target="_blank" class="see_link">&nbsp;</a> \
				<div style="display:block;width:160px; height:120px; border:none; background-image:url(http://t.seesmic.com/thumbnail/' + thumb + ')"> \
					<div id="dsq-seesmic-' + id + '_hide" class="seePlayOverlay" style="display:none;"><img onclick="see_play_video(\'' + id + '\',false)" src="http://media.disqus.com/images/seesmic/stopOverlay.png" width="50" height="50" style="cursor:pointer; cursor:hand; padding-top: 30px; padding-left: 50px" alt="" /></div> \
					<div id="dsq-seesmic-' + id + '_show" class="seePlayOverlay"><img onclick="see_play_video(\'' + id + '\',true)" src="http://media.disqus.com/images/seesmic/playOverlay.png" width="50" height="50" style="cursor:pointer; cursor:hand; border:none; padding-top: 30px; padding-left: 50px" alt="" /></div> \
				</div> \
			</div> \
			<div id="' + id + '_content" style="display:block; width:100%; padding-top:5px"></div> \
		';
	};

	//
	// Callbacks
	//

	this.postComment_onSuccess = function(parent_post_id) {
		// Increment post count
		var num_posts = Dsq.$('dsq-num-posts');
		var total_posts = Dsq.$('dsq-total-posts');
		
		if (num_posts) { 
			num_posts.innerHTML = parseInt(num_posts.innerHTML) + 1;
		}
		if (total_posts) { 
			total_posts.innerHTML = parseInt(total_posts.innerHTML) + 1;
		}
	};
};
// Dsq.Templates


/**
 * Dsq.Post
 */
Dsq.Post = new function() {
	this.openedMenu = {};
	this.menuEventListener = null;
	this.stateReplyToggled = {};
	this.stateEditToggled = {};
	this.stateRecordLink = {};

	/**
	 * Inserts a new post into the document.
	 *
	 * @param after_id {Number}	Insert a post before specified id.  If after_id
	 *							evaluates to false, then post in the front.  If
	 *							after_id is -1, post at the end.
	 */
	this.insert = function(after_id, id, message, author) {
		// Skeleton template from thread_posts.html.
		var skeleton = ' \
			<li id="dsq-comment-%(id)s"> \
				<div id="dsq-comment-header-%(id)s" class="dsq-comment-header"> \
					<cite id="dsq-cite-%(id)s" class="dsq-comment-cite"> \
						<a id="dsq-author-user-%(id)s" href="%(author_url)s" target="_blank" rel="nofollow">%(author_name)s</a> \
					</cite> \
				</div> \
				<div id="dsq-comment-body-%(id)s" class="dsq-comment-body"> \
					<div id="dsq-comment-message-%(id)s" class="dsq-comment-message">%(message)s</div> \
				</div> \
			</li> \
		';
		var _meta = Dsq.jsonData.posts[id];
		var _user_meta = Dsq.jsonData.users[_meta.user_key];
		var markup = Dsq.Utils.interpolate(skeleton, {
			id: id,
			message: message,
			author_url: _user_meta.blog,
			author_name: _user_meta.display_name
		});
		var div = document.createElement('div');
		markup = markup.replace(Dsq.COMMENTS_RE, Dsq.CommentsHandler);
		div.innerHTML = markup;

		if (after_id === -1) {
			Dsq.$('dsq-comments').appendChild(div);
		} else if (!after_id) {
			Dsq.$('dsq-comments').insertBefore(div, Dsq.$('dsq-comments').firstChild);
		} else if (Dsq.$('dsq-comment-' + after_id)) {
			// Get next node after "after_id", so we can insert before it.
			// If "after_id" is the last comment, the target node is the
			// last node.
			
			// var append_post_id = Dsq.Templates.appendPost(after_id).replace('<div id="','').replace('"></div>', '');
			var append_post_id = 'dsq-append-post-' + after_id;
			var node = Dsq.$(append_post_id);
			while (node = node.nextSibling) {
				if (!node || node.nodeType == 1) { // 1 == Node.ELEMENT_NODE
					break;
				}
			}
			if (!node) {
				node = Dsq.$(append_post_id);
			}
			node.parentNode.insertBefore(div, node);
		}
	};

	this.incrementPostCount = function() {
		
		var num_posts = Dsq.$('dsq-num-posts');
		var total_posts = Dsq.$('dsq-total-posts');

		if (num_posts) {
			num_posts.innerHTML = parseInt(num_posts.innerHTML, 10) + 1;
		}
		if (total_posts) {
			total_posts.innerHTML = parseInt(total_posts.innerHTML, 10) + 1;
		}
	}
	
	this.outlineComment = function(post_id) {
		Dsq.$('dsq-comment-' + post_id).className += ' dsq-comment-outline';
		setTimeout("(function () { Dsq.Post.clearOutlineComment(" + post_id + ") })()", 3000);
	};
	
	this.clearOutlineComment = function(post_id) {
		Dsq.$('dsq-comment-' + post_id).className = Dsq.$('dsq-comment-' + post_id).className.replace('dsq-comment-outline', '');
	};

	this.showMenu = function(el, id, name) {
		var anchorPos = Dsq.Utils.findPos(el);
		var menu = document.createElement('ul');

		if(this.openedMenu) {
			if(this.openedMenu.linkClicked) {
				this.openedMenu.linkClicked = false;
				return;
			}
		}

		switch(name) {
			case 'more':
				menu.innerHTML = Dsq.Templates.menuMore(id);
				break;
			case 'media':
				menu.innerHTML = Dsq.Templates.menuMedia(id);
				break;
			default:
				break;
		}

		// Add menu to document body
		menu.id = 'dsq-menu-' + id;
		menu.className = 'dsq-menu';
		Dsq.$b.appendChild(menu);

		// Position and show
		anchorPos[1] += 15;
		menu.style.left = anchorPos[0] + 'px';
		menu.style.top = anchorPos[1] + 'px';
		menu.style.display = 'block';

		// Set global reference
		this.openedMenu = {
			'el' : menu,
			'id' : id,
			'name' : name,
			'linkClicked' : false
		};

		// Set listener
		this.menuEventListener = Dsq.Utils.addEventListener(document, 'mouseup', this._hideMenu);
	};

	this._hideMenu = function(e) {
		var el = e.target || e.srcElement;
		var openedMenu = Dsq.Post.openedMenu.el;
		var id = Dsq.Post.openedMenu.id;

		if(!id) {
			var link = 'dsq-' + Dsq.Post.openedMenu.name + '-link';
		} else {
			var link = 'dsq-' + Dsq.Post.openedMenu.name + '-link-' + id;
		}

		if(!openedMenu) {
			return;
		}

		if(!Dsq.Popup.isClicked(e, openedMenu.id)) {
			openedMenu.style.display = 'none';
			Dsq.Utils.removeEventListener(Dsq.Post.menuEventListener);
			Dsq.Utils.deleteNode(openedMenu);

		} else {
			// Hide the menu if a link was clicked inside the menu.  We can't
			// completely remove the menu until the onclick event on the link
			// fires, but the menuEventListener will prevent multiple menus
			// from polluting the DOM.
			if(el && typeof el.href != 'undefined') {
				openedMenu.style.display = 'none';
				Dsq.Post.openedMenu.el = null;
			}
		}

		if(Dsq.Popup.isClicked(e, link)) {
 			Dsq.Post.openedMenu.linkClicked = true;
		}
	};


	this.getUserServices = function(user_key, id) {
		if(!user_key && id) {
			var _meta = Dsq.jsonData.posts[id];
			user_key = _meta.user_key;
		}
		var userData = Dsq.jsonData['users'][user_key];
		var userServices = [];

		// Keep a full list of supported services. This is the order they will display in the drop-profile.
		// Each service must have a corresponding case in _buildServiceUrl()
		var supportedServices = ['blog', 'twitter', 'facebook', 'tumblr'];

		function _buildServiceUrl(serviceName) {
			var data = userData[serviceName];
			var services = {
				blog:		function(d) { return d; },
				twitter:	function(d) { return d; },
				facebook:	function(d) { return d; },
				tumblr:		function(d) { return 'http://' + d + '.tumblr.com'; }
			};
			return services[serviceName](data);
		}

		for(var i = 0; i < supportedServices.length; i++) {
			if(userData[supportedServices[i]]) {
				var serviceUrl = _buildServiceUrl(supportedServices[i]);
				userServices.push({'name' : supportedServices[i], 'url' : serviceUrl});
			}
		}
		return userServices;
	}

	this.dropProfile = function(id) {
		var dp = Dsq.$('dsq-drop-profile-' + id);

		// IE6 needs JS to display/hide. All other browsers use CSS.
		if(dp) {
			if(Dsq.Utils.ie6) dp.style.display = (dp.style.display == 'inline') ? 'none' : 'inline';
			return false;
		} else {
			dp = document.createElement('ul');
		}

		dp.id = 'dsq-drop-profile-' + id;
		dp.className = 'dsq-drop-profile';

		if(Dsq.Utils.ie6) { dp.style.display = 'inline'; }

		var container = Dsq.$('dsq-header-avatar-' + id);
		dp.innerHTML = Dsq.Templates.dropProfile(id);
		container.appendChild(dp);
	};

	this.dropProfileMore = function(el, id) {
		var hiddenItems = Dsq.$('dsq-drop-hidden-' + id);

		hiddenItems.style.display = 'inline';
		el.parentNode.style.display = 'none';
	};

	this._updateReplyLinks = function(el, id) {
		// Update "reply / cancel" links based on state.
		var displayDict = {};

		if(id) {
			if(this.stateReplyToggled[id]) {
				el.innerHTML = 'Cancel';
				displayDict['media'] = 'inline';
				displayDict['edit'] = 'none';
			} else {
				el.innerHTML = 'Reply';
				displayDict['media'] = 'none';
				displayDict['edit'] = 'inline';
			}
		}

		for(var key in displayDict) {
			if(displayDict.hasOwnProperty(key)) {
				var	linkEl = Dsq.$('dsq-' + key + '-el-' + id),
					spacer = Dsq.$('dsq-' + key + '-spacer-' + id);

				if(linkEl) {
					linkEl.style.display = displayDict[key];
					if(spacer) spacer.style.display = displayDict[key];
				}
			}
		}
	};

	this._updateMediaLinks = function(el, id) {
		// Update "use media / cancel" links based on state.
		var appendId = (id) ? ('-' + id) : '';
		var link = Dsq.$('dsq-media-link' + appendId);

		if(this.stateRecordLink[id]) {
			link.innerHTML = 'Cancel Media';
			link.onclick = function() { Dsq.Post.toggleMediaReply(link, id); return false; };
		} else {
			link.innerHTML = 'Use Media <small>&#9660;</small>';
			link.onclick = function() { Dsq.Post.showMenu(link, id, 'media'); return false; };
		}
	};

	this.toggleReply = function(el, id) {
		// Create reply IFrame
		if (window.disqus_use_postmessage) {
			if (!this.stateReplyToggled[id]) {
				Dsq.$('dsq-reply-' + id).style.display = 'block';
				Dsq.$('dsq-reply-bar-' + id).style.display = 'block';
				// Create IFrame if it doesn't exist.
				if (!Dsq.frames['reply_' + id]) {
					var _meta = Dsq.jsonData.posts[id];
					Dsq.frames['reply_' + id] = new Dsq.ReplyFrame(Dsq.$('dsq-reply-frame-' + id), id);
					Dsq.frames['reply_' + id].init();
					Dsq.frames['reply_' + id].setState(id, _meta.depth);
				}
			} else {
				Dsq.$('dsq-reply-' + id).style.display = 'none';
				Dsq.$('dsq-reply-bar-' + id).style.display = 'none';
			}
		} else {
			// DEPRECATED
			if(!this.stateReplyToggled[id]) {
				// Reply toolbar
				Dsq.$('dsq-reply-bar-' + id).style.display = 'block';
				Dsq.Iframes.showReplyIframeInContainerIfAllowed(Dsq.$('dsq-reply-' + id), id);
			} else {
				Dsq.$('dsq-reply-bar-' + id).style.display = 'none';
				Dsq.Iframes.hideAllInContainer(Dsq.$('dsq-reply-' + id));
				if(this.stateRecordLink[id]) {
					// HACK: Cancel media before canceling self.
					this.toggleMediaReply(Dsq.$('dsq-media-link-' + id), id);
				}
			}
		}

		this.stateReplyToggled[id] = !this.stateReplyToggled[id];
		this._updateReplyLinks(el, id);

		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE('dsq-reply-' + id); }

		Dsq.Events.fire(Dsq.Events.REPLY_IFRAME_TOGGLED, {
			postId: id,
			opened: this.stateReplyToggled[id]
		});
	};

	this.toggleMediaReply = function(el, id, xtype) {
		id = id || 0;
		if(id) {
			var container = Dsq.$('dsq-reply-' + id);
		} else {
			var container = Dsq.$('dsq-post-add');
		}

		if(!this.stateRecordLink[id]) {
			Dsq.Iframes.showReplyIframeInContainer(container, id, {xtype:xtype}, 'dsq-post-video');
		} else {
			Dsq.Iframes.showReplyIframeInContainer(container, id);
		}
		this.stateRecordLink[id] = !this.stateRecordLink[id];
		this._updateMediaLinks(el, id);

		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE(); }
	};

	this.edit = function(el, id) {
		Dsq.$('dsq-comment-message-' + id).innerHTML = Dsq.Templates.frameEdit(id);
		el.parentNode.style.display = 'none';
		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE('dsq-comment-message-' + id); }
	};

    this.rate = function(el, id, vote) {
		if(Dsq.jsonData.request.is_authenticated || Dsq.jsonData.forum.allow_anon_votes) {
			if(vote == 1) {
                Dsq.$('dsq-rate-cont-' + id).innerHTML = '<img src="http://media.disqus.com/images/loading-small.gif">';
            }

            Dsq.Utils.execScript('http://disqus.com/forums/popdose/vote.js'
                + '?post_id='    + id
                + '&vote='        + vote);

		} else {
			Dsq.Popup.login(Dsq.Strings.TO_RATE_PLEASE_LOG_IN);
		}
    };

	this.report = function(id, confirmed) {
		if(confirmed) {
			Dsq.Utils.postToUrl('http://disqus.com/forums/popdose/bottom_feeders_the_ass_end_of_the_821780s_part_9_81/post_report/', {'post_id': id});
			Dsq.Popup.popModal('Thank you. This comment has been flagged for moderator attention.', 'Successfully flagged');
			Dsq.Utils.deleteNode(Dsq.$('dsq-post-report-' + id));
		} else {
			var title = Dsq.Strings.FLAG_INAPPROPRIATE_COMMENT;
			var message = Dsq.Strings.ARE_YOU_SURE_YOU_WOULD_LIKE_TO_REPORT_THIS_COMMENT_TO_A_MODERATOR + '? \
			<br /><br /> \
			<button type="button" onclick="Dsq.Popup._closePopup(null, true)"><strong>' + Dsq.Strings.NO + '</strong>, ' + Dsq.Strings.NEVER_MIND + '</button>&nbsp;&nbsp;&nbsp;<button type="button" onclick="Dsq.Post.report(' + id + ', true);"><strong>' + Dsq.Strings.YES + '</strong>, ' + Dsq.Strings.FLAG_INAPPROPRIATE_COMMENT + '</button><br /><br />'
			+ Dsq.Strings.THIS_WILL_FLAG_COMMENTS_FOR_MODERATORS_TO_TAKE_ACTION + '. \
			';

			Dsq.Popup.popModal(message, title, id);
		}
	};



	this.showAlert = function(id, msg) {
		var msgEl = Dsq.$('dsq-comment-message-' + id);
		var alert = '<div class="dsq-comment-alert">' + msg + '</div>';

		msgEl.innerHTML = alert + msgEl.innerHTML;
	};

};
// Dsq.Post


/**
 * Dsq.Thread
 */
Dsq.Thread = new function() {
	this.fc = null;
	this.ff = null;
	this.ac = null;

	
	this.adminIsOn = false;

	
	
	

	this.hlComment = null;
	this.hlCommentClass = null;

	this.getNextComment = function(el) {
		var start_id = el.id;
		while(el = el.nextSibling) {
			if(el.id && el.id.indexOf('dsq-comment-') != -1 && el.id != start_id) {
				return el;
			}
		}
		return null;
	};

	this.getActiveCommentId = function() {
		if (document.URL.indexOf('#comment-') >= 0) {
			var anchor = document.URL.slice(document.URL.indexOf('#') + 1);
			return anchor.replace('comment-', '');
		}
		return null;
	};

	this.highlightAnchor = function() {
		var i = this.getActiveCommentId();
		if (i == null) return false;
		var id = 'dsq-comment-' + i;
		var hash = window.location.hash;

		// Toggle the hash incase the comment isn't available when the page loads
		// for WebKit-based browsers.
		if (Dsq.Utils.webkit) {
			window.location.hash = '';
			window.location.hash = hash;
		}

		this.hlComment = Dsq.$(id);
		// Adding this conditional guard pending #289
		if (!this.hlComment) {
			return;
		}
		this.hlCommentClass = this.hlComment.className;
		this.hlComment.className += ' dsq-hl-anchor';

		setTimeout("Dsq.Thread.highlightClear()", 3000);
	};

	this.highlightClear = function() {
		if (!this.hlComment) {
			return;
		}
		this.hlComment.className = this.hlCommentClass;
	};

	this.login = function(toggle) {
		// toggle id is #dsq-reply-login-[id]
		var postId;
		if(toggle.id.indexOf('dsq-reply-login') != -1) {
			postId = toggle.id.slice(16);
			var container = Dsq.$('dsq-reply-' + postId);
		} else {
			var container = Dsq.$('dsq-post-add');
		}

		if(toggle) {
			if(toggle.className == 'dsq-login-active') {
				Dsq.Iframes.showReplyIframeInContainerIfAllowed(container, postId);
				toggle.className = '';
			} else {
				Dsq.Iframes.showLoginIframeInContainer(container, postId);
				toggle.className = 'dsq-login-active';
			}
		} else {
			Dsq.Iframes.showLoginIframeInContainer(container, postId);
		}

		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE(); }
	};


	this.paginate = function(page, el_clicked, per_page) {
		// Use extra_params to pass any override parameters that we need to persist.
		var extra_params = '';

		// "Per page" can either be overriden by providing it as an argument
		// (per-call) or setting the disqus_per_page override variable (global).
		if(typeof per_page == 'undefined') {
			per_page = null;
		}
		if(typeof disqus_per_page != 'undefined' && per_page === null) {
			per_page = disqus_per_page;
		}

		if(typeof disqus_sort != 'undefined') {
			extra_params += '&sort=' + disqus_sort;
		}
		if(per_page !== null) {
			extra_params += '&per_page=' + per_page;
		}

		Dsq.$('dsq-pagination').innerHTML += '<img src="http://media.disqus.com/images/loading-small.gif">';
		
		if(el_clicked) {
			el_clicked.style.display = 'none';
		}
		
		Dsq.Utils.execScript('http://disqus.com/forums/popdose/thread.js'
			+ '?slug='	+ 'bottom_feeders_the_ass_end_of_the_821780s_part_9_81'
			+ '&p='		+ page
			+ extra_params);
	};

	this.sortBy = function(sort) {
		var disqus_script = document.createElement('script');
		var disqus_date = new Date();

		if (location.hash != '') {
			location.hash = '#disqus_thread';
		}

		if(typeof(disqus_url) == 'undefined') {
			disqus_url = disqus_href;
		}
		disqus_script.type = 'text/javascript';
		disqus_script.src = 'http://disqus.com/forums/popdose/thread.js'
			+ '?slug='	+ 'bottom_feeders_the_ass_end_of_the_821780s_part_9_81'
			+ '&sort='	+ sort
			+ '&title='
			+ '&'		+ disqus_date.getTime();

		Dsq.$('dsq-comments').innerHTML = '<img src="http://media.disqus.com/images/loading.gif">';
		Dsq.container.appendChild(disqus_script);
	};

	this.subscribe = function(status, email) {
		// `status` is an int -- 1 to subscribe, 0 to unsubscribe
		if(Dsq.jsonData.request.is_authenticated || email) {
			// If authenticated user OR anonymous email provided

			if(email) {
				Dsq.Popup._closePopup(null, true);
			}

			Dsq.Utils.execScript('http://disqus.com/forums/popdose/subscribe.js'
				+'?status=' 	+ status
				+ '&slug='		+ 'bottom_feeders_the_ass_end_of_the_821780s_part_9_81'
				+ '&email=' 	+ encodeURIComponent(email));

		} else if(!email) {
			// If anonymous user and no email has been provided yet, prompt for email

			var title = 'Subscribe to this comment thread';
			var message = ' \
				New comments will be sent directly to your email inbox! \
				<div class="dsq-subscribe-submit"> \
					<p><strong>Enter your email address below.</strong></p> \
					<input type="text" id="dsq-subscribe-email"> \
					<button type="button" onclick="Dsq.Thread.subscribe(1, Dsq.$(\'dsq-subscribe-email\').value)">Subscribe</button> \
				</div> \
			';

			Dsq.Popup.popModal(message, title);
		}
	};

	this.showSettings = function() {
		if (!Dsq.jsonData.request.is_moderator) {
			return;
		}

		/* The form has to be re-designed when more options will come out. */
		var html = 'Automatically close comments after <input size="3" id="dsq-thread-days-alive" value="' + Dsq.jsonData.thread.days_alive + '" type="text" /> days. Existing comments will still be displayed.<br /><br />(Using 0 days will disable this feature)<br /><br />'
								 + '<button type="button" onclick="Dsq.Thread.updateDaysAlive();" class="dsq-button-small"><span>Save</span></button>'
								 + '<span id="dsq-thread-settings-status" class="dsq-options-status"></span>';

		Dsq.Popup.popModal(html, 'Settings');
	};

  this.showModeratorActions = function() {
      if (!Dsq.jsonData.request.is_moderator) {
          return;
      }

      var html = '<div class="dsq-moderate-options"><table><tr>' +
                 '<td>' + Dsq.Strings.ACTIONS + '</td><td><ul>';
      html += '<li><a href="#" onclick="Dsq.Thread.toggleClosed(); return false;">' +
              (Dsq.jsonData.thread.closed ? Dsq.Strings.OPEN_THREAD : Dsq.Strings.CLOSE_THREAD) +
              '</a></li>';
      html += '<li><a href="#" onclick="Dsq.Thread.toggleKilled(); return false;">' +
              (Dsq.jsonData.thread.killed ? Dsq.Strings.RESTORE_THREAD : Dsq.Strings.REMOVE_THREAD) +
              '</a></li>';
      html += '</ul></td></tr></table></div>' +
              '<p>Go to the full <a href="http://disqus.com/comments/moderate-threads/" target="_blank">moderate panel</a> for more options.</p>';
      Dsq.Popup.popModal(html, Dsq.Strings.MODERATE_OPTIONS);
  };

	this.updateDaysAlive = function() {
		  var days = Dsq.$('dsq-thread-days-alive').value;
		  var status = Dsq.$('dsq-thread-settings-status');
		  Dsq.Utils.postToUrl('http://disqus.com/forums/popdose/update_days_alive.js', {days:days,thread:Dsq.jsonData.thread.id});
		  status.innerHTML = 'Saved!';
		  window.setTimeout(function() { status.innerHTML = ''; }, 1000);
	};

  this.toggleClosed = function() {
      Dsq.Utils.postToUrl('http://disqus.com/forums/popdose/toggle_thread_closed.js', {thread:Dsq.jsonData.thread.id});
      window.setTimeout(function() { window.location.reload(); }, 500);
  };

  this.toggleKilled = function() {
      Dsq.Utils.postToUrl('http://disqus.com/forums/popdose/toggle_thread_killed.js', {thread:Dsq.jsonData.thread.id});
      window.setTimeout(function() { window.location.reload(); }, 500);
  };
};
// Dsq.Thread

Dsq.Events = function() {
	var obj = {};

	// Private
	var handlers = {};
	var getHandlers = function(event) {
		if (handlers[event] === undefined) {
			handlers[event] = [];
		}
		return handlers[event];
	};

	// Public
	// Value keys : postId, node, xtype
	obj.REPLY_IFRAME_CREATED = 1;
	// Value keys : postId, opened
	obj.REPLY_IFRAME_TOGGLED = 2;
	obj.fire = function(event, opt_value) {
		if (!event) {
			throw new Error('Unknown event');
		}
		var value = opt_value || {};
		for (var i=0; i<getHandlers(event).length; i++) {
			getHandlers(event)[i](value);
		}
	};
	obj.addHandler = function(event, callback) {
		getHandlers(event).push(callback);
	};

	return obj;
}();

/**
 * Dsq.Realtime
 */
Dsq.Realtime = new function() {
	var initialized = false;
	var interval = null;
	var last_checked = Dsq.jsonData.request.timestamp;
	var new_posts = [];
	var ongoing_request = false;
	var prev_script = null;

	function updateNewPostCount() {
		Dsq.$('dsq-realtime-alert').style.display = new_posts.length ? 'block' : 'none';

		Dsq.$('dsq-realtime-queued').innerHTML = new_posts.length
		+ ' new '
		+ Dsq.Utils.pluralize(new_posts.length, 'comment', 'comments')
		+ Dsq.Utils.pluralize(new_posts.length, ' was', ' were')
		+ ' just posted.';

		Dsq.$('dsq-realtime-show').innerHTML = '(' + Dsq.Strings.SHOW + ')';
	}

	function insertNewPosts() {
		var post_id = null;
		var after_id = Dsq.$('dsq-sort-select').value === 'oldest' ? -1 : null;

		for (var i=0; i<new_posts.length; i++) {
			post_id = new_posts[i];
			Dsq.Post.insert(after_id, post_id, Dsq.jsonData.posts[post_id].message);
			Dsq.Post.incrementPostCount();
			Dsq.Post.outlineComment(post_id);
		}
		new_posts = [];
	}

	this.enableInterval = function() {
		interval = setInterval(Dsq.Realtime.check, Dsq.jsonData.context.realtime_speed);
		Dsq.$('dsq-realtime-status').innerHTML = Dsq.Strings.ENABLED;
		Dsq.$('dsq-realtime-toggle').innerHTML = '(' + Dsq.Strings.PAUSE + ')';
	}

	this.disableInterval = function() {
		if (interval) {
			clearInterval(interval);
			interval = null;
		}
		Dsq.$('dsq-realtime-status').innerHTML = Dsq.Strings.PAUSED;
		Dsq.$('dsq-realtime-toggle').innerHTML = '(' + Dsq.Strings.RESUME + ')';
	}

	this.toggleInterval = function() {
		if (!interval) {
			Dsq.Realtime.enableInterval();
		} else {
			Dsq.Realtime.disableInterval();
		}
		return false;
	}

	this.initialize = function() {
		if (!initialized) {
			initialized = true;
			Dsq.$('dsq-realtime-toggle').onclick = this.toggleInterval;
			if (!Dsq.jsonData.forum.streaming_realtime) {
				Dsq.$('dsq-realtime-show').onclick = this.show;
				updateNewPostCount();
			}
			if (Dsq.jsonData.thread.realtime_paused) {
				Dsq.Realtime.disableInterval();
			} else {
				Dsq.Realtime.enableInterval();
			}
		}
	}

	this.show = function() {
		insertNewPosts();
		updateNewPostCount();
		return false;
	}

	this.check = function() {
		if (!ongoing_request && Dsq.jsonData.realtime_enabled) {
			if (prev_script) {
				prev_script.parentNode.removeChild(prev_script);
			}
			ongoing_request = true;
			prev_script = Dsq.Utils.execScript('http://disqus.com/forums/853213/realtime.js?timestamp=' + last_checked);
		}
	};

	this.update = function(timestamp, posts, users) {
		ongoing_request = false;
		last_checked = timestamp;

		if (users) {
			for (var user_id in users) {
				if (users.hasOwnProperty(user_id)) {
					if (!Dsq.jsonData.users[user_id]) {
						Dsq.jsonData.users[user_id] = users[user_id];
					}
				}
			}
		}

		if (posts) {
			for (var post_id in posts) {
				if (posts.hasOwnProperty(post_id)) {
					if (!Dsq.jsonData.posts[post_id]) {
						Dsq.jsonData.posts[post_id] = posts[post_id];
						new_posts.push(post_id);
					}
				}
			}

			if (Dsq.jsonData.forum.streaming_realtime) {
				insertNewPosts();
			} else {
				updateNewPostCount();
			}
		}
	};

}();

// DEPRECATED
Dsq.Iframes = function() {
	// Different style of object from the above. Hoping to switch to this for some reason.
	var obj = {};

	// Private
	var showIframeInContainer = function(container, id, markup) {
		// Look through container for iframes, hiding them, except show one that matches id
		// If none of them matched id, create a new iframe using markup and insert it.
		// Returns the iframe node if and only if it was newly created.
		var found = false;
		for (var i=0; i<container.childNodes.length; i++) {
			var child = container.childNodes[i];
			if (child.nodeName == 'IFRAME') {
				if (child.id == id) {
					child.style.display = 'block';
					found = true;
				} else {
					child.style.display = 'none';
				}
			}
		}
		if (found) {
			return;
		}
		// The iframe wasn't found, so construct it and add it to the container.
		// Don't use innerHTML because it might reload iframes
		var div = document.createElement('div');
		div.innerHTML = markup;
		var iframe = div.childNodes[0];
		div.removeChild(iframe);
		container.appendChild(iframe);
		return iframe;
	};

	// Public
	obj.makeReplyIframeId = function(opt_postId, opt_xtype) {
		var id = 'dsq-post-add-iframe';
		if (opt_xtype) {
			id += '-' + opt_xtype;
		}
		if (opt_postId) {
			id += '-' + opt_postId;
		}
		return id;
	};
	obj.makeLoginIframeId = function(opt_postId) {
		if (!opt_postId) {
			return 'dsq-login-iframe';
		}
		return 'dsq-login-iframe-' + opt_postId;
	};
	obj.makeReplyIframeName = function(opt_postId, opt_xtype) {
		var name = 'dsq-reply-frame';
		if (opt_xtype) {
			name += '-' + opt_xtype;
		}
		if (opt_postId) {
			name += '-' + opt_postId;
		}
		return name;
	};
	obj.showReplyIframeInContainer = function(container, opt_postId, opt_extraParams, opt_className) {
		// Construct the id so we can check if it's already present.
		// Hide any other iframes we find, and show this one if it's found.
		var params = opt_extraParams || {};
		// use xtype in the id and name so we can distinguish media replies from text replies:
		var id = Dsq.Iframes.makeReplyIframeId(opt_postId, params.xtype);
		var name = Dsq.Iframes.makeReplyIframeName(opt_postId, params.xtype);
		var attributes = {
			'id': id,
			'name': name,
			'class': opt_className || 'dsq-post-reply'
			};
		var markup = Dsq.Templates.frameReply(opt_postId, opt_extraParams, attributes);
		var iframe = showIframeInContainer(container, id, markup);
		// It was newly created
		if (iframe) {
			Dsq.Events.fire(Dsq.Events.REPLY_IFRAME_CREATED, {
				postId: opt_postId,
				node: iframe,
				xtype: params.xtype
			});
		}
	};
	obj.showLoginIframeInContainer = function(container, opt_postId) {
		var id = Dsq.Iframes.makeLoginIframeId(opt_postId);
		var markup = Dsq.Templates.frameLogin({id: id});
		showIframeInContainer(container, id, markup);
	};
	obj.showReplyIframeInContainerIfAllowed = function(container, opt_postId) {
		if (Dsq.jsonData.context.show_reply) {
			obj.showReplyIframeInContainer(container, opt_postId);
		} else {
			obj.hideAllInContainer(container);
		}
	};
	obj.hideAllInContainer = function(container) {
		for (var i=0; i<container.childNodes.length; i++) {
			var child = container.childNodes[i];
			if (child.nodeName == 'IFRAME') {
				child.style.display = 'none';
			}
		}
	};

	return obj;
}();

Dsq.Twitter = new function() {
	var that = this;

	this.startTwitterConnect = function() {
		var popupParams = 'location=0,status=0,width=800,height=400';
		that._twitterWindow = window.open(Dsq.jsonData.settings.disqus_url + '/_ax/twitter/begin/', 'twitterWindow', popupParams);
		that._twitterInterval = window.setInterval(that.completeTwitterConnect, 1000);
	};

	this.completeTwitterConnect = function() {
		if (that._twitterWindow.closed) {
			window.clearInterval(that._twitterInterval);
			window.location.reload();
		}
	};
};

Dsq.Yahoo = new function() {
	var that = this;

	this.startYahooConnect = function() {
		var popupParams = 'location=0,status=0,width=800,height=400';
		that._yahooWindow = window.open(Dsq.jsonData.settings.disqus_url + '/_ax/yahoo/begin/', 'yahooWindow', popupParams);
		that._yahooInterval = window.setInterval(that.completeYahooConnect, 1000);
	};

	this.completeYahooConnect = function() {
		if (that._yahooWindow.closed) {
			window.clearInterval(that._yahooInterval);
			window.location.reload();
		}
	};
};

Dsq.OpenID = new function() {
	var that = this;

	this.requestURL = function() {
		var message = '<table class="dsq-openid-form"><tr><td style="vertical-align:top;" rowspan="2"><img src="' + Dsq.jsonData.settings.media_url + '/images/openid-icon-100x100.png" /></td>';
		message += '<td><label for="dsq-openid-url">OpenID URL:</label></td><td><input type="text" id="dsq-openid-url" /></td></tr>';
		message += '<tr><td><label for="dsq-openid-username">Display name:</label></td><td><input type="text" id="dsq-openid-username" /></td></tr>';
		message += '<tr><td class="dsq-openid-submit" colspan="3"><input type="button" value="Sign in" onclick="Dsq.OpenID.startConnect();" /></td></tr>';
		message += "</table>";

		Dsq.Popup.popModal(message, 'Sign in using OpenID');
	};

	this.startConnect = function() {
		var isblank = function(str) {
			return /^\s*$/.test(str);
		};

		var openid_url = Dsq.$('dsq-openid-url').value;
		var username = Dsq.$('dsq-openid-username').value;

		if (isblank(openid_url)) {
			return;
		}

		var popupParams = 'location=0,status=0,width=800,height=500';
		var url = Dsq.jsonData.settings.disqus_url + '/_ax/openid/begin/' + '?url=' + encodeURIComponent(openid_url) + '&username=' + encodeURIComponent(username);
		that._openidWindow = window.open(url, 'openidWindow', popupParams);
		that._openidInterval = window.setInterval(that.completeConnect, 1000);
	};

	this.completeConnect = function() {
		if (that._openidWindow.closed) {
			window.clearInterval(that._openidInterval);
			window.location.reload();
		}
	};
};

Dsq.Reaction = new function() {
	var that = this;

	this.hide = function(id) {
		Dsq.Utils.execScript('http://disqus.com/forums/popdose/hidereaction.js?' + 'reaction_id=' + id);
	};

	this.reportMissingReactions = function() {
		if (!Dsq.jsonData.request.is_moderator || !Dsq.jsonData.forum.reactions_enabled) {
			return;
		}

		if (Dsq.jsonData.thread.queued) {
			Dsq.Popup.popModal('Your report has been received. The system will automatically search for new reactions; if any are found, they will be displayed on this comment thread.<br/><br/>Thank&nbsp;you.',
												 'Reported missing reactions');
			return;
		}

		Dsq.Utils.execScript(Dsq.jsonData.settings.disqus_url + '/forums/popdose/queueurl.js');
	};
};

Dsq.CNN = function() {
	var obj = {};

	obj.authenticate = function() {
		var url = Dsq.jsonData.settings.disqus_url + "/saml/cnn/try/";
		Dsq.Utils.postToUrl(url, {'target': document.location}, true);
	};

	return obj;
}();


if(Dsq.Utils.ie6) {
	(function() {
		DSQ_HEADER_AVATAR_RE = /<div class="dsq-header-avatar"(.*?)>/gim;
		Dsq.Templates.registerFilter('postPrependHeader', function(html, post_id) {
			// Add "onmouseout" for dsq-header-avatar for dropProfile
			// functionality since IE6 cannot use :hover.
			function _headerAvatarReplace(content, inner, _unused, html) {
				return '<div class="dsq-header-avatar" '
					+ inner
					+ ' onmouseout="Dsq.Post.dropProfile(' + post_id + ')">';
			}
			html = html.replace(DSQ_HEADER_AVATAR_RE, _headerAvatarReplace);
			return html;
		});
	})();
}





	// TODO: Move Seesmic code outside of the main script.  Don't let this script clobber the global namespace.
	if(typeof seesmic == 'undefined') { var seesmic = {}; }
	seesmic.widget = new function () {
		this.callback = function (data) {
			playerVersion = data.disqusplayer;
		};
	};

	
	var scriptEl = document.createElement('script');
	scriptEl.setAttribute('type', 'text/javascript');
	scriptEl.setAttribute('src', 'http://seesmic.com/version.js?callback=seesmic.widget.callback');
	document.getElementsByTagName('head')[0].appendChild(scriptEl);

	
	var scriptEl = document.createElement('script');
	scriptEl.setAttribute('type', 'text/javascript');
	scriptEl.setAttribute('src', 'http://media.disqus.com/javascript/library/swfobject.js');
	document.getElementsByTagName('head')[0].appendChild(scriptEl);

	function see_play_video(_videoUri, _add) {
		var swf = !!playerVersion ? playerVersion : 'http://seesmic.com/embeds/StandalonePlayer.swf';

		flashcontentDiv = Dsq.$(_videoUri + '_content');
		previewDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_preview');
		hideDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_hide');
		showDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_show');
		if(_add) {
			// push flash widget
			var so = new SWFObject(swf, 'sotester', '300', '270', '9', '#000000');
			so.addVariable('video', _videoUri);
			so.addParam('allowFullScreen', 'true');
			so.addParam('allowScriptAccess','always');
			so.useExpressInstall('swfobject/expressinstall.swf');
			so.write(_videoUri + '_content');

			previewDiv.style.display = 'none';
			hideDiv.style.display = 'block';
			showDiv.style.display = 'none';
		}
		else {
			flashcontentDiv.innerHTML = '';
			previewDiv.style.display = 'block';
			hideDiv.style.display = 'none';
			showDiv.style.display = 'block';
		}
	};





(function() {
	//
	// Load theme.  This overrides the base templates with template functions
	// from the respective themes.
	//
	if (Dsq.jsonData.integration.theme == 4) {
		var theme = 'narcissus';
		// HACK: Set variable on window to use post message.
		window.disqus_use_postmessage = true;

		
		for(var prop in Dsq.Themes[theme]) {
			if(Dsq.Themes[theme] && Dsq.Themes[theme].hasOwnProperty(prop)) {
				Dsq.Templates[prop] = Dsq.Themes[theme][prop];
			}
		}
		
		for(var prop in Dsq.Post) {
			if(Dsq.Themes[theme] && Dsq.Themes[theme].hasOwnProperty(prop)) {
				Dsq.Post[prop] = Dsq.Themes[theme][prop];
			}
		}
	}

	//
	// Register templates.  This must be done after all themes are loaded.
	//
	Dsq.Templates.registerTemplate('authPost', Dsq.Templates.authPost);
	Dsq.Templates.registerTemplate('header', Dsq.Templates.header);
	Dsq.Templates.registerTemplate('footer', Dsq.Templates.footer);
	Dsq.Templates.registerTemplate('trackbacks', Dsq.Templates.trackbacks);
	Dsq.Templates.registerTemplate('reactions', Dsq.Templates.reactions);
	Dsq.Templates.registerTemplate('prependPost', Dsq.Templates.prependPost);
	Dsq.Templates.registerTemplate('appendPost', Dsq.Templates.appendPost);
	Dsq.Templates.registerTemplate('postPrependHeader', Dsq.Templates.postPrependHeader);
	Dsq.Templates.registerTemplate('postAppendHeader', Dsq.Templates.postAppendHeader);
	Dsq.Templates.registerTemplate('preBody', Dsq.Templates.preBody);
	Dsq.Templates.registerTemplate('postBody', Dsq.Templates.postBody);
	Dsq.Templates.registerTemplate('postFooter', Dsq.Templates.postFooter);
	Dsq.Templates.registerTemplate('_popupGeneric', Dsq.Templates._popupGeneric);
	Dsq.Templates.registerTemplate('voted', Dsq.Templates.voted);
	Dsq.Templates.registerTemplate('popupProfile', Dsq.Templates.popupProfile);
	Dsq.Templates.registerTemplate('postBox', Dsq.Templates.postBox);
	Dsq.Templates.registerTemplate('pagination', Dsq.Templates.pagination);
	Dsq.Templates.registerTemplate('postComment_onSuccess', Dsq.Templates.postComment_onSuccess);

})();

Dsq.container.className = "clearfix";
Dsq.container.innerHTML = ' \
<ul id="dsq-comments">\
	 <li id="dsq-comment-541015">\
	 <div id="dsq-comment-header-541015" class="dsq-comment-header">\
	 <cite id="dsq-cite-541015" class="dsq-comment-cite">\
	 <span id="dsq-author-user-541015">scrumble</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-541015" class="dsq-comment-body">\
	 <div id="dsq-comment-message-541015" class="dsq-comment-message">Your assessment of Blue Oyster Cult may well be correct with them as a force on the radio, but the tune is consistent with the more eccentric side they had in the first place (Patti Smith co-write, after all). Has the "More Cowbell" thing obscured that aspect forever?<br><br>Bolton\'s "Wait on Love" was co-written by Jonathan Cain so one not to be ignored by purists who stick up for John Waite. "Fool\'s Game" is definitely first-rate second-rate Whitesnake, the video shows him at the height of his "metal" era, and I\'d say the shift to maudlin white soul crooner was entirely because he *looked* like that was what he should be doing. Dig his \'79 style, though: <a href="http://youtube.com/watch?v=_J_Tpm0N9bc" rel="nofollow">http://youtube.com/watch?v=_J_Tpm0N9bc</a><br><br>Far as I know Blue Zone had the "UK" added not because of another band but because it was the name of an advertising campaign from Labatt\'s Blue beer, whose t-shirt Pamela Anderson was wearing when she got discovered at a football game wearing a beer T-shirt, presumably of her own volition</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-541028">\
	 <div id="dsq-comment-header-541028" class="dsq-comment-header">\
	 <cite id="dsq-cite-541028" class="dsq-comment-cite">\
	 <span id="dsq-author-user-541028">scrumble</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-541028" class="dsq-comment-body">\
	 <div id="dsq-comment-message-541028" class="dsq-comment-message">Fast forward two minutes into that Blackjack video to get to the actual song. If the \'80s started a few months earlier it\'d have been perfect for this series...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-542001">\
	 <div id="dsq-comment-header-542001" class="dsq-comment-header">\
	 <cite id="dsq-cite-542001" class="dsq-comment-cite">\
	 <span id="dsq-author-user-542001">David_E</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-542001" class="dsq-comment-body">\
	 <div id="dsq-comment-message-542001" class="dsq-comment-message">Me: "Hey, we should cover some Blue Öyster Cult in our set."<br>Band: "Okay. What song?"<br>Me: "Shooting Shark!"<br>Band: (Narrows eyes)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-545820">\
	 <div id="dsq-comment-header-545820" class="dsq-comment-header">\
	 <cite id="dsq-cite-545820" class="dsq-comment-cite">\
	 <span id="dsq-author-user-545820">scrumble</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-545820" class="dsq-comment-body">\
	 <div id="dsq-comment-message-545820" class="dsq-comment-message">"Shooting Shark" actually reminds me of the new Death Cab For Cutie single (or vice versa) but, yes, in the grander context this would be like if Death Cab were best known for sounding like Puddle of Mudd or Three Doors Down.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-545572">\
	 <div id="dsq-comment-header-545572" class="dsq-comment-header">\
	 <cite id="dsq-cite-545572" class="dsq-comment-cite">\
	 <span id="dsq-author-user-545572">Eric S.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-545572" class="dsq-comment-body">\
	 <div id="dsq-comment-message-545572" class="dsq-comment-message">I\'ve still got to go with his \'83 look: <a href="http://youtube.com/watch?v=L72uh4u5WCw" rel="nofollow">http://youtube.com/watch?v=L72uh4u5WCw</a>  Plus, this video was all over MTV that summer.  It\'s interesting, because he didn\'t go right from metal to soul.  His album "The Hunger" that has "Wait on Love" is all over the map.  It\'s got some great songs with co-writers like Jonaton Cain/Neal Schon and Martin Briley.  But then he does an audio "jump the shark" by co-writing the last song "Walk Away" with non other than Dianne Warren.  This last song was also produced separately from the rest of the album by someone named Susan Hamilton.  I don\'t know who she is, but between her and Warren they took his manhood and it was never heard from again.<br><br>One other interesting note on "The Hunger" is that of a couple of the song feature the remaining Journey line-up at that time:  Cain, Schon, Mike Baird and Randy (American Idol) Jackson.  Does anyone know if these were demos or auditions for Bolton as Journey\'s new lead singer?  I believe this is about the time that Steve Perry walked away.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-546881">\
	 <div id="dsq-comment-header-546881" class="dsq-comment-header">\
	 <cite id="dsq-cite-546881" class="dsq-comment-cite">\
	 <span id="dsq-author-user-546881">Eric K</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-546881" class="dsq-comment-body">\
	 <div id="dsq-comment-message-546881" class="dsq-comment-message">I have read that there were rumors of Bolton replacing Steve Perry.  Maybe these songs were auditions of some sort.  Too bad it did not happen.  It might have saved us all a great deal of agony between Bolton\'s solo career and Bad English.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-541247">\
	 <div id="dsq-comment-header-541247" class="dsq-comment-header">\
	 <cite id="dsq-cite-541247" class="dsq-comment-cite">\
	 <span id="dsq-author-user-541247">Jeff</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-541247" class="dsq-comment-body">\
	 <div id="dsq-comment-message-541247" class="dsq-comment-message">My first music purchases were \'Cargo\' by Men at Work (which, at the time, I never did enjoy like I do now), and sadly, Kilroy Was Here, by Styx, which I listened to over and over. Both of these were on cassette. My first CD purchase was \'. . .Nothing Like The Sun\' by Sting, which is still my favorite Sting CD (which I realize isn\'t saying a lot).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-541938">\
	 <div id="dsq-comment-header-541938" class="dsq-comment-header">\
	 <cite id="dsq-cite-541938" class="dsq-comment-cite">\
	 <a id="dsq-author-user-541938" href="http://www.bastardradio.com" target="_blank" rel="nofollow">steed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-541938" class="dsq-comment-body">\
	 <div id="dsq-comment-message-541938" class="dsq-comment-message">I know what you\'re saying about \'Cargo\' - I enjoy that more today than in the 80s as well.  For some reason I\'m a Styx fan, and I think \'Kilroy\' is a damn good album. Another one that I don\'t admit too often.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-541322">\
	 <div id="dsq-comment-header-541322" class="dsq-comment-header">\
	 <cite id="dsq-cite-541322" class="dsq-comment-cite">\
	 <span id="dsq-author-user-541322">onebrownjeff</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-541322" class="dsq-comment-body">\
	 <div id="dsq-comment-message-541322" class="dsq-comment-message">First 45 Single - probably Meco\'s "Star Wars Cantina" or Buckner & Garcia\'s "Pac Man Fever"<br>First Album - Fast Times At Ridgemont High Soundtrack<br>First Cassette - Blue Oyster Cult,  "Fire Of Unknown Origin"<br>First CD (s) I bought two at once, U2\'s Unforgettable Fire, & Tom Waits "Rain Dogs"</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-541395">\
	 <div id="dsq-comment-header-541395" class="dsq-comment-header">\
	 <cite id="dsq-cite-541395" class="dsq-comment-cite">\
	 <span id="dsq-author-user-541395">jack</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-541395" class="dsq-comment-body">\
	 <div id="dsq-comment-message-541395" class="dsq-comment-message">My first music purchase was Duran Duran\'s "Seven and the Ragged Tiger" on cassette (What the hell does that title mean, anyway?). <br><br>First CD purchase was Agent Orange\'s "We Are the Voice." How random is that?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-542067">\
	 <div id="dsq-comment-header-542067" class="dsq-comment-header">\
	 <cite id="dsq-cite-542067" class="dsq-comment-cite">\
	 <span id="dsq-author-user-542067">JohnHughes</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-542067" class="dsq-comment-body">\
	 <div id="dsq-comment-message-542067" class="dsq-comment-message">"Seven" = the five band members plus their two managers.<br>"Ragged Tiger" = a euphemism for "success"<br><br>...according to that wacky poet Simon.  I dunno either.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-541417">\
	 <div id="dsq-comment-header-541417" class="dsq-comment-header">\
	 <cite id="dsq-cite-541417" class="dsq-comment-cite">\
	 <a id="dsq-author-user-541417" href="http://music.consumerhelpweb.com/blog" target="_blank" rel="nofollow">Mike</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-541417" class="dsq-comment-body">\
	 <div id="dsq-comment-message-541417" class="dsq-comment-message">First 45 Purchase: "Ebony & Ivory"<br>First LP Purchase: "Somebody\'s Watching Me" by Rockwell<br>First Cassette Purchase: "Make it Big" by Wham!<br>First CD Purchase (because I couldn\'t afford CDs until I was 15 and actually had a JOB): "Dangerous" by Michael Jackson<br><br>Now do you feel so bad???</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-541962">\
	 <div id="dsq-comment-header-541962" class="dsq-comment-header">\
	 <cite id="dsq-cite-541962" class="dsq-comment-cite">\
	 <a id="dsq-author-user-541962" href="http://www.bastardradio.com" target="_blank" rel="nofollow">steed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-541962" class="dsq-comment-body">\
	 <div id="dsq-comment-message-541962" class="dsq-comment-message">Ha. That\'s quite a group.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-541543">\
	 <div id="dsq-comment-header-541543" class="dsq-comment-header">\
	 <cite id="dsq-cite-541543" class="dsq-comment-cite">\
	 <span id="dsq-author-user-541543">thefxc</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-541543" class="dsq-comment-body">\
	 <div id="dsq-comment-message-541543" class="dsq-comment-message">1st cassette purchase: The Go-Go\'s, <i>Talk Show</i>.  I didn\'t "buy" it per se--I was in 6th grade--but I asked for it as a reward for getting straight A\'s.  In a small town ruled my Motley Crue, I got my ass whupped for liking chick rock, but it\'s a fine album and I stand by my choice...<br><br>1st CD purchase: The Cure, <i>Kiss Me Kiss Me Kiss Me</i>.  I was irked at the time because almost every CD those days had bonus tracks on them, but my first CD was one that had one <b>fewer</b> track than the LP/cassette.<br><br>This is a very strong list--the Bourgeois Tagg song is one of the great forgotten faux-wave songs of the Holly Knight school (she didn\'t write it, but doesn\'t it sound like she could have?).  <br><br>Book of Love\'s "Pretty Boys..." is my fave song from them, so I\'m glad to see it get a bit of attention.  <br><br>A bit surprised at Bon Jovi: so did "Runaway" go Top 40, or was it not an official single?  <br><br>I\'d never heard that Blondie track, and it is quite good.  What, no singles from <i>The Hunter</i>?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-541994">\
	 <div id="dsq-comment-header-541994" class="dsq-comment-header">\
	 <cite id="dsq-cite-541994" class="dsq-comment-cite">\
	 <a id="dsq-author-user-541994" href="http://www.bastardradio.com" target="_blank" rel="nofollow">steed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-541994" class="dsq-comment-body">\
	 <div id="dsq-comment-message-541994" class="dsq-comment-message">That always did irk me about Kiss Me Kiss Me Kiss Me - sorry, should have made it a double CD too then. <br><br>"Runaway" just made it - hit #39 - as their first single. <br><br>Blondie\'s \'The Hunter\' had two singles - "Island of Lost Souls" which hit #37 and "War Child" which didn\'t chart and frankly, I can\'t remember even one note of it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-6485533">\
	 <div id="dsq-comment-header-6485533" class="dsq-comment-header">\
	 <cite id="dsq-cite-6485533" class="dsq-comment-cite">\
	 <a id="dsq-author-user-6485533" href="http://www.lost80s.com" target="_blank" rel="nofollow">Matracas</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-6485533" class="dsq-comment-body">\
	 <div id="dsq-comment-message-6485533" class="dsq-comment-message">Dave: I couldn\'t find a way to e-mail you directly so I am replying to this post. I am a Blondie fan and I see that you purchase practicly anything made in the 80\'s and I \'m wondering if you have the Chequered Past LP anywhere in your collection. I know 2 Blondie members were in that group and the album had no singles and this album is nowhere to be found ¿Any chance you have it and if so, any what you could share it with me? Let me know at <a href="mailto:matrakas@gmail.com" rel="nofollow">matrakas@gmail.com</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-541626">\
	 <div id="dsq-comment-header-541626" class="dsq-comment-header">\
	 <cite id="dsq-cite-541626" class="dsq-comment-cite">\
	 <a id="dsq-author-user-541626" href="http://www.hemisphire.com" target="_blank" rel="nofollow">hemisphire</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-541626" class="dsq-comment-body">\
	 <div id="dsq-comment-message-541626" class="dsq-comment-message">1st cassette:  Rush - Grace Under Pressure.  Still one of my favorite groups.<br><br>1st CD: Led Zeppelin - BBC bootleg.  I didn\'t have a CD player yet, but couldn\'t pass up this puppy (luckily I sold it before it was rendered obsolete by the official release, which oddly I still haven\'t picked up).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-541801">\
	 <div id="dsq-comment-header-541801" class="dsq-comment-header">\
	 <cite id="dsq-cite-541801" class="dsq-comment-cite">\
	 <a id="dsq-author-user-541801" href="http://jabartlett.wordpress.com" target="_blank" rel="nofollow">jabartlett</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-541801" class="dsq-comment-body">\
	 <div id="dsq-comment-message-541801" class="dsq-comment-message">I can\'t remember my first single purchase anymore. My first album purchase was K-Tel\'s "Bright Side of Music." (Donny Osmond! Lobo! Paul Davis!) My first real album purchase was "Hot Rocks 1964-1971" by the Stones. The first CD I ever owned was "Sgt. Pepper."</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-541858">\
	 <div id="dsq-comment-header-541858" class="dsq-comment-header">\
	 <cite id="dsq-cite-541858" class="dsq-comment-cite">\
	 <a id="dsq-author-user-541858" href="http://www.drcastrato.blogspot.com" target="_blank" rel="nofollow">drcastrato</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-541858" class="dsq-comment-body">\
	 <div id="dsq-comment-message-541858" class="dsq-comment-message">first tape: I think Raiders of the Lost Ark soundtrack., followed by Thriller.<br>first CD: Pantera, "Vulgar Display of Power"<br>first MP3: The Doves, "Some Cities"</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-542726">\
	 <div id="dsq-comment-header-542726" class="dsq-comment-header">\
	 <cite id="dsq-cite-542726" class="dsq-comment-cite">\
	 <a id="dsq-author-user-542726" href="http://avarana.blogspot.com" target="_blank" rel="nofollow">MarlboroTestMonkey7</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-542726" class="dsq-comment-body">\
	 <div id="dsq-comment-message-542726" class="dsq-comment-message">You are strange.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-541862">\
	 <div id="dsq-comment-header-541862" class="dsq-comment-header">\
	 <cite id="dsq-cite-541862" class="dsq-comment-cite">\
	 <a id="dsq-author-user-541862" href="http://avarana.blogspot.com" target="_blank" rel="nofollow">MarlboroTestMonkey7</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-541862" class="dsq-comment-body">\
	 <div id="dsq-comment-message-541862" class="dsq-comment-message">Is it me or doesn\'t Blue Mercedes Titlow sounds like ABC\'s Martin Fry?  I always thought this a lot ABC single.  Harsh delayed reality.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-542011">\
	 <div id="dsq-comment-header-542011" class="dsq-comment-header">\
	 <cite id="dsq-cite-542011" class="dsq-comment-cite">\
	 <a id="dsq-author-user-542011" href="http://www.bastardradio.com" target="_blank" rel="nofollow">steed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-542011" class="dsq-comment-body">\
	 <div id="dsq-comment-message-542011" class="dsq-comment-message">Oh, it isn\'t you - that definitely could be an ABC single.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-541891">\
	 <div id="dsq-comment-header-541891" class="dsq-comment-header">\
	 <cite id="dsq-cite-541891" class="dsq-comment-cite">\
	 <span id="dsq-author-user-541891">WHarrisBullzEye</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-541891" class="dsq-comment-body">\
	 <div id="dsq-comment-message-541891" class="dsq-comment-message">What, no cross-promotion for my interview with the two guys from Blue Mercedes?  :-)<br><br>My first single may or may not have been Queen\'s "Another One Bites the Dust," and I say that because I can no longer swear if it was my sister or I who bought it.<br><br>The first cassettes blend in together, but the holy trifecta of my  early tape-buying years was definitely "Thriller," "Pyromania," and Men at Work\'s "Cargo."<br><br>The first CD, however, I absolutely remember:  The Icicle Works\' "If You Want To Defeat Your Enemy, Sing His Song."<br><br>In closing, may I just say that I have an autographed Bonham poster in my collection?  "Wait for You" RULZ!!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-541899">\
	 <div id="dsq-comment-header-541899" class="dsq-comment-header">\
	 <cite id="dsq-cite-541899" class="dsq-comment-cite">\
	 <span id="dsq-author-user-541899">WHarrisBullzEye</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-541899" class="dsq-comment-body">\
	 <div id="dsq-comment-message-541899" class="dsq-comment-message">Oh, yeah, and the first LP I remember owning?  The classic K-Tel compilation known as "Dumb Ditties."  For better or worse, it was my first introduction to Chuck Berry, courtesy of "My Ding-A-Ling."</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-542126">\
	 <div id="dsq-comment-header-542126" class="dsq-comment-header">\
	 <cite id="dsq-cite-542126" class="dsq-comment-cite">\
	 <span id="dsq-author-user-542126">David_E</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-542126" class="dsq-comment-body">\
	 <div id="dsq-comment-message-542126" class="dsq-comment-message">Dumb Dumb Ditties! My first LP as well.<br>First 45: "Can\'t Go For That (No Can Do) by Hall & Oates.<br>First cassette: "Ghost In The Machine," The Police.<br>First CD: "Best of the Alan Parsons Project, Vol. I"<br>First MP3: "Just When I Needed You Most," Randy VanWarmer (thankyou, Napster)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-546106">\
	 <div id="dsq-comment-header-546106" class="dsq-comment-header">\
	 <cite id="dsq-cite-546106" class="dsq-comment-cite">\
	 <span id="dsq-author-user-546106">JonCummings</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-546106" class="dsq-comment-body">\
	 <div id="dsq-comment-message-546106" class="dsq-comment-message">I didn\'t have Dumb Dumb Ditties--but I did have (and still have) both Goofy Greats and Funny Favorites.  Screw K-Tel!  Ronco RULES!!!!!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-546175">\
	 <div id="dsq-comment-header-546175" class="dsq-comment-header">\
	 <cite id="dsq-cite-546175" class="dsq-comment-cite">\
	 <a id="dsq-author-user-546175" href="http://www.popdose.com" target="_blank" rel="nofollow">DwDunphy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-546175" class="dsq-comment-body">\
	 <div id="dsq-comment-message-546175" class="dsq-comment-message">Never had Dumb Ditties but I did have Kooky Toones and a similar comedy comp from Ronco Records. I tried to recall the name of it but, apparently, I set it and then forgot it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-542034">\
	 <div id="dsq-comment-header-542034" class="dsq-comment-header">\
	 <cite id="dsq-cite-542034" class="dsq-comment-cite">\
	 <a id="dsq-author-user-542034" href="http://www.bastardradio.com" target="_blank" rel="nofollow">steed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-542034" class="dsq-comment-body">\
	 <div id="dsq-comment-message-542034" class="dsq-comment-message">Oh shit - I can\'t believe I missed that interview with them. I have to go back and read it right now.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-545438">\
	 <div id="dsq-comment-header-545438" class="dsq-comment-header">\
	 <cite id="dsq-cite-545438" class="dsq-comment-cite">\
	 <span id="dsq-author-user-545438">forwardgirl</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-545438" class="dsq-comment-body">\
	 <div id="dsq-comment-message-545438" class="dsq-comment-message">W, we must be of an age - the Thriller and Pyromania cassettes were de rigeur when I was in the 6th grade. And I remember riding home from the mall with my Dad with the Cargo LP on my lap, ready to run in and play it as soon as we got home. <br><br>I think my first 45 I hadtohadtohadto get was Moving Pictures \'What About Me\'.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-542096">\
	 <div id="dsq-comment-header-542096" class="dsq-comment-header">\
	 <cite id="dsq-cite-542096" class="dsq-comment-cite">\
	 <a id="dsq-author-user-542096" href="http://avarana.blogspot.com" target="_blank" rel="nofollow">MarlboroTestMonkey7</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-542096" class="dsq-comment-body">\
	 <div id="dsq-comment-message-542096" class="dsq-comment-message">First tape:  unlisted, cheaply made but durable as a tank, venezuelan or mexican Beatles compilation<br>First 45: Michael Jackson\'s Ben<br>Last 45:  Billy Vera\'s At this moment ($0.75 discount bin)<br>First LP:  not sure, but it might have been Hall and Oates\'s Big Bam Boom<br>Last LP: Little River Band\'s Get Lucky and/or Anderson-Bruford-Wakeman-Howe self titled.<br>First CD: The best of Kansas.  Bought at a cd store which closed a week after. Had no cd player, nor did my friends or acquitances, had to wait 4 months to transfer to tape.  Foolishly overwrote side A.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-542712">\
	 <div id="dsq-comment-header-542712" class="dsq-comment-header">\
	 <cite id="dsq-cite-542712" class="dsq-comment-cite">\
	 <span id="dsq-author-user-542712">JonCummings</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-542712" class="dsq-comment-body">\
	 <div id="dsq-comment-message-542712" class="dsq-comment-message">First single received (as gift, age 5): "We\'ve Only Just Begun," the Carpenters<br>First LPs received (as gift, age 6):  "Jackson 5 Greatest Hits"; "Up To Date," the Partridge Family<br>First single purchased:  "Philadelphia Freedom"<br>First LP purchased:  "Main Course," the Bee Gees<br>Last 45 purchased: as discussed somewhere on Popdose, "Radio Ga-Ga," Queen<br>First CDs purchased (simultaneously, upon receipt of first CD player): "The Joshua Tree," U2; "Document," REM; "Bad," Michael Jackson</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-544058">\
	 <div id="dsq-comment-header-544058" class="dsq-comment-header">\
	 <cite id="dsq-cite-544058" class="dsq-comment-cite">\
	 <span id="dsq-author-user-544058">wags</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-544058" class="dsq-comment-body">\
	 <div id="dsq-comment-message-544058" class="dsq-comment-message">Love that Boomtown Rats song, though I didn\'t discover it until the 90s... guess like America, I lagged behind on that group...<br><br>1st album:  Men at Work -- Cargo ** I did have K-Tel\'s Dumb Ditties as well but I don\'t count that as I was far from aware of the concept of ownership and/or purchasing at the point that it came into my life.<br><br>1st single: Thompson Twins -- Hold Me Now<br><br>1st tape: Air Supply\'s Greatest Hits -- upgrading to cassettes was a MAJOR deal in our house when it finally happened.  This selection was made knowing that it had to be vetted by the parents first.<br><br>1st CD: continuing in the trend of late adoption of new technology:  Nirvana -- Nevermind.  (or it was among the first ten)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-547544">\
	 <div id="dsq-comment-header-547544" class="dsq-comment-header">\
	 <cite id="dsq-cite-547544" class="dsq-comment-cite">\
	 <span id="dsq-author-user-547544">Elaine</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-547544" class="dsq-comment-body">\
	 <div id="dsq-comment-message-547544" class="dsq-comment-message">I had actually heard the Boomtown Rats song early in the 80\'s.  There were a couple of smartaleck student DJ\'s at our school that played it.  They also played "Walk on the Wild Side," which was exotic and scandalous at the time.  Wonder where those guys are. . .</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-544305">\
	 <div id="dsq-comment-header-544305" class="dsq-comment-header">\
	 <cite id="dsq-cite-544305" class="dsq-comment-cite">\
	 <a id="dsq-author-user-544305" href="http://www.bullz-eye.com" target="_blank" rel="nofollow">DavidMedsker</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-544305" class="dsq-comment-body">\
	 <div id="dsq-comment-message-544305" class="dsq-comment-message">Wow, not sure how I missed this thread. <br><br>First 45: Captain & Tennille, "Shop Around"<br>First LP: Kiss, Destroyer<br>First cassette: Asia, Asia (I think)<br>First CD: Roxy Music, Avalon (gift), New Order: Low Life (purchase)<br><br>"Pretty Boys and Pretty Girls" was one of my least favorite of the Book of Love singles. Hopefully the stuff you\'re hearing now is from the first album. Love the Boomtown Rats, too. That whole album that "Mondays"  is from is great. I also loved the Bourgeois Tagg and even the Bonham song. Nice list, my man. <br><br>And I know I shouldn\'t, but I really like "Shooting Shark." Sue me.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-544492">\
	 <div id="dsq-comment-header-544492" class="dsq-comment-header">\
	 <cite id="dsq-cite-544492" class="dsq-comment-cite">\
	 <a id="dsq-author-user-544492" href="http://home.comcast.net/~rsbrandt" target="_blank" rel="nofollow">rsbrandt</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-544492" class="dsq-comment-body">\
	 <div id="dsq-comment-message-544492" class="dsq-comment-message">First 45: "Loving You\'s The Right Thing to Do" by Carly Simon.<br><br>Hey, that really is Cyd Charisse! As late as the 1970\'s she was still smokin\' hot. By 1988, maybe not so much.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-544555">\
	 <div id="dsq-comment-header-544555" class="dsq-comment-header">\
	 <cite id="dsq-cite-544555" class="dsq-comment-cite">\
	 <a id="dsq-author-user-544555" href="http://popdose.com" target="_blank" rel="nofollow">MatthewBolin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-544555" class="dsq-comment-body">\
	 <div id="dsq-comment-message-544555" class="dsq-comment-message">First LP(s): SIgned up for a record club and got "Thriller", "Sports" and "Invisible Touch" at the same time. Then got a couple albums more and cancelled.<br>First 45: George Harrison, "When We Was Fab"<br>First Cassette Single (door prize at bar mitzvah): Madonna, "Who\'s That Girl"<br>First Cassette Single (bought with own money): Traveling Wilburys, "Handle With Care"<br>First CD: Tracy Chapman, "Crossroads"</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-544605">\
	 <div id="dsq-comment-header-544605" class="dsq-comment-header">\
	 <cite id="dsq-cite-544605" class="dsq-comment-cite">\
	 <a id="dsq-author-user-544605" href="http://www.evilnickname.org/" target="_blank" rel="nofollow">EvilNickname</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-544605" class="dsq-comment-body">\
	 <div id="dsq-comment-message-544605" class="dsq-comment-message">In order of purchase:<br><br>First CD: Meat Loaf - Bat Out Of Hell II<br>First Tape: I only have ever bought three tapes that weren\'t blank, and Meat Loaf\'s Bat Out Of Hell  was the first one of those. It was an upgrade from a dubbed copy, which ommited one song and cut off half of my favorite track, "For Crying Out Loud".<br>First CD single: 2 Brothers on the 4th Floor - Never Alone (Eurohouse. Can\'t quite figure out why I bought that as dance is totally not for me.)<br>First LP: Meat Loaf - Bat Out Of Hell<br>First 45: Meat Loaf - Paradise By The Dashboard Light (can\'t stand the song anymore) and Bonnie Tyler\'s Total Eclipse of the Heart.<br><br>And yes, I quite dig Meat Loaf.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-546058">\
	 <div id="dsq-comment-header-546058" class="dsq-comment-header">\
	 <cite id="dsq-cite-546058" class="dsq-comment-cite">\
	 <a id="dsq-author-user-546058" href="http://www.popdose.com" target="_blank" rel="nofollow">DwDunphy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-546058" class="dsq-comment-body">\
	 <div id="dsq-comment-message-546058" class="dsq-comment-message">Damn, I guess you would do anything for love.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-549271">\
	 <div id="dsq-comment-header-549271" class="dsq-comment-header">\
	 <cite id="dsq-cite-549271" class="dsq-comment-cite">\
	 <a id="dsq-author-user-549271" href="http://www.evilnickname.org/" target="_blank" rel="nofollow">EvilNickname</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-549271" class="dsq-comment-body">\
	 <div id="dsq-comment-message-549271" class="dsq-comment-message">I would. But just not that.<br><br>Actually, a couple of months ago, I was asked to do a small presentation about what that magical thing is he won\'t do. Good fun.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-544936">\
	 <div id="dsq-comment-header-544936" class="dsq-comment-header">\
	 <cite id="dsq-cite-544936" class="dsq-comment-cite">\
	 <a id="dsq-author-user-544936" href="http://www.popdose.com" target="_blank" rel="nofollow">DwDunphy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-544936" class="dsq-comment-body">\
	 <div id="dsq-comment-message-544936" class="dsq-comment-message">My memory kinda sucks but I think it went down like this:<br><br>First 45: either "Come And Get Your Love" by Redbone or "Sweet Talkin\' Woman" by ELO<br><br>First cassette: either The Cars "Candy-O" or Scorpions "Blackout"<br><br>First LP: Well, with my own money, it would be Rush "Signals" but I was always a music freak, so people would give me records at every occasion. <br>Now I\'m just a plain ol\' freak.<br><br>First CD: To further solidify my last self-deprecating comment, I had Phil Collins\' "Hello I Must Be Going" a full four months before owning a CD player.<br><br>First Holy Communion: Monsignor Bulman threatened to beat us all if we didn\'t behave.<br><br>First National Bank: a damn fine bank.<br><br>Stephen Furst: Whatever happened to...?<br><br>Quench your thirst: with Lipton Iced Tea. Ahhhhhh! Refreshing-ah!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-544953">\
	 <div id="dsq-comment-header-544953" class="dsq-comment-header">\
	 <cite id="dsq-cite-544953" class="dsq-comment-cite">\
	 <a id="dsq-author-user-544953" href="http://www.popdose.com" target="_blank" rel="nofollow">DwDunphy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-544953" class="dsq-comment-body">\
	 <div id="dsq-comment-message-544953" class="dsq-comment-message">Oh, first 45 received: probably Johnny Nash "I Can See Clearly Now"</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-545063">\
	 <div id="dsq-comment-header-545063" class="dsq-comment-header">\
	 <cite id="dsq-cite-545063" class="dsq-comment-cite">\
	 <span id="dsq-author-user-545063">cindy</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-545063" class="dsq-comment-body">\
	 <div id="dsq-comment-message-545063" class="dsq-comment-message">i thought the boomtown rats single was pulled by the record company because of some lawsuit threatened by the songs quotee(?)\'s father.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-545359">\
	 <div id="dsq-comment-header-545359" class="dsq-comment-header">\
	 <cite id="dsq-cite-545359" class="dsq-comment-cite">\
	 <span id="dsq-author-user-545359">eddie_w</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-545359" class="dsq-comment-body">\
	 <div id="dsq-comment-message-545359" class="dsq-comment-message">Great idea...I like "first" stories too.<br><br>First 8-track tape: When I was about 6, I used to borrow my sister\'s freshly-brought copy of Olivia Newton-John\'s "Have You Never Been Mellow" so much, she finally bought me my own copy (and wrote my name on it in black magic marker) so I would leave hers alone.  I think I probably still can sing every lyric from every song by memory to this day.<br><br>First album: The soundtrack to "The Muppet Movie".  My sister ended up taking it for herself later (payback, perhaps?).<br><br>First cassette:  I\'m pretty sure it was the soundtrack to "Footloose", right after hearing it numerous times on the bus during a junior high field trip.<br><br>First CD: I was VERY late in making the technology switch to CDs...I hung onto my hundreds of tapes all the way until 2000, when I finally made the plunge.  But, I did buy some CDs early, and the first one I got was a used copy of U2\'s "Zooropa".<br><br>Excellent post, as always.  Keep up the good work!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-547274">\
	 <div id="dsq-comment-header-547274" class="dsq-comment-header">\
	 <cite id="dsq-cite-547274" class="dsq-comment-cite">\
	 <a id="dsq-author-user-547274" href="http://www.bastardradio.com" target="_blank" rel="nofollow">steed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-547274" class="dsq-comment-body">\
	 <div id="dsq-comment-message-547274" class="dsq-comment-message">Thanks! It never fails to amaze me how the "first" conversation just never seems to get old. No matter how many times someone asks me, I\'m more than willing to discuss without hesitation. Seems like everyone here is as well, which is awesome.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-545723">\
	 <div id="dsq-comment-header-545723" class="dsq-comment-header">\
	 <cite id="dsq-cite-545723" class="dsq-comment-cite">\
	 <a id="dsq-author-user-545723" href="http://www.pkmeco.com/familyblog/" target="_blank" rel="nofollow">Phil</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-545723" class="dsq-comment-body">\
	 <div id="dsq-comment-message-545723" class="dsq-comment-message">First 45... "Gonna Fly Now" from the Rocky soundtrack.  I still remember buying it at a Kmart when I was 10.<br><br>First LP... Sgt. Pepper\'s Lonely Hearts Club Band.  But not by The Beatles.  No, my first LP purchase was of the Bee Gees movie soundtrack.  It\'s far too painful to listen to it now, so I don\'t even have it on CD.<br><br>First CD... "Red Rose Speedway" by Paul McCartney.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-545878">\
	 <div id="dsq-comment-header-545878" class="dsq-comment-header">\
	 <cite id="dsq-cite-545878" class="dsq-comment-cite">\
	 <span id="dsq-author-user-545878">Eric S.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-545878" class="dsq-comment-body">\
	 <div id="dsq-comment-message-545878" class="dsq-comment-message">First 45:  Don\'t judge me, but the AM radio influence as a youngster made this either Love Rollercoaster by Ohio Players or Jive Talkin\' by Bee Gees<br><br>First LP:  Four Wheel Drive by Bachman Turner Overdrive (loved "Hey You" and still do, even it is the simplest song ever written)<br><br>First CD:  Cat Scratch Fever by Ted Nugent (the title song, the attitude, the cover concept...How could this not appeal to a teenage boy?)<br><br>First 8-track:  Greatest Hits by Alice Cooper (I had never picked up the LP)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-545886">\
	 <div id="dsq-comment-header-545886" class="dsq-comment-header">\
	 <cite id="dsq-cite-545886" class="dsq-comment-cite">\
	 <span id="dsq-author-user-545886">Eric S.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-545886" class="dsq-comment-body">\
	 <div id="dsq-comment-message-545886" class="dsq-comment-message">My bad, I mixed up the CD and 8-track</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-546054">\
	 <div id="dsq-comment-header-546054" class="dsq-comment-header">\
	 <cite id="dsq-cite-546054" class="dsq-comment-cite">\
	 <a id="dsq-author-user-546054" href="http://www.popdose.com" target="_blank" rel="nofollow">DwDunphy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-546054" class="dsq-comment-body">\
	 <div id="dsq-comment-message-546054" class="dsq-comment-message">There\'s nothin\' wrong with either "Love Rollercoaster" (Say what?!) or "Jive Talkin\'".<br><br>But Ted Nugent is an armadillo douche.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-546071">\
	 <div id="dsq-comment-header-546071" class="dsq-comment-header">\
	 <cite id="dsq-cite-546071" class="dsq-comment-cite">\
	 <span id="dsq-author-user-546071">EightE1</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-546071" class="dsq-comment-body">\
	 <div id="dsq-comment-message-546071" class="dsq-comment-message">First LP: Bee Gees - Spirits Having Flown<br>First 45: Survivor - Eye of the Tiger<br>First cassette: Air Supply - Lost in Love<br>First CD: Tom Petty - Southern Accents<br><br>I think the cassette is right -- I had lots of cassettes, taped from my cousins\' most excellent record collections before I ever bought a tape of my own.  My fave -- the Eagles\' Hotel California on Side A, ELO\'s Discovery on Side B.  The LP is dead-on, though; bought it at K-Mart for $5.98.  I was a latecomer to CDs; I think I got the Petty used just before I joined both the Columbia and RCA CD clubs and got, like, an instant CD collection.  <br><br>Most recent CD Purchase: Death Cab for Cutie - Narrow Stairs<br>Most recent download: Metallica, Angora 1983<br><br>My moods are all over the place right now.  So are my music selections.<br><br>Rob<br>EightE1</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-546100">\
	 <div id="dsq-comment-header-546100" class="dsq-comment-header">\
	 <cite id="dsq-cite-546100" class="dsq-comment-cite">\
	 <span id="dsq-author-user-546100">Old_Davy</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-546100" class="dsq-comment-body">\
	 <div id="dsq-comment-message-546100" class="dsq-comment-message">First 45: Strawberry Fields Forever/Penny Lane - The Beatles<br><br>First LP:  I bought Emitt Rhodes self-titled debut album and the first McCartney solo album on the same day.  I totally expected Paul\'s solo album to be great, and had low expectations for Emitt Rhodes.  Boy, was I wrong on both counts!<br><br>First 8-track:  Led Zeppelin - II  (if only for "Whole Lotta Love", but ended up liking the whole thing quite a bit)<br><br>First cassette:  The Partridge Family - The Partridge Family Album (as a cut-out - it was probably my only non-blank cassette purchase ever)<br><br>First CD:  There were five - 2 by Alan Parsons (I Robot and Pyramid), REM - Fables of the Reconstruction of the Fables of the Reconstruction of the Fables of the..., Supertramp - Crime of the Century, Pink Floyd - Wish You Were Here<br><br>I am totally in love with anything that Karla Bonoff releases.  "Baby Don\'t Go" is a bit trite, but "Please Be The One" burns with a sexy passion that is irresistible.  <br><br>I\'ll stand in that line of Bourgeois Tagg fans as well.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-547407">\
	 <div id="dsq-comment-header-547407" class="dsq-comment-header">\
	 <cite id="dsq-cite-547407" class="dsq-comment-cite">\
	 <span id="dsq-author-user-547407">Bubba the Elder</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-547407" class="dsq-comment-body">\
	 <div id="dsq-comment-message-547407" class="dsq-comment-message">Shooting Shark! Why, that\'s Randy Jackson popping the four-string!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-547511">\
	 <div id="dsq-comment-header-547511" class="dsq-comment-header">\
	 <cite id="dsq-cite-547511" class="dsq-comment-cite">\
	 <span id="dsq-author-user-547511">Elaine</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-547511" class="dsq-comment-body">\
	 <div id="dsq-comment-message-547511" class="dsq-comment-message">These first lists are fascinating.  It gives you a glimpse at someone who was in a similar place to yours at the time, or worlds apart.  But we\'re all here today.  So that is somewhat profound.  ~head cocked to one side~  Who matches me?<br><br>1st album I asked for: Grease soundtrack.  Wore that sucker OUT.  Other albums I wore out were my parents\' Linda Ronstadt Greatest Hits, and their Bee Gees\' "Night Fever" 45.  I also had a soundtrack of Broadway hits on semi-permanent loan from my local library.<br><br>1st albums I bought: Journey Escape and Toto IV at the same time I bought Billy Joel\'s Glass Houses.  I got a new turntable for Christmas!<br>1st 45 I bought:  Makin\' It by David Naughton.  Yeah I said it.<br>1st cassette?  I think it was U2\'s War.<br>8-tracks were BMT<br>1st CDs were "Robbie Robertson" and Traveling Wilburys.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-561805">\
	 <div id="dsq-comment-header-561805" class="dsq-comment-header">\
	 <cite id="dsq-cite-561805" class="dsq-comment-cite">\
	 <span id="dsq-author-user-561805">David_E</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-561805" class="dsq-comment-body">\
	 <div id="dsq-comment-message-561805" class="dsq-comment-message">Toto IV and Glass Houses, plus Synchronicity, were all I listened to for a good 18 months of my life. No Journey, but Asia\'s first LP was waiting on deck.<br><br>And I still remember singing "Makin\' It" in the back of our station wagon, only to have my mom turn around from the front seat and ask, rather accusingly, "Do you know what that means?" [No.] "Then stop saying it." [Shrinks into vinyl seat, unsure why.]</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-548659">\
	 <div id="dsq-comment-header-548659" class="dsq-comment-header">\
	 <cite id="dsq-cite-548659" class="dsq-comment-cite">\
	 <span id="dsq-author-user-548659">matthew</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-548659" class="dsq-comment-body">\
	 <div id="dsq-comment-message-548659" class="dsq-comment-message">first lp - Go West by (yup) Go West<br>first single - view to a kill by Duran Duran<br>first cd - operation mindcrime by queensryche<br><br>christ on a bike it\'s a wonder i had any friends.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-549344">\
	 <div id="dsq-comment-header-549344" class="dsq-comment-header">\
	 <cite id="dsq-cite-549344" class="dsq-comment-cite">\
	 <span id="dsq-author-user-549344">George</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-549344" class="dsq-comment-body">\
	 <div id="dsq-comment-message-549344" class="dsq-comment-message">I think my first LP was either something by Culture Club or Duran Duran.<br><br>First cassette was "Victory" by the Jacksons.<br><br>And the first cd was "Time\'s Up" by Living Colour. I do recall that with my cd player I had an offer to join Columbia House and get 4 free cd\'s and the one\'s I chose were "To the Extreme" by Vanilla Ice, "Tender Lover" by Babyface, "World Clique" by DeeLite and the Johnny Gill cd with "Rub you the Right Way."</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-550622">\
	 <div id="dsq-comment-header-550622" class="dsq-comment-header">\
	 <cite id="dsq-cite-550622" class="dsq-comment-cite">\
	 <span id="dsq-author-user-550622">Breadalbane</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-550622" class="dsq-comment-body">\
	 <div id="dsq-comment-message-550622" class="dsq-comment-message">First LP:  Wall of Voodoo, "Call of the West". Still one of my all-time favourite albums.<br>First cassette: Either "Stop Making Sense" by Talking Heads, or "Soul Mining" by The The.  In both cases, the cassette version had extra or extended tracks, although the extra The The tracks were terrible.  <br>First 45:  Talking Heads, "Once In A Lifetime (Live)".  Already had this A-side on cassette; bought it for the B-side, the live version of "This Must Be The Place (Naive Melody)"<br>First CD: The Smiths, "Louder Than Bombs".  Purchased some weeks before I had an actual CD player.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-552212">\
	 <div id="dsq-comment-header-552212" class="dsq-comment-header">\
	 <cite id="dsq-cite-552212" class="dsq-comment-cite">\
	 <span id="dsq-author-user-552212">whiteray</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-552212" class="dsq-comment-body">\
	 <div id="dsq-comment-message-552212" class="dsq-comment-message">My first purchase with my own cash came in the spring of 1970 and was one of two LPs: either "Let It Be" by the Beatles or "Chicago II" with the silver cover. Both are still on the shelves and both play pretty well - not pristine, but no major scratches. I still love the Chicago, but, looking back, the Beatles\' album was a lot worse than it should have been, thanks to Phil Spector.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-552239">\
	 <div id="dsq-comment-header-552239" class="dsq-comment-header">\
	 <cite id="dsq-cite-552239" class="dsq-comment-cite">\
	 <span id="dsq-author-user-552239">whiteray</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-552239" class="dsq-comment-body">\
	 <div id="dsq-comment-message-552239" class="dsq-comment-message">I should add: First 45 was 5th Dimension\'s "Aquarius/Let the Sun Shine In, 1969."<br><br>First cassette: "Blood, Sweat and Tears," 1969.<br><br>First CD: "High On The Hog" by The Band, 1999. (I was late to the party.)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-554142">\
	 <div id="dsq-comment-header-554142" class="dsq-comment-header">\
	 <cite id="dsq-cite-554142" class="dsq-comment-cite">\
	 <span id="dsq-author-user-554142">Elaine</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-554142" class="dsq-comment-body">\
	 <div id="dsq-comment-message-554142" class="dsq-comment-message">There is not a perfect place to post this, but since we\'re on the subject  -- where we all fall on the rock/pop continuum -- I wanted to mention there is a relatively new FM station at 100.3 I\'ve discovered in socal.  In the last few weeks, I\'ve heard old debut-era Elvis Costello, "Shut Your Eyes" by Snow Patrol, and on the way home tonight I heard Lyle Lovett\'s "Church."  They\'re all over the place in a good way. I don\'t remember the last time I enjoyed listening to terrestrial FM radio.  <a href="http://www.thesoundla.com/" rel="nofollow">listen live</a>.  When I told my husband about it, he said, "ah.  so they\'re now creating oldies stations for people *your* age."  (please note: he is older than I am.)  But anyway it got me thinking.  Maybe that\'s what\'s really going on here.  I don\'t know who created it (what\'s AAA?) or what their corporate intentions are, so give it a listen before it starts sucking.  \'cuz we all know it will.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-597117">\
	 <div id="dsq-comment-header-597117" class="dsq-comment-header">\
	 <cite id="dsq-cite-597117" class="dsq-comment-cite">\
	 <span id="dsq-author-user-597117">JonCummings</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-597117" class="dsq-comment-body">\
	 <div id="dsq-comment-message-597117" class="dsq-comment-message">That is an amazing station--it\'s a bit like the "Deep Tracks" station on XM.  So far they don\'t have DJs, so it\'s a bit like the "Jack" format except that the songs are more obscure.<br><br>However, I\'ve been listening to it for a month or two, and I\'m already getting upset when they play a song again that I\'ve heard there before.  This afternoon it was "Put the Message in the Box" by World Party.  Great song, but come on!  World Party had a dozen great songs--play "Ship of Fools" already!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-599583">\
	 <div id="dsq-comment-header-599583" class="dsq-comment-header">\
	 <cite id="dsq-cite-599583" class="dsq-comment-cite">\
	 <span id="dsq-author-user-599583">Elaine</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-599583" class="dsq-comment-body">\
	 <div id="dsq-comment-message-599583" class="dsq-comment-message">I agree..I hear repeats sometimes, too.  But you\'re right, they\'re mostly playing and replaying good stuff, as opposed to playing/replaying crap.  So, for now I\'m willing to stick with it.  Always ever ready to bolt, though.  I just think I admire a station setup that\'s trying to mimic someone\'s ipod.  That\'s what I think is going on.<br><br>Every city (it seems) has a Bob-FM station nowadays, which has a similar premise but you hear the same Maroon 5 song 3x/day.  At least at The Source, it\'ll be World Party or obscure 80\'s new wave.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-569472">\
	 <div id="dsq-comment-header-569472" class="dsq-comment-header">\
	 <cite id="dsq-cite-569472" class="dsq-comment-cite">\
	 <a id="dsq-author-user-569472" href="http://www.myhmphs.com" target="_blank" rel="nofollow">My hmphs</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-569472" class="dsq-comment-body">\
	 <div id="dsq-comment-message-569472" class="dsq-comment-message">Hmm...First 45 I can remember was "Saturday Night" by the Bay City Rollers. Or "Beth" by Kiss. Seeing as SN was released in 1973 and I bought the single at a garage sale, I can\'t really place the time, but it was around 1976.<br><br>First album: "Foreigner", Foreigner<br>First cassette: "Tonight", David Bowie<br>First CD: "Umbrella," The Innocence Mission</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-584302">\
	 <div id="dsq-comment-header-584302" class="dsq-comment-header">\
	 <cite id="dsq-cite-584302" class="dsq-comment-cite">\
	 <span id="dsq-author-user-584302">gavadajoe</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-584302" class="dsq-comment-body">\
	 <div id="dsq-comment-message-584302" class="dsq-comment-message">First 45: "Power Of Love", Huey Lewis And The news<br>First 33: Hmmm... probably "Love At First Sting", Scorpions</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-884031">\
	 <div id="dsq-comment-header-884031" class="dsq-comment-header">\
	 <cite id="dsq-cite-884031" class="dsq-comment-cite">\
	 <span id="dsq-author-user-884031">danat123</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-884031" class="dsq-comment-body">\
	 <div id="dsq-comment-message-884031" class="dsq-comment-message">1st LPs  (xmas gifts from my dad)  were Sgt Pepper and G Geils band<br><br>1st actual purchase of my own... Cory Hart - the one with Sunglasses at Night  and Starship - We Built This City<br><br>My shame is palpable</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1017208">\
	 <div id="dsq-comment-header-1017208" class="dsq-comment-header">\
	 <cite id="dsq-cite-1017208" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1017208">clerck</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1017208" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1017208" class="dsq-comment-message">Converting Bourgeois Tagg\'s first into MP3 as I write this, "Electric Train" fading out.  Underrated band.  Brings me back to the summer of \'86 and my first true independence after college.  I remember hearing "Mutual Surrender" on the radio for the first time from a station in Lubbock of all places.  The year had a bunch of great music opening up to us - Fabulous T-Birds, INXS, Wall of Voodoo, all experienced for the first time.  And the club scene w/ Nu Shooz and Jermaine Stewart.<br><br>First LPs - "Carpenters" (eponymous) & the J5 Greatest Hits<br>First Rock LP - "The Grand Illusion", Styx<br>First 45s (bought in a frenzy w/ cash burning a hole in my first wallet - "The Night Chicago Died", Paper Lace; "You Make Me Feel Brand New", The Stylistics; "Rikki Don\'t Lose That Number", Steely Dan";  "Who Do You Think You Are", Bo Donaldson & The Heywoods; "Don\'t Ever Be Lonely (A Poor Little Fool Like Me), Cornelius Brothers and Sister Rose; "Wildwood Weed", Jim Stafford.  My dad asked me if I had any idea what the latter was about and I was completely clueless.<br>First 8-Track - My parents were far too un-hip and of-the-now to own one, but this very cool dude with a smoking hot Mopar (forget the exact model, but I can see it now) let me listen to his.  I couldn\'t get enough of The Grassroots Greatest.<br>First Cassette - Think it was a Seals and Crofts Greatest that someone slid my way.  Loved and wore it out.<br>First CD - I was a vinyl junkie and highly resentful of these pieces of plastic that forced my favorite product of any kind out of stores.  I didn\'t convert until 1997!!  Think it was a mix single of Smashmouth\'s "Walkin\' On The Sun".  First full lengths were Francis Dunnery\'s "Tall Blonde Helicopter" and United Future Organization\'s "3rd Perspective".<br><br>Thanks for the topic!  Fun to read everyones firsts.</div>\
	 </div>\
	 </li>\
	 </ul>\
';

(function() {
	
	





Dsq.Debug.profile(function() {
	if(Dsq.jsonData.request.page == 1 && Dsq.jsonData.request.is_initial_load) {
		Dsq.container.innerHTML = Dsq.Templates.header() + Dsq.container.innerHTML + Dsq.Templates.footer();
	}
	Dsq.$(Dsq.curPageId).innerHTML = Dsq.$(Dsq.curPageId).innerHTML.replace(Dsq.COMMENTS_RE, Dsq.CommentsHandler);
}); // Dsq.Debug.Profile

// HACK: Resetting cache because we're done with.
Dsq.Utils.gebiFromElementCollectionCache = null;


	
	
	var dsq_styleEl = document.getElementById(disqus_container_id);
	var dsq_anchorEl = document.getElementsByTagName('a')[0];
	
	Dsq.Thread.fc = Dsq.Utils.getStyle(dsq_styleEl, 'color');
	if(dsq_anchorEl) { Dsq.Thread.ac = Dsq.Utils.getStyle(dsq_anchorEl, 'color'); }
	Dsq.Thread.ff = Dsq.Utils.getStyle(dsq_styleEl, (Dsq.Utils.ie || window.opera ? 'fontFamily' : 'font-family'));
	// For Safari / Opera: strip quotes.
	Dsq.Thread.ff = Dsq.Thread.ff.replace(/['"]/g, '');
	Dsq.Thread.fc = encodeURIComponent(Dsq.Thread.fc);
	Dsq.Thread.ac = encodeURIComponent(Dsq.Thread.ac);
	Dsq.Thread.ff = encodeURIComponent(Dsq.Thread.ff);

	
	
	
	if(Dsq.$(Dsq.Templates.addPostContainer)) {
		// TODO: Check to see if theme uses postmessage.
		if (window.disqus_use_postmessage) {
			Dsq.frames['reply_0'] = new Dsq.ReplyFrame(Dsq.$(Dsq.Templates.textareaContainer));
			Dsq.frames['reply_0'].init(function() {
				// Use fallback iframe
				Dsq.$(Dsq.Templates.addPostContainer).innerHTML = '';
				var theme = (typeof disqus_frame_theme == 'undefined') ? 'default' : disqus_frame_theme;
				Dsq.Iframes.showReplyIframeInContainer(Dsq.$(Dsq.Templates.addPostContainer), null, {theme: theme});
				// if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE(); }
			});
		} else {
			// DEPRECATED
			Dsq.Iframes.showReplyIframeInContainer(Dsq.$('dsq-post-add'));
		}
	}

	
	

	
	if(document.location.hash != '') {
		document.location.hash = document.location.hash.substring(1);
	}

	Dsq.Popup.showCookieMsgs();

	
	if(document.location.search != '' && location.hash != '#disqus_thread') {
		var reply_id = Dsq.Utils.getRequestParams().dsq;
		if(reply_id) { document.location.hash = 'comment-' + reply_id; }
	}

	
	if((typeof OB_Script != 'undefined') && (typeof OB_versionNum != 'undefined')) {
		if(navigator.userAgent.indexOf("Firefox") != -1) {
			if(window.frames['dsq-reply-frame']) {
				window.frames['dsq-reply-frame'].location = Dsq.Urls.REPLY + (new Date()).getTime() + '&f=popdose&t=bottom_feeders_the_ass_end_of_the_821780s_part_9_81&to_redirect=' + encodeURIComponent(window.location) + '&ifrs=' + encodeURIComponent(disqus_iframe_css);
			}
		}
	}

	if (Dsq.jsonData.integration.theme == 4) {
		if (Dsq.jsonData.realtime_enabled) {
			Dsq.Realtime.initialize();
		}
	}

	



	window.ExecuteWhen = (function () {
	var obj = {}
	
	// Private
	var running = false;
	var timer = null;
	var pending = [];
	var startTimer = function() {
		running = true;
		timer = setInterval(obj.heartBeat, 100);
	};
	var stopTimer = function() {
		running = false;
		clearInterval(timer);
	};
	
	// Public
	obj.add = function (condition, code) {
		pending.push([condition,code]);
		this.heartBeat(); //!
		if (!running) {
			startTimer();
		}
	};
	obj.heartBeat = function() {
		if (!pending.length) {
			stopTimer();
		}
		var newPending = [];
		for (var i=0; i<pending.length; i++) {
			var cond = pending[i][0];
			var code = pending[i][1];
			// FIXME: if cond or code throw an error, they never get removed from pending
			if (cond()){
				code();
			}
			else {
				newPending.push([cond, code]);
			}
		}
		pending = newPending;
	};
	return obj;
})();

// also used in embed_thread.js:
window.fbIsReady = function () {return window.FB && FB.init;};
// NOTE: This script gets executed again without threadEl
//       set when we are loaded again as the fbc_receiver.
//       In this case, we don't need the hidden container.

if(!window.FB || !FB.init) {
	if(window.Dsq && Dsq.container) {
		// container is not present when init.js is loaded from an xd-receiver iframe; in this case,
		// we don't need the FB_HiddenContainer anyway.
		var fbDiv = document.createElement('div');
		fbDiv.id = "FB_HiddenContainer";	// Required or else FeatureLoader will execute a document.write.
		fbDiv.style.position = 'absolute';	// This is intentionally not setting display to none as this breaks
		fbDiv.style.top = '-10000px';		// Flash in Safari.
		fbDiv.style.left = '-10000px';
		fbDiv.style.width = '0px';
		fbDiv.style.height = '0px';
		Dsq.container.appendChild(fbDiv);
	}
	var fbJS = document.createElement('script');
	fbJS.type = "text/javascript";
	fbJS.src = "http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php";
	document.getElementsByTagName('head')[0].appendChild(fbJS);

	ExecuteWhen.add(window.fbIsReady,
		function () {
			// HACK: This is a workaround FBC's single domain limitation by
			//		 allowing sites to create multiple forums with different
			//		 Facebook API keys.  This must be used in conjunction with
			//		 disqus_facebook_forum (see authenticateFacebook).
			var facebook_api_key = '4c89f79bca1e06310589602ac7ca620d';
			if (typeof disqus_facebook_api_key != 'undefined') {
				facebook_api_key = disqus_facebook_api_key;
			}

			FB.init(facebook_api_key, window.facebookXdReceiverPath || null,
				{fetchSignedPublicSessionData: true});
		});
}


	


if(typeof(disqus_callback) == 'function') {
	var callback_params = Dsq.Utils.getRequestParams()['dsq_cbp'] || null;

	// We don't care about any errors in third-party code
	try {
		disqus_callback(callback_params);
	} catch (x) {
		if (typeof(console) != 'undefined' && typeof(console.log) == 'function') {
			// But it would be nice to let developers know about them
			console.log(x);
		}
		// pass
	}

	// HACK: We don't know if the callback wraps our container, which may
	// possibly result in a new DOM element.
	Dsq.container = document.getElementById('dsq-content');
}

// Global event handler for narcissus.
if (Dsq.jsonData.integration.theme == 4) {
	var g = Dsq.Utils.ie ? document : window;
	Dsq.Utils.addEventListener(g, 'keydown', function(event) {
		// Handle "enter" key on input for post box.
		if ((event.keyCode || event.which) == 13) {
			var target = Dsq.Utils.ie ? event.srcElement : event.target;
			// For Safari bug, detect text node.
			if (target.nodeType == 3) {
				target = target.parentNode;
			}

			if (target.nodeName == 'INPUT' &&
				target.parentNode.className == 'dsq-input-wrapper') {
				var postId = Dsq.Utils.extractId(target);
				Dsq.Templates.postComment(postId, this, false);
			}
		}
	});
}

})();




