﻿var twittSearchUrl = "http://search.twitter.com/search.json?q={0}&lang=en&rpp=10&callback={1}";
var twittNextSearchUrl = "http://search.twitter.com/search.json{0}&callback={1}&{2}";
var webResTemplate = "<div class='lrPB5'><table cellspacing='0' cellpadding='0' class='lrMain'><tr><td rowspan='2' width='55px'><img src='{0}' class='lrUserImg' /></td><td class='lrDesc'>{2}</td></tr><tr><td><a href='http://twitter.com/{1}' onclick='window.open(\"http://twitter.com/{1}\"); return false;' class='lrUser'>{1}</a><span class='lrTime'> {3}</span></td></tr></table></div>";
var webResAltTemplate = "<div class='lrPB5' style='background-color:#E0ECF3;'><table cellspacing='0' cellpadding='0' class='lrMain'><tr><td rowspan='2' width='55px'><img src='{0}' class='lrUserImg' /></td><td class='lrDesc'>{2}</td></tr><tr><td><a href='http://twitter.com/{1}' onclick='window.open(\"http://twitter.com/{1}\"); return false;' class='lrUser'>{1}</a><span class='lrTime'> {3}</span></td></tr></table></div>";
var newResTemplate = "<div class='item'><div class='smImg'><img style='border-width: 0px;' src='{0}' /></div><div class='smDivO'><div class='smDivI'><div class='gspArrowLeft'></div><div class='ltcw'></div><div class='rtcw'></div><div class='lbcw'></div><div class='rbcw'></div><div class='smDivII'><table cellspacing='0' cellpadding='2' width='100%'><tr><td style='font-size:12px;'><a href='http://twitter.com/{1}' onclick='window.open(\"http://twitter.com/{1}\"); return false;' style='color: rgb(1, 134, 179);'>{1}: </a>{2}</td></tr><tr><td style='font-size:11px;'><img alt='replay' class='gsReply' src='http://img.lavva.com/GSPanel/replyArrows.gif' onclick=\"ReplayToMsg(this, '{4}', 'T', '{1}');\"/><span style='color:#7B797A;'>{3} from </span><span style='color: rgb(1, 140, 205);'> web</span></td></tr></table></div></div></div></div>";
var useNewResTemplate = false;
var webInterval;
var k = 0;
var autoUpdate = false;
var autoUpdateInside = true;
var alternateWebItem = true;
var autoUpdateTimeout;
var nextPageData;
var webSearchResultsContainer;
var webRootContainer;
var webSearchQuery;

if (autoUpdate) {
	webSearchResultsContainer.style["height"] = "360px";
}

function StartGettingRTSWebResult(localWebQuery, localWebSearchResultsContainer, localWebRootContainer) {
    if (!localWebRootContainer)
        return;
	webSearchQuery = localWebQuery;
	webRootContainer = document.getElementById(localWebRootContainer);
	if (!webRootContainer)
	    return;
	webSearchResultsContainer = document.getElementById(localWebSearchResultsContainer);
	if (typeof (webSearchResultsContainer) === 'undefined' || webSearchResultsContainer == null) {
		webSearchResultsContainer = document.createElement('div');
		webRootContainer.appendChild(webSearchResultsContainer);
	}
	setTimeout(MakeTwitterWebSearchRequest, 1000);
	if (autoUpdate)
		webInterval = setInterval(MakeTwitterWebSearchRequest, 30000);
}

function MakeTwitterWebSearchRequest() {
	if (!autoUpdate) {
		$(webSearchResultsContainer).append(loaderHTML);
		autoUpdateInside = true;
		$("#btnNewestRes").hide();
	}
	var requestUrl = String.format(twittSearchUrl, webSearchQuery, 'JsonpRequestWebResult');
	if (lastWebResId !== undefined) {
		requestUrl = requestUrl + '&since_id=' + lastWebResId;
	}
	MakeJsonpRequest(requestUrl);
}

function GetNextResultsFromTwitter() {
	if (autoUpdate)
	    clearInterval(webInterval);
	if (!webSearchResultsContainer)
	    return;
	$(webSearchResultsContainer).append(loaderHTML);
	var requestUrl = String.format(twittNextSearchUrl, nextPageData, 'JsonpRequestWebResult', new Date().getTime());
	MakeJsonpRequest(requestUrl);
	autoUpdateInside = false;
	clearTimeout(autoUpdateTimeout);
	$("#btnNewestRes").show();
}

var lastWebResId;
function JsonpRequestWebResult(data) {
	if (autoUpdate) {
		if ((data.results != undefined) && (data.results != null))
			for (var j = 0; j < data.results.length; j++) {
				var val = data.results[j];
				var f = 'AddWebResult(\'' + escape(val.profile_image_url) + '\',\'' + escape(val.from_user) + '\',\'' + escape(val.text) + '\',\'' + val.created_at + '\',\'' + val.id + '\')';
				setTimeout(f, j * k * 2500);
				if (j == 0) {
					lastWebResId = val.id;
				}
			}
		k = 1;
	}
	else {
		if ((data.results != undefined) && (data.results != null)) {
			webSearchResultsContainer.innerHTML = "";
			for (var j = 0; j < data.results.length; j++) {
				var val = data.results[j];
				AddWebResult(val.profile_image_url, val.from_user, val.text, val.created_at, val.id);
				if (j == 0) {
					nextPageData = data.next_page;
					if (nextPageData == undefined) {
						$("#btnMoreRes").hide();
					}
					else
						$("#btnMoreRes").show();
				}
			}
		}
		if (autoUpdateInside)
			autoUpdateTimeout = setTimeout(MakeTwitterWebSearchRequest, 30000);
	}
	if (!data.results || data.results.length == 0) {
		webRootContainer.style.display = 'none';
	}
	else {
		webRootContainer.style.display = 'block';
	}
	if (parent && parent.fitGSPanel)
		parent.fitGSPanel();
}

function AddWebResult(profileUrl, fromUser, text, dt, msgId) {
	var template;
	if (useNewResTemplate)
		template = newResTemplate;
		else
			template = alternateWebItem ? webResAltTemplate : webResTemplate;
		if (autoUpdate) {
		webSearchResultsContainer.innerHTML = String.format(template, unescape(profileUrl), unescape(fromUser), unescape(text), jQuery.timeago(new Date(dt)), msgId) + webSearchResultsContainer.innerHTML;
	}
	else {
		webSearchResultsContainer.innerHTML += String.format(template, profileUrl, fromUser, ConvertUrlsToLinks(text), jQuery.timeago(new Date(dt)), msgId);
	}
	alternateWebItem = !alternateWebItem;
}