/**************************************************************
 * Created on January 2, 2010
 *
 *  Blabbers Communications Confidential
 *
 *  Source Materials.
 *
 *
 *  (C) Copyright Blabbers Communications Ltd. 2010
 *
 *  The source code for this program is not published or otherwise
 *  divested of its trade secrets, irrespective of what has been
 *  deposited with the U.S. Copyright Office.
 *
 *  Author: Blabbers Communications Ltd.
 **************************************************************/

function getTimeDelta(time){
			var now = new Date();
			var dateOfEvent;
			var delta =  (now.getTime() - time) / 1000;
			
			if (delta < 60) return delta + " seconds ago";
			else if (delta < 3600) {
				delta = Math.round(delta / 60);
				if (delta == 1) return delta + " minute ago";
				else  return delta + " minutes ago";
			} else if (delta < 24 * 3600) {
				delta = Math.round(delta / 3600);
				if (delta == 1) return delta + " hour ago";
				else  return delta + " hours ago";
			} else if (delta < 7 * 24 * 3600) {
				dateOfEvent = new Date(time);
				if (now.getDay() == dateOfEvent.getDay() + 1) {
					return "Yesterday at " + dateOfEvent.getHours() + ":" + ((dateOfEvent.getMinutes() < 10)?"0":"") + dateOfEvent.getMinutes();
				}
				else {
					var day;
					switch (dateOfEvent.getDay()) {
						case 0: day = "Sun"; break;
						case 1: day = "Mon"; break;
						case 2: day = "Tue"; break;
						case 3: day = "Wed"; break;
						case 4: day = "Thu"; break;
						case 5: day = "Fri"; break;
						case 6: day = "Sat"; break;
					}
					return day + " at " + dateOfEvent.getHours() + ":" + ((dateOfEvent.getMinutes() < 10)?"0":"") + dateOfEvent.getMinutes(); 
				}
			} else {
				dateOfEvent = new Date(time);
				var month;
				switch (dateOfEvent.getMonth()) {
					case 0: month = "Jan"; break;
					case 1: month = "Feb"; break;
					case 2: month = "Mar"; break;
					case 3: month = "Apr"; break;
					case 4: month = "May"; break;
					case 5: month = "Jun"; break;
					case 6: month = "Jul"; break;
					case 7: month = "Aug"; break;
					case 8: month = "Sep"; break;
					case 9: month = "Oct"; break;
					case 10: month = "Nov"; break;
					case 11: month = "Dec"; break;
				}
				
				return month + " " + dateOfEvent.getDate() + " at " + getHour(dateOfEvent);
			}
		}
		
		function getHour(date) {
			var hour = date.getHours();
			var minutes = date.getMinutes();
			var postfix = (hour < 12)?"am":"pm";
			if (!(hour % 12)) return "12" + ":" + ((minutes < 10)?"0":"") + minutes + postfix;
			else return (hour % 12) + ":" + ((minutes < 10)?"0":"") + minutes + postfix;
		}
		
function createUgcUIelement(ugc){
	//var profilePic='<img src="'+ugc[2][3]+'" width="70" height="70" hspace="10" vspace="10" align="absmiddle"/>';
	var profilePic=ugc[2][3];
	if((profilePic==null)||(profilePic=="")){
	   profilePic="http://www.blabbers.com/clipart1.png";
	}
	var titleIcon="images/bbl_icon_green.png";
	var userName='<div class="b_title_username" style="display:inline; text-transform:capitalize">'+ugc[2][2].split("@")[0].split(" ")[0]+'</div>';	// the split is hack to remove @ if name is email
	
	var title="";
	var action="";
	var content=ugc[4];
	// var	view_icon='';
	
	if(ugc[1]=="info"){
	    titleIcon="images_new/icon_green.png";
		// view_icon='images/view_button.gif';
	}else{//grafiti
		titleIcon="images_new/icon_blue.png";
		// view_icon='images/view_button.gif';
	}
	
	var options=' likes('+ugc[9]+')';
	var view;
	if(ugc[1]=='graffiti'){
		action= '<div class="b_title_action" style="display:inline">&nbsp;blabbed on&nbsp;</div>';
	}else{
		action= '<div class="b_title_action" style="display:inline">&nbsp;whistled from&nbsp;</div>';
	}
	
	//title=userName+action+'<div class="b_title_domain" style="display:inline; text-transform:capitalize">'+getDomainName(ugc[5])+'</div>';
	title=userName+action+'<div class="b_title_domain" style="display:inline;">'+getDomainName(ugc[5])+'</div>';
	var time=getTimeDelta(parseInt(ugc[16])*1000);
	
	if (content == "") content = "&nbsp;";
	if (content.length > MAX_MESSAGE_LENGTH) content = content.substr(0, MAX_MESSAGE_LENGTH) + "...";
	
	content = '<div class="b_message_content">'+content+'</div>';
	
	// *** Clone node assign ID attribute and fade in
	var id="blab_"+ugc[0];
    var newEl = $("#blabTemplate").clone().attr("id",id);
    
    // *** Now fill in the stock data 
	newEl.find("#b_user_pic").attr("src",profilePic); 
	newEl.find("#b_title").css("background-image",'url(' + titleIcon + ')'); 	
	// newEl.find("#b_icon").attr("src",titleIcon); 	
    newEl.find("#b_title").html(title);
    newEl.find("#b_message").html(content);
	// newEl.find("#view_icon").find("img").attr("src",view_icon); 	
	newEl.find("#view_icon").find("a").attr("href","javascript:showPreview('"+ugc[0]+"','"+ugc[5]+"', '"+ugc[17]+"')");
    newEl.find("#b_time").html(time);
    newEl.find("#b_pannel").html(options);    
     //newEl.insertAfter(".blabs .blabTemplate:last");
    //newEl.appendTo("#blabs");
	newEl.css({"display":""});
	
	return newEl;
	
	
	
}
function removeUGCFromHtml(ugc){
	var id="#blab_"+ugc[0];
	
	$(id).remove();
}

function getDomainName(urlStr) {
	if (urlStr) {
		try {
			var domain = urlStr.split("/")[2];
			var domainSlices = domain.split(".");
			var found = false;
			var idx = 0;
			for (; idx < domainSlices.length; idx++) {
				if (domainSlices[idx].toLowerCase() == "www" ) {
					found = true;
					break;
				}
			}
			if (found) {
				var dom = "";
				idx++;
				for (; idx<domainSlices.length; idx++) {
					dom += domainSlices[idx].toLowerCase();
					if(idx<domainSlices.length-1){
						dom+=".";
					}
				}
				return dom;
			}else {
				return domain;
			}
		}catch(err) {
			return ""; 
		}
	} 
	return ""; 
}

function getDomainNameOLD(urlStr){
	if (urlStr){
		var domainSlices = urlStr.split("/")[2].split(".");
		
		if (domainSlices.length < 3){
			return domainSlices[0];
		} else {
			return domainSlices[1];
		}
	} else {
		return "";	
	}
	
}


$(document).ready(function(){
						   
	var width=0;
	if(window.innerWidth){
        width=window.innerWidth;
    }else{
       width=document.documentElement.clientWidth;
    }
		
		/*
	// avoid horizontal scroll !
	if (document.body.clientHeight > document.documentElement.clientHeight){ // if scroll exists...
		if('\v'=='v'){
			// IE - do nothing...
			  
	    }else{ // all others, reduce vertical scroll size to 
			width -=17; 
		}  
	
		
	}
	
	*/
	
	if(width>980){
		var x= (width-980)/2;
		$(".left_header_rep_div").css("width",x+"px");
		$(".right_header_rep_div").css("width",x+"px");
	}
	
	
	
});
