/* Norberth Danson, 
November 19, 2006 */
var local_index = 0;
String.prototype.htmlEntities = function() {
	var chars = new Array ('&','\"','<','>');	
	var entities = new Array ('amp','quot','lt','gt');
	
	var newString = this;
	for (var i = 0; i < chars.length; i++) {
		myRegExp = new RegExp();
		myRegExp.compile(chars[i],'g')
		newString = newString.replace (myRegExp, '&' + entities[i] + ';');
	}
	return newString;
}
function get_current_time(){
	var a;
	var timestamp 	= new Date();
	var h     		= timestamp.getHours();
	var m     		= pad_digits(timestamp.getMinutes());
	var s			= pad_digits(timestamp.getSeconds());
	
	if (h>=12)
		a='PM';
	else
		a="AM";
		
	if (h>=13)
    h-=12;
	if (h==0)
	 h=12;
	
	return h+'.'+m+':'+s+' '+a;
}
function pad_digits(i){
	if(i<10)
	  i='0' + i;
	return i;
}
function buzz_standby(){
	buzz_update();
	if((eID('new_buzzes_container').getAttribute('className') == 'lobby_buzz' || eID('new_buzzes_container').getAttribute('class') == 'lobby_buzz'))checkHeight();
}
function buzz_post(){
	var bzz_post = new aJaX(new_buzz_post);
	var buzz_content = 	'comment_text=' + encodeURIComponent(eID('comment_text').value);
	bzz_post.modePOST('ajax/newbuzz', buzz_content);
	if(eID('comment_text').value != ''){
		add_buzz(eID('comment_text').value.htmlEntities(),user_id,pic_id,pic_s,user_name);
	}
	eID('comment_text').value = '';
	return false;
}
function new_buzz_post(aJaX_obj, AJX_response){
	
	switch(AJX_response){
		case '0':
			/* nothing all OK */
			break;
		case '1':
			eID( 'stat_display_js' ).innerHTML = "A comment must have at least a character, right?";
			eID( 'stat_display_js' ).className = 'bg_warn';
			show('stat_display_js');
			setTimeout(function() {fader_init('stat_display_js',100,0,200);},1000);
			break;
		case '2':
			eID( 'stat_display_js' ).innerHTML = "Comment has not been posted. Something failed. Please try again.";
			eID( 'stat_display_js' ).className = 'bg_err';
			show('stat_display_js');
			setTimeout(function() {fader_init('stat_display_js',100,0,200);},1000);
	}	
	
	
}
function buzz_update(){
	if(bzzz_last_id)
	{
		try {
			AJX_req = new aJaX(new_buzz_update);
			var buzz_content = 	'last_id=' + encodeURIComponent(bzzz_last_id);
			AJX_req.modePOST('ajax/updatedbuzz', buzz_content);
		} catch(e){}
	}
	setTimeout(function() {buzz_update();}, 1500);
}
function new_buzz_update(aJaX_obj, AJX_response){
	AJX_response = eval(AJX_response);	
	var AJX_response_length = AJX_response.length;
	if(AJX_response[AJX_response_length-1][0] != bzzz_last_id){
		bzzz_last_id = AJX_response[AJX_response_length-1][0];
		for(i=0; i<AJX_response_length;i++ ){
			if(!isNaN(AJX_response[i][2]))
			{
				add_buzz(AJX_response[i][1],AJX_response[i][2],AJX_response[i][3],AJX_response[i][4],AJX_response[i][5],AJX_response[i][6],AJX_response[i][0]);
			}
		}
		
		var children_length = eID('new_buzzes').childNodes.length;
		var max_counter = 0;
		for(i=0; i < children_length; i++)
		{
			if(eID('new_buzzes').childNodes[i].nodeType == 1)
			{
				max_counter++;
				if(max_counter > 50)
				{
					try {
						eID('new_buzzes').childNodes[i].parentNode.removeChild(eID('new_buzzes').childNodes[i]);
					}
					catch(e){
						try {
							eID('new_buzzes').removeChild(eID('new_buzzes').childNodes[i]);
						} catch (e){}						
					}					
				}
			}
		}		
	}
}
function add_buzz(text,uid,pic_id,salt,name) {
	
	if(eID('no_discussions')){
		eID('no_discussions').parentNode.removeChild(eID('no_discussions'));	
	}
	
	var ajx_update = false;
	if(!arguments[6]){
		var id = local_index++;
	} else {
		var id = arguments[6];
		ajx_update = true;
	}
	var timestamp = get_current_time();
	
  	var new_div 		= document.createElement('div');
	var new_div_id 		= 'div_'+id;
	new_div.setAttribute('id',new_div_id);
	new_div.setAttribute('class','box_comment clearfix');
	new_div.setAttribute('className','box_comment clearfix');
	if(user_id == 0){
		div_html = 		'<div class="pic">'
				 + 			'<div class="trimmer"><a href="#" onclick="return joinform()"><img src="http://images.redboxfriends.com/userprofile/t_'+uid+'_'+pic_id+'_'+salt+'.jpg" alt="" onmouseover="show_hov(this)"></a></div>'
				 +		'</div>'			 
				 + 		'<div class="comment">'
				 + 			'<div class="timestamp">'
				 + 				'<span class="arrow_grey_r">'+timestamp+'</span>'
				 +			'</div>'
				 +			'<a href="#" onclick="return joinform()">'+name+'</a> <span class="text_info_n">said: </span>'
				 + 			'<div class="text">'+text+'</div>'
				 +		'</div>';
	} else {
		div_html = 		'<div class="pic">'
				 + 			'<div class="trimmer"><a href="spotlight?id='+uid+'"><img src="http://images.redboxfriends.com/userprofile/t_'+uid+'_'+pic_id+'_'+salt+'.jpg" alt="" onmouseover="show_hov(this)"></a></div>'
				 +		'</div>'			 
				 + 		'<div class="comment">'
				 + 			'<div class="timestamp">'
				 + 				'<span class="arrow_grey_r">'+timestamp+'</span>'
				 +			'</div>'
				 +			'<a href="spotlight?id='+uid+'">'+name+'</a> <span class="text_info_n">said: </span>'
				 + 			'<div class="text">'+text+'</div>'
				 +		'</div>';
		
	}	
	new_div.innerHTML = div_html;
	if(eID('new_buzzes').firstChild){
		eID('new_buzzes').insertBefore(new_div, eID('new_buzzes').firstChild);		
	}
	else{
		eID('new_buzzes').appendChild(new_div);		
	}
	changeOpac(1, new_div_id);
	if((eID('new_buzzes_container').getAttribute('className') == 'lobby_buzz' || eID('new_buzzes_container').getAttribute('class') == 'lobby_buzz'))checkHeight();
	setTimeout(function() {fader_init(new_div_id,1,100,250);}, 0);
}
function checkHeight(){
	if(eID('new_buzzes').offsetHeight >= 135){
		eID('new_buzzes_container').style.height = '135px';
		updateScroller('new_buzzes_container','new_buzzes','buzz_scroller_c','buzz_scroller');	
	}
}