		function focusAndSelect(elementId, childId) {
			var elementObject = document.getElementById(elementId);
			if(elementObject) {
				elementObject[childId].focus();
				elementObject[childId].select();
			}
		}
		function setCurrentPlayListUrl(url)
		{
			g_currentPlayListUrl=url;
		}
		function jsApiGetCurrentPlayListUrl()
		{
			return g_currentPlayListUrl;
		}
		var handleSuccess = function(o){
			if(o.responseText !== undefined){
						o.responseText = o.responseText.replace(/\u2028/g, '');
						var returnedObject =  eval('(' + o.responseText + ')');
						if(returnedObject.code == 301) {
							window.location = returnedObject.redirecturl;
							return;
						}
						 YAHOO.util.Dom.setStyle( document.getElementById( "main-msg-container"), 'display', 'none');
						if (returnedObject.error){alert(returnedObject.error); return;}
						setCurrentPlayListUrl(returnedObject.playlist_url);
						var playContainerCode = returnedObject.blog_play_container;
						var divStories = document.getElementById( 'blog-play-container');
						divStories.innerHTML =  playContainerCode;
						initFlashPlayer();
						
						 YAHOO.util.Dom.setStyle( document.getElementById( "accordion-border"), 'display', 'block');
						g_myAccordion.setTitle(returnedObject.blogtitle, 'blog-title-container');
						g_myAccordion.createNewBlogEntries(returnedObject);
						g_myAccordion.setCorrectHeight();
						g_guidform.blog_url = returnedObject.blog_url;
						g_guidform.guids = returnedObject.guids;
			}
	
		}		

		var handleFailure = function(o){
			if(o.responseText !== undefined){
				alert('Error!');
			}
		}
		function fetchpage(sUrl, divToChange) {
			var callback = { 
				success:handleSuccess, 
				failure: handleFailure, 
				argument: {url:""} 
			}; 		
		
			//alert(sUrl);
			callback.argument.url = sUrl;
			callback.argument.divToChange = divToChange;
			var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); 
		
		}
		function fetchViewAndSpeakPage(type, subid, query, voice, div1, div2, autoplay) {
			//Set the current blog.
			g_currentBlog = query;
			var url2 = '/blodio/speakfeed_itemfetch?type=' + type + '&query=' + escape(query) + '&Blid=' + subid + '&voice=' + voice + '&autoplay='+autoplay;
			fetchpage(url2, undefined);
		}

		function getNextBlog(currentBlog) {
			var blogreadertype = getBlogReaderType();
			var feedArray = g_bloglistobj[blogreadertype].feeds;
			var numEle = feedArray.length;
			for (var i=0; i<numEle; i++) {
				if((currentBlog == feedArray[i].xml) && i< (numEle -1)) {
					var retVal = new Object();
					retVal.xml = feedArray[i+1].xml;
					retVal.subid = feedArray[i+1].subid;
					return retVal;	
				}
			}
			return null;
		}

function submitForm(frmName)
{
    var o =  document.getElementById(frmName);
    o.submit();
    return false;
}

// For Flash integration.
var jsReady = false;
var flashVideoPlayer = null;

 function isReady() {
	 return jsReady;
}
function myPlayStory(storynum, prevstorynum){
	if (storynum != prevstorynum)
	{
		var ret = flashVideoPlayer.apiPlayStory(storynum);
		//YAHOO.log("____playing story " + storynum + ' retval= ' + ret + "____");
		//alert(ret);
	}
}
function myStopStory(){
	var ret = flashVideoPlayer.apiStopStory();
	//YAHOO.log("____Stopping story " + ret+ "____");
	//alert(ret);
}

//Active blog reader type. For next blog functionality, it should be what is playing!!!!

function getBlogReaderType() {
	var activeIndex = g_mysubscriptionTabs.get('activeIndex');
	if (activeIndex == null) {
		activeIndex = 0;
	}
	var blogreadertype = g_tabindex2type[activeIndex];
	return blogreadertype;
}

function jsApiStoryPlayed (storynum, prevstorynum){
	//alert('flash playing story ' + storynum + ' prev story ' + prevstorynum);
	var activeIndex = g_mysubscriptionTabs.get('activeIndex');
	if (activeIndex == null) {
		activeIndex = 0;
	}
	var blogreadertype = g_tabindex2type[activeIndex];

	if(blogreadertype == 'google') {
		var url = g_guidform.blog_url;
		var storyVar = 'storynum_'+storynum;
		//var guid = eval("document.forms['guidform']." +storyVar+ ".value");
		var guid = g_guidform.guids[storynum];
		if(guid != undefined) {
			var sUrl = '/blodio/itemedit?type=google&url='+ url + '&guid=' + guid;
			//alert(sUrl);
			//uncomment it to mark story as read.
			var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, null); 
		}
	}
	g_myAccordion.openStory(storynum);
	//This means there are no stories in this blog.
	if(g_guidform.guids.length == 0) {
		openNextBlog(g_currentBlog);
	}
}
	function jsApiStoryFinished(storynum, islaststory){
		//YAHOO.log('flash finished story ' + storynum+ '; islaststory=' + islaststory);
		//alert('flash finished story ' + storynum+ ' islaststory' + islaststory);
		if(islaststory) {
			openNextBlog(g_currentBlog);
		}
	}

	function openNextBlog(currentBlog) {
		var nextBlog = getNextBlog(currentBlog);
		if(nextBlog != null) {
		var blogreadertype = getBlogReaderType();
		var blogListObj = g_bloglistobj[blogreadertype];
		if (!blogListObj){alert ("internal error!");return false;}
			blogListObj.playXmlUrl(nextBlog.xml);
		}
	}
	var g_sampleblgt=null;
	var g_sampxmlUrl = null;
	var g_sampTitle = null;
	var g_sampReaderType = null;
	function playSampleBlog(xmlUrl, sampleTitle, readertype)
	{
		if (xmlUrl != undefined && readertype == undefined) { readertype = 'blogbard';}
		if (g_sampleblgt != null){ clearTimeout(g_sampleblgt); g_sampleblgt=null;}
		if (xmlUrl){g_sampxmlUrl=xmlUrl;}
		if (sampleTitle){g_sampTitle=sampleTitle;}
		if (readertype){g_sampReaderType=readertype;}
		var index = g_tabtype2index[g_sampReaderType];
		g_mysubscriptionTabs.set('activeIndex', index); 
		if (!g_mysubscriptionTabs.getTab(index).get('dataLoaded')){
			g_sampleblgt = setTimeout('playSampleBlog()', 2500);
			return false;
		}
		g_bloglistobj[g_sampReaderType].playXmlUrl(g_sampxmlUrl, 0, 1, g_sampTitle, 1 );
		g_sampxmlUrl = null; g_sampTitle=null; g_sampReaderType=null;
		return false;
	}
var myLogReader = null;
var g_tabindex2type = ['blogbard', 'google', 'bloglines'];
var g_tabtype2index = {'blogbard':0, 'google':1, 'bloglines': 2 };
function initFlashPlayer()
{
	var ie = navigator.appName.indexOf("Microsoft") != -1;
	flashVideoPlayer = (ie) ? window['xspf_player'] : document['xspf_player'];
	//myLogReader = new YAHOO.widget.LogReader('mylogreaderid');
	//YAHOO.log("Init called");
}
//YAHOO.util.Event.onDOMReady(initFlashPlayer);


var handleSubscriptionEditSuccess = function(o){
	if(o.responseText !== undefined){
		var returnedObject =  eval("(" + o.responseText + ")");
		if(returnedObject.code == 'success') {
			var divStories = document.getElementById(o.argument.divToChange);
			divStories.innerHTML = returnedObject.content; 
		}
		else if(returnedObject.code == 'success-search') {
			var divStories = document.getElementById(o.argument.divToChangeOther);
			divStories.innerHTML = returnedObject.content; 
		}
		else {
			alert('operation failed');
		}
	}
}		

var handleSubscriptionEditFailure = function(o){
	alert('handleSubscriptionEditFailure');
}

function unsubscribeFeed(url) {
	var callback = { 
		success:handleSubscriptionEditSuccess, 
		failure: handleSubscriptionEditFailure, 
		argument: {optype:'unsubscribe', divToChange:'subscriptions-container'} 
	}; 		
	var sUrl = '/blodio/feedaddremove?type=' + g_blogType + '&optype=unsubscribe&url=' +  url;
	var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); 
}

function subscribeFeedGivenUrl(urlToSubscribe) {
	if(urlToSubscribe != '') {
		var callback = { 
			success:handleSubscriptionEditSuccess, 
			failure: handleSubscriptionEditFailure, 
			argument: {optype:'unsubscribe', divToChange:'subscriptions-container',divToChangeOther:'searchresults-container'} 
		}; 		
		
		var sUrl = '/blodio/feedaddremove?type=' + g_blogType + '&optype=subscribe&url=' +  urlToSubscribe;
		var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); 
	}
	return false;
}
function subscribeFeed() {
	var urlToSubscribe = document.forms['subscribefeed']['subscribeurl'].value;
	subscribeFeedGivenUrl(urlToSubscribe);
	return false;
}

var g_myAccordion=null;
var g_mysubscriptionTabs=null;
//var g_blogInfo = new Object();
var g_bloglistobj = new Object(); //contains myBlogList objects.
function blogTabsSwitch (e)
{
	return;
}

function debugBlogDeleteResponse(o )
{
	return;
	//alert(o.responseText);
}
function deleteSubscribedBlog (blogreadertype, xmlurl)
{
	if (!g_bloglistobj[blogreadertype] || !xmlurl){return false;}
	var ck = g_GlobalDate.getTime();
	var callback = { 
		success:debugBlogDeleteResponse, 
		failure: debugBlogDeleteResponse, 
		argument: {"ck" : ck}
	}; 	
	var sUrl = '/blodio/feedaddremove?url=' + escape(xmlurl) + "&optype=unsubscribe&ck=" + ck + "&type=" + blogreadertype; 
	var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); 
}
function loadTheBlog (elTarget, xmlurl, subid)
{
	if (!xmlurl) {alert('Error loadTheBlog');return false;}
	if((elTarget.nodeName.toUpperCase() == "A") && (YAHOO.util.Dom.hasClass(elTarget, "mybloglist-link"))) {
		var activeIndex = g_mysubscriptionTabs.get('activeIndex');
		if (activeIndex == null)
		{
			activeIndex = 0;
		}
		var blogreadertype = g_tabindex2type[activeIndex];
		if (YAHOO.util.Dom.hasClass(elTarget, "mybloglist-dellink")) {
			deleteSubscribedBlog(blogreadertype, xmlurl, subid);
		}
		else
		{
			fetchViewAndSpeakPage(blogreadertype, subid, xmlurl, 'tom_n', 'blog-stories-container', 'blog-play-container', true);
		}
	} 
}



function setBlogTab(tab, o)
{
	var obj =  eval("(" + o.responseText + ")");
	//g_blogInfo[obj.type] =  obj;
	if (obj.code != 200)
	{
		return setLoginContent(tab, obj);
	}
	var type = g_tabindex2type[g_mysubscriptionTabs.getTabIndex(tab)];
	var divid = 'bloglist-container-'+type;
	tab.set('content',"<div id='" + divid + "' class='bloglist-container' style='padding:0.5em'>" +'</div>');
	// Now that tab content is set. Set the eventHandler.
	var msg = 'Hello Guest,  <a class="mybloglist-normal" href="https://'+g_myhostname+ '/blodio/dologin?type=blogbard">sign in </a>';
	if (obj.user){ msg = 'Hello ' + obj.user;}
	g_bloglistobj[obj.type] = new myBlogList(divid, obj.type, msg, obj.feeds, loadTheBlog);
}
var myTabloadHandler = {
		success: function(o) {
			setBlogTab(this, o);
		},
		failure: function(o) {
			YAHOO.log('loading failed: ' + o.statusText,
					'error', 'Tab'); 
		}
	};

function setCorrectContainerHeights()
{
	var x = YAHOO.util.Dom.getElementsByClassName('my-container-scroll-end',null, null)
	var vpheiht = YAHOO.util.Dom.getViewportHeight();
	for(var i =0; i < x.length; i++) {
		var bdr = YAHOO.util.Dom.getRegion(x[i]);
		var divheight=vpheiht-bdr.top -20;
		if (divheight <= 0){divheight = 200}
		YAHOO.util.Dom.setStyle(x[i], 'height', ''+divheight+'px');
	}

}
function init() {
	// Instantiate a Panel from markup
	jsReady = true;
	initHintTextboxes();
//	g_srchresult_pane = new YAHOO.widget.Panel("my_srchresult_pane", { width:"320px", visible:true, draggable:true, close:true } );

	g_mysubscriptionTabs = new YAHOO.widget.TabView("subscriptions-container");
    
	var activeTabV;
	activeTabV = (!((g_initTabToShow == 'google') || (g_initTabToShow == 'bloglines')));
	var aTab = 
	new YAHOO.widget.Tab({
        label: 'BlogBard',
        dataSrc: '/blodio/getbloglist?type=blogbard',
        cacheData: true,
        active: activeTabV
    });

	aTab.loadHandler = myTabloadHandler;
    g_mysubscriptionTabs.addTab(aTab);
	if(activeTabV) {
		g_mysubscriptionTabs.set('activeIndex', 0);
	}


    
	activeTabV = (g_initTabToShow == 'google') ;
	aTab = 
	new YAHOO.widget.Tab({
        label: 'Google',
        dataSrc: '/blodio/getbloglist?type=google',
        cacheData: true,
		active: activeTabV
    });
	aTab.loadHandler = myTabloadHandler;
    g_mysubscriptionTabs.addTab(aTab);
	if(activeTabV) {
		g_mysubscriptionTabs.set('activeIndex', 1);
	}

    
	activeTabV = (g_initTabToShow == 'bloglines') ;
	aTab = 
	new YAHOO.widget.Tab({
        label: 'Bloglines',
        dataSrc: '/blodio/getbloglist?type=bloglines',
        cacheData: true,
		active: activeTabV
    });
	aTab.loadHandler = myTabloadHandler;
    g_mysubscriptionTabs.addTab(aTab);
	if(activeTabV) {
		g_mysubscriptionTabs.set('activeIndex', 2);
	}

	g_myAccordion = new myAccordionView('blog-stories-container', null, myPlayStory);
	if(g_playSpecfic && g_initTabToShow == 'blogbard') {
			fetchViewAndSpeakPage('blogbard', '', g_playSpecficUrl, 'tom_n', 
					'blog-stories-container', 
					'blog-play-container',
					true);
	}
	setCorrectContainerHeights();
	YAHOO.util.Event.on(window, "resize", setCorrectContainerHeights, this, true);
}

var g_srchresult_pane=null;

function subscribeSrchedBlogAndPlay(e, containerid)
{
		//get the resolved (non-text node) target:
	var elTarget = YAHOO.util.Event.getTarget(e);	
	while (elTarget.id != containerid) {
		if((elTarget.nodeName.toUpperCase() == "A")) {
		srchOrSubscribeBlog(elTarget.href, 1);
			break;
		} else {
			//wasn't the container, but wasn't an li; so
			//let's step up the DOM and keep looking:
			elTarget = elTarget.parentNode;
		}
	}
	YAHOO.util.Event.preventDefault(e);
}
var g_preview_pane=null;
function removePreviewEmbedPlayer (e)
{
	var previewDiv = document.getElementById('preview_embed_div');
	if (previewDiv) {previewDiv.innerHTML = '';}
}
function getPreviewPane ()
{
	if(!g_preview_pane) {
		g_preview_pane = new YAHOO.widget.Panel("my_preview_pane", { width: '500px', height: '500px', visible:true, draggable:true, close:true, modal:true, constraintoviewport :true } );
		g_preview_pane.setHeader('BlogBard Widget preview');
		g_preview_pane.beforeHideEvent.subscribe(removePreviewEmbedPlayer, g_preview_pane);
		g_preview_pane.render();
	}
	var pardiv = document.getElementById("my_preview_pane");
	var bdr = YAHOO.util.Dom.getRegion(pardiv);
	var vpwidth = YAHOO.util.Dom.getViewportWidth();
	var x = bdr.left;
	if ( vpwidth > (20+500) && (( x+500+20) > vpwidth)) { x = vpwidth -500 -20;}
	g_preview_pane.cfg.setProperty('x', x);
	return g_preview_pane;
}

//Ignore autoplay for now.
function getEmbedObjectCode(playlist_url, width, height, autoplay)
{
	autoplay = '';
	var  embedObj = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="'+width+'" height="'+height+'" id="xspf_player" align="middle"><param name="movie" value="http://'+g_myhostname+'/static_html/extended/nocapxspf_player.swf?playlist_url='+playlist_url+ '&autoplay='+autoplay+'&info_button_text=hemant_bist_manoj_bist" /><param name="quality" value="high" /><param name="bgcolor" value="#e6e6e6" /><param name="wmode" value="transparent"><embed src="http://'+g_myhostname+'/static_html/extended/nocapxspf_player.swf?playlist_url='+playlist_url+'&autoplay='+autoplay+'&info_button_text=hemant_bist_manoj_bistf" quality="high"  bgcolor="#e5e6e6" width="'+width+'" height="'+height+'" name="xspf_player" align="middle"  type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>';
	return embedObj;
}

function previewEmbedPlayer(frmName, playlist_url)
{
	var frmObj = document.getElementById(frmName);
	var height = frmObj.embed_height.value;
	var width = frmObj.embed_width.value;
	var embedTable = getPreviewDivContents(playlist_url, width, height, 0);
	var previewDiv = document.getElementById('preview_embed_div');
	previewDiv.innerHTML = embedTable; 
	var embedobj=getEmbedObjectCode(playlist_url, width, height, 0);
	frmObj.embed.value = embedobj;
	var origform = document.getElementById('embedform');
	if (origform){origform.embed_link.value=embedobj;}
	return false;
}
function getPreviewDivContents(playlist_url, width, height, autoplay)
{
	var  embedObj = getEmbedObjectCode(playlist_url, width, height, autoplay);
	var embedTable = '<div style="margin:0 auto; text-align:center">' + embedObj +  '</div>';
	return embedTable;
}
function previewEmbed(playlist_url, width, height, autoplay)
{
	var previewPane= getPreviewPane();
	var frmObj = document.getElementById("preview_embed_form");
	if (!frmObj) {
		var embedTable = getPreviewDivContents(playlist_url, width, height, autoplay);
		var previeEmbedTable = '<div class="my-auto-scroll"><div id=preview_embed_div>' + embedTable + '</div>';
		//previewPane.setBody('<div><table><tr><td>' + embedObj +  '</td></tr></div>');
		var previewEmbedForm = '<div  class="c_preview_embed_form" ><form id="preview_embed_form"  name="preview_embed_form"><table  >';
		var restEmbedForm = '<tr> <td> Width: <input type="text" name="embed_width" size="3" value='+width+' /> Height: <input type="text" name="embed_height" size="3" value='+height+' /></td></tr><tr><td>Embed: <input type="text" name="embed" onclick="focusAndSelect(\'preview_embed_form\', \'embed\');" readonly="true" value=""></td></tr><tr><td></td><td><input type="submit" name="customize" value="customize" onclick=' + '"javascript:previewEmbedPlayer(\'preview_embed_form\','+ '\''+ playlist_url + '\'' +');return false;" /></td></tr></table></form></div></div>';
		previewEmbedForm = previewEmbedForm + restEmbedForm;
		//var previewEmbedText = '<tr><td>Embed>/td><td><input type="text" name="preview_embed_link" readonly="true" onclick=javascript:focusAndSelect("preview_embed_form", "preview_embed_link");return false; value="' + embedObj + '" /></td></tr>';
		var previewPaneBody = previeEmbedTable + previewEmbedForm;
		previewPane.setBody(previewPaneBody);
	}
	else {
		previewEmbedPlayer("preview_embed_form", playlist_url);
	}
	//previewPane.setBody('<div><table><tr><td>Hello World</td></tr><tr><td>' + ' '+  '</td></tr></div>');
	g_preview_pane.render();
	if (!frmObj){
		var embedobj=getEmbedObjectCode(playlist_url, width, height, 0);
		frmObj = document.getElementById("preview_embed_form");
		frmObj.embed.value = embedobj;
		var origform = document.getElementById('embedform');
		if (origform){origform.embed_link.value=embedobj;}
	}

	g_preview_pane.show();
}

function getSrchResultPane ()
{
	if (!g_srchresult_pane)
	{

		var bdr = YAHOO.util.Dom.getRegion('my_srchresult_pane');
		var vpheight = YAHOO.util.Dom.getViewportHeight();
		var vpwidth = YAHOO.util.Dom.getViewportWidth();
		var pheight=vpheight-bdr.top -10; if (pheight < 10) {pheight=10;}
		pheight += "px";
		var pwidth=vpwidth-bdr.left -10; if (pwidth < 10) {pwidth=10;}
		pwidth += "px";
		g_srchresult_pane = new YAHOO.widget.Panel("my_srchresult_pane", { width: pwidth, height: pheight, visible:true, draggable:true, close:true, constraintoviewport :true } );
		g_srchresult_pane.render();
		YAHOO.util.Event.on(g_srchresult_pane.body, "click", subscribeSrchedBlogAndPlay,g_srchresult_pane.body);
	}
	g_srchresult_pane.cfg.setProperty('effect', null);
	return g_srchresult_pane;
	
}

var g_srchReqHandle=null;
var g_GlobalDate = new Date();
function showSearchResults (o)
{
	//alert(o.responseText);
	var resp =  eval("(" + o.responseText + ")");
	var my_srchpane= getSrchResultPane();
	if (resp.ck != o.argument.ck) {  return false; }
	if (!resp.code || resp.code != 200 ) {my_srchpane.setHeader("Error!"); my_srchpane.setBody('<span class=error> oops! and error occurred</span>'); return;}
	if (!resp.feeds.length){my_srchpane.setHeader("Error!"); my_srchpane.setBody('<span class=error>No matching feeds found</span>'); return;  }
	if (resp.feeds.length == 1) {
		var blogreadertype = resp.type; 
		if (! g_bloglistobj[blogreadertype]){playSampleBlog(resp.feeds[0].URL, resp.feeds[0].TITLE,  subid, 1);
			my_srchpane.setBody('<b>resp.feeds[0].URL</b> subscribed successfully. Playing it shortly!');
			my_srchpane.cfg.setProperty('effect', {effect:YAHOO.widget.ContainerEffect.FADE,duration:3});
			my_srchpane.hide(); return;
		
		} // Can happen because tab may not have loaded. Can be  fixed easily by creating a dummy object.
			var feedArray = g_bloglistobj[blogreadertype].feeds;
            var numEle = feedArray.length;
			var currentBlog = resp.feeds[0].URL;
			var i = 0;
			for (i=0; i<numEle; i++) {
				 if(currentBlog == feedArray[i].xml) {
				 	break;
					my_srchpane.setBody('<b>resp.feeds[0].URL</b> subscribed successfully. Playing it shortly!');
					my_srchpane.cfg.setProperty('effect', {effect:YAHOO.widget.ContainerEffect.FADE,duration:3});
					my_srchpane.hide(); return;
				 }
			}

			if ( i >= numEle) {
				var subid = ''; if (resp.feeds[0].subid){subid = resp.feeds[0].subid;}
				// Add the new Entry here.
				var divid = 'bloglist-container-'+resp.type;
				var containerDiv = document.getElementById(divid);
				if (!containerDiv){return false;}
				 var bloglistobj = g_bloglistobj[resp.type];
				 if (!bloglistobj){ alert('internal error'); return;} 
				bloglistobj.addEntry(resp.feeds[0].TITLE, resp.feeds[0].URL, subid, 1);
			}
		my_srchpane.setBody('<b>'+resp.feeds[0].URL+'</b> subscribed successfully. Playing it shortly!');
		my_srchpane.cfg.setProperty('effect', {effect:YAHOO.widget.ContainerEffect.FADE,duration:3});
		my_srchpane.hide(); return;
		//YAHOO.widget.ContainerEffect.FADE(my_srchpane, 3).animateOut();

		return;
	}
	var str ='<div id="srch_result_container">';
	str += '<table BORDER=1 CELLPADDING=3 CELLSPACING=1 RULES=ROWS FRAME=HSIDES>';
	str += '<tr class="srchrow_hdr"><div><th ><b>Feed Title</b></th><th><b>Subscribe link</b></th><th><b>Feed Url</b></th></div></tr>';
	for (var i = 0; i < resp.feeds.length; i++) {
		str += '<tr>';
		str += '<div>';	
		str += '<td class="srch_col"><b>' + resp.feeds[i].TITLE + '</b></td>';
		//str += '<td><b><a href="'+resp.feeds[i].URL+'">subscribe</a></b></td>';
		str += '<td class="srch_col"><div class="linkAsButton"><ul><li><a href="'+resp.feeds[i].URL+'"><span>subscribe!!</span></a></li></ul></div></td>';
		str += '<td class="srch_col"><b>' + resp.feeds[i].URL + '</b></td>';
		str += '</div>';	
		str += '</tr>';
	}
	str += '</table>';
	str += '</div>';	
	my_srchpane.setHeader('Search Results');
	my_srchpane.setBody(str);
	return;
}
function showSearchResultsError (o)
{
	alert(o.argument.ck);
	if (g_srchresult_pane.cfg.getProperty('visible'))
	{
		g_srchresult_pane.setBody("Sorry and error occurred!");
	}
}

function doBlogSearch()
{
	var queryStr= document.getElementById('main_form').q.value;
	//alert(queryStr);
	srchOrSubscribeBlog(queryStr);
	return false;
}

function srchOrSubscribeBlog(queryStr, isSubsribing)
{
	var my_srch_pane = getSrchResultPane();
	if ( g_srchReqHandle != null) { if (YAHOO.util.Connect.isCallInProgress(o)){ YAHOO.util.Connect.abort(o);}}
	if (isSubsribing){my_srch_pane.setHeader("<img src='/images/loading.gif'> Subscribing...");}
	else {	my_srch_pane.setHeader("<img src='/images/loading.gif'> Searching...");my_srch_pane.setBody('');}
	my_srch_pane.show();
	var ck = g_GlobalDate.getTime();
	var callback = { 
		success:showSearchResults, 
		failure: showSearchResultsError, 
		argument: {ck : ck}
	}; 	
	var type;
	var blogreadertype = getBlogReaderType();
	if(blogreadertype != 'bloglines') {
		//bloglines does not add feedaddremove
		type = blogreadertype;
	}
	var sUrl = '/blodio/feedaddremove?url=' + escape(queryStr) + "&optype=subscribe&ck=" + ck + '&type=' + type;
	var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); 
	return false;
}
