Mercurial > public > sg101
diff gpp/shoutbox/static/js/shoutbox.js @ 312:88b2b9cb8c1f
Fixing #142; cut over to the django.contrib.staticfiles app.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Thu, 27 Jan 2011 02:56:10 +0000 |
parents | |
children | c3d3d7114749 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gpp/shoutbox/static/js/shoutbox.js Thu Jan 27 02:56:10 2011 +0000 @@ -0,0 +1,78 @@ +$(document).ready(function() { + + var numShouts = $('#shoutbox-shout-container > p').size(); + var sbBox = $('#shoutbox-shout-container'); + + if (numShouts < 2) + { + sbBox.append('<p>Welcome to SurfGuitar101.com!</p>'); + ++numShouts; + } + if (numShouts < 2) + { + sbBox.append('<p>((((( More Reverb )))))</p>'); + ++numShouts; + } + + var sbCycleOpts = null; + var sbCycle = sbBox.cycle({ + fx: 'scrollUp', + timeout: 5000, + pause: 1, + next: '#shoutbox-next', + prev: '#shoutbox-prev', + before: function(curr, next, opts) { + if (!opts.addSlide || sbCycleOpts) return; + sbCycleOpts = opts; + } + }); + function addShout(shout) { + ++numShouts; + sbCycleOpts.addSlide(shout); + sbBox.cycle(numShouts - 1); + } + + var submit = $('#shoutbox-submit'); + submit.click(function () { + var input = $('#shoutbox-smiley-input'); + var msg = $.trim(input.val()); + if (msg.length == 0) { + return false; + } + submit.attr('disabled', 'disabled'); + $.ajax({ + url: '/shout/shout/', + type: 'POST', + data: { msg: msg }, + dataType: 'html', + success: function (data, textStatus) { + input.val(''); + if (data != '') { + addShout(data); + } + submit.removeAttr('disabled'); + }, + error: function (xhr, textStatus, ex) { + alert('Oops, an error occurred. ' + xhr.statusText + ' - ' + + xhr.responseText); + } + }); + return false; + }); + var smilies_loaded = false; + var smiley_frame = $('#shoutbox-smiley-frame'); + $('#shoutbox-smilies').click(function () { + smiley_frame.toggle(); + if (!smilies_loaded) { + smiley_frame.load('/smiley/farm/', function () { + $('#shoutbox-busy-icon').hide(); + var txt = $("#shoutbox-smiley-input")[0]; + $('#shoutbox-smiley-frame img').click(function() { + txt.value += ' ' + this.alt + ' '; + txt.focus(); + }); + smilies_loaded = true; + }); + } + }); +});