




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": {"0e448cb2f274ff85dd7537343335fe1a": {"username": "flygirl", "tumblr": "", "display_name": "flygirl", "url": "http://disqus.com/guest/0e448cb2f274ff85dd7537343335fe1a/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "e090608ad5cec4f3861d188021fcefe5": {"username": "nicole", "tumblr": "", "display_name": "nicole", "url": "http://disqus.com/guest/e090608ad5cec4f3861d188021fcefe5/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b6823c23604dc7e114555e8672610a60": {"username": "Leigh", "tumblr": "", "display_name": "Leigh", "url": "http://disqus.com/guest/b6823c23604dc7e114555e8672610a60/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "580bbe0e430049a8935d6b6ac54db4d6": {"username": "Tom", "tumblr": "", "display_name": "Tom", "url": "http://disqus.com/guest/580bbe0e430049a8935d6b6ac54db4d6/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3c43f1c304c127b9bc3334e3ba894ef4": {"username": "Crystal Wyatt", "tumblr": "", "display_name": "Crystal Wyatt", "url": "http://disqus.com/guest/3c43f1c304c127b9bc3334e3ba894ef4/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "bf286acb4385d31e0c092ef27d07c4fc": {"username": "nathan aaron", "tumblr": "", "display_name": "nathan aaron", "url": "http://disqus.com/guest/bf286acb4385d31e0c092ef27d07c4fc/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "f5ec3909a34aa839af7476bea5540811": {"username": "Citi Card holder", "tumblr": "", "display_name": "Citi Card holder", "url": "http://disqus.com/guest/f5ec3909a34aa839af7476bea5540811/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "2ff74a72e558f4b34a8ae06071b38603": {"username": "Not My Citi", "tumblr": "", "display_name": "Not My Citi", "url": "http://disqus.com/guest/2ff74a72e558f4b34a8ae06071b38603/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "f83e3a46b29d2d888b8d556222f07291": {"username": "Cara", "tumblr": "", "display_name": "Cara", "url": "http://disqus.com/guest/f83e3a46b29d2d888b8d556222f07291/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "bcaf7c855aed13df2c5deaf9f32ede4c": {"username": "kitty", "tumblr": "", "display_name": "kitty", "url": "http://disqus.com/guest/bcaf7c855aed13df2c5deaf9f32ede4c/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b62116da2c81c43f5cf23f62587ffcd4": {"username": "Anna", "tumblr": "", "display_name": "Anna", "url": "http://disqus.com/guest/b62116da2c81c43f5cf23f62587ffcd4/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "e7c887764b2ae673b3108ec62a9fb355": {"username": "Rascal", "tumblr": "", "display_name": "Rascal", "url": "http://disqus.com/guest/e7c887764b2ae673b3108ec62a9fb355/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "e4032edbbcc20476ef4b117cfe038ea1": {"username": "BaldyInDelaware", "tumblr": "", "display_name": "BaldyInDelaware", "url": "http://disqus.com/guest/e4032edbbcc20476ef4b117cfe038ea1/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "564c465fead8a9500ba35d70e79faf44": {"username": "Andi", "tumblr": "", "display_name": "Andi", "url": "http://disqus.com/guest/564c465fead8a9500ba35d70e79faf44/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "8589d13c365b1d67009bb0a0a8ebd315": {"username": "Mark", "tumblr": "", "display_name": "Mark", "url": "http://disqus.com/guest/8589d13c365b1d67009bb0a0a8ebd315/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "74494438a6a743bae8e2068a68f4682a": {"username": "CreditCardsSUCK", "tumblr": "", "display_name": "CreditCardsSUCK", "url": "http://disqus.com/guest/74494438a6a743bae8e2068a68f4682a/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b3a234a8aa7d13782d05019c9479038d": {"username": "Aquaskier", "tumblr": "", "display_name": "Aquaskier", "url": "http://disqus.com/guest/b3a234a8aa7d13782d05019c9479038d/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "f3eee854627eada366bf62c133e3d8b1": {"username": "Anon", "tumblr": "", "display_name": "Anon", "url": "http://disqus.com/guest/f3eee854627eada366bf62c133e3d8b1/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "1f7a9b8fa54e4cf33659e1dd4cca3325": {"username": "Bob", "tumblr": "", "display_name": "Bob", "url": "http://disqus.com/guest/1f7a9b8fa54e4cf33659e1dd4cca3325/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "6059655a2cc82837a8668d4a255cc6e4": {"username": "nocreditcardsforme", "tumblr": "", "display_name": "nocreditcardsforme", "url": "http://disqus.com/guest/6059655a2cc82837a8668d4a255cc6e4/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "593dcb0cefce33f693f84efa813999d9": {"username": "Beth", "tumblr": "", "display_name": "Beth", "url": "http://disqus.com/guest/593dcb0cefce33f693f84efa813999d9/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "238325ea42da7cbcc0de2176f64793b7": {"username": "Chubby Church Cat", "tumblr": "", "display_name": "Chubby Church Cat", "url": "http://disqus.com/guest/238325ea42da7cbcc0de2176f64793b7/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "33ba9265036d0d463090d14b9efd1b29": {"username": "Janos", "tumblr": "", "display_name": "Janos", "url": "http://disqus.com/guest/33ba9265036d0d463090d14b9efd1b29/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4612f9ec596d0590a5a063a7c9783048": {"username": "AnnoyedCitiCustomer", "tumblr": "", "display_name": "AnnoyedCitiCustomer", "url": "http://disqus.com/guest/4612f9ec596d0590a5a063a7c9783048/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "9c30be5672217f3504d7e46c54ea2f40": {"username": "Contrarian", "tumblr": "", "display_name": "Contrarian", "url": "http://disqus.com/guest/9c30be5672217f3504d7e46c54ea2f40/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "e64481ccf316e9cb42ce06018d8835f5": {"username": "Mark", "tumblr": "", "display_name": "Mark", "url": "http://disqus.com/guest/e64481ccf316e9cb42ce06018d8835f5/", "registered": false, "linkedin": "", "blog": "http://www.crackinsurance.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "46777c48b8c3e026bdefe9c3e20a01f7": {"username": "Barb", "tumblr": "", "display_name": "Barb", "url": "http://disqus.com/guest/46777c48b8c3e026bdefe9c3e20a01f7/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4890feb0df0da3d8af5d3686d9a7ae5d": {"username": "Steven", "tumblr": "", "display_name": "Steven", "url": "http://disqus.com/guest/4890feb0df0da3d8af5d3686d9a7ae5d/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d39b357527e7583353d7633c9aa823c7": {"username": "Amen!", "tumblr": "", "display_name": "Amen!", "url": "http://disqus.com/guest/d39b357527e7583353d7633c9aa823c7/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b528a3170ed619e624f09e1add12ce18": {"username": "harm", "tumblr": "", "display_name": "harm", "url": "http://disqus.com/guest/b528a3170ed619e624f09e1add12ce18/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "350b19d985429e5cc3f717e35f9b56f8": {"username": "Pat", "tumblr": "", "display_name": "Pat", "url": "http://disqus.com/guest/350b19d985429e5cc3f717e35f9b56f8/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "807861708a8b736fd830f6229814326a": {"username": "Will", "tumblr": "", "display_name": "Will", "url": "http://disqus.com/guest/807861708a8b736fd830f6229814326a/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "63012ace719dca3f7e7fdc1488c7e661": {"username": "MAD MARY", "tumblr": "", "display_name": "MAD MARY", "url": "http://disqus.com/guest/63012ace719dca3f7e7fdc1488c7e661/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "76bf57dbf3886515003bd187b5eceba8": {"username": "David F", "tumblr": "", "display_name": "David F", "url": "http://disqus.com/guest/76bf57dbf3886515003bd187b5eceba8/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ed5568c406443ec72f00831fe257421c": {"username": "Rebecca", "tumblr": "", "display_name": "Rebecca", "url": "http://disqus.com/guest/ed5568c406443ec72f00831fe257421c/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "78c7fbd620dd8ce645bcd29b3a2c43a9": {"username": "Mike", "tumblr": "", "display_name": "Mike", "url": "http://disqus.com/guest/78c7fbd620dd8ce645bcd29b3a2c43a9/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "f9fac60dfd067f2130cada108e14ed4b": {"username": "Paul", "tumblr": "", "display_name": "Paul", "url": "http://disqus.com/guest/f9fac60dfd067f2130cada108e14ed4b/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "1f6bb2f5b98408cc2cb15064a02a9e62": {"username": "rth", "tumblr": "", "display_name": "rth", "url": "http://disqus.com/guest/1f6bb2f5b98408cc2cb15064a02a9e62/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "67463ac0fda10751a625a0a5a6b35439": {"username": "Pete", "tumblr": "", "display_name": "Pete", "url": "http://disqus.com/guest/67463ac0fda10751a625a0a5a6b35439/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "6a9f8f60a41358443bc358b6d14cc2a5": {"username": "Oscar", "tumblr": "", "display_name": "Oscar", "url": "http://disqus.com/guest/6a9f8f60a41358443bc358b6d14cc2a5/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "801dfcc2b43ad7cb24c68a8634fc4555": {"username": "Margo", "tumblr": "", "display_name": "Margo", "url": "http://disqus.com/guest/801dfcc2b43ad7cb24c68a8634fc4555/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d8e00eb9e4ab43681c57c9bbb487dac3": {"username": "Ray", "tumblr": "", "display_name": "Ray", "url": "http://disqus.com/guest/d8e00eb9e4ab43681c57c9bbb487dac3/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "20231c6b271cc2e02f85ee58ecfd7dcc": {"username": "Brian", "tumblr": "", "display_name": "Brian", "url": "http://disqus.com/guest/20231c6b271cc2e02f85ee58ecfd7dcc/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "dd984a8cd238e0640afefbfc3c5807ec": {"username": "Tyler", "tumblr": "", "display_name": "Tyler", "url": "http://disqus.com/guest/dd984a8cd238e0640afefbfc3c5807ec/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/348/4618/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b645c6df09d9fda73d9c8ae7c6c92bbf": {"username": "warrren", "tumblr": "", "display_name": "warrren", "url": "http://disqus.com/guest/b645c6df09d9fda73d9c8ae7c6c92bbf/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": true, "name": "Consumerism Commentary", "streaming_realtime": false, "url": "consumerismcommentary", "allow_anon_post": true, "reactions_enabled": false, "reply_position": 1, "show_avatar": true, "allow_anon_votes": true, "disqus_auth_disabled": false}, "realtime_enabled": false, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "consumerismcommentary", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-11-29_01:29:32", "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": {"21316659": {"up_voted": false, "ip": "", "has_replies": false, "message": "All of this \"Bail out\" money is going to companies to fix their bottom lines with no guarantee they will do anything for the consumer. If a Bail out is put in place for Credit Card companies, the money needs to be paid to consumers first. We can then pay down our credit card balances and help ourselves and the credit card companies. Of course the problem is that many wouldn't use the money that way. <br><br>It makes me sick to see all of this money going to companies that then decide the money is best used to buy another bank or throw another lavish party. If instead of buying troubled mortgages, the government paid off or paid down mortgages, the benefit would be to the general public and the mortgage companies. <br><br>None of this money is making a difference because the companies haven't changed their business practices, they are just using the money to continue their failed practices. Of course this is preaching to the choir... So I will stop now.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-18_08:36:22", "killed": false, "user_key": "b6823c23604dc7e114555e8672610a60", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/18/2008 08:36 AM", "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}, "21316660": {"up_voted": false, "ip": "", "has_replies": false, "message": "Interesting; I'll have to take a closer look at my Citibank statement the next time it comes. Luckily that's the card that I've paid off (and pay off in full each month); I'd be scrod if Chase did the same thing.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-18_11:00:27", "killed": false, "user_key": "46777c48b8c3e026bdefe9c3e20a01f7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/18/2008 11:00 AM", "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}, "21316661": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't think this is much of a mystery. Citigroup is in deep trouble and they are trying to cut expenses where they can and raise revenues where they can. There's no question that the people that keep a credit card balance may likely have a lower credit rating, making it less likely that they can even get a credit card from another institution. So they're sort of in a bind, meaning that Citigroup will take advantage because it has to.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-18_14:26:03", "killed": false, "user_key": "e64481ccf316e9cb42ce06018d8835f5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/18/2008 02:26 PM", "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}, "21316662": {"up_voted": false, "ip": "", "has_replies": false, "message": "Mine actually went down a full percentage point without my asking for it.  This was after I had asked them to lower it about 4 months ago, which they lowered significantly at the time.  I have been really working on improving my credit score and it appears to be paying off.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-18_19:14:10", "killed": false, "user_key": "6a9f8f60a41358443bc358b6d14cc2a5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/18/2008 07:14 PM", "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}, "21316663": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"That, or Citigroup is taking advantage of otherwise innocent Americans\"<br><br>You think?  While I don't entirely agree with the use of innocent in this context, as people sign themselves up for this ride, I do agree in the sense that credit card companies do indeed renege on their word often and prey on their customers.  If a restaurant or retailer treated you like this, would you go back?  I highly doubt it, which makes America's relationship with credit cards so confusing.<br><br>Perhaps the silver lining is that Citigroup is losing money because people are wising up to these ridiculous shenanigans... we can only hope.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-18_22:08:53", "killed": false, "user_key": "20231c6b271cc2e02f85ee58ecfd7dcc", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/18/2008 10:08 PM", "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}, "21316664": {"up_voted": false, "ip": "", "has_replies": false, "message": "I was attending a corporate event in Winston Salem NC today.  We took a bus past Citi's NC call center which has the very ironic \"We're Hiring\" sign on the building...the banner has been up there for at least a year.  I wonder if they will have to take it down?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-18_22:15:16", "killed": false, "user_key": "801dfcc2b43ad7cb24c68a8634fc4555", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/18/2008 10:15 PM", "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}, "21316665": {"up_voted": false, "ip": "", "has_replies": false, "message": "This is simply one of the dozens of reasons to not use credit cards.<br><br>They make the rules, and you have to play by them.  One of the rules is they can chage those rules whenever they want.  Yet people still do business with them.  Mindboggling.<br><br>Stop using credit cards completelty.  Cut them up.  Cancel the account.<br><br>Then this announcement won't matter.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-19_10:30:16", "killed": false, "user_key": "1f7a9b8fa54e4cf33659e1dd4cca3325", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/19/2008 10:30 AM", "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}, "21316666": {"up_voted": false, "ip": "", "has_replies": true, "message": "Like Mark, I don't see the mystery either. Citygroup is in trouble, they have losses, so they need income. Citygroup bond yields is up with yields-to-maturity of over 9% -- so if you want to risk lending your money to Citygroup, you can buy bonds with this much yield. I am actually considering it.<br>Also, in current economy, the risk of credit card defaults is high. Higher risk = higher rates. This is basic business.<br><br>\"t some large part of our taxpayer money might go to rescuing credit card companies.\" <br>hat exactly do you mean by \"credit card companies\"? All banks are involved in credit card business, and many banks can get taxpayer money. As to credit card companies specifically - Discover, AmEx, Visa and Master Card - then only first two of them are directly involved in lending: Discover and AmEx. As far as I know Discover hasn't asked for government money yet, but since it is a bank it may in future. AmEx just became a bank holding company, and asked for money. <br><br>As to Visa and Master card - they are NOT involved in lending. AT ALL. They don't set interest rates - banks that issue these cards do, they don't profit from fees or interest, they don't suffer losses in customer defaults.Visa and Master Card get their profit only from merchants - 2 or 3% on each purchase. This is their business model. Moreover, they get their profit regardless of if you use Visa or MC branded credit card or debit card (used as credit). As long as you pressed \"credit\" when you made a purchase, the merchant will pay to Visa or Master Card. Since these companies aren't banks they aren't eligible for government bailout; since they do not suffer losses in credit card defaults, they don't need to ask for money. Sure if people buy less, they make less money, but these companies don't lose money.<br><br> For some reason posters and blogger here seem to make a distinction between credit card companies and banks. They blame \"credit card companies\" for lending policies even if half of these companies have nothing to do with these policies. Yet, the banks that you do business with every day are responsible for these policies you don't like. When you deposit your money in a bank, the bank will use this money for lending, including for credit card lending. So indirectly, by earning interest, you are also profiting from credit cards.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-19_11:57:03", "killed": false, "user_key": "bcaf7c855aed13df2c5deaf9f32ede4c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/19/2008 11:57 AM", "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}, "21316667": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Stop using credit cards completelty. Cut them up. Cancel the account.<br><br>Then this announcement won\u2019t matter.\"<br><br>If you pay your bill in full every month then this announcement wouldn't matter either. I couldn't care less if they raise my rates - AmEx just did. So? I don't plan on paying these interest - never have never will. But I find credit cards very convenient, so I have no reason  not to continue. As to \"reneging on their word\" - they told that the interest rates can go up at any time, and the credit card users agreed to these terms. You don't like higher interest rates - cancel your card.<br><br>Also, I would like to ask the posters here a question, at least to those that have money. Under which conditions would you be willing to lend to a) people you don't know b) without a collateral c) interest-free for at least a month, so those who live within their means will repay the loan without any profit for you and those who don't return the money within this period are obviously irresponsible and hence present higher risk. Think how high the reward needs to be for you to justify this risk. Think if you'd like an option to raise rates if a) you find out that the person is poorer risk than you've thought and b) you start experiencing a lot of defaults and losing money.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-19_12:09:27", "killed": false, "user_key": "bcaf7c855aed13df2c5deaf9f32ede4c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/19/2008 12:09 PM", "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}, "21316668": {"up_voted": false, "ip": "", "has_replies": false, "message": "Kitty-<br><br>  My statement on reneging on their word concerned Citigroup's Congressional pledge of \"A Deal is a Deal\", which included not invoking universal default and only raising interest rates biannually (when cards come up for renewal).  Pretty clear-cut case of reneging.  And to answer your quesiton, I personally would never lend money, as I strongly disagree with the practice.  If I'm going to dole out some cash to someone, I'm not planning on getting it back.  I do a lot of giving, but am selective when and where I do it.<br><br>I did not find credit cards convenient - in fact, they were a huge hassle to me since I prefer to pay for it and be done.  I find it to be much more convenient to actually pay for something at the time you buy it rather than add an extra step by involving a company chomping at the bit for you to make a mistake so that they can take more of your money.  No thanks.  If you have the money, just pay for whatever it is... no need to fool around.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-19_12:57:21", "killed": false, "user_key": "20231c6b271cc2e02f85ee58ecfd7dcc", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/19/2008 12:57 PM", "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}, "21316669": {"up_voted": false, "ip": "", "has_replies": false, "message": "Brian-<br>I've not been aware of any credit-card related conditions to the bailout which is why I misunderstood you. I certainly heard about the credit-card related bill in congress. I also heard that consumer union wanted for it to be part of bailout, but that banks opposed it. What I haven't heard about was that any provision of this bill has ever passed or that any credit-cards-related condition made it into a bailout. If you had seen it, could you please provide the link?<br><br>You say you strongly against all lending? Or just consumer? Are you against student loans, business loans or mortgages as well? Just curious. <br><br>\"If you have the money, just pay for whatever it is\u2026 no need to fool around.\"<br>This depends on your definition of \"having money\". My net worth is around 970K (down from a little over 1M last year... ouch - lost over 100K this year), but 400K of that is my paid-off home, so it doesn't count; and half of the rest is retirement , so I guess this doesn't count either since I cannot touch this money yet.  This doesn't really leave that much available money, only about 280K, about 110K of which is in cash/CDs and the rest invested - mostly in stocks, a little bit in bonds. So, I am not sure if this counts as having money, but it's still more than enough to pay off any credit card bill in full especially since I am not normally a huge spender. I don't have any debt other than my last month's credit card purchases (about 1K this month) which they will deduct on the 29th. <br><br>As to credit cards, I certainly respect someone's decision not to use them for whatever reason. As with any tool some people find it useful, others hate it. I find them convenient because a) I don't need to carry cash around b) in case of a fraud, the money aren't deducted from my account immediately as with debit cards, but I have time to reject the charge c) I get cash back - not much money, but it's free, and I like free money  d) I have over a month float which allows a little extra interest and a little more flexibility. In some cases this extra month float makes a difference between completely cash-flowing an expense rather than transferring money from savings. e) credit cards are almost a requirement on international trips.<br><br>BTW - I had very little money when I got my first credit card a couple of months after I started working after grad school, and somehow I figured out that if I pay the bill in full I pay no interest and if I don't, I'll pay very high interest. Guess what - my then 40-something parents who could barely speak English at the time figured it out too. They also have never carried a balance. If some refugees from a communist country could manage to use credit cards without paying interest why do so many Americans feel they cannot do it without some kind of regulations to protect them?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-19_23:49:48", "killed": false, "user_key": "bcaf7c855aed13df2c5deaf9f32ede4c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/19/2008 11:49 PM", "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}, "21316670": {"up_voted": false, "ip": "", "has_replies": false, "message": "They say theyre raising APRS by 2~3%?! Just got my letter, Im going from 7.49 to 15%...thats a 7.49% jack. Good thing my account doesnt expire for 3 years...OPT OUT HERE I COME!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-20_12:33:24", "killed": false, "user_key": "dd984a8cd238e0640afefbfc3c5807ec", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/20/2008 12:33 PM", "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}, "21316671": {"up_voted": false, "ip": "", "has_replies": false, "message": "Brian, never mind I saw the link about 2007 pledge in exchange for some regulations being lifted. But Citygroup also promised to repay its own debt - the one it made when it issued bonds. <br><br>Yes reneging on one's promise is bad. Bankruptcy is also reneging on one's promises too as is defaulting on any of the debts. If Citygroup goes bankrupt it will have to renege on its promised to repay its own debt - so either way it will have to \"renege\". <br><br>How many of City's customers are reneging on their promises now to repay their debt?  Because a lot of people are reneging on their promises to pay their debts, 53K of Cutygroup's employees will be laid off soon. Not CEOs or greedy executives who made bad decision - regular people like you and me. Should City continue to hold the rates steady in the environment when it is losing money every quarter in defaults and maybe lay off any more people?  How many people do you think will lose their job if Citygroup goes bankrupt? <br><br>This  company is fighting for its survival. When one is fighting for survival, one sometimes reneges on one's promises. Would you not steal food if your child was hungry? <br><br>It's our money too. The government will probably not going to let Citygroup fail. So City will need more money. Would you rather people who overspend pay more in interest or would your rather this money come from your pocket in form of additional bailout money for the part of Citygroup's losses that may be offset by this higher rates?<br><br>I suggest everyone who's been on the moon lately and thinks of all the credit card \"companies\" (whatever it means since as I said neither Visa nor Master Card does any lending or has any financial problems)  make huge profits checks out Citygroup stock on Yahoo finance and reads the latest news.  Then maybe you'll understand why City had to raise its rates. Yes V and MC make profits, but they aren't doing any lending. AmEx, Discover and all the banks are losing money.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-20_15:41:48", "killed": false, "user_key": "bcaf7c855aed13df2c5deaf9f32ede4c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/20/2008 03:41 PM", "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}, "21316672": {"up_voted": false, "ip": "", "has_replies": false, "message": "Fine by me, they'll simply have a ton of customers paying off their debt and leaving. Why would I keep a 15% APR CC? Makes no sense. Not sure how they selected people to raise rates but about 1.5 years ago I ran up my CC to about $4,500 and have consistantly paid it every month and now its at like $750. It'll be paid off shortly and all the 15% APR will do is drive *me* away. Not sure how I qualified to have my rate doubled...Im an easy, safe source of income from them that theyre losing. Seems stupid in my opinion.  Bye Citi! Ill spend my money elsewhere.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-20_16:05:33", "killed": false, "user_key": "dd984a8cd238e0640afefbfc3c5807ec", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/20/2008 04:05 PM", "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}, "21316673": {"up_voted": false, "ip": "", "has_replies": false, "message": "We have a CITI card at 5.99% and on the last statement it said it is going to 24.99%!!!!!!!!  Opt out is right!  <br>American Express is also lowering people's credit limit to a few hundred over what you owe. I even read where one person paid hers off, went on vacation, and when she went to use it found out they had lowered her limit down to $500.  This makes no sense to those of us who do pay our bills on time and have good credit scores.  There have been times we had to use credit and now this.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-20_16:10:43", "killed": false, "user_key": "b62116da2c81c43f5cf23f62587ffcd4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/20/2008 04:10 PM", "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}, "21316674": {"up_voted": false, "ip": "", "has_replies": false, "message": "Go for the cash if you go for anything. Last year I was eligible for a couple of free tickets from a Chase/ Southwest Airline miles card, and just couldn't use the miles, due to restrictions. I learned my lesson, SHOW ME THE MONEY, LoL.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-20_18:53:37", "killed": false, "user_key": "b528a3170ed619e624f09e1add12ce18", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/20/2008 06:53 PM", "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}, "21316675": {"up_voted": false, "ip": "", "has_replies": false, "message": "Tyler, they probably raised rates for everyone. American Express raised my rate to 22%, and I've never paid a penny in interest in many years I had their card; I even have automatic payment of full balance set up i.e. they take whatever balance there is at the end of the month automatically from my checking, so they know there is no chance in hell, they'll get interest from me. <br><br>What you guys don't seem to understand is that in the current environment credit got more expensive.  All credit, consumer, corporate, even municipal. Even McDonald has trouble getting loans. It's not the issue of how good a customer you've been or how well you paid until now; it's the issue of higher cost of credit for everyone. Bond market reflects it nicely - hey if you want to, you can lend your money to AmEx at over 9% rate. <br><br>If you don't like it, you can vote with your feet - it's your right.  You may even find some 0% offers if your credit is good, I am surprised you haven't taken advantage of it before. I am sure they expect some people to cancel - but these aren't likely those who bring them more money anyway.   How much money is Citi going to lose from your leaving. The interest on your $750 until you pay it off? This is pocket change to a bank. After that, presumably you are going to pay in full, right? This means they'll be losing money on you. Remember merchant fees go to Visa and Master Card, your interest goes to a bank. If you pay no interest, bank is not making money. So why should they care if you are leaving?<br><br>Harm, this is why I don't use cards that give miles, only those that give cash backs. Nope, I am not going to cash, I am doing quite fine with cards, thanks.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-20_21:50:37", "killed": false, "user_key": "bcaf7c855aed13df2c5deaf9f32ede4c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/20/2008 09:50 PM", "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}, "21316676": {"up_voted": false, "ip": "", "has_replies": false, "message": "I just got a letter in the mail.  I have perfect credit and for the last 4-5 have enjoyed a rate of about 7.99 percent.  Now it's going up to 14.99% (LIBOR+11.99%).  Sad part is that because I was unemployed for 6.5 months I charged mostly everything to it...food and gas mostly.  I hope this didn't push me one step closer to BK.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-21_01:08:08", "killed": false, "user_key": "4890feb0df0da3d8af5d3686d9a7ae5d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/21/2008 01:08 AM", "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}, "21316677": {"up_voted": false, "ip": "", "has_replies": false, "message": "I hope everyone does what I am doing and make them pay for this.  Look at all your Gas and Store brand cards, you may be surprised at how many are processed by Citi.  I'm closing all of my accounts that are linked to Citi and letting them know my purchases in the future will be at their competitors that do not use Citi to process their cards.  Phillips, Exxon Mobil, Lowes are all Citibank.  BP and Home Depot are GE bank.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-21_18:01:42", "killed": false, "user_key": "1f6bb2f5b98408cc2cb15064a02a9e62", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/21/2008 06:01 PM", "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}, "21316678": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sorry got my statements mixed up.  Lowes is GE bank, they get to keep my 2-3k a year home repair costs.  (Crappy builder that went out of business during the mid 80's housing downturn)", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-21_18:12:08", "killed": false, "user_key": "1f6bb2f5b98408cc2cb15064a02a9e62", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/21/2008 06:12 PM", "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}, "21316679": {"up_voted": false, "ip": "", "has_replies": false, "message": "What gets me here is the article states a \"2% to 3%\" increase in rates.  I have a Citi PremierPass, which they just \"upgraded\" to World Elite level, with a 9.99% APR.  Under the new terms it increases to 16.99%.  I pay my acount balance in full every month and have done so for years and I have great credit.  Why are they raising my rates this much?  When I called in to ask why my rates are going up, I got a story about the economy is bad and this is how they are responding to it.  What??  <br><br>I opted out and I'm closing my other Citi (AAdvantage) card.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-22_15:31:15", "killed": false, "user_key": "807861708a8b736fd830f6229814326a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/22/2008 03:31 PM", "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}, "21316680": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"When I called in to ask why my rates are going up, I got a story about the economy is bad and this is how they are responding to it. What??\"<br><br>Go to <a href=\"http://www.cnbc.com\" rel=\"nofollow\">www.cnbc.com</a>. Read all the headlines on Citigroup. Then maybe you'll get the idea why they are raising your rates. Citigroup's stock is under $4, it is about to lay off 53K people, and everyone is wondering if they'll be able to come up with a convincing message by Monday that they have enough capital.<br><br>Really, you must be on the moon not to know that all financial companies are struggling, especially Citi and that they need to increase they are profits. As they say - \"it's not personal, it's just business\". You don't like a business, you don't have to use it.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-22_18:43:32", "killed": false, "user_key": "bcaf7c855aed13df2c5deaf9f32ede4c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/22/2008 06:43 PM", "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}, "21316681": {"up_voted": false, "ip": "", "has_replies": false, "message": "Both of my CitiGroup Cards rates went down 1 point but now both with in this last week I have received letters telling me they are going to jack up my rate. Well HAHA Citi I'm shredding your companies cards right this moment. You raise your apr you lose me as a customer.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-22_22:03:06", "killed": false, "user_key": "f9fac60dfd067f2130cada108e14ed4b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/22/2008 10:03 PM", "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}, "21316682": {"up_voted": false, "ip": "", "has_replies": false, "message": "Citi looks like they are going to go under if they keep treating their customers like this garbage. On one side that would be horrible but on the other it would be great. The only thing is I bet a lot of folks can't just pay off their cards because of too much credit debt. LET'S MAKE CITI GROUP PAY!!!!!!!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-22_22:05:30", "killed": false, "user_key": "f9fac60dfd067f2130cada108e14ed4b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/22/2008 10:05 PM", "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}, "21316683": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"On one side that would be horrible but on the other it would be great. The only thing is I bet a lot of folks can\u2019t just pay off their cards because of too much credit debt. LET\u2019S MAKE CITI GROUP PAY!!!!!!!\"<br><br>Sure Paul, it's great that hundreds of thousands of people who work for Citi will lose their jobs. They are already planning to lay off 53K people next year. If they go out of business, how many more will lose their jobs? How many of these people do you think were involved in the decision to raise your rates? Oh, and think what the effect this will have on our already bad economy? <br><br>A question to you and those screaming murder at the time when Citi stock is under $4, they had 5 quarters of net losses, their laying off 53000 people and every analyst on Wall Street screams how this is not enough. If you had a business that was barely surviving, the costs of doing your business like buying parts suddenly increased, you had to lay off a lot of people, what would you do? Would you try to increase your profits by raising prices on your products even if some years ago when the economy was great and cost of doing business much cheaper or would you go out of business - which means you will not be able to repay your own debts and most of your employees will be laid off? Yes, if you raise prices, you'll lose some customers. But if you don't do it, you'll go out of business. Think what you'd do.<br><br>Loans is Citibank's products. Interest they get is their profit. Losses they experience is the cost of doing business. Their cost of doing business went up significantly and unexpectedly. What would you do in their place? Try to raise profits or lay off a lot more people in addition to 53000 you already plan to lay off.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-23_18:47:30", "killed": false, "user_key": "bcaf7c855aed13df2c5deaf9f32ede4c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/23/2008 06:47 PM", "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}, "21316684": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well, now that the government is bailing them out, you think we'll get a new letter letting us know our rates won't go up? (I bet not.) I'm not sure if when your apr goes up, so does your monthly amount due, but there is simply no way I can pay any additional monthly money to Citi. It's seriously not possible on my budget/income. (And mine is also doubling from 7.49 to 14.99 APR)<br><br>If you opt out, you have until the end of your contract, or your expiration date on your card (which is 9/09 for me.) What happens after that? They close the account, and you continue paying, or they expect it all up front?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-24_11:10:07", "killed": false, "user_key": "bf286acb4385d31e0c092ef27d07c4fc", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/24/2008 11:10 AM", "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}, "21316685": {"up_voted": false, "ip": "", "has_replies": false, "message": "Saturday I received my \u201cChange In Terms Notice\u201d in the mail - what a joke.  I\u2019ve had the card since the 80\u2019s, haven\u2019t rotated a balance or paid interest on any credit cards in years.  Why? Why? Why?  Just in case I checked my FICO score - it\u2019s in the 780\u2019s.<br><br>It\u2019s not even worth my time to call and ask why \u2013 all you have to do is read the headlines.  I just feel bad for everyone who is having a hard time right now\u2026this makes it even worse.<br><br>My words of wisdom -  \u201cCreate a budget - stick to it  and  Live Within Your Means\u201d", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-24_14:11:27", "killed": false, "user_key": "e4032edbbcc20476ef4b117cfe038ea1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/24/2008 02:11 PM", "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}, "21316686": {"up_voted": false, "ip": "", "has_replies": false, "message": "Um Kitty to me it seems like you are siding with Citi Group. I don't mean to make this political but the democrats are the ones who wanted banks and places like Citi Group to approve people who would not normally be able to afford certain loans or lines of credit. Me for one I should not have been approved for some credit cards but I was intelligent about the way I used them a lot of people WERE NOT! So when push came to shove they could not make ends meet and defaulted on loans and credit. So now we lose their buying power and it's a snowball effect. I still say screw Citi they can manage their costs better just like the Big 3 in detroit! Cut costs buy not giving their CEO's that do jack shit millions of dollars and see where their budgets are then!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-24_17:01:56", "killed": false, "user_key": "f9fac60dfd067f2130cada108e14ed4b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/24/2008 05:01 PM", "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}, "21316687": {"up_voted": false, "ip": "", "has_replies": false, "message": "Why not just charge your federal taxes to your Citigroup credit card?  Then stiff them on the payment.  The IRS can't go after you because they already have their money.   If that fails, send the bill to Wall Street.  Amex too, they're fishing for a tax sponsored bailout.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-24_18:55:44", "killed": false, "user_key": "6059655a2cc82837a8668d4a255cc6e4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/24/2008 06:55 PM", "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}, "21316688": {"up_voted": false, "ip": "", "has_replies": false, "message": "I just received a letter in the mail my APR was going from 10.99% to prime PLUS 10.99%. Never had a late payment never carried balance over 20% of my credit line.I'm glad my shredder is in working order<br><br>I saw where you can opt out and keep your current rate till your card expires. That's about a year for me.Then Citi cancels it. If you don't opt out changes start in like 3 weeks!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-24_19:49:05", "killed": false, "user_key": "350b19d985429e5cc3f717e35f9b56f8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/24/2008 07:49 PM", "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}, "21316689": {"up_voted": false, "ip": "", "has_replies": false, "message": "#26 Nathan Aaron:<br><br><br>If you opt out, you will be able to continue to use your card until the end of the year OR the expiration date of your current card (whichever is LATER).  <br><br>At that point, you can continue to pay your card down under the current terms, but cannot make new purchases.<br><br>You will NOT be asked to pay the balance in full at the end of your term.<br><br>I opted out. 5.99% to 14.99%. Yeah RIGHT!<br><br>Only bummer is that my credit limit was over $17K. All other cards only give me like $4k.  Oh well I shouldn't spend that much anyway!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-24_21:00:45", "killed": false, "user_key": "74494438a6a743bae8e2068a68f4682a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/24/2008 09:00 PM", "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}, "21316690": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thought I'd throw in my two cents as well.  Looks like we're on the hook for the 45 Billion one way or another. Whoo Hoo!  Just got my \"letter\" today, my rate went from 7.99 Fixed, to 14.99 Variable... WTF... that if my math serves me right appears to be a whopping 50% increase in interest on every purchase.. Oh, and they conveniently forgot to put an explaination in the letter.. so when I called their CS reps they didn't know anything about the increase, so I had to wait on hold with some lame A-- elevator music for 20 minutes unitl a \"Supervisor\" got on the line to explain that they are eliminating all fixed APR accounts, increaseing the rates to be \"more in line with their business\"  That's horse--!   I'm a good customer, never been late on a payment in my life.. 20+ years worth !!!    Took me all that time to earn a good fixed rate, and because some friggin --holes in the mortgage and banking side of the group decide to get greedy and make really really  really bad business decisions with regard to loaning money.. guess who has to pay for it.. we all do.. us - our kids, grand kids, and generations long after we're all dead n gone.  I say, since i now have a defacto stake in their business, they owe me a copy of their spend plan for this bailout BS... I'd be willing to bet that some of those GWs will find their way into their charge card lines of business... why?  because they're all interconnected - so... unless someone can provide this plan, and verify for sure that none.. and I mean none of that 45+ Billion in our money is going into their CC lines... i'll be skeptical...So lets see.. why don't they take their CEO and Senior Executive bonus pools and put that money back into their business model, they they can pay themselves interest and put that back into the business....<br><br>or.. how bout this ... and mark my words.. within the next 6 months or sooner you will see Brian Williams on NBC say this... Breaking News... the government will now give Citigroup 100 Billion to bail out it's charge card business in addition to the 300 Billion already earmarked this year\". You gotta figure those rotten SOBs have got that all figured out too.  I'm not usually a conspiracy theorist, but you gotta wonder given all of the recent events this year.. perhaps this is the mother of all cons and we are the unwitting participants.... <br><br>As it was explained to me.. you can \"Opt out\".. which is something I may consider at this point.  My issue with this is that they are blaming the current lending environment as the reason for the increase, an environment which they themselves helped to create, and we the customers &amp; taxpayers and ironically \"those who are responsible for the bailout\", are now being asked to poney up.. Well - here's thought.. since I now by default own a part of their busieness.. WTF are they gonna do for me. as a matter of fact.. since we all collectively own about 7 Billion in stock now, we should then have a pretty influential proxy vote. So let's collectively vote to keep our APRs the same.. Hey we've done our part, we made our payments on time. lets make them do their part.. since we're the one's that are gonna save their A--... Oh and BTW.. bailouts in my opinion should include some very harsh performance measurements.... when are we going to see those in the news?... <br><br>The way I see it, we the people who pay our bills on time. should not be penalized for the stupidity and greed of a system that will always seek to be dishonest.  Oh.. and they can take the 400 Mil they want to spend on a  friggin sports venue and put that back into their so called \"business model\" too... and.. they can stop sending me stupic assed credit card offers too.. rotten bastards... can I sue them or harrassment if they continually send me unsolicited CC offers, even after i have written to them numerous times to stop sending them?.... I know here's a compromise.... they can pay off my balance and I won't consider legalities.... <br><br>Speak up America!.. Speak out for the poor wallet's that don't have a voice...or at least the right to keep your APR the same..", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-24_21:20:32", "killed": false, "user_key": "e7c887764b2ae673b3108ec62a9fb355", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/24/2008 09:20 PM", "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}, "21316691": {"up_voted": false, "ip": "", "has_replies": false, "message": "My credit scores are 739, 723, and 741. I do carry a very large balance with Citibank, but have always paid on time. This excerpt from Citibank's letter to me: \"We are increasing yoru variable APR for purchases. Your purchase APR will equal the U.S. Prime Rate plus 18.99%, with a miniumum APR of 24.99%\". A change from 10.49% to 24.99%? I opted out.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-25_09:08:31", "killed": false, "user_key": "f3eee854627eada366bf62c133e3d8b1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/25/2008 09:08 AM", "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}, "21316692": {"up_voted": false, "ip": "", "has_replies": false, "message": "Got my Opt out letter in the mail last night. im at 6.79 rate now and they want to jack me to 14%. This is the best card i own and now if i want to keep the thing ill have to pay over 450.00 in payments a month. Some of us need these cards right now and hell they just got a BIG bail out yesterday and still doing this high rate BS i told the lady i would think about it. I also never have been late on my card and she said i can OPT out and my account ends in 2 years. I just got my rate lowered and this BS happnes.  <br>Treasury and the Federal Deposit Insurance Corporation will provide protection against the possibility of unusually large losses on an asset pool of approximately $306 billion of loans and securities backed by residential and commercial real estate and other such assets, which will remain on Citigroup\u2019s balance sheet. As a fee for this arrangement, Citigroup will issue preferred shares to the Treasury and FDIC. In addition and if necessary, the Federal Reserve stands ready to backstop residual risk in the asset pool through a non-recourse loan.<br><br>In addition, Treasury will invest $20 billion in Citigroup from the Troubled Asset Relief Program in exchange for [$27 billion of] preferred stock with an 8% dividend to the Treasury. Citigroup will comply with enhanced executive compensation restrictions and implement the FDIC\u2019s mortgage modification program<br><br>This is BS they get a bail out and still saying they have to raise up my rate. I told the lady last night how much the bail out was for them and she said O it cant be that much. Yea.. Its our hard earned TAX money thats bailing them out and this is how they re-pay us raise our rates. Most of us will not come back to them after going back on there word. what good are you with out your word..", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-25_09:53:33", "killed": false, "user_key": "f5ec3909a34aa839af7476bea5540811", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/25/2008 09:53 AM", "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}, "21316693": {"up_voted": false, "ip": "", "has_replies": false, "message": "I just got my letter in the mail too, this is very unfair.   My new rate is 14.99%, the old one was 6.9%.  I carry a substantial balance on this card, which is another strong reason for me to opt out of this trap.   The sad part is that all my other cards (and I have very good credit, always paid on time) are no longer offering  balance transfers to me as of this last month.<br><br>Rates should go up when customers do not pay on time, basically when you are delinquent on your account and not because Citi is going down (actually they're getting bailed out by the government).   I am fully aware of the current economic situation, but that does not mean credit card companies can do whatever they want.  Who protects the customer?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-25_20:31:33", "killed": false, "user_key": "564c465fead8a9500ba35d70e79faf44", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/25/2008 08:31 PM", "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}, "21316694": {"up_voted": false, "ip": "", "has_replies": false, "message": "They said that they were only raising interest rates on average 2-3%.   Mine was raised from 7.99 to 14.99%.  Everyone I have talked to has a similar hike.  <br><br>I have opted out.  <br><br>Do not use your card ever again.  Do not give them one more penny than you are obligated to repay them.  If you continue to use their card, remember that they will get a transaction fee.  Those jerks don't deserve it.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-25_21:57:13", "killed": false, "user_key": "f83e3a46b29d2d888b8d556222f07291", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/25/2008 09:57 PM", "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}, "21316695": {"up_voted": false, "ip": "", "has_replies": false, "message": "Just sent this issue to NBC Nightly News  - hope they do a story on these SOBs.. especially since we the taxpayers and customers who just got our APRs hijacked... have graciously decided to bail their Asses out. to the tune of billions of dollars.. Oh ahd what about today's message from Sec Paulson.. 800 billon more to spur consumer spending.. how the F*** is raising the APRs of otherwise solid customers going to get people to go out and spend on Black Friday?.. Tell Citibank to fire the genius who came up with the idea to raise APRs across the board to increase revnues.... In the long run they will just lose valuable and loyal customers... but then again, if they run their business like that it's no wonder that they need billions in taxpayer bailout cash.. Hmmm......wonder what board meetings are like at Citibank.. maybe like the <a href=\"http://careerbuilder.com\" rel=\"nofollow\">careerbuilder.com</a> commercials with chimps from the superbowl a few years back.?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-25_23:14:37", "killed": false, "user_key": "e7c887764b2ae673b3108ec62a9fb355", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/25/2008 11:14 PM", "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}, "21316696": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have a different take on this issue.  If, like me, you have a decent credit score and a balance you can pay off without much stress, don't opt out.  Negotiate: loosing your credit line with Citi could hurt your credit score, making you more likely to hit the radar screens of other lenders who are itching to reduce their exposure to the consumer.<br><br>I got the same Notice. The rate on my Home Rebate card, Citi told me, was going from 8.99% to 14.99%.  At first, I was angry.  I have a zero balance on my card, a perfect payment history, and I'd just paid off tens of thousands of dollars in Citi private student loans in the last year, just one year after grad school, at time most people were defaulting on their loans (yes, I'm lucky I have a job that pays a decent salary, but I also didn't buy any furniture besides a bed, and I chose to live in Queens rather than in the Upper West Side in Manhattan).<br><br>But then I picked up the phone and called the opt-out number.  Gimme a break, I say; I'm just the kind of customer you don't want to lose at this time.  Well, I can't help you, dude; our cost of borrowing has gone up, and look, you've got the lowest rate we now have, some chap says.  <br><br>Can I speak with a manager, then?  Two minutes later, he comes back. No manager is available, he says, but alas! I've found a way to cut your rate to about 10.99%. I took the offer, and then followed up with an email appealing the lowered rate.  We'll see what happens.<br><br>Bottom line: Overreacting by closing your card could hurt your credit score.  Consider negotiating.  I don't plan to carry a balance EVER, but I'll fight for the best offer I can get from lenders --  zero-percent offers, points, cash, and the lowest cost of borrowing out there. You might want to do the same.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-26_04:39:10", "killed": false, "user_key": "9c30be5672217f3504d7e46c54ea2f40", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/26/2008 04:39 AM", "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}, "21316697": {"up_voted": false, "ip": "", "has_replies": false, "message": "Received my letter yesterday. Same as some above - fixed 7.9 jacked to 14.9. I called and asked why I, as a good customer of over 4 years, am being penalized for other people's bad decisions? The rep kept repeating his canned scripted response. So at the end of July I will no longer be a Citi customer.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-26_10:00:07", "killed": false, "user_key": "0e448cb2f274ff85dd7537343335fe1a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/26/2008 10:00 AM", "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}, "21316698": {"up_voted": false, "ip": "", "has_replies": false, "message": "I received a letter from Citicard stating that my rate was increasing from 7.99% to 14.99% - an increase of 87%.  I have had the account for 6 years and have always paid my bill on time and have a FICO score of 725.  I contacted Citicorp and was told that since I have a good credit and payment history, my rate would only be raised to 10.99%, still an increase of nearly 40%. I asked how they could justify the increase and was advised that the cost of doing business is increasing.  I reminded the representative that Citicorp had sufficient cash to purchase Wachovia, so they couldnt possibly be doing that bad.  I spoke to 6 different people about lowering my rate and finally talked to someone in the Presidents Office and after 20 minutes of arguing, I finally got them to keep my rate at 7.99%.  You must be persistent with Citicorp and if you do not get any satisfaction,ask to talk to the persons supervisor and keep going up the ladder to the Presidents office if necessary,", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-26_23:25:46", "killed": false, "user_key": "63012ace719dca3f7e7fdc1488c7e661", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/26/2008 11:25 PM", "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}, "21316699": {"up_voted": false, "ip": "", "has_replies": false, "message": "All,<br>I recently read Mary's comment and decided to see what I could do for myself.  Mary was right, if you are persistent you can do a bit better.  I had some time today, so I figured i'd try.  I had to call a few times cause I got disconnected twice.. strange that both times happened during a call to a CS rep who was \"trying to find me a better rate\".   If they come back with a rate that is just below what they quoted you in the letter, ask to speak to a supervisor.  When the supervisor comes on the line, remind them of your credit history, ( if it's good), if you know your FICO score and it's above 700 all the better.  * Since they base credit decisions on this... tell them you are the kind of customer they want because you will be using the card.. also tell them that the decision to raise APRs across the board doesn't make business sense because it will end up driving good customers away... to other cards... name a few if you want. Remember, they need you to make money... and if you are a good customer then they'd be hurting themselves.  You can also mention the billions in bailout funds they just got.. which as we all know are taxpayer dollars.. and guess what \"WE\" my friends.. are the taxpayers..... plus this past week the treasury department just approved another 800 Billion program designed to help .. \"GUESS WHO\"?..  credit card companies..... and other lending institutions * I'm referencing Sec. of Treasury Paulson's speech on Tues or Wed last week... so if you arm yourself with some recent factoids.. they \"CitiBank\" will understand that you are in the know about what is going on.  You also don't have to put up with corporate double dipping.. which is what they are perpetrating..Tell the supervisor that you're looking to keep the lowest rate possible. In my case I didn't do as well as Mary, but I managed to do a 9.99% fixed arrangement, as opposed to a 14.99% variable one.. This was my fourth call to them, and while I  really felt like arguing some more... ( you can do so according to your tolerance for stupidity).. my tolerance got maxed out, so I opted for the 9.99.  Anyway pay attention to the date on the letter, cause if you don't contact them.. the new APR will go into effect.. and you could find that your payments will go up significantly.  These issues are personal decisions that we all must make, but before you get really pissed and opt out.. ( I thought of that when i first read the letter) .....like Mary said explore what if anything happens when you do.. if they close the account.. it can have a negative effect on your FICO score.. which can affect other lenders as well.. Not sure what happens if \"You\" close the account with a remaining balance but my guess is that it's probably not good..", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-28_12:41:50", "killed": false, "user_key": "e7c887764b2ae673b3108ec62a9fb355", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "Yesterday 12:41 PM", "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}, "21316700": {"up_voted": false, "ip": "", "has_replies": false, "message": "The other day I heard someone complaining about Citi raising his rate. I thought, well, it won't happen to me because my credit score is high and I have a perfect history and I like Citi's online banking. Then I got my letter raising the interest rate to 14.99%. When I called they wanted to give me a better rate. I just said no way--I don't want to do business with Citi any more. I gather a lot of people are complaining.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-28_18:15:24", "killed": false, "user_key": "238325ea42da7cbcc0de2176f64793b7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "Yesterday 06:15 PM", "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}, "21316701": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm not so sure that alienating customers is the best way to keep a business afloat in difficult times. <br><br>I received a similar letter from Citibank today, raising my rate from 6.75 to 15%. I've been paying them interest for a while on this card I use for a home business. I'm also a long-term customer with no history of repayment problems. The letter offered no explanation for their rate increase, but I do read the news. <br><br>The minute I was alienated by Citibank, I called USAA and requested a MasterCard. They were happy to issue me a card at their lowest rate of 6.25%. It looks like they want my business, as they realize that an excellent credit risk such as myself will make them some low-risk money. Citibank will get a bunch of cash from me to transfer the debt to USAA, then nothing more. <br><br>I'm baffled that Citibank decided to blow off their low-risk customers who provide them with income, while they are more likely to keep the customers who will default on their debt since those are less likely to be able to transfer their debt to another bank. This sounds like one of those all-too-common decisions by American \"financial mavens\" to get this quarter's numbers up at the expense of destroying the business in a year or two.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-28_22:20:46", "killed": false, "user_key": "76bf57dbf3886515003bd187b5eceba8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "Yesterday 10:20 PM", "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}, "21316702": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hey Paul. I'm Paul. I got the same letter everybody else got.  I just went down from 7.74% to 6.74% last month, and then I got this letter stating that they were changing my Citi Diamond card to prime + 18.99, currently 24.99%  <br><br>Just call the 1-866-565-7030 number to opt-out of this.  Your account will cancel automatically at the end of the current calendar year or your card expiration date.  You will continue to pay your current rate (in my case 6.74% / as long as I don't make a late payment) until it's paid off.<br><br>BTW, I find this amusing or interesting at least.  I have my mortgage @ 5% through CitiMortgage.  I had a 5 year adjustable rate mortgage that will renew in Jan.09  I was so scared to see what it was going to readjust to.  They raised me to 5.125%  My payment is going up $2.07 a month.  WOW<br><br>Hey, it's just business.. :)  Good luck everybody", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-12-02_22:58:17", "killed": false, "user_key": "2ff74a72e558f4b34a8ae06071b38603", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12/02/2008 10:58 PM", "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}, "21316703": {"up_voted": false, "ip": "", "has_replies": false, "message": "There are two issues here:  1. is this good business on Citi's part, and 2. is it fair.<br><br>As for 1, well that's Citi's problem.  My opinion may influence whether or not I buy or sell Citi shares, but otherwise I'm not going to worry about whether this is a good business decision.  It's not MY business, after all.<br><br>2 is the more heated question.  I ultimately think it is perfectly fair.  Let's say my interest rate (APR) goes up from 7.99% to 14.99%.  All of my PAST borrowing has been billed at 7.99%, which is fair enough so long as that's what both sides agreed to.  Being told that if I continue to use Citi's money in the future I'll be billed at 14.99% is also fair enough.  I'm certainly under no obligation to use Citi's money if I don't like the interest rate.  Using my own money instead of Citi's money may, in this case, turn out to be the more advantageous option for me.<br><br>The only way it would be unfair would be if Citi made the change retroactively, so that after agreeing to pay 7.99% you were suddenly told, today, that in fact your rate went up on October 1st (for example) and so now your interest over the past 2 months is higher than you were led to believe.  Or if Citi said it's going up TODAY, so you don't have a couple of weeks to make other arrangements.<br><br>I'm beginning with the assumption-- which I realize not everyone may share-- that regardless of when I originally borrowed the money, each and every day that I don't pay it off is the equivalent of another active decision to borrow that same money again.  So if, taking into account all rates and fees, it made sense for me to be in debt to Citi for the past 18 months but it doesn't make sense for me to be in debt to Citi for the next 18 months, then I'll change the situation.<br><br>And do keep in mind another option if you have credit card debt:  who says you have to use the same account for spending needs that you use for storing your debt?  It's still extremely easy to get a 0% card for a 15 month period with the transaction fee capped at $75 or so.  I did it just last week-- $75 for access to an extra $10k for the year, which is now sitting in my Treasury Direct account ($5k) and my wife's ($5k).  This is paying over 5.6% currently, which means my $75 of expense will be converted into over $560 in earnings, for a profit of nearly $500.  (That's an estimate, of course, because I don't know what will happen to the I-bond rate after May 1st).<br><br>But however one uses that money, for a 10,000 debt, that fee is the equivalent of well under 1% APR-- inclusive.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-12-03_21:22:12", "killed": false, "user_key": "78c7fbd620dd8ce645bcd29b3a2c43a9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12/03/2008 09:22 PM", "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}, "21316704": {"up_voted": false, "ip": "", "has_replies": false, "message": "I actually work for Citi, and just to let you all know, other credit card companies are doing this in the future, Citi is just the first to jump on the wagon. American Express has started the increase as well. The mortgage side that received the bailout has nothing to do with the credit card side. They are two different sects of Citigroup. Many of you are all upset and I see why, but its a damn business. If you dont like it, take your business elsewhere. Even though many of you have very oustanding credit scores, that doesnt mean we're trying to not reward you. Your increase could be due to the kind of card you have or many other factors. So like I said, go elsewhere if you dont like it.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-12-06_10:34:07", "killed": false, "user_key": "e090608ad5cec4f3861d188021fcefe5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12/06/2008 10:34 AM", "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}, "21316705": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't think that I can fully agree with nicole's comment above.  <br><br>While it is true that bailout funds are going to citigroup, and from what we are told the money is going to the \"mortgage\" side of the busienss.. This corpoarte line is exactly what  Citi is instructing it's employees to put forward.  Citicards..is if i'm not mistaken a subsidiary or perhaps a division within citigroup, so the money that \"we\" the taxpayers have \"graciously\" provided to the firm will.......most certainly or perhaps indirectly,.. find it's way into all areas of Citi's business since they as a firm had to go the government \"which is BTW just happens to be \"we the people\" for a friggin bailout. This bailout is designed to keep the whole thing liquid, and since they have decided to go after the individual customers to increase revenue across the board, this is a likely strategy from the highest levels of Citi senior management to double dip on the taxpayers et al the \"Customers\"... and to justify this because \"everyone else is doing it\" ................................is ridiculous.   <br><br>Yes credit is a busienss... and unfortunately it's a business without a soul or conscience that seeks financial gain anywhere it can.  Might I also add that credit card companies have also been linked to predatory lending practices, and it is those lending practices that have brought this firm to the point where the CEO has to beg washington for a handout.   So where is the justice for the average joe trying to make a living, using credit wisely.. and just trying to get by in troubled times like these.  <br><br>Oh yes, and the comment about \"if you don't like it\" take your busiensss elsewhere. is the most arrogant and insensitive thing i've read in quite awhile.. i'm sure the Customer Service supervisors would love to know that their employees are pretty much teling their customers to leave. It is pretty clear from the general feeling I get reading these posts, most of Citicard's  really good customers, the same customers they should be courting and  want to keep, will be doing just that, which leaves Citi with less than desireable customers, a higher risk for default, and in a much worse position.. Who ever the genious was who thought up the scheme to raise interest rates across the board should be fired on the spot... Perhaps Vikram should tune into this blog... he might learn a little about what his company's decisions will eventually cost...<br><br>And just to be clear about bailouts, in addition to the 45 Billion being provided to Citigroup for their \"Mortage\" business.......... Sec  of the Treasury Paulson recently indicated that  the government will pump billions more into the \"Credit Card Industry\".... to help lenders free up credit so that average joes will be inclined to use their charge cards, to help get us out of this mess.... unfortunately for the average joe.. using the card will now cost him or her 50 - 80% more than it did last year.. which doesn't make much sense if you want people to use the card...interesting concept... since it doesn't make me want to spend more.<br><br>So....Perhaps those who work for Citi might educate themselves a little more with regard to how much money is actually flowing into the firm and their industry because the way I see it... jacking up our rates is just a really bad way of doing business.. especially when money seems to be pouring in from all directions cause Citi is just to \"importnat to fail?\"..well.... I say.. we the consumers are also to important to fail\".. cause without us.. the whole thing comes to a grinding halt....", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-12-06_12:14:28", "killed": false, "user_key": "e7c887764b2ae673b3108ec62a9fb355", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12/06/2008 12:14 PM", "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}, "21316706": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hi Nicole. I'm Paul.  I agree, I will take my business elsewhere.  You mentioned American Express.  I happen to have one of their cards too.  Another one that I've had for about 10 years.  I will drop their asseTs just as fast, if they decide to pull this.  I remembered to ask my friendly Citi customer service rep if I had any late payments, trashed credit score, etc..  The response was that none of that was the reason. It was simply the \"financial situation\" and he asked that I bear with them until it levels back out.  He stated that they did not want to lose any customers over this.  In the meantime I'm supposed to pay somebody Mercedes payment at corporate. heh screwthatcrap", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-12-07_20:21:50", "killed": false, "user_key": "2ff74a72e558f4b34a8ae06071b38603", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12/07/2008 08:21 PM", "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}, "21316707": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hi this is Andi again, I posted here about a week ago (comment #35)<br><br>I have two cards with Citibank; one for nine years, and one for four.  About three weeks ago, like many Citi customers, I received the \"infamous\" notice letters for both of my accounts.  The rate on one going from 6.99 to 14.99, and on the other going from 8.99 to 16.99.  <br><br>I carry a substantial balance on one of the cards and zero balance on the other.  I've always paid on time, always more than the minimum due, and have a credit score 730+.   I could not afford to simply opt out and have the account closed when my card expires, because this would lower my utilization ratio and severely damage my credit score, so I finally called Citi's customer service today.<br><br>To my surprise, not only was I able to keep my existing rates, but the customer service rep was able to lower the rate on my second card from 8.99 to 7.99.  This was great news for me of course because quite honestly this whole thing had me really stressed out.  They did however, switch one of the cards to a \"new credit line\", which meant that I lost all the Thank You Points network awards, oh well ...<br><br>I was very firm with the customer servise rep, I told them that I was a long time customer, always paid on time, good credit score, so this notice did not make sense to me.  I got the general speech about how the economy is doing and this is affecting their busines, etc.  The rep happened to be nice though and listened and looked for solutions right away.<br><br>My advice to others out there who cannot afford to close their account, fight for your right.  Pick up the phone and call them.  Be polite, but firm.  They have a good customer service so hopefully you can work something out too.<br><br>I am not sympathizing with Citi here, not at all.  I still believe that what they did is wrong and unfair to the customer.  Don't opt out, instead confront and fight for your right!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-12-11_23:04:36", "killed": false, "user_key": "564c465fead8a9500ba35d70e79faf44", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12/11/2008 11:04 PM", "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}, "21316708": {"up_voted": false, "ip": "", "has_replies": false, "message": "This is a serious problem, and sadly... we are the ones who are paying for it with out own tax does going back into the deep pockets of the banks... The government giving these fools 20B for practices, which they will keep doing... Congress is not giving the auto maker companies money without certain rules that they must follow... except they will give BANKS money, with no rules... and we all know.. as Leigh said it best.. \"None of this money is making a difference because the companies haven\u2019t changed their business practices, they are just using the money to continue their failed practices.\"<br><br>I left the USA August 1st.. my Rate was 9%... and I came back on November 1st... and my rate went from 9% to now 18% it has doubled... since I left... and I always paid my bill... and been with the bank now for over 11 years... I just found out yesterday... what my rate was.. because I was opening my old mail.. and never really looked at my rate, figuring it was the same... and I pay all my bills online... so now I just found out.. How crooked is that!!!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-12-18_14:23:33", "killed": false, "user_key": "33ba9265036d0d463090d14b9efd1b29", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12/18/2008 02:23 PM", "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}, "21316709": {"up_voted": false, "ip": "", "has_replies": false, "message": "Just saw on Headline News today 12/18.... they ran a story on this very issue.  Thanks News Media!!  hope all the outlets pick this up.. and BTW nobody at CitiGroup cared to comment or talk to HNN when the reported questioned this practice..... Others are now calling this issue \"Rate Jacking\"... You will also be interested to know that as of today 12/18 legislation passed overwhelming in the House of Representatives which would have prohibited \"Rate Jacking\" is now languishing in the Senate banking committee.  <br><br>Here's a thought.. CrediCard companies donate large sums to elected officials campaigns.. then are tipped off about pending legislation that would prohibit them from conducting \"Rate Jacking\" activities.. so they go ahead and hit us all with a Rate Jacking  increase, while  simultaneously stalling efforts to get the bill signed.  Once signed into law,..the free for all  party on the consumer gets much more difficult to pull off.. all the while,..... we the taxpayers are duped into bailing them out.... I gotta say that the timing of all of this...... Rate Jacking, Billion Dollar Bailouts, and no preconditions on how our tax payer dollars get spent by the recipients of our generosity, and pending legislation now stalled in committee smacks of rampant gamesmanship.   If it looks like BS, smells like BS, then it most likely is BS...", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-12-18_16:29:13", "killed": false, "user_key": "e7c887764b2ae673b3108ec62a9fb355", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12/18/2008 04:29 PM", "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}, "21316710": {"up_voted": false, "ip": "", "has_replies": false, "message": "I received the \"letter\" also. Score is 740+ across all 3. I have 2 cards, Never been late nor been a \"minimum amount\" person. 1 with 25,000 limit &amp; carries a balance of several k every month, but I pay large every month, it works for my needs. 2nd card is 0 &amp; has been for 2 years, 15,000 limit.<br>Card 1 is going from 8.99 to 16.99. Card 2 is unchanged @ 7.99? ???<br><br>Here's the reason for my post though.... Friend with Citi also opted out - currently has a 1,500 balance, just received a call from their customer service saying that because he opted out, they were reducing his credit limit to $250.00!!!! AND that he is now over his credit limit, but as a \"courtesy\", if he will pay off his balance NOW, they won't charge him the over-limit charges.... Looks like they are REALLY looking for anyway to increase their cash flow. He paid the balance off &amp; closed the account, BTW.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-12-18_21:15:43", "killed": false, "user_key": "b3a234a8aa7d13782d05019c9479038d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12/18/2008 09:15 PM", "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}, "21316711": {"up_voted": false, "ip": "", "has_replies": false, "message": "After 22 years of pay four times the minimum, never miss a payment, loyalty to Citi, even when their salespeople tried to sell me every product under the sun in an attempt to suck more change from between the cushions of my life, I find that my loyalty will not be rewarded, nor will it be reciprocated. Stop giving me \"advantage points\" that aren't worth the screen space they take up and which take years to accrue (10 years to buy a stinking blender) and stop promising me refunds, and just keep my bloody interest rate low. <br><br>I have applied for and been given a 7.49% APR Platinum MasterCard which I will transfer my balance to. I will not close my cards out, that would be bad credit card mojo. I will however take them down to a $0.01 balance so that it takes just about a year for them to accrue any interest on it. They can take the interest rate that they doubled on me, from 7.49% to 14.99% and see how much money it makes them with an absolute minimum balance.<br><br>I might be able to reconcile myself to small increases over time if I knew that when the current crisis died down that reason and lower rates would prevail. I have a hard time however, knowing that loyalty is being turned against me to help rescue what turns out to be a blood sucking credit card company from ruin. Not only I am I to be gouged by a doubling in interest, but by being beaten mercilessly with taxes that will be used to rescue said credit vampire from a mess created by mismanagement that their other home finance arm helped create. Did I ask them to make the bright decision to irresponsibly push trash loans for more property than people could afford at interest rates with a surprise ending? I think not.<br><br>Don't forget, not all credit companies are experiencing the kind of self-created nightmare that Citi is. As a consumer, it is your right to shop around. The promises that were made earlier about leaving things status quo, were only meant to avert a wholesale panic, not to give you any real assurance of the stability of your credit status. Those promises were intended to salvage some greedy executives' need to obtain the little bit of your money that is not already his.<br><br>Some interesting advice from the American Chronicle<br><br><a href=\"http://www.americanchronicle.com/articles/view/17619\" rel=\"nofollow\">http://www.americanchronicle.com/articles/view/...</a>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-01-15_22:44:30", "killed": false, "user_key": "4612f9ec596d0590a5a063a7c9783048", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "01/15/2009 10:44 PM", "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}, "21316712": {"up_voted": false, "ip": "", "has_replies": true, "message": "Never missed a payment, but yet my FIXED rate doubled on Citi.  I am going to transfer every balance I have with this<br>company and I hope THEY SINK!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-01-20_18:43:15", "killed": false, "user_key": "593dcb0cefce33f693f84efa813999d9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "01/20/2009 06:43 PM", "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}, "21316713": {"up_voted": false, "ip": "", "has_replies": false, "message": "What's interesting is that they more than doubled my rate from 6.74% to 14.99, told me there was no reason - just couldn't afford to offer that rate. Then I closed the account.<br><br>Then last week, just to see what would happen, I applied for a Citi Card that they advertised with a 6.74 rate - I got it.<br><br>These people have no shame!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-01-20_20:41:20", "killed": false, "user_key": "238325ea42da7cbcc0de2176f64793b7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "01/20/2009 08:41 PM", "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}, "21316714": {"up_voted": false, "ip": "", "has_replies": false, "message": "Phyllis, I'm assuming Citibanks terms on your new card state they can change the terms at any time for any reason? Do the terms include the right to opt-out, if they raise your rates on this card?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-01-21_20:43:24", "killed": false, "user_key": "f3eee854627eada366bf62c133e3d8b1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "01/21/2009 08:43 PM", "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}, "21316715": {"up_voted": false, "ip": "", "has_replies": false, "message": "I just noticed my interest rate went up this month by 3 points, I called citibank and asked for an explanation. They explained that becaue of the economy we had to raise our rates and that  I was sent a letter informing me of this, so if I didn't want my rate increased they wouldn't raise the rate but when my card expired I could no longer use it. then they also gave me another option since I wasn't to happy and was just going to go with closing the card. They said they could lower the card but not back to what it was and wave this months interest rate and this way I could still use the card after the experation date. I went with that plan but am thinking of cancleing it in the future, my chase card has a single digit rate and I was even late with a payment on that card last month.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-01-23_10:36:13", "killed": false, "user_key": "67463ac0fda10751a625a0a5a6b35439", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "01/23/2009 10:36 AM", "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}, "21316716": {"up_voted": false, "ip": "", "has_replies": false, "message": "Like most people who have posted on this website, I have always paid on time and paid above the min payment every month on ALL my credit cards. This month I almost had a heart attack when i saw that my 6.99% interest rate was raised to 11.99%. I was beside myself because I know that I had not missed a payment because I am on automatic payments plus I plug in manually online an additional $50 or so each month. I called  customer service and asked what was going on, and I was feed the same line that everyone else about the economy. I explained to the customer rep that I refused to be punished by their careless planing and if they could not bring the rate back down i was dis enrolling in automatic payments and they were not getting a payment period. i was placed on hold and was later told that they would bring the interest rate to 8.99% and that was the best they could do. I kindly replied, being sarcastic, that they can put it back to 6.99% because in the same January statement the fools included 6.99%  checks. Don't tell me that you cant because you can!!! i was put on hold another time. she comes back and tell me that they are putting it back to 6.99% but I am still liable for the interest. Guess again. i requested to speak to a manager and when i did not hold back anything. i asked what kind of message are you sending to people who are in good faith paying their cards on time when there are people filling bankruptcy for whatever reason. why punish those who are honestly trying to do the right thing? I got both names and ID numbers as well as a case number to the manger who put the rate back to 6.99% and credited me the finance charge. I wish everyone good luck!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-01-23_20:46:33", "killed": false, "user_key": "ed5568c406443ec72f00831fe257421c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "01/23/2009 08:46 PM", "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}, "21316717": {"up_voted": false, "ip": "", "has_replies": false, "message": "I just wanted to add another example of what Citi can do if you call them. The rate on my Citi VISA card went from 13.99 to 24.99. I called yesterday, 1/25/09, to see why the increase. The call rep said it was just a business decision unrelated to anything specific about my profile. The call rep only wanted to know if I wanted to opt out. He didn't offer anything in the way of a slightly improved interest rate or anything else. I wanted to do some research and see what the ramifications of opting out were. I called back this evening and asked to opt out. The call rep I got this evening, without any prompting from me, offered to issue me a Citi MasterCard with a rate of 9.24%, transfer my current large balance to that card with no transfer fees or annual fees, and give me a discount on my current bill to bring it back to what it would have been if my interest rate had never changed. I took the deal. I know there could be trouble in the fine print , but it seemed a good alternative and so I wanted to get word out to people that this option is possible. Call Citi and be polite but firm about your intention to opt out, and see what they have to offer. If you do end up opting out it's not a bad deal. You get to continue with your pre-change card rate, you get to use the card until its expiration date, and after that you can no longer use the card but you can continue to make monthly payments under your old interest rate and minimum payment levels.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-01-27_00:46:24", "killed": false, "user_key": "d8e00eb9e4ab43681c57c9bbb487dac3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "01/27/2009 12:46 AM", "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}, "21316718": {"up_voted": false, "ip": "", "has_replies": false, "message": "The interest rate on my Citibank credit card jumped from 6.9% to 14.9% in one month. I have impeccable credit, no late payments. I promptly paid the balance on the card, when I noticed the interest rate increase. When I asked customer service why my rate jumped, this is the response I got:<br><br>\"Our records indicate your interest rate increased due to a change in your account terms. You were sent notification of the change in terms in November,2008. If you do not wish to accept the new terms, please reply to this message.\"", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-01-30_01:37:37", "killed": false, "user_key": "8589d13c365b1d67009bb0a0a8ebd315", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "01/30/2009 01:37 AM", "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}, "21316719": {"up_voted": false, "ip": "", "has_replies": false, "message": "Amen brother!  I've been notified by one card holder than my interest rate is doubling.  I'm so mad I could spit and to top it off, that is probably just the first one.  Every (democratic) congressman and senator should lose their job over this one!  Just who are they trying to help?  They are making things worse for the common man and fattening the pockets of the companies that caused the mess in the first place.  It would have been a great plan to pay down the credit and mortgages instead of just handing the money over to the wolves.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-02-17_18:59:54", "killed": false, "user_key": "d39b357527e7583353d7633c9aa823c7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "02/17/2009 06:59 PM", "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}, "21316720": {"up_voted": false, "ip": "", "has_replies": false, "message": "What are you talking about dumocrats? They are and were always the problem. They are to blame for the folks who should not have been able to buy homes yet got approved because the DUMOCRATS wanted them to have homes even though they were not qualified. And now Mister CHANGE that everyone thought was so great is throwing Monopoly money into our economy and essentially making your hard earned dollar(if you work) worth 10 cents so in return it will make you have to spend more money on items because of the influx of monopoly money that was no where to be found which makes our dollar worthless.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-02-17_21:28:35", "killed": false, "user_key": "f9fac60dfd067f2130cada108e14ed4b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "02/17/2009 09:28 PM", "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}, "21316721": {"up_voted": false, "ip": "", "has_replies": false, "message": "I was also one of Citi Banks best customers.   No Longer.  The reason they are raising rates on their best clients is because they are desperate for cash.  What happens to most good customers who have balances when they raise rates?   They will pay it off or transfer the balance to a new card who accepts the new balance and pays Citi off. Either way they get the cash. It is will be a long term loss for them as they are losing good customers but they are getting a big intake of cash in a short term to try and off set the losses they are having.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-03-10_15:04:56", "killed": false, "user_key": "580bbe0e430049a8935d6b6ac54db4d6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "03/10/2009 03:04 PM", "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}, "21316722": {"up_voted": false, "ip": "", "has_replies": false, "message": "BETH: Wow are u so right. Let me know where to are taking your business, I'm right behind you.<br>Warren", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2009-03-14_13:22:36", "killed": false, "user_key": "b645c6df09d9fda73d9c8ae7c6c92bbf", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "03/14/2009 01:22 PM", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 21316712, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "21316723": {"up_voted": false, "ip": "", "has_replies": false, "message": "I do not know how you can state what I just read. The interest rate is at the lowest since twenty years ago. Yet today I get a letter stating my 10% Citicard interest rate will increase to 29.99% by August 04, 2009 if I do not opt out. Maybe you have more money than you know what to do with or invest,  but as a school teacher I pay my bills on time especially my citicard. I double and sometimes triple the payment. In life there are times when there are emergencies, but to increase from 10 to 30% is not the way to do business. I will opt out and hopefully I will live long enough to see\"citi-group go completely under. No more bail outs!!!", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2009-07-20_23:28:44", "killed": false, "user_key": "3c43f1c304c127b9bc3334e3ba894ef4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/20/2009 11:28 PM", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 21316666, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "42486035", "user_id": "anonymous", "forum_id": "214864", "hash": 9016978102599691234}, "thread": {"days_alive": 0, "slug": "citigroup_credit_card_rates_going_up_a_mystery", "paginate": false, "num_pages": 1, "num_posts": 65, "per_page": 0, "total_posts": 0, "realtime_paused": true, "id": 42486035, "queued": false}, "reactions_limit": 10, "context": {"show_reply": true, "use_fb_connect": true, "forum_facebook_key": "a754e38c7443c66a17fb4f842187453e", "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: ";
};
// 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 = '4f0bfca82e06c976a1efdd7c783a5fd0';
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=consumerismcommentary' +
		'&t=citigroup_credit_card_rates_going_up_a_mystery' +
		'&ff=' + Dsq.Thread.ff +
		'&default_text=' + 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://consumerismcommentary.disqus.com/citigroup_credit_card_rates_going_up_a_mystery/latest.rss">' + Dsq.Strings.SUBSCRIBE_BY_RSS + '</a> \
			</span> \
		</div> \
		';

		
		

		return html;

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

		html += Dsq.Templates.pagination();

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

		html += Dsq.Templates.reactions();

		


		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>';
		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_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>'))
							+ ' <a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE + '">' + Dsq.jsonData.request.display_username + '</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"> \
				<form action="." method="GET" onsubmit="Dsq.Templates.postComment(' + post_id + ', this, false); return false;"> \
				<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">Subscribe to all comments by email</a></li> \
									<li><a href="#" onclick="Dsq.Templates.setSubscribe(0, this, ' + post_id + '); return false">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> \
				</form> \
			</div>'
			: '')
			+ '<div class="dsq-post-footer"> \
				<div class="dsq-sharing-options" ' + (!display_sharing_options ? 'style="display:none;"' : '') + '> \
					<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 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 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 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 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 class="dsq-button-small">' + Dsq.Strings.REPLY + '</button> \
						<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 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 ' + (reaction.source == 'backtype' ? '<a href="http://backtype.com/">BackType</a>' : '<a href="' + reaction.source_url + '">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 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 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 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 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 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 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 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="" /> 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 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/consumerismcommentary/thread.js'
			+ '?slug='	+ 'citigroup_credit_card_rates_going_up_a_mystery'
			+ '&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/consumerismcommentary/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://consumerismcommentary.disqus.com/citigroup_credit_card_rates_going_up_a_mystery/reply.html';
	this.REQUEST_USER_PROFILE = '/AnonymousUser/';
	this.REQUEST_USER_AVATAR = 'http://media.disqus.com/uploads/forums/21/4864//avatar92.jpg';
};
// 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 {
			return parseInt(chunks[chunks.length-1]);
		}
	};

	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 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/consumerismcommentary/_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://consumerismcommentary.disqus.com/citigroup_credit_card_rates_going_up_a_mystery/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://consumerismcommentary.disqus.com/citigroup_credit_card_rates_going_up_a_mystery/">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>\
		';

		

		
		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.authPost();
		

		html += Dsq.Templates.reactions();

		

		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 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://consumerismcommentary.disqus.com/citigroup_credit_card_rates_going_up_a_mystery/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 ' + (reaction.source == 'backtype' ? '<a href="http://backtype.com/">BackType</a>' : '<a href="' + reaction.source_url + '">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 Consumerism Commentary" 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:42486035" 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'				: 'consumerismcommentary',
			't'				: 'citigroup_credit_card_rates_going_up_a_mystery',
			// 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/consumerismcommentary/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/consumerismcommentary/citigroup_credit_card_rates_going_up_a_mystery/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 onclick="Dsq.Popup._closePopup(null, true)"><strong>' + Dsq.Strings.NO + '</strong>, ' + Dsq.Strings.NEVER_MIND + '</button>&nbsp;&nbsp;&nbsp;<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/consumerismcommentary/thread.js'
			+ '?slug='	+ 'citigroup_credit_card_rates_going_up_a_mystery'
			+ '&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/consumerismcommentary/thread.js'
			+ '?slug='	+ 'citigroup_credit_card_rates_going_up_a_mystery'
			+ '&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/consumerismcommentary/subscribe.js'
				+'?status=' 	+ status
				+ '&slug='		+ 'citigroup_credit_card_rates_going_up_a_mystery'
				+ '&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 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 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.updateDaysAlive = function() {
		var days = Dsq.$('dsq-thread-days-alive').value;
		var status = Dsq.$('dsq-thread-settings-status');
		Dsq.Utils.postToUrl('http://disqus.com/forums/consumerismcommentary/update_days_alive.js', {days:days,thread:Dsq.jsonData.thread.id});
		status.innerHTML = 'Saved!';
		window.setTimeout(function() { status.innerHTML = ''; }, 1000);
	};
};
// 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/42486035/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/consumerismcommentary/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/consumerismcommentary/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-21316659">\
	 <div id="dsq-comment-header-21316659" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316659" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316659">Leigh</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316659" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316659" class="dsq-comment-message">All of this "Bail out" money is going to companies to fix their bottom lines with no guarantee they will do anything for the consumer. If a Bail out is put in place for Credit Card companies, the money needs to be paid to consumers first. We can then pay down our credit card balances and help ourselves and the credit card companies. Of course the problem is that many wouldn\'t use the money that way. <br><br>It makes me sick to see all of this money going to companies that then decide the money is best used to buy another bank or throw another lavish party. If instead of buying troubled mortgages, the government paid off or paid down mortgages, the benefit would be to the general public and the mortgage companies. <br><br>None of this money is making a difference because the companies haven\'t changed their business practices, they are just using the money to continue their failed practices. Of course this is preaching to the choir... So I will stop now.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316660">\
	 <div id="dsq-comment-header-21316660" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316660" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316660">Barb</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316660" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316660" class="dsq-comment-message">Interesting; I\'ll have to take a closer look at my Citibank statement the next time it comes. Luckily that\'s the card that I\'ve paid off (and pay off in full each month); I\'d be scrod if Chase did the same thing.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316661">\
	 <div id="dsq-comment-header-21316661" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316661" class="dsq-comment-cite">\
	 <a id="dsq-author-user-21316661" href="http://www.crackinsurance.com/" target="_blank" rel="nofollow">Mark</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316661" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316661" class="dsq-comment-message">I don\'t think this is much of a mystery. Citigroup is in deep trouble and they are trying to cut expenses where they can and raise revenues where they can. There\'s no question that the people that keep a credit card balance may likely have a lower credit rating, making it less likely that they can even get a credit card from another institution. So they\'re sort of in a bind, meaning that Citigroup will take advantage because it has to.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316662">\
	 <div id="dsq-comment-header-21316662" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316662" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316662">Oscar</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316662" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316662" class="dsq-comment-message">Mine actually went down a full percentage point without my asking for it.  This was after I had asked them to lower it about 4 months ago, which they lowered significantly at the time.  I have been really working on improving my credit score and it appears to be paying off.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316663">\
	 <div id="dsq-comment-header-21316663" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316663" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316663">Brian</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316663" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316663" class="dsq-comment-message">"That, or Citigroup is taking advantage of otherwise innocent Americans"<br><br>You think?  While I don\'t entirely agree with the use of innocent in this context, as people sign themselves up for this ride, I do agree in the sense that credit card companies do indeed renege on their word often and prey on their customers.  If a restaurant or retailer treated you like this, would you go back?  I highly doubt it, which makes America\'s relationship with credit cards so confusing.<br><br>Perhaps the silver lining is that Citigroup is losing money because people are wising up to these ridiculous shenanigans... we can only hope.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316664">\
	 <div id="dsq-comment-header-21316664" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316664" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316664">Margo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316664" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316664" class="dsq-comment-message">I was attending a corporate event in Winston Salem NC today.  We took a bus past Citi\'s NC call center which has the very ironic "We\'re Hiring" sign on the building...the banner has been up there for at least a year.  I wonder if they will have to take it down?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316665">\
	 <div id="dsq-comment-header-21316665" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316665" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316665">Bob</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316665" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316665" class="dsq-comment-message">This is simply one of the dozens of reasons to not use credit cards.<br><br>They make the rules, and you have to play by them.  One of the rules is they can chage those rules whenever they want.  Yet people still do business with them.  Mindboggling.<br><br>Stop using credit cards completelty.  Cut them up.  Cancel the account.<br><br>Then this announcement won\'t matter.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316666">\
	 <div id="dsq-comment-header-21316666" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316666" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316666">kitty</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316666" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316666" class="dsq-comment-message">Like Mark, I don\'t see the mystery either. Citygroup is in trouble, they have losses, so they need income. Citygroup bond yields is up with yields-to-maturity of over 9% -- so if you want to risk lending your money to Citygroup, you can buy bonds with this much yield. I am actually considering it.<br>Also, in current economy, the risk of credit card defaults is high. Higher risk = higher rates. This is basic business.<br><br>"t some large part of our taxpayer money might go to rescuing credit card companies." <br>hat exactly do you mean by "credit card companies"? All banks are involved in credit card business, and many banks can get taxpayer money. As to credit card companies specifically - Discover, AmEx, Visa and Master Card - then only first two of them are directly involved in lending: Discover and AmEx. As far as I know Discover hasn\'t asked for government money yet, but since it is a bank it may in future. AmEx just became a bank holding company, and asked for money. <br><br>As to Visa and Master card - they are NOT involved in lending. AT ALL. They don\'t set interest rates - banks that issue these cards do, they don\'t profit from fees or interest, they don\'t suffer losses in customer defaults.Visa and Master Card get their profit only from merchants - 2 or 3% on each purchase. This is their business model. Moreover, they get their profit regardless of if you use Visa or MC branded credit card or debit card (used as credit). As long as you pressed "credit" when you made a purchase, the merchant will pay to Visa or Master Card. Since these companies aren\'t banks they aren\'t eligible for government bailout; since they do not suffer losses in credit card defaults, they don\'t need to ask for money. Sure if people buy less, they make less money, but these companies don\'t lose money.<br><br> For some reason posters and blogger here seem to make a distinction between credit card companies and banks. They blame "credit card companies" for lending policies even if half of these companies have nothing to do with these policies. Yet, the banks that you do business with every day are responsible for these policies you don\'t like. When you deposit your money in a bank, the bank will use this money for lending, including for credit card lending. So indirectly, by earning interest, you are also profiting from credit cards.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316723">\
	 <div id="dsq-comment-header-21316723" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316723" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316723">Crystal Wyatt</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316723" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316723" class="dsq-comment-message">I do not know how you can state what I just read. The interest rate is at the lowest since twenty years ago. Yet today I get a letter stating my 10% Citicard interest rate will increase to 29.99% by August 04, 2009 if I do not opt out. Maybe you have more money than you know what to do with or invest,  but as a school teacher I pay my bills on time especially my citicard. I double and sometimes triple the payment. In life there are times when there are emergencies, but to increase from 10 to 30% is not the way to do business. I will opt out and hopefully I will live long enough to see"citi-group go completely under. No more bail outs!!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316667">\
	 <div id="dsq-comment-header-21316667" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316667" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316667">kitty</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316667" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316667" class="dsq-comment-message">"Stop using credit cards completelty. Cut them up. Cancel the account.<br><br>Then this announcement won’t matter."<br><br>If you pay your bill in full every month then this announcement wouldn\'t matter either. I couldn\'t care less if they raise my rates - AmEx just did. So? I don\'t plan on paying these interest - never have never will. But I find credit cards very convenient, so I have no reason  not to continue. As to "reneging on their word" - they told that the interest rates can go up at any time, and the credit card users agreed to these terms. You don\'t like higher interest rates - cancel your card.<br><br>Also, I would like to ask the posters here a question, at least to those that have money. Under which conditions would you be willing to lend to a) people you don\'t know b) without a collateral c) interest-free for at least a month, so those who live within their means will repay the loan without any profit for you and those who don\'t return the money within this period are obviously irresponsible and hence present higher risk. Think how high the reward needs to be for you to justify this risk. Think if you\'d like an option to raise rates if a) you find out that the person is poorer risk than you\'ve thought and b) you start experiencing a lot of defaults and losing money.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316668">\
	 <div id="dsq-comment-header-21316668" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316668" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316668">Brian</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316668" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316668" class="dsq-comment-message">Kitty-<br><br>  My statement on reneging on their word concerned Citigroup\'s Congressional pledge of "A Deal is a Deal", which included not invoking universal default and only raising interest rates biannually (when cards come up for renewal).  Pretty clear-cut case of reneging.  And to answer your quesiton, I personally would never lend money, as I strongly disagree with the practice.  If I\'m going to dole out some cash to someone, I\'m not planning on getting it back.  I do a lot of giving, but am selective when and where I do it.<br><br>I did not find credit cards convenient - in fact, they were a huge hassle to me since I prefer to pay for it and be done.  I find it to be much more convenient to actually pay for something at the time you buy it rather than add an extra step by involving a company chomping at the bit for you to make a mistake so that they can take more of your money.  No thanks.  If you have the money, just pay for whatever it is... no need to fool around.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316669">\
	 <div id="dsq-comment-header-21316669" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316669" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316669">kitty</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316669" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316669" class="dsq-comment-message">Brian-<br>I\'ve not been aware of any credit-card related conditions to the bailout which is why I misunderstood you. I certainly heard about the credit-card related bill in congress. I also heard that consumer union wanted for it to be part of bailout, but that banks opposed it. What I haven\'t heard about was that any provision of this bill has ever passed or that any credit-cards-related condition made it into a bailout. If you had seen it, could you please provide the link?<br><br>You say you strongly against all lending? Or just consumer? Are you against student loans, business loans or mortgages as well? Just curious. <br><br>"If you have the money, just pay for whatever it is… no need to fool around."<br>This depends on your definition of "having money". My net worth is around 970K (down from a little over 1M last year... ouch - lost over 100K this year), but 400K of that is my paid-off home, so it doesn\'t count; and half of the rest is retirement , so I guess this doesn\'t count either since I cannot touch this money yet.  This doesn\'t really leave that much available money, only about 280K, about 110K of which is in cash/CDs and the rest invested - mostly in stocks, a little bit in bonds. So, I am not sure if this counts as having money, but it\'s still more than enough to pay off any credit card bill in full especially since I am not normally a huge spender. I don\'t have any debt other than my last month\'s credit card purchases (about 1K this month) which they will deduct on the 29th. <br><br>As to credit cards, I certainly respect someone\'s decision not to use them for whatever reason. As with any tool some people find it useful, others hate it. I find them convenient because a) I don\'t need to carry cash around b) in case of a fraud, the money aren\'t deducted from my account immediately as with debit cards, but I have time to reject the charge c) I get cash back - not much money, but it\'s free, and I like free money  d) I have over a month float which allows a little extra interest and a little more flexibility. In some cases this extra month float makes a difference between completely cash-flowing an expense rather than transferring money from savings. e) credit cards are almost a requirement on international trips.<br><br>BTW - I had very little money when I got my first credit card a couple of months after I started working after grad school, and somehow I figured out that if I pay the bill in full I pay no interest and if I don\'t, I\'ll pay very high interest. Guess what - my then 40-something parents who could barely speak English at the time figured it out too. They also have never carried a balance. If some refugees from a communist country could manage to use credit cards without paying interest why do so many Americans feel they cannot do it without some kind of regulations to protect them?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316670">\
	 <div id="dsq-comment-header-21316670" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316670" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316670">Tyler</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316670" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316670" class="dsq-comment-message">They say theyre raising APRS by 2~3%?! Just got my letter, Im going from 7.49 to 15%...thats a 7.49% jack. Good thing my account doesnt expire for 3 years...OPT OUT HERE I COME!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316671">\
	 <div id="dsq-comment-header-21316671" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316671" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316671">kitty</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316671" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316671" class="dsq-comment-message">Brian, never mind I saw the link about 2007 pledge in exchange for some regulations being lifted. But Citygroup also promised to repay its own debt - the one it made when it issued bonds. <br><br>Yes reneging on one\'s promise is bad. Bankruptcy is also reneging on one\'s promises too as is defaulting on any of the debts. If Citygroup goes bankrupt it will have to renege on its promised to repay its own debt - so either way it will have to "renege". <br><br>How many of City\'s customers are reneging on their promises now to repay their debt?  Because a lot of people are reneging on their promises to pay their debts, 53K of Cutygroup\'s employees will be laid off soon. Not CEOs or greedy executives who made bad decision - regular people like you and me. Should City continue to hold the rates steady in the environment when it is losing money every quarter in defaults and maybe lay off any more people?  How many people do you think will lose their job if Citygroup goes bankrupt? <br><br>This  company is fighting for its survival. When one is fighting for survival, one sometimes reneges on one\'s promises. Would you not steal food if your child was hungry? <br><br>It\'s our money too. The government will probably not going to let Citygroup fail. So City will need more money. Would you rather people who overspend pay more in interest or would your rather this money come from your pocket in form of additional bailout money for the part of Citygroup\'s losses that may be offset by this higher rates?<br><br>I suggest everyone who\'s been on the moon lately and thinks of all the credit card "companies" (whatever it means since as I said neither Visa nor Master Card does any lending or has any financial problems)  make huge profits checks out Citygroup stock on Yahoo finance and reads the latest news.  Then maybe you\'ll understand why City had to raise its rates. Yes V and MC make profits, but they aren\'t doing any lending. AmEx, Discover and all the banks are losing money.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316672">\
	 <div id="dsq-comment-header-21316672" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316672" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316672">Tyler</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316672" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316672" class="dsq-comment-message">Fine by me, they\'ll simply have a ton of customers paying off their debt and leaving. Why would I keep a 15% APR CC? Makes no sense. Not sure how they selected people to raise rates but about 1.5 years ago I ran up my CC to about $4,500 and have consistantly paid it every month and now its at like $750. It\'ll be paid off shortly and all the 15% APR will do is drive *me* away. Not sure how I qualified to have my rate doubled...Im an easy, safe source of income from them that theyre losing. Seems stupid in my opinion.  Bye Citi! Ill spend my money elsewhere.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316673">\
	 <div id="dsq-comment-header-21316673" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316673" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316673">Anna</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316673" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316673" class="dsq-comment-message">We have a CITI card at 5.99% and on the last statement it said it is going to 24.99%!!!!!!!!  Opt out is right!  <br>American Express is also lowering people\'s credit limit to a few hundred over what you owe. I even read where one person paid hers off, went on vacation, and when she went to use it found out they had lowered her limit down to $500.  This makes no sense to those of us who do pay our bills on time and have good credit scores.  There have been times we had to use credit and now this.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316674">\
	 <div id="dsq-comment-header-21316674" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316674" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316674">harm</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316674" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316674" class="dsq-comment-message">Go for the cash if you go for anything. Last year I was eligible for a couple of free tickets from a Chase/ Southwest Airline miles card, and just couldn\'t use the miles, due to restrictions. I learned my lesson, SHOW ME THE MONEY, LoL.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316675">\
	 <div id="dsq-comment-header-21316675" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316675" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316675">kitty</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316675" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316675" class="dsq-comment-message">Tyler, they probably raised rates for everyone. American Express raised my rate to 22%, and I\'ve never paid a penny in interest in many years I had their card; I even have automatic payment of full balance set up i.e. they take whatever balance there is at the end of the month automatically from my checking, so they know there is no chance in hell, they\'ll get interest from me. <br><br>What you guys don\'t seem to understand is that in the current environment credit got more expensive.  All credit, consumer, corporate, even municipal. Even McDonald has trouble getting loans. It\'s not the issue of how good a customer you\'ve been or how well you paid until now; it\'s the issue of higher cost of credit for everyone. Bond market reflects it nicely - hey if you want to, you can lend your money to AmEx at over 9% rate. <br><br>If you don\'t like it, you can vote with your feet - it\'s your right.  You may even find some 0% offers if your credit is good, I am surprised you haven\'t taken advantage of it before. I am sure they expect some people to cancel - but these aren\'t likely those who bring them more money anyway.   How much money is Citi going to lose from your leaving. The interest on your $750 until you pay it off? This is pocket change to a bank. After that, presumably you are going to pay in full, right? This means they\'ll be losing money on you. Remember merchant fees go to Visa and Master Card, your interest goes to a bank. If you pay no interest, bank is not making money. So why should they care if you are leaving?<br><br>Harm, this is why I don\'t use cards that give miles, only those that give cash backs. Nope, I am not going to cash, I am doing quite fine with cards, thanks.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316676">\
	 <div id="dsq-comment-header-21316676" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316676" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316676">Steven</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316676" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316676" class="dsq-comment-message">I just got a letter in the mail.  I have perfect credit and for the last 4-5 have enjoyed a rate of about 7.99 percent.  Now it\'s going up to 14.99% (LIBOR+11.99%).  Sad part is that because I was unemployed for 6.5 months I charged mostly everything to it...food and gas mostly.  I hope this didn\'t push me one step closer to BK.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316677">\
	 <div id="dsq-comment-header-21316677" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316677" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316677">rth</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316677" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316677" class="dsq-comment-message">I hope everyone does what I am doing and make them pay for this.  Look at all your Gas and Store brand cards, you may be surprised at how many are processed by Citi.  I\'m closing all of my accounts that are linked to Citi and letting them know my purchases in the future will be at their competitors that do not use Citi to process their cards.  Phillips, Exxon Mobil, Lowes are all Citibank.  BP and Home Depot are GE bank.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316678">\
	 <div id="dsq-comment-header-21316678" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316678" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316678">rth</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316678" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316678" class="dsq-comment-message">Sorry got my statements mixed up.  Lowes is GE bank, they get to keep my 2-3k a year home repair costs.  (Crappy builder that went out of business during the mid 80\'s housing downturn)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316679">\
	 <div id="dsq-comment-header-21316679" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316679" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316679">Will</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316679" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316679" class="dsq-comment-message">What gets me here is the article states a "2% to 3%" increase in rates.  I have a Citi PremierPass, which they just "upgraded" to World Elite level, with a 9.99% APR.  Under the new terms it increases to 16.99%.  I pay my acount balance in full every month and have done so for years and I have great credit.  Why are they raising my rates this much?  When I called in to ask why my rates are going up, I got a story about the economy is bad and this is how they are responding to it.  What??  <br><br>I opted out and I\'m closing my other Citi (AAdvantage) card.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316680">\
	 <div id="dsq-comment-header-21316680" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316680" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316680">kitty</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316680" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316680" class="dsq-comment-message">"When I called in to ask why my rates are going up, I got a story about the economy is bad and this is how they are responding to it. What??"<br><br>Go to <a href="http://www.cnbc.com" rel="nofollow">www.cnbc.com</a>. Read all the headlines on Citigroup. Then maybe you\'ll get the idea why they are raising your rates. Citigroup\'s stock is under $4, it is about to lay off 53K people, and everyone is wondering if they\'ll be able to come up with a convincing message by Monday that they have enough capital.<br><br>Really, you must be on the moon not to know that all financial companies are struggling, especially Citi and that they need to increase they are profits. As they say - "it\'s not personal, it\'s just business". You don\'t like a business, you don\'t have to use it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316681">\
	 <div id="dsq-comment-header-21316681" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316681" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316681">Paul</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316681" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316681" class="dsq-comment-message">Both of my CitiGroup Cards rates went down 1 point but now both with in this last week I have received letters telling me they are going to jack up my rate. Well HAHA Citi I\'m shredding your companies cards right this moment. You raise your apr you lose me as a customer.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316682">\
	 <div id="dsq-comment-header-21316682" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316682" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316682">Paul</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316682" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316682" class="dsq-comment-message">Citi looks like they are going to go under if they keep treating their customers like this garbage. On one side that would be horrible but on the other it would be great. The only thing is I bet a lot of folks can\'t just pay off their cards because of too much credit debt. LET\'S MAKE CITI GROUP PAY!!!!!!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316683">\
	 <div id="dsq-comment-header-21316683" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316683" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316683">kitty</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316683" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316683" class="dsq-comment-message">"On one side that would be horrible but on the other it would be great. The only thing is I bet a lot of folks can’t just pay off their cards because of too much credit debt. LET’S MAKE CITI GROUP PAY!!!!!!!"<br><br>Sure Paul, it\'s great that hundreds of thousands of people who work for Citi will lose their jobs. They are already planning to lay off 53K people next year. If they go out of business, how many more will lose their jobs? How many of these people do you think were involved in the decision to raise your rates? Oh, and think what the effect this will have on our already bad economy? <br><br>A question to you and those screaming murder at the time when Citi stock is under $4, they had 5 quarters of net losses, their laying off 53000 people and every analyst on Wall Street screams how this is not enough. If you had a business that was barely surviving, the costs of doing your business like buying parts suddenly increased, you had to lay off a lot of people, what would you do? Would you try to increase your profits by raising prices on your products even if some years ago when the economy was great and cost of doing business much cheaper or would you go out of business - which means you will not be able to repay your own debts and most of your employees will be laid off? Yes, if you raise prices, you\'ll lose some customers. But if you don\'t do it, you\'ll go out of business. Think what you\'d do.<br><br>Loans is Citibank\'s products. Interest they get is their profit. Losses they experience is the cost of doing business. Their cost of doing business went up significantly and unexpectedly. What would you do in their place? Try to raise profits or lay off a lot more people in addition to 53000 you already plan to lay off.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316684">\
	 <div id="dsq-comment-header-21316684" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316684" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316684">nathan aaron</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316684" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316684" class="dsq-comment-message">Well, now that the government is bailing them out, you think we\'ll get a new letter letting us know our rates won\'t go up? (I bet not.) I\'m not sure if when your apr goes up, so does your monthly amount due, but there is simply no way I can pay any additional monthly money to Citi. It\'s seriously not possible on my budget/income. (And mine is also doubling from 7.49 to 14.99 APR)<br><br>If you opt out, you have until the end of your contract, or your expiration date on your card (which is 9/09 for me.) What happens after that? They close the account, and you continue paying, or they expect it all up front?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316685">\
	 <div id="dsq-comment-header-21316685" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316685" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316685">BaldyInDelaware</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316685" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316685" class="dsq-comment-message">Saturday I received my “Change In Terms Notice” in the mail - what a joke.  I’ve had the card since the 80’s, haven’t rotated a balance or paid interest on any credit cards in years.  Why? Why? Why?  Just in case I checked my FICO score - it’s in the 780’s.<br><br>It’s not even worth my time to call and ask why – all you have to do is read the headlines.  I just feel bad for everyone who is having a hard time right now…this makes it even worse.<br><br>My words of wisdom -  “Create a budget - stick to it  and  Live Within Your Means”</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316686">\
	 <div id="dsq-comment-header-21316686" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316686" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316686">Paul</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316686" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316686" class="dsq-comment-message">Um Kitty to me it seems like you are siding with Citi Group. I don\'t mean to make this political but the democrats are the ones who wanted banks and places like Citi Group to approve people who would not normally be able to afford certain loans or lines of credit. Me for one I should not have been approved for some credit cards but I was intelligent about the way I used them a lot of people WERE NOT! So when push came to shove they could not make ends meet and defaulted on loans and credit. So now we lose their buying power and it\'s a snowball effect. I still say screw Citi they can manage their costs better just like the Big 3 in detroit! Cut costs buy not giving their CEO\'s that do jack shit millions of dollars and see where their budgets are then!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316687">\
	 <div id="dsq-comment-header-21316687" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316687" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316687">nocreditcardsforme</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316687" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316687" class="dsq-comment-message">Why not just charge your federal taxes to your Citigroup credit card?  Then stiff them on the payment.  The IRS can\'t go after you because they already have their money.   If that fails, send the bill to Wall Street.  Amex too, they\'re fishing for a tax sponsored bailout.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316688">\
	 <div id="dsq-comment-header-21316688" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316688" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316688">Pat</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316688" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316688" class="dsq-comment-message">I just received a letter in the mail my APR was going from 10.99% to prime PLUS 10.99%. Never had a late payment never carried balance over 20% of my credit line.I\'m glad my shredder is in working order<br><br>I saw where you can opt out and keep your current rate till your card expires. That\'s about a year for me.Then Citi cancels it. If you don\'t opt out changes start in like 3 weeks!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316689">\
	 <div id="dsq-comment-header-21316689" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316689" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316689">CreditCardsSUCK</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316689" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316689" class="dsq-comment-message">#26 Nathan Aaron:<br><br><br>If you opt out, you will be able to continue to use your card until the end of the year OR the expiration date of your current card (whichever is LATER).  <br><br>At that point, you can continue to pay your card down under the current terms, but cannot make new purchases.<br><br>You will NOT be asked to pay the balance in full at the end of your term.<br><br>I opted out. 5.99% to 14.99%. Yeah RIGHT!<br><br>Only bummer is that my credit limit was over $17K. All other cards only give me like $4k.  Oh well I shouldn\'t spend that much anyway!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316690">\
	 <div id="dsq-comment-header-21316690" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316690" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316690">Rascal</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316690" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316690" class="dsq-comment-message">Thought I\'d throw in my two cents as well.  Looks like we\'re on the hook for the 45 Billion one way or another. Whoo Hoo!  Just got my "letter" today, my rate went from 7.99 Fixed, to 14.99 Variable... WTF... that if my math serves me right appears to be a whopping 50% increase in interest on every purchase.. Oh, and they conveniently forgot to put an explaination in the letter.. so when I called their CS reps they didn\'t know anything about the increase, so I had to wait on hold with some lame A-- elevator music for 20 minutes unitl a "Supervisor" got on the line to explain that they are eliminating all fixed APR accounts, increaseing the rates to be "more in line with their business"  That\'s horse--!   I\'m a good customer, never been late on a payment in my life.. 20+ years worth !!!    Took me all that time to earn a good fixed rate, and because some friggin --holes in the mortgage and banking side of the group decide to get greedy and make really really  really bad business decisions with regard to loaning money.. guess who has to pay for it.. we all do.. us - our kids, grand kids, and generations long after we\'re all dead n gone.  I say, since i now have a defacto stake in their business, they owe me a copy of their spend plan for this bailout BS... I\'d be willing to bet that some of those GWs will find their way into their charge card lines of business... why?  because they\'re all interconnected - so... unless someone can provide this plan, and verify for sure that none.. and I mean none of that 45+ Billion in our money is going into their CC lines... i\'ll be skeptical...So lets see.. why don\'t they take their CEO and Senior Executive bonus pools and put that money back into their business model, they they can pay themselves interest and put that back into the business....<br><br>or.. how bout this ... and mark my words.. within the next 6 months or sooner you will see Brian Williams on NBC say this... Breaking News... the government will now give Citigroup 100 Billion to bail out it\'s charge card business in addition to the 300 Billion already earmarked this year". You gotta figure those rotten SOBs have got that all figured out too.  I\'m not usually a conspiracy theorist, but you gotta wonder given all of the recent events this year.. perhaps this is the mother of all cons and we are the unwitting participants.... <br><br>As it was explained to me.. you can "Opt out".. which is something I may consider at this point.  My issue with this is that they are blaming the current lending environment as the reason for the increase, an environment which they themselves helped to create, and we the customers &amp; taxpayers and ironically "those who are responsible for the bailout", are now being asked to poney up.. Well - here\'s thought.. since I now by default own a part of their busieness.. WTF are they gonna do for me. as a matter of fact.. since we all collectively own about 7 Billion in stock now, we should then have a pretty influential proxy vote. So let\'s collectively vote to keep our APRs the same.. Hey we\'ve done our part, we made our payments on time. lets make them do their part.. since we\'re the one\'s that are gonna save their A--... Oh and BTW.. bailouts in my opinion should include some very harsh performance measurements.... when are we going to see those in the news?... <br><br>The way I see it, we the people who pay our bills on time. should not be penalized for the stupidity and greed of a system that will always seek to be dishonest.  Oh.. and they can take the 400 Mil they want to spend on a  friggin sports venue and put that back into their so called "business model" too... and.. they can stop sending me stupic assed credit card offers too.. rotten bastards... can I sue them or harrassment if they continually send me unsolicited CC offers, even after i have written to them numerous times to stop sending them?.... I know here\'s a compromise.... they can pay off my balance and I won\'t consider legalities.... <br><br>Speak up America!.. Speak out for the poor wallet\'s that don\'t have a voice...or at least the right to keep your APR the same..</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316691">\
	 <div id="dsq-comment-header-21316691" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316691" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316691">Anon</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316691" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316691" class="dsq-comment-message">My credit scores are 739, 723, and 741. I do carry a very large balance with Citibank, but have always paid on time. This excerpt from Citibank\'s letter to me: "We are increasing yoru variable APR for purchases. Your purchase APR will equal the U.S. Prime Rate plus 18.99%, with a miniumum APR of 24.99%". A change from 10.49% to 24.99%? I opted out.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316692">\
	 <div id="dsq-comment-header-21316692" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316692" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316692">Citi Card holder</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316692" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316692" class="dsq-comment-message">Got my Opt out letter in the mail last night. im at 6.79 rate now and they want to jack me to 14%. This is the best card i own and now if i want to keep the thing ill have to pay over 450.00 in payments a month. Some of us need these cards right now and hell they just got a BIG bail out yesterday and still doing this high rate BS i told the lady i would think about it. I also never have been late on my card and she said i can OPT out and my account ends in 2 years. I just got my rate lowered and this BS happnes.  <br>Treasury and the Federal Deposit Insurance Corporation will provide protection against the possibility of unusually large losses on an asset pool of approximately $306 billion of loans and securities backed by residential and commercial real estate and other such assets, which will remain on Citigroup’s balance sheet. As a fee for this arrangement, Citigroup will issue preferred shares to the Treasury and FDIC. In addition and if necessary, the Federal Reserve stands ready to backstop residual risk in the asset pool through a non-recourse loan.<br><br>In addition, Treasury will invest $20 billion in Citigroup from the Troubled Asset Relief Program in exchange for [$27 billion of] preferred stock with an 8% dividend to the Treasury. Citigroup will comply with enhanced executive compensation restrictions and implement the FDIC’s mortgage modification program<br><br>This is BS they get a bail out and still saying they have to raise up my rate. I told the lady last night how much the bail out was for them and she said O it cant be that much. Yea.. Its our hard earned TAX money thats bailing them out and this is how they re-pay us raise our rates. Most of us will not come back to them after going back on there word. what good are you with out your word..</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316693">\
	 <div id="dsq-comment-header-21316693" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316693" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316693">Andi</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316693" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316693" class="dsq-comment-message">I just got my letter in the mail too, this is very unfair.   My new rate is 14.99%, the old one was 6.9%.  I carry a substantial balance on this card, which is another strong reason for me to opt out of this trap.   The sad part is that all my other cards (and I have very good credit, always paid on time) are no longer offering  balance transfers to me as of this last month.<br><br>Rates should go up when customers do not pay on time, basically when you are delinquent on your account and not because Citi is going down (actually they\'re getting bailed out by the government).   I am fully aware of the current economic situation, but that does not mean credit card companies can do whatever they want.  Who protects the customer?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316694">\
	 <div id="dsq-comment-header-21316694" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316694" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316694">Cara</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316694" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316694" class="dsq-comment-message">They said that they were only raising interest rates on average 2-3%.   Mine was raised from 7.99 to 14.99%.  Everyone I have talked to has a similar hike.  <br><br>I have opted out.  <br><br>Do not use your card ever again.  Do not give them one more penny than you are obligated to repay them.  If you continue to use their card, remember that they will get a transaction fee.  Those jerks don\'t deserve it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316695">\
	 <div id="dsq-comment-header-21316695" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316695" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316695">Rascal</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316695" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316695" class="dsq-comment-message">Just sent this issue to NBC Nightly News  - hope they do a story on these SOBs.. especially since we the taxpayers and customers who just got our APRs hijacked... have graciously decided to bail their Asses out. to the tune of billions of dollars.. Oh ahd what about today\'s message from Sec Paulson.. 800 billon more to spur consumer spending.. how the F*** is raising the APRs of otherwise solid customers going to get people to go out and spend on Black Friday?.. Tell Citibank to fire the genius who came up with the idea to raise APRs across the board to increase revnues.... In the long run they will just lose valuable and loyal customers... but then again, if they run their business like that it\'s no wonder that they need billions in taxpayer bailout cash.. Hmmm......wonder what board meetings are like at Citibank.. maybe like the <a href="http://careerbuilder.com" rel="nofollow">careerbuilder.com</a> commercials with chimps from the superbowl a few years back.?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316696">\
	 <div id="dsq-comment-header-21316696" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316696" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316696">Contrarian</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316696" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316696" class="dsq-comment-message">I have a different take on this issue.  If, like me, you have a decent credit score and a balance you can pay off without much stress, don\'t opt out.  Negotiate: loosing your credit line with Citi could hurt your credit score, making you more likely to hit the radar screens of other lenders who are itching to reduce their exposure to the consumer.<br><br>I got the same Notice. The rate on my Home Rebate card, Citi told me, was going from 8.99% to 14.99%.  At first, I was angry.  I have a zero balance on my card, a perfect payment history, and I\'d just paid off tens of thousands of dollars in Citi private student loans in the last year, just one year after grad school, at time most people were defaulting on their loans (yes, I\'m lucky I have a job that pays a decent salary, but I also didn\'t buy any furniture besides a bed, and I chose to live in Queens rather than in the Upper West Side in Manhattan).<br><br>But then I picked up the phone and called the opt-out number.  Gimme a break, I say; I\'m just the kind of customer you don\'t want to lose at this time.  Well, I can\'t help you, dude; our cost of borrowing has gone up, and look, you\'ve got the lowest rate we now have, some chap says.  <br><br>Can I speak with a manager, then?  Two minutes later, he comes back. No manager is available, he says, but alas! I\'ve found a way to cut your rate to about 10.99%. I took the offer, and then followed up with an email appealing the lowered rate.  We\'ll see what happens.<br><br>Bottom line: Overreacting by closing your card could hurt your credit score.  Consider negotiating.  I don\'t plan to carry a balance EVER, but I\'ll fight for the best offer I can get from lenders --  zero-percent offers, points, cash, and the lowest cost of borrowing out there. You might want to do the same.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316697">\
	 <div id="dsq-comment-header-21316697" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316697" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316697">flygirl</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316697" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316697" class="dsq-comment-message">Received my letter yesterday. Same as some above - fixed 7.9 jacked to 14.9. I called and asked why I, as a good customer of over 4 years, am being penalized for other people\'s bad decisions? The rep kept repeating his canned scripted response. So at the end of July I will no longer be a Citi customer.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316698">\
	 <div id="dsq-comment-header-21316698" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316698" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316698">MAD MARY</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316698" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316698" class="dsq-comment-message">I received a letter from Citicard stating that my rate was increasing from 7.99% to 14.99% - an increase of 87%.  I have had the account for 6 years and have always paid my bill on time and have a FICO score of 725.  I contacted Citicorp and was told that since I have a good credit and payment history, my rate would only be raised to 10.99%, still an increase of nearly 40%. I asked how they could justify the increase and was advised that the cost of doing business is increasing.  I reminded the representative that Citicorp had sufficient cash to purchase Wachovia, so they couldnt possibly be doing that bad.  I spoke to 6 different people about lowering my rate and finally talked to someone in the Presidents Office and after 20 minutes of arguing, I finally got them to keep my rate at 7.99%.  You must be persistent with Citicorp and if you do not get any satisfaction,ask to talk to the persons supervisor and keep going up the ladder to the Presidents office if necessary,</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316699">\
	 <div id="dsq-comment-header-21316699" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316699" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316699">Rascal</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316699" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316699" class="dsq-comment-message">All,<br>I recently read Mary\'s comment and decided to see what I could do for myself.  Mary was right, if you are persistent you can do a bit better.  I had some time today, so I figured i\'d try.  I had to call a few times cause I got disconnected twice.. strange that both times happened during a call to a CS rep who was "trying to find me a better rate".   If they come back with a rate that is just below what they quoted you in the letter, ask to speak to a supervisor.  When the supervisor comes on the line, remind them of your credit history, ( if it\'s good), if you know your FICO score and it\'s above 700 all the better.  * Since they base credit decisions on this... tell them you are the kind of customer they want because you will be using the card.. also tell them that the decision to raise APRs across the board doesn\'t make business sense because it will end up driving good customers away... to other cards... name a few if you want. Remember, they need you to make money... and if you are a good customer then they\'d be hurting themselves.  You can also mention the billions in bailout funds they just got.. which as we all know are taxpayer dollars.. and guess what "WE" my friends.. are the taxpayers..... plus this past week the treasury department just approved another 800 Billion program designed to help .. "GUESS WHO"?..  credit card companies..... and other lending institutions * I\'m referencing Sec. of Treasury Paulson\'s speech on Tues or Wed last week... so if you arm yourself with some recent factoids.. they "CitiBank" will understand that you are in the know about what is going on.  You also don\'t have to put up with corporate double dipping.. which is what they are perpetrating..Tell the supervisor that you\'re looking to keep the lowest rate possible. In my case I didn\'t do as well as Mary, but I managed to do a 9.99% fixed arrangement, as opposed to a 14.99% variable one.. This was my fourth call to them, and while I  really felt like arguing some more... ( you can do so according to your tolerance for stupidity).. my tolerance got maxed out, so I opted for the 9.99.  Anyway pay attention to the date on the letter, cause if you don\'t contact them.. the new APR will go into effect.. and you could find that your payments will go up significantly.  These issues are personal decisions that we all must make, but before you get really pissed and opt out.. ( I thought of that when i first read the letter) .....like Mary said explore what if anything happens when you do.. if they close the account.. it can have a negative effect on your FICO score.. which can affect other lenders as well.. Not sure what happens if "You" close the account with a remaining balance but my guess is that it\'s probably not good..</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316700">\
	 <div id="dsq-comment-header-21316700" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316700" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316700">Chubby Church Cat</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316700" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316700" class="dsq-comment-message">The other day I heard someone complaining about Citi raising his rate. I thought, well, it won\'t happen to me because my credit score is high and I have a perfect history and I like Citi\'s online banking. Then I got my letter raising the interest rate to 14.99%. When I called they wanted to give me a better rate. I just said no way--I don\'t want to do business with Citi any more. I gather a lot of people are complaining.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316701">\
	 <div id="dsq-comment-header-21316701" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316701" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316701">David F</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316701" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316701" class="dsq-comment-message">I\'m not so sure that alienating customers is the best way to keep a business afloat in difficult times. <br><br>I received a similar letter from Citibank today, raising my rate from 6.75 to 15%. I\'ve been paying them interest for a while on this card I use for a home business. I\'m also a long-term customer with no history of repayment problems. The letter offered no explanation for their rate increase, but I do read the news. <br><br>The minute I was alienated by Citibank, I called USAA and requested a MasterCard. They were happy to issue me a card at their lowest rate of 6.25%. It looks like they want my business, as they realize that an excellent credit risk such as myself will make them some low-risk money. Citibank will get a bunch of cash from me to transfer the debt to USAA, then nothing more. <br><br>I\'m baffled that Citibank decided to blow off their low-risk customers who provide them with income, while they are more likely to keep the customers who will default on their debt since those are less likely to be able to transfer their debt to another bank. This sounds like one of those all-too-common decisions by American "financial mavens" to get this quarter\'s numbers up at the expense of destroying the business in a year or two.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316702">\
	 <div id="dsq-comment-header-21316702" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316702" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316702">Not My Citi</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316702" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316702" class="dsq-comment-message">Hey Paul. I\'m Paul. I got the same letter everybody else got.  I just went down from 7.74% to 6.74% last month, and then I got this letter stating that they were changing my Citi Diamond card to prime + 18.99, currently 24.99%  <br><br>Just call the 1-866-565-7030 number to opt-out of this.  Your account will cancel automatically at the end of the current calendar year or your card expiration date.  You will continue to pay your current rate (in my case 6.74% / as long as I don\'t make a late payment) until it\'s paid off.<br><br>BTW, I find this amusing or interesting at least.  I have my mortgage @ 5% through CitiMortgage.  I had a 5 year adjustable rate mortgage that will renew in Jan.09  I was so scared to see what it was going to readjust to.  They raised me to 5.125%  My payment is going up $2.07 a month.  WOW<br><br>Hey, it\'s just business.. :)  Good luck everybody</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316703">\
	 <div id="dsq-comment-header-21316703" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316703" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316703">Mike</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316703" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316703" class="dsq-comment-message">There are two issues here:  1. is this good business on Citi\'s part, and 2. is it fair.<br><br>As for 1, well that\'s Citi\'s problem.  My opinion may influence whether or not I buy or sell Citi shares, but otherwise I\'m not going to worry about whether this is a good business decision.  It\'s not MY business, after all.<br><br>2 is the more heated question.  I ultimately think it is perfectly fair.  Let\'s say my interest rate (APR) goes up from 7.99% to 14.99%.  All of my PAST borrowing has been billed at 7.99%, which is fair enough so long as that\'s what both sides agreed to.  Being told that if I continue to use Citi\'s money in the future I\'ll be billed at 14.99% is also fair enough.  I\'m certainly under no obligation to use Citi\'s money if I don\'t like the interest rate.  Using my own money instead of Citi\'s money may, in this case, turn out to be the more advantageous option for me.<br><br>The only way it would be unfair would be if Citi made the change retroactively, so that after agreeing to pay 7.99% you were suddenly told, today, that in fact your rate went up on October 1st (for example) and so now your interest over the past 2 months is higher than you were led to believe.  Or if Citi said it\'s going up TODAY, so you don\'t have a couple of weeks to make other arrangements.<br><br>I\'m beginning with the assumption-- which I realize not everyone may share-- that regardless of when I originally borrowed the money, each and every day that I don\'t pay it off is the equivalent of another active decision to borrow that same money again.  So if, taking into account all rates and fees, it made sense for me to be in debt to Citi for the past 18 months but it doesn\'t make sense for me to be in debt to Citi for the next 18 months, then I\'ll change the situation.<br><br>And do keep in mind another option if you have credit card debt:  who says you have to use the same account for spending needs that you use for storing your debt?  It\'s still extremely easy to get a 0% card for a 15 month period with the transaction fee capped at $75 or so.  I did it just last week-- $75 for access to an extra $10k for the year, which is now sitting in my Treasury Direct account ($5k) and my wife\'s ($5k).  This is paying over 5.6% currently, which means my $75 of expense will be converted into over $560 in earnings, for a profit of nearly $500.  (That\'s an estimate, of course, because I don\'t know what will happen to the I-bond rate after May 1st).<br><br>But however one uses that money, for a 10,000 debt, that fee is the equivalent of well under 1% APR-- inclusive.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316704">\
	 <div id="dsq-comment-header-21316704" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316704" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316704">nicole</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316704" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316704" class="dsq-comment-message">I actually work for Citi, and just to let you all know, other credit card companies are doing this in the future, Citi is just the first to jump on the wagon. American Express has started the increase as well. The mortgage side that received the bailout has nothing to do with the credit card side. They are two different sects of Citigroup. Many of you are all upset and I see why, but its a damn business. If you dont like it, take your business elsewhere. Even though many of you have very oustanding credit scores, that doesnt mean we\'re trying to not reward you. Your increase could be due to the kind of card you have or many other factors. So like I said, go elsewhere if you dont like it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316705">\
	 <div id="dsq-comment-header-21316705" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316705" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316705">Joe Sixpack</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316705" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316705" class="dsq-comment-message">I don\'t think that I can fully agree with nicole\'s comment above.  <br><br>While it is true that bailout funds are going to citigroup, and from what we are told the money is going to the "mortgage" side of the busienss.. This corpoarte line is exactly what  Citi is instructing it\'s employees to put forward.  Citicards..is if i\'m not mistaken a subsidiary or perhaps a division within citigroup, so the money that "we" the taxpayers have "graciously" provided to the firm will.......most certainly or perhaps indirectly,.. find it\'s way into all areas of Citi\'s business since they as a firm had to go the government "which is BTW just happens to be "we the people" for a friggin bailout. This bailout is designed to keep the whole thing liquid, and since they have decided to go after the individual customers to increase revenue across the board, this is a likely strategy from the highest levels of Citi senior management to double dip on the taxpayers et al the "Customers"... and to justify this because "everyone else is doing it" ................................is ridiculous.   <br><br>Yes credit is a busienss... and unfortunately it\'s a business without a soul or conscience that seeks financial gain anywhere it can.  Might I also add that credit card companies have also been linked to predatory lending practices, and it is those lending practices that have brought this firm to the point where the CEO has to beg washington for a handout.   So where is the justice for the average joe trying to make a living, using credit wisely.. and just trying to get by in troubled times like these.  <br><br>Oh yes, and the comment about "if you don\'t like it" take your busiensss elsewhere. is the most arrogant and insensitive thing i\'ve read in quite awhile.. i\'m sure the Customer Service supervisors would love to know that their employees are pretty much teling their customers to leave. It is pretty clear from the general feeling I get reading these posts, most of Citicard\'s  really good customers, the same customers they should be courting and  want to keep, will be doing just that, which leaves Citi with less than desireable customers, a higher risk for default, and in a much worse position.. Who ever the genious was who thought up the scheme to raise interest rates across the board should be fired on the spot... Perhaps Vikram should tune into this blog... he might learn a little about what his company\'s decisions will eventually cost...<br><br>And just to be clear about bailouts, in addition to the 45 Billion being provided to Citigroup for their "Mortage" business.......... Sec  of the Treasury Paulson recently indicated that  the government will pump billions more into the "Credit Card Industry".... to help lenders free up credit so that average joes will be inclined to use their charge cards, to help get us out of this mess.... unfortunately for the average joe.. using the card will now cost him or her 50 - 80% more than it did last year.. which doesn\'t make much sense if you want people to use the card...interesting concept... since it doesn\'t make me want to spend more.<br><br>So....Perhaps those who work for Citi might educate themselves a little more with regard to how much money is actually flowing into the firm and their industry because the way I see it... jacking up our rates is just a really bad way of doing business.. especially when money seems to be pouring in from all directions cause Citi is just to "importnat to fail?"..well.... I say.. we the consumers are also to important to fail".. cause without us.. the whole thing comes to a grinding halt....</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316706">\
	 <div id="dsq-comment-header-21316706" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316706" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316706">Paul</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316706" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316706" class="dsq-comment-message">Hi Nicole. I\'m Paul.  I agree, I will take my business elsewhere.  You mentioned American Express.  I happen to have one of their cards too.  Another one that I\'ve had for about 10 years.  I will drop their asseTs just as fast, if they decide to pull this.  I remembered to ask my friendly Citi customer service rep if I had any late payments, trashed credit score, etc..  The response was that none of that was the reason. It was simply the "financial situation" and he asked that I bear with them until it levels back out.  He stated that they did not want to lose any customers over this.  In the meantime I\'m supposed to pay somebody Mercedes payment at corporate. heh screwthatcrap</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316707">\
	 <div id="dsq-comment-header-21316707" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316707" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316707">Andi</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316707" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316707" class="dsq-comment-message">Hi this is Andi again, I posted here about a week ago (comment #35)<br><br>I have two cards with Citibank; one for nine years, and one for four.  About three weeks ago, like many Citi customers, I received the "infamous" notice letters for both of my accounts.  The rate on one going from 6.99 to 14.99, and on the other going from 8.99 to 16.99.  <br><br>I carry a substantial balance on one of the cards and zero balance on the other.  I\'ve always paid on time, always more than the minimum due, and have a credit score 730+.   I could not afford to simply opt out and have the account closed when my card expires, because this would lower my utilization ratio and severely damage my credit score, so I finally called Citi\'s customer service today.<br><br>To my surprise, not only was I able to keep my existing rates, but the customer service rep was able to lower the rate on my second card from 8.99 to 7.99.  This was great news for me of course because quite honestly this whole thing had me really stressed out.  They did however, switch one of the cards to a "new credit line", which meant that I lost all the Thank You Points network awards, oh well ...<br><br>I was very firm with the customer servise rep, I told them that I was a long time customer, always paid on time, good credit score, so this notice did not make sense to me.  I got the general speech about how the economy is doing and this is affecting their busines, etc.  The rep happened to be nice though and listened and looked for solutions right away.<br><br>My advice to others out there who cannot afford to close their account, fight for your right.  Pick up the phone and call them.  Be polite, but firm.  They have a good customer service so hopefully you can work something out too.<br><br>I am not sympathizing with Citi here, not at all.  I still believe that what they did is wrong and unfair to the customer.  Don\'t opt out, instead confront and fight for your right!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316708">\
	 <div id="dsq-comment-header-21316708" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316708" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316708">Janos</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316708" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316708" class="dsq-comment-message">This is a serious problem, and sadly... we are the ones who are paying for it with out own tax does going back into the deep pockets of the banks... The government giving these fools 20B for practices, which they will keep doing... Congress is not giving the auto maker companies money without certain rules that they must follow... except they will give BANKS money, with no rules... and we all know.. as Leigh said it best.. "None of this money is making a difference because the companies haven’t changed their business practices, they are just using the money to continue their failed practices."<br><br>I left the USA August 1st.. my Rate was 9%... and I came back on November 1st... and my rate went from 9% to now 18% it has doubled... since I left... and I always paid my bill... and been with the bank now for over 11 years... I just found out yesterday... what my rate was.. because I was opening my old mail.. and never really looked at my rate, figuring it was the same... and I pay all my bills online... so now I just found out.. How crooked is that!!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316709">\
	 <div id="dsq-comment-header-21316709" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316709" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316709">Rascal</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316709" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316709" class="dsq-comment-message">Just saw on Headline News today 12/18.... they ran a story on this very issue.  Thanks News Media!!  hope all the outlets pick this up.. and BTW nobody at CitiGroup cared to comment or talk to HNN when the reported questioned this practice..... Others are now calling this issue "Rate Jacking"... You will also be interested to know that as of today 12/18 legislation passed overwhelming in the House of Representatives which would have prohibited "Rate Jacking" is now languishing in the Senate banking committee.  <br><br>Here\'s a thought.. CrediCard companies donate large sums to elected officials campaigns.. then are tipped off about pending legislation that would prohibit them from conducting "Rate Jacking" activities.. so they go ahead and hit us all with a Rate Jacking  increase, while  simultaneously stalling efforts to get the bill signed.  Once signed into law,..the free for all  party on the consumer gets much more difficult to pull off.. all the while,..... we the taxpayers are duped into bailing them out.... I gotta say that the timing of all of this...... Rate Jacking, Billion Dollar Bailouts, and no preconditions on how our tax payer dollars get spent by the recipients of our generosity, and pending legislation now stalled in committee smacks of rampant gamesmanship.   If it looks like BS, smells like BS, then it most likely is BS...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316710">\
	 <div id="dsq-comment-header-21316710" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316710" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316710">Aquaskier</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316710" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316710" class="dsq-comment-message">I received the "letter" also. Score is 740+ across all 3. I have 2 cards, Never been late nor been a "minimum amount" person. 1 with 25,000 limit &amp; carries a balance of several k every month, but I pay large every month, it works for my needs. 2nd card is 0 &amp; has been for 2 years, 15,000 limit.<br>Card 1 is going from 8.99 to 16.99. Card 2 is unchanged @ 7.99? ???<br><br>Here\'s the reason for my post though.... Friend with Citi also opted out - currently has a 1,500 balance, just received a call from their customer service saying that because he opted out, they were reducing his credit limit to $250.00!!!! AND that he is now over his credit limit, but as a "courtesy", if he will pay off his balance NOW, they won\'t charge him the over-limit charges.... Looks like they are REALLY looking for anyway to increase their cash flow. He paid the balance off &amp; closed the account, BTW.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316711">\
	 <div id="dsq-comment-header-21316711" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316711" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316711">AnnoyedCitiCustomer</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316711" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316711" class="dsq-comment-message">After 22 years of pay four times the minimum, never miss a payment, loyalty to Citi, even when their salespeople tried to sell me every product under the sun in an attempt to suck more change from between the cushions of my life, I find that my loyalty will not be rewarded, nor will it be reciprocated. Stop giving me "advantage points" that aren\'t worth the screen space they take up and which take years to accrue (10 years to buy a stinking blender) and stop promising me refunds, and just keep my bloody interest rate low. <br><br>I have applied for and been given a 7.49% APR Platinum MasterCard which I will transfer my balance to. I will not close my cards out, that would be bad credit card mojo. I will however take them down to a $0.01 balance so that it takes just about a year for them to accrue any interest on it. They can take the interest rate that they doubled on me, from 7.49% to 14.99% and see how much money it makes them with an absolute minimum balance.<br><br>I might be able to reconcile myself to small increases over time if I knew that when the current crisis died down that reason and lower rates would prevail. I have a hard time however, knowing that loyalty is being turned against me to help rescue what turns out to be a blood sucking credit card company from ruin. Not only I am I to be gouged by a doubling in interest, but by being beaten mercilessly with taxes that will be used to rescue said credit vampire from a mess created by mismanagement that their other home finance arm helped create. Did I ask them to make the bright decision to irresponsibly push trash loans for more property than people could afford at interest rates with a surprise ending? I think not.<br><br>Don\'t forget, not all credit companies are experiencing the kind of self-created nightmare that Citi is. As a consumer, it is your right to shop around. The promises that were made earlier about leaving things status quo, were only meant to avert a wholesale panic, not to give you any real assurance of the stability of your credit status. Those promises were intended to salvage some greedy executives\' need to obtain the little bit of your money that is not already his.<br><br>Some interesting advice from the American Chronicle<br><br><a href="http://www.americanchronicle.com/articles/view/17619" rel="nofollow">http://www.americanchronicle.com/articles/view/...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316712">\
	 <div id="dsq-comment-header-21316712" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316712" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316712">Beth</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316712" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316712" class="dsq-comment-message">Never missed a payment, but yet my FIXED rate doubled on Citi.  I am going to transfer every balance I have with this<br>company and I hope THEY SINK!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316722">\
	 <div id="dsq-comment-header-21316722" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316722" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316722">warrren</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316722" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316722" class="dsq-comment-message">BETH: Wow are u so right. Let me know where to are taking your business, I\'m right behind you.<br>Warren</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316713">\
	 <div id="dsq-comment-header-21316713" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316713" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316713">Phyllis</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316713" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316713" class="dsq-comment-message">What\'s interesting is that they more than doubled my rate from 6.74% to 14.99, told me there was no reason - just couldn\'t afford to offer that rate. Then I closed the account.<br><br>Then last week, just to see what would happen, I applied for a Citi Card that they advertised with a 6.74 rate - I got it.<br><br>These people have no shame!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316714">\
	 <div id="dsq-comment-header-21316714" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316714" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316714">Anon</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316714" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316714" class="dsq-comment-message">Phyllis, I\'m assuming Citibanks terms on your new card state they can change the terms at any time for any reason? Do the terms include the right to opt-out, if they raise your rates on this card?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316715">\
	 <div id="dsq-comment-header-21316715" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316715" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316715">Pete</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316715" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316715" class="dsq-comment-message">I just noticed my interest rate went up this month by 3 points, I called citibank and asked for an explanation. They explained that becaue of the economy we had to raise our rates and that  I was sent a letter informing me of this, so if I didn\'t want my rate increased they wouldn\'t raise the rate but when my card expired I could no longer use it. then they also gave me another option since I wasn\'t to happy and was just going to go with closing the card. They said they could lower the card but not back to what it was and wave this months interest rate and this way I could still use the card after the experation date. I went with that plan but am thinking of cancleing it in the future, my chase card has a single digit rate and I was even late with a payment on that card last month.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316716">\
	 <div id="dsq-comment-header-21316716" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316716" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316716">Rebecca</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316716" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316716" class="dsq-comment-message">Like most people who have posted on this website, I have always paid on time and paid above the min payment every month on ALL my credit cards. This month I almost had a heart attack when i saw that my 6.99% interest rate was raised to 11.99%. I was beside myself because I know that I had not missed a payment because I am on automatic payments plus I plug in manually online an additional $50 or so each month. I called  customer service and asked what was going on, and I was feed the same line that everyone else about the economy. I explained to the customer rep that I refused to be punished by their careless planing and if they could not bring the rate back down i was dis enrolling in automatic payments and they were not getting a payment period. i was placed on hold and was later told that they would bring the interest rate to 8.99% and that was the best they could do. I kindly replied, being sarcastic, that they can put it back to 6.99% because in the same January statement the fools included 6.99%  checks. Don\'t tell me that you cant because you can!!! i was put on hold another time. she comes back and tell me that they are putting it back to 6.99% but I am still liable for the interest. Guess again. i requested to speak to a manager and when i did not hold back anything. i asked what kind of message are you sending to people who are in good faith paying their cards on time when there are people filling bankruptcy for whatever reason. why punish those who are honestly trying to do the right thing? I got both names and ID numbers as well as a case number to the manger who put the rate back to 6.99% and credited me the finance charge. I wish everyone good luck!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316717">\
	 <div id="dsq-comment-header-21316717" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316717" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316717">Ray</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316717" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316717" class="dsq-comment-message">I just wanted to add another example of what Citi can do if you call them. The rate on my Citi VISA card went from 13.99 to 24.99. I called yesterday, 1/25/09, to see why the increase. The call rep said it was just a business decision unrelated to anything specific about my profile. The call rep only wanted to know if I wanted to opt out. He didn\'t offer anything in the way of a slightly improved interest rate or anything else. I wanted to do some research and see what the ramifications of opting out were. I called back this evening and asked to opt out. The call rep I got this evening, without any prompting from me, offered to issue me a Citi MasterCard with a rate of 9.24%, transfer my current large balance to that card with no transfer fees or annual fees, and give me a discount on my current bill to bring it back to what it would have been if my interest rate had never changed. I took the deal. I know there could be trouble in the fine print , but it seemed a good alternative and so I wanted to get word out to people that this option is possible. Call Citi and be polite but firm about your intention to opt out, and see what they have to offer. If you do end up opting out it\'s not a bad deal. You get to continue with your pre-change card rate, you get to use the card until its expiration date, and after that you can no longer use the card but you can continue to make monthly payments under your old interest rate and minimum payment levels.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316718">\
	 <div id="dsq-comment-header-21316718" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316718" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316718">Mark</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316718" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316718" class="dsq-comment-message">The interest rate on my Citibank credit card jumped from 6.9% to 14.9% in one month. I have impeccable credit, no late payments. I promptly paid the balance on the card, when I noticed the interest rate increase. When I asked customer service why my rate jumped, this is the response I got:<br><br>"Our records indicate your interest rate increased due to a change in your account terms. You were sent notification of the change in terms in November,2008. If you do not wish to accept the new terms, please reply to this message."</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316719">\
	 <div id="dsq-comment-header-21316719" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316719" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316719">Amen!</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316719" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316719" class="dsq-comment-message">Amen brother!  I\'ve been notified by one card holder than my interest rate is doubling.  I\'m so mad I could spit and to top it off, that is probably just the first one.  Every (democratic) congressman and senator should lose their job over this one!  Just who are they trying to help?  They are making things worse for the common man and fattening the pockets of the companies that caused the mess in the first place.  It would have been a great plan to pay down the credit and mortgages instead of just handing the money over to the wolves.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316720">\
	 <div id="dsq-comment-header-21316720" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316720" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316720">Paul</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316720" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316720" class="dsq-comment-message">What are you talking about dumocrats? They are and were always the problem. They are to blame for the folks who should not have been able to buy homes yet got approved because the DUMOCRATS wanted them to have homes even though they were not qualified. And now Mister CHANGE that everyone thought was so great is throwing Monopoly money into our economy and essentially making your hard earned dollar(if you work) worth 10 cents so in return it will make you have to spend more money on items because of the influx of monopoly money that was no where to be found which makes our dollar worthless.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21316721">\
	 <div id="dsq-comment-header-21316721" class="dsq-comment-header">\
	 <cite id="dsq-cite-21316721" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21316721">Tom</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21316721" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21316721" class="dsq-comment-message">I was also one of Citi Banks best customers.   No Longer.  The reason they are raising rates on their best clients is because they are desperate for cash.  What happens to most good customers who have balances when they raise rates?   They will pay it off or transfer the balance to a new card who accepts the new balance and pays Citi off. Either way they get the cash. It is will be a long term loss for them as they are losing good customers but they are getting a big intake of cash in a short term to try and off set the losses they are having.</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=consumerismcommentary&t=citigroup_credit_card_rates_going_up_a_mystery&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 = 'a754e38c7443c66a17fb4f842187453e';
			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');
}

})();




