var agt=navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
			&& (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
			&& (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
var is_nav6up = (is_nav && (is_major >= 5));
var is_gecko = (agt.indexOf('gecko') != -1);
var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_ie3    = (is_ie && (is_major < 4));
var is_ie4    = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
var is_ie4up  = (is_ie && (is_major >= 4));
var is_ie5    = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
var is_ie5_5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
var is_ie5_2  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.2") !=-1));
var is_ie5up  = (is_ie && !is_ie3 && !is_ie4);
var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);
var is_ie6    = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
var is_ie6up  = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5 && !is_ie5_2);
var is_ie7    = (is_ie && (agt.indexOf("msie 7.")!=-1) );	
var is_safari = (agt.indexOf("safari") != -1);
	/*
	 * checks for empty string
	 */
	function et_g_isEmpty(s)
	{
		return ((s == null) || (s.length == 0));
	}
	
	function et_g_isInteger (s)
	{
		var i;
		for (i = 0; i < s.length; i++){
			// Check that current character is number.
			var c = s.charAt(i);
			if (!et_g_isDigit(c)) return false;
		}
		// All characters are numbers.
		return true;
	}
	// Returns true if character c is a digit
	// (0 .. 9).
	function et_g_isDigit (c)
	{
		return ((c >= "0") && (c <= "9"))
	}
	
	// Returns true if character c is a digit
	// (1 .. 9).
	function et_g_isNonZeroDigit (c)
	{
		return ((c > "0") && (c <= "9"))
	}
	
	function et_g_isNonZeroInteger(s)
	{
		var i;
		if(s.length==1){
			if(et_g_isNonZeroDigit (s)) return true;
			else return false;
		}
		for (i = 0; i < s.length; i++){
			// Check that current character is number.
			var c = s.charAt(i);
			if (!et_g_isInteger(c)) return false;
		}
		// All characters are numbers.
		return true;
	}
	
	
	/*
	 * checks for whitespace string
	 */
	function et_g_isWhitespace (s)
	{
		return (et_g_isEmpty(s) || et_g_reWhitespace.test(s));
	}
function getDataUsingAjax(id,params,className,methodName,pluginName)
	{
		var ajaxReader  = new WikiAjax(false);
		ajaxReader.setMethodTOPOST();
		var afterGettingDataFromAjax = new AfterGettingDataFromAjax(id);
		ajaxReader.setCallback(afterGettingDataFromAjax.process);
		
		var req = createRequest(createManagerMethod(methodName, params,className,pluginName));
		ajaxReader.addField("reqdata", req);
		ajaxReader.send();
	}
	
	function AfterGettingDataFromAjax( id )
	{
		this.id = id;
		this.process = process;
	
		function process( responseDOM, errorMessage, responseText )
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{ 
					if(obj.output +"" != "")
					{
					
						document.getElementById(id).innerHTML = obj.output;			
							 JT_init();
					}
					
					
				}
				
			}
		}
	}
	var plugdivtarget;
	
	
	function AfterEditPluginProperties(currentTarget,plugDiv,macroId)
	{
		
		this.currentTarget = currentTarget;
		this.plugDiv = plugDiv;
		this.process = process;
	    this.macroId = macroId;
		function process( responseDOM, errorMessage, responseText )
		{
				
			var obj = parseResponse(responseDOM);
				
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{ 
					if(obj.output +"" != "")
					{
						var encodedMacroId = macroId.replace("$","_");
						encodedMacroId = encodedMacroId.replace("#","_");
						plugDiv.innerHTML = obj.output;	
					
						var projtitleid="#projectname"+encodedMacroId; 
						var pagetitleid="#title"+encodedMacroId;
						var attachtitleid="#attachtitle"+encodedMacroId;
						JT_init();
						$(document).ready(function() {
							
							var ac = $(projtitleid).autocomplete("autocomplete.jsp",{delay:10,minChars:2,matchSubset:1,matchContains:1,cacheLength:10,onItemSelect:selectItem,onFindValue:findValue,formatItem:formatItem,autoFill:true});
                            
                            if(ac[0])
                            	ac[0].autocompleter.setExtraParams({operation:"projectlist"});
						});
						
						$(document).ready(function() {
							var ac = $(pagetitleid).autocomplete("autocomplete.jsp",{delay:10,minChars:2,matchSubset:1,matchContains:1,cacheLength:10,onItemSelect:selectItem,onFindValue:findValue,formatItem:formatItem,autoFill:true});
                            if(ac[0])
                            	ac[0].autocompleter.setExtraParams({operation:"pagelist",macroId:encodedMacroId });
						});
						
						$(document).ready(function() {
							var ac = $(attachtitleid).autocomplete("autocomplete.jsp",{delay:10,minChars:2,matchSubset:1,matchContains:1,cacheLength:10,onItemSelect:selectItem,onFindValue:findValue,formatItem:formatItem,autoFill:true});
                            if(ac[0])
                            {
                            	var prjName = document.getElementById("projectname").value;
								var pageName = document.getElementById("editpage_title").value;
                           		ac[0].autocompleter.setExtraParams({operation:"attachlist",projectname:prjName,pagetitle:pageName });
                            }
						});
					}
					
				}
				
			}
		}
	}
	
	function findValue(li) {
	if( li == null ) return alert("No match!");

	// if coming from an AJAX call, let's use the CityId as the value
	if( !!li.extra ) var sValue = li.extra[0];

	// otherwise, let's just display the value in the text box
	else var sValue = li.selectValue;

	//alert("The value you selected was: " + sValue);
}

function selectItem(li) {
	findValue(li);
}

function formatItem(row) {
	return row[0] ;
}
	
	
	
	
	function AfterInsertPluginProperties(plugDiv,macroId)
	{
		
		
		this.plugDiv = plugDiv;
		this.process = process;
	    this.macroId = macroId;
		function process( responseDOM, errorMessage, responseText )
		{
			
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{ 
					if(obj.output +"" != "")
					{
						var encodedMacroId = macroId.replace("$","_");
						encodedMacroId = encodedMacroId.replace("#","_");
						
						plugDiv.innerHTML = obj.output;	
						var projtitleid="#projectname"+encodedMacroId; 	
						var pagetitleid="#title"+encodedMacroId;
						var attachtitleid="#attachtitle"+encodedMacroId;
						JT_init();
						$(document).ready(function() {
							
							var ac = $(projtitleid).autocomplete("autocomplete.jsp",{delay:10,minChars:2,matchSubset:1,matchContains:1,cacheLength:10,onItemSelect:selectItem,onFindValue:findValue,formatItem:formatItem,autoFill:true});
                            if(ac[0])
                            	ac[0].autocompleter.setExtraParams({operation:"projectlist"});
						});
						
						$(document).ready(function() {
							var ac = $(pagetitleid).autocomplete("autocomplete.jsp",{delay:10,minChars:2,matchSubset:1,matchContains:1,cacheLength:10,onItemSelect:selectItem,onFindValue:findValue,formatItem:formatItem,autoFill:true});
                            if(ac[0])
                            	ac[0].autocompleter.setExtraParams({operation:"pagelist",macroId:encodedMacroId });
						});
						
						$(document).ready(function() {
							var ac = $(attachtitleid).autocomplete("autocomplete.jsp",{delay:10,minChars:2,matchSubset:1,matchContains:1,cacheLength:10,onItemSelect:selectItem,onFindValue:findValue,formatItem:formatItem,autoFill:true});
                            if(ac[0])
                            {
                            	var prjName = document.getElementById("projectname").value;
								var pageName = document.getElementById("editpage_title").value;
                           		ac[0].autocompleter.setExtraParams({operation:"attachlist",projectname:prjName,pagetitle:pageName });
                            }
						});
						
					}
					
				}
				
			}
		}
	}
	
	
	function insertPluginProps()
	{
		
		var pluginParameters = document.getElementById("hiddenplugin").value;

		var macroId = document.getElementById("macroid").value;
	
		var replaceString =macroId+"{";
		
		var arParameters = pluginParameters.split(",");
		var refString="";
		if(macroId == "$feed")
		{
			
			var paramValue = "";
			if(document.getElementById("listtype_feed") && document.getElementById("listtype_feed").value != "" && document.getElementById("listtype_feed").value != "none")
			{
				paramValue =  document.getElementById("listtype_feed").value;
				if(paramValue != "")
				{
					refString= refString+"listtype="+paramValue;				
				}
				if(document.getElementById("projectname_feed") && document.getElementById("projectname_feed").value != "")
				{
					paramValue =  document.getElementById("projectname_feed").value;
					if(paramValue != "")
					{
						refString= refString+":projectname="+paramValue;				
					}
				}
				if(document.getElementById("letter_feed") && document.getElementById("letter_feed").value != "")
				{
					paramValue =  document.getElementById("letter_feed").value;
					if(paramValue != "")
					{
						refString= refString+":letter="+paramValue;				
					}
				}
				if(document.getElementById("tag_feed") && document.getElementById("tag_feed").value != "")
				{
					paramValue =  document.getElementById("tag_feed").value;
					if(paramValue != "")
					{
						refString= refString+":tag="+paramValue;				
					}
				}
				if(document.getElementById("topic_feed") && document.getElementById("topic_feed").value != "")
				{
					paramValue =  document.getElementById("topic_feed").value;
					if(paramValue != "")
					{
						refString= refString+":topic="+paramValue;				
					}
				}
				if(document.getElementById("news_filter_feed") && document.getElementById("news_filter_feed").value != "")
				{
					paramValue =  document.getElementById("news_filter_feed").value;
					if(paramValue != "")
					{
						refString= refString+":news_filter="+paramValue;				
					}
				}
				if(document.getElementById("searchtext_feed") && document.getElementById("searchtext_feed").value != "")
				{
					paramValue =  document.getElementById("searchtext_feed").value;
					if(paramValue != "")
					{
						refString= refString+":searchtext="+paramValue;				
					}
				}
				if(document.getElementById("caption_feed") && document.getElementById("caption_feed").value != "")
				{
					paramValue =  document.getElementById("caption_feed").value;
					if(paramValue != "")
					{
						refString= refString+":caption="+paramValue;				
					}
				}
			}
		}
		for(var i=0;i<arParameters.length;i++)
		{
			if((arParameters[i]).length == 0)
			{
				continue;
			}
			var arParameter = (arParameters[i]).split(":");
			var plugParameterName = arParameter[0];
			var plugParameterId = arParameter[1];
			var isMandatory = arParameter[2];
			var param =document.getElementById(""+plugParameterId+"");
			var paramValue = document.getElementById(""+plugParameterId+"").value;
			paramValue = paramValue.replace(/</g,"&lt;");
			paramValue = paramValue.replace(/>/g,"&gt;");
			if(macroId == "$feed")
			{
				if(plugParameterId == "ref_feed")
				{
					if(paramValue.length == 0)
					{
						paramValue = refString;
					}
				}
			}
			if(paramValue.length > 0 || paramValue == "none")
			{
				replaceString = replaceString + " "+plugParameterName+"=\""+paramValue+"\"";
			}
			else
			{
				if(isMandatory == "true")
				{	
					alert("Mandatory");
					document.getElementById("errormessage").setAttribute("class","errormessage_visible");
					document.getElementById("errormessage").className = "errormessage_visible";
					(param.parentNode.parentNode).style.backgroundColor="#FFCCCC";
					return false;
				}
			}
		}
		replaceString = replaceString + "}";
		
		var doc = wys_editor._doc;
		wys_editor.focusEditor();
		var sel = wys_editor._getSelection();
		var range = wys_editor._createRange(sel);
		var wiki = doc.createElement("div");
		wiki.className="plugin";
		wiki.innerHTML=replaceString;
		if (HTMLArea.is_ie) {
			range.pasteHTML(wiki.outerHTML+"</br>");
			wys_editor.focusEditor();
		} else {
			wys_editor.insertNodeAtSelection(wiki);
			doc.createElement("br");
			//wiki.parentNode.insertBefore(doc.createElement("br"), wiki.nextSibling);
			wys_editor.focusEditor();	
			
		}
		disablePopup();
		var tableelem = document.getElementById("generatedpluginui");
		(tableelem.parentNode).removeChild(tableelem);
		/*
		//remove the elements from DOM so that XSSFilter doesn't process these temporary elements
		for(var i=0;i<arParameters.length;i++)
		{
			if((arParameters[i]).length == 0)
			{
				continue;
			}
			var arParameter = (arParameters[i]).split(":");
			var plugParameterName = arParameter[0];
			var plugParameterId = arParameter[1];
			var param =document.getElementById(""+plugParameterId+"");
			(param.parentNode).removeChild(param);
		}
		*/
		
	}
	
	function editPluginProps()
	{
		var pluginParameters = document.getElementById("hiddenplugin").value;

		var macroId = document.getElementById("macroid").value;
		//alert(macroId);
		var replaceString =macroId+"{";
		
		var arParameters = pluginParameters.split(",");
		var refString="";
			if(macroId == "$feed")
		{
			var paramValue = "";
			if(document.getElementById("listtype_feed") && document.getElementById("listtype_feed").value != "" && document.getElementById("listtype_feed").value != "none")
			{
				paramValue =  document.getElementById("listtype_feed").value;
				if(paramValue != "")
				{
					refString= refString+"listtype="+paramValue;				
				}
				if(document.getElementById("projectname_feed") && document.getElementById("projectname_feed").value != "")
				{
					paramValue =  document.getElementById("projectname_feed").value;
					if(paramValue != "")
					{
						refString= refString+":projectname="+paramValue;				
					}
				}
				if(document.getElementById("letter_feed") && document.getElementById("letter_feed").value != "")
				{
					paramValue =  document.getElementById("letter_feed").value;
					if(paramValue != "")
					{
						refString= refString+":letter="+paramValue;				
					}
				}
				if(document.getElementById("tag_feed") && document.getElementById("tag_feed").value != "")
				{
					paramValue =  document.getElementById("tag_feed").value;
					if(paramValue != "")
					{
						refString= refString+":tag="+paramValue;				
					}
				}
				if(document.getElementById("topic_feed") && document.getElementById("topic_feed").value != "")
				{
					paramValue =  document.getElementById("topic_feed").value;
					if(paramValue != "")
					{
						refString= refString+":topic="+paramValue;				
					}
				}
				if(document.getElementById("news_filter_feed") && document.getElementById("news_filter_feed").value != "")
				{
					paramValue =  document.getElementById("news_filter_feed").value;
					if(paramValue != "")
					{
						refString= refString+":news_filter="+paramValue;				
					}
				}
				if(document.getElementById("searchtext_feed") && document.getElementById("searchtext_feed").value != "")
				{
					paramValue =  document.getElementById("searchtext_feed").value;
					if(paramValue != "")
					{
						refString= refString+":searchtext="+paramValue;				
					}
				}
				if(document.getElementById("caption_feed") && document.getElementById("caption_feed").value != "")
				{
					paramValue =  document.getElementById("caption_feed").value;
					if(paramValue != "")
					{
						refString= refString+":caption="+paramValue;				
					}
				}
			}
		}
		
		for(var i=0;i<arParameters.length;i++)
		{
			if((arParameters[i]).length == 0)
			{
				continue;
			}
			var arParameter = (arParameters[i]).split(":");
			var plugParameterName = arParameter[0];
			var plugParameterId = arParameter[1];
			var isMandatory = arParameter[2];
			var param =document.getElementById(""+plugParameterId+"");
			var paramValue = document.getElementById(""+plugParameterId+"").value;
			paramValue = paramValue.replace(/</g,"&lt;");
			paramValue = paramValue.replace(/>/g,"&gt;");
			if(macroId == "$feed")
			{
				if(plugParameterId == "ref_feed")
				{
					if(paramValue.length == 0)
					{
						paramValue = refString;
					}
				}
			}
			if(paramValue.length > 0)
			{
				replaceString = replaceString + " "+plugParameterName+"=\""+paramValue+"\"";
			}
			else
			{
				if(isMandatory == "true")
				{	
					document.getElementById("errormessage").setAttribute("class","errormessage_visible");
					document.getElementById("errormessage").className = "errormessage_visible";
					(param.parentNode.parentNode).style.backgroundColor="#FFCCCC";
					return false;
				}
			}
			
		}
		
		replaceString = replaceString + "}";
		
		plugdivtarget.innerHTML=replaceString;
		disablePopup();
		var tableelem = document.getElementById("generatedpluginui");
		(tableelem.parentNode).removeChild(tableelem);
		/*
		//remove the elements from DOM so that XSSFilter doesn't process these temporary elements
		for(var i=0;i<arParameters.length;i++)
		{
			if((arParameters[i]).length == 0)
			{
				continue;
			}
			var arParameter = (arParameters[i]).split(":");
			var plugParameterName = arParameter[0];
			var plugParameterId = arParameter[1];
			var param =document.getElementById(""+plugParameterId+"");
			(param.parentNode).removeChild(param);
		}
		*/
	}
	
	function insertSpecificPlugin(macroId)
	{
		var doc = wys_editor._doc;
		wys_editor.focusEditor();
		var sel = wys_editor._getSelection();
		var range = wys_editor._createRange(sel);
		var wiki = doc.createElement("div");
		wiki.className="plugin";
		if(macroId == "$other")
		{
			wiki.innerHTML="Enter Plugin Here";
		}
		else if(macroId == "$cal{}")
		{
			wiki.innerHTML="$cal{month=\"\" year=\"\" view=\"full\" events=\"mm-dd-yyyy(time;event1|time2;event2|event3)\" }";
		}
		if (HTMLArea.is_ie) {
			range.pasteHTML(wiki.outerHTML+"<br/>");
			wys_editor.focusEditor();
		} else {
			wys_editor.insertNodeAtSelection(wiki);
			doc.createElement("br");
			//wiki.parentNode.insertBefore(doc.createElement("br"), wiki.nextSibling);
			wys_editor.focusEditor();	
			
		}	
		disablePopup();
	}
	
	function insertMiscPlugin(macroId)
	{
		var doc = wys_editor._doc;
		wys_editor.focusEditor();
		var sel = wys_editor._getSelection();
		var range = wys_editor._createRange(sel);
		var wiki = doc.createElement("div");
		wiki.className="plugin";
		wiki.innerHTML=macroId;
		if (HTMLArea.is_ie) {
			range.pasteHTML(wiki.outerHTML+"<br/>");
			wys_editor.focusEditor();
		} else {
			wys_editor.insertNodeAtSelection(wiki);
			doc.createElement("br");
			//wiki.parentNode.insertBefore(doc.createElement("br"), wiki.nextSibling);
			wys_editor.focusEditor();	
			
		}	
		disablePopup();
	}
	
	
	
	function cancelPluginProps()
	{
		disablePopup();
	}
	
	

	function showSmiley()
	{
		centerPopup();
		//load popup
		loadPopup();
		var propDiv = document.createElement('div');
		
		var plugDiv = document.getElementById("popupContact");

		var ajaxReader  = new WikiAjax();
		ajaxReader.setMethodTOPOST();
		//var reqURL = siteContext + "generateUI.jsp";
		//ajaxReader.setRequestURL(reqURL);
		var showSmileyCallBack = new ShowSmileyCallBack(plugDiv);
		ajaxReader.setCallback(showSmileyCallBack.process);
		var params = new Array();
		var req = createRequest(createManagerMethod("generateSmileyUI", params,"net.etouch.contmgmt.wiki.GenerateSmileyUI"));
		ajaxReader.addField("reqdata", req);
		ajaxReader.send();
		
	}
	
	function ShowSmileyCallBack(plugDiv)
	{
		this.plugDiv = plugDiv;
		this.process = process;
		
		function process( responseDOM, errorMessage, responseText )
		{
	
			var obj = parseResponse(responseDOM);
						
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{ 
					if(obj.output +"" != "")
					{
						plugDiv.innerHTML = obj.output;					
					}
					
				}
				
			}
		}
	}
	
	function InsertSmiley(url)
	{
		disablePopup();
		var doc = wys_editor._doc;
		var outparam = null;
		
		var img = doc.createElement("img");
		
		img.src = url;
		img.setAttribute("align","absmiddle");
		
		if (HTMLArea.is_ie) {
			var sel = wys_editor._getSelection();
	   		var range = wys_editor._createRange(sel);
			range.pasteHTML(img.outerHTML);
		} else {
			// insert the table
			wys_editor.insertNodeAtSelection(img);
		}
		
		wys_editor.focusEditor();
		
	}
	
	
	
	function RSSResponseHandler( id, uri )
	{
		this.id = id;
		this.uri = uri;
		this.process = process;
		
		function process( responseDOM, errorMessage, responseText )
		{
			if(errorMessage == null)
			{
				var channel = responseDOM.getElementsByTagName("channel")[0];
				if(channel==null)
				{
					channel = responseDOM.getElementsByTagName("feed")[0];
				}
				if(channel == null)
				{
					var obj = parseResponse(responseDOM);
					if(obj == null)
					{
						document.getElementById(id).innerHTML = generalMsgLocalizer.getMessage("response_not_well");
					}
					else if(typeof obj.output == "undefined")
					{
						document.getElementById(id).innerHTML = generalMsgLocalizer.getMessage("rss_resp_not_well");
					}
					else
					{
						document.getElementById(id).innerHTML = generalMsgLocalizer.getMessage("err_msg") + "["+ obj.statusMessage + "] " + obj.output;
					}
				}
				else
				{
					writeRSSDivContent(id, responseDOM);
				}
			}
		}
	}
	
	function writeRSSDivContent(id, responseDOM)
	{
		
		var channel 			= 	responseDOM.getElementsByTagName("channel")[0];
		if(channel == null)
		{
			channel 			= 	responseDOM.getElementsByTagName("feed")[0];
		}
		
		var channelTitle 		= 	getElementTextNS("", "title", channel, 0);
	
		var channelLink			=	getElementTextNS("", "link", channel, 0);
		var channelDescription	=	getElementTextNS("", "description", channel, 0);
		if(channelDescription==null)
		{
			channelDescription	=	getElementTextNS("", "tagline", channel, 0);
		}
		var channelPubDate		=	getElementTextNS("", "pubDate", channel, 0);
		if(channelPubDate==null)
		{
			channelPubDate		=	getElementTextNS("", "modified", channel, 0);
		}
		
		var channelImage 		= 	channel.getElementsByTagName("image")[0];
		var divTitle			=	document.getElementById(id).getAttribute("title");
		var showHeading			=	document.getElementById(id).getAttribute("show_heading");
		var showDate			=	document.getElementById(id).getAttribute("show_date");
		var showDesc			=	document.getElementById(id).getAttribute("show_desc");
		var showHeadingImage	=	document.getElementById(id).getAttribute("show_headingimage");
		var isinternalLink		=	document.getElementById(id).getAttribute("internal");
		
		var cols				=	document.getElementById(id).getAttribute("cols");
		var tbStyle				=	document.getElementById(id).getAttribute("table_style");
		var trStyle				=	document.getElementById(id).getAttribute("tr_style");
		var tdStyle				=	document.getElementById(id).getAttribute("td_style");
		var maxItemCount 		=	10000;
		var tablecols			=	1;
		
		if( document.getElementById(id).getAttribute("count") != null )
		{
			try
			{
				var cnt = parseInt(document.getElementById(id).getAttribute("count")); 
				if(cnt>0)
				{
					maxItemCount = cnt; 
				}
			}
			catch(err){}
		}
		if(tbStyle==null)
		{
			tbStyle = "border:0px;margin:0px;padding:0px";
		}
		if(tdStyle==null)
		{
			tdStyle = "padding:4px;";
		}
		if(trStyle==null)
		{
			trStyle = "";
		}
		var internalLink = false;
		if(isinternalLink!=null && isinternalLink=="true")
		{
			internalLink = true;
		}
		if( cols != null && !et_g_isWhitespace(cols))
		{
			try
			{
				if(parseInt(cols)>1)
				{
					tablecols = parseInt(cols); 
				}
			}
			catch(err){}
		}
		
		if( showHeadingImage==null || et_g_isWhitespace(showHeadingImage))
		{
			showHeadingImage = "true";
		}
		
		if( showHeading==null || et_g_isWhitespace(showHeading))
		{
			showHeading = "true";
		}
		
		if( showDate==null || et_g_isWhitespace(showDate) )
		{
			showDate = "true";
		}

		if( showDesc==null || et_g_isWhitespace(showDesc) )
		{
			showDesc = "true";
		}
		
		if( et_g_isWhitespace(divTitle) && !et_g_isWhitespace(channelTitle) )
		{
			divTitle	=	channelTitle;
		}
		
		var htmlArray = new Array();
		htmlArray.push("<table cellspacing='0' cellpadding='0' style=\""+tbStyle+"\" border='0'>");
		if( trim(showHeading.toLowerCase()) == "true")
		{
			try
			{
				if( showHeadingImage=="true" && channelImage != null )
				{
					htmlArray.push("<tr>");
					htmlArray.push("<td valign='top' class=\"rssheading\" colspan=\""+tablecols+"\">");
					var img = getElementTextNS("", "url", channelImage, 0);
					var imgtitle = getElementTextNS("", "title", channelImage, 0);
					var imglink = getElementTextNS("", "link", channelImage, 0);
					if(!et_g_isWhitespace(img) && !et_g_isWhitespace(imgtitle) && !et_g_isWhitespace(imglink))
					{
						var imgTag  = "<a href=\""+imglink+"\" "+(!internalLink?"target='_blank'":(parent?"target='_parent'":""))+">" + "<img align='absmiddle' border='0' src=\"" + img + "\" title=\"" + imgtitle + "\" alt=\"" + imgtitle + "\"" + "></a> ";
						htmlArray.push(imgTag);
					}
					htmlArray.push("</td>");
					htmlArray.push("</tr>");
				}
			}
			catch(err){}
			try
			{
				if( trim(showHeading.toLowerCase()) == "true" && trim != null && trim(divTitle) != "")
				{
					htmlArray.push("<tr>");
					htmlArray.push("<td valign='top' class=\"rssheading\" colspan=\""+tablecols+"\">");
					htmlArray.push("<a href=\""+channelLink+"\" "+(!internalLink?"target='_blank'":(parent?"target='_parent'":""))+">");
					htmlArray.push(divTitle);
					htmlArray.push("</a>");
					htmlArray.push("</td>");
					htmlArray.push("</tr>");
				}
			}
			catch(err){}
				
		}
		
		var items = channel.getElementsByTagName("item");
		if( items==null || items.length == 0 )
		{
			items = channel.getElementsByTagName("entry");
		}
		
		if(items != null)
		{
			var itemTitle = "";
			var itemLink = "";
			var itemDescription = "";
			var itemPubDate = "";
			var itemIcon ="";
			var itemIconAlt="";
			var itemProjectName="";
			var addDescription = (trim(showDesc.toLowerCase()) == "true");
			var addDate = (trim(showDate.toLowerCase()) == "true");
			htmlArray.push("<tr style=\""+trStyle+"\">");
			var colCounter = 1;
			var colWidth = 100/tablecols;
			if(items.length)
			{	
				for ( var i = 0; i < items.length; i++ ) 
				{
					if( i == maxItemCount )
					{
						break;
					}
					itemTitle 			= getElementTextNS("", "title", items[i], 0);
					itemLink 			= getElementTextNS("", "link", items[i], 0);
					itemDescription 	= getElementTextNS("", "description", items[i], 0);
					itemIcon 			= getElementTextNS("", "icon", items[i], 0);
					itemIconAlt 			= getElementTextNS("", "iconalt", items[i], 0);
					itemProjectName 			= getElementTextNS("", "projectname", items[i], 0);
					if(itemDescription==null)
					{
						itemDescription 	= getElementTextNS("", "content", items[i], 0);
					}
					itemPubDate 		= getElementTextNS("", "pubDate", items[i], 0);
					if(itemPubDate==null)
					{
						itemPubDate 		= getElementTextNS("", "modified", items[i], 0);
					}
					if(colCounter>tablecols)
					{
						htmlArray.push("</tr>");
						htmlArray.push("<tr style=\""+trStyle+"\">");
						colCounter = 1;
					}	
					htmlArray.push("<td valign='top' style=\""+tdStyle+"\" width='"+colWidth+"%'>");	
					
					htmlArray.push("<p class='rsslink'>");
					if(itemIcon != null && itemIcon !="")
					{
						if(itemIconAlt != null && itemIconAlt !="")
						{
							htmlArray.push("<img alt=\""+itemIconAlt+"\" title=\""+itemIconAlt+"\" src=\""+itemIcon+"\" align=\"absmiddle\" hspace=\"3\"/>");
						}
						else
						{
							htmlArray.push("<img alt=\""+itemIconAlt+"\" title=\""+itemIconAlt+"\" src=\""+itemIcon+"\" align=\"absmiddle\" hspace=\"3\"/>");
						}
					}
					htmlArray.push("<a href=\""+itemLink+"\" "+(!internalLink?"target='_blank'":(parent?"target='_parent'":"")) + ">");
					htmlArray.push(itemTitle);
					htmlArray.push("</a>");
					if(itemProjectName != "" && itemProjectName != "null" && typeof itemProjectName != "undefined")
					{
						htmlArray.push("&nbsp;<label style=\"text-align: left;\" class=\"homemodified_info\">["+itemProjectName+"]</label>");
					}
					htmlArray.push("</p>");
					htmlArray.push("<p class='rssdesc'>");
					if(addDescription && !et_g_isWhitespace(itemDescription))
					{
						htmlArray.push(itemDescription);
					}
					if(!et_g_isWhitespace(itemPubDate))
					{
						if( addDate )
						{
							if(!et_g_isWhitespace(itemDescription) && addDescription)
							{
								//htmlArray.push("<br clear=\"all\">");
							}
							htmlArray.push("<div class='rssdateinfo'>"+itemPubDate+"</div>");
						}
					}
					htmlArray.push("</p>");
					htmlArray.push("</td>");
					colCounter++;
				}
			}
			else
			{
				
				htmlArray.push("<tr style=\""+trStyle+"\">");
				htmlArray.push("<td valign='top'>");
				htmlArray.push(" No item found.");
				htmlArray.push("</td>");
				htmlArray.push("</tr>");
			}
			
			
			if(colCounter<tablecols)
			{
				for(var cCounter=0;cCounter<(tablecols-(colCounter-1));cCounter++)
				{
					htmlArray.push("<td>&nbsp;</td>");	
				}
			}
			htmlArray.push("</tr>");
		}
		
		htmlArray.push("</table>");
		document.getElementById(id).innerHTML = htmlArray.join("");
	}
	
	function changePointer(cursorType)
	{
		/*try
		{
			var length = document.all.length ;
			for (var j=0; j<length; j++)
			{
				try
				{
					document.all[j].style.cursor=cursorType;
					if(document.all[j].contentWindow)
					{
						document.all[j].contentWindow.document.body.style.cursor=cursorType;
					}
				}
				catch(err){}
			}
		}
		catch(err){}*/
		try
		{
			document.body.style.cursor=cursorType;
		}
		catch(err){}
	}	
	
	function getElementTextNS(prefix, local, parentElem, index) 
	{
	    var result = "";
	    /**
	     * for IE and with namespace....
	     result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
	    **/
	    try
		{
	        result = parentElem.getElementsByTagName(local)[index];
		    if (result) 
		    {
		        if (result.childNodes.length > 1) 
		        {
		            return result.childNodes[1].nodeValue;
		        } 
		        else 
		        {
		            return result.firstChild.nodeValue;    		
		        }
		    }
		}
	    catch(err){}
	}
		function trim(str)
	{
	    return str.replace(/^\s+/,'').replace(/\s+$/,'');
	}
	
	var generalMsgLocalizer = {
		getMessage: function(key, args) {
			var _result;
			try {
				_result = generalMsgs[key];
			} catch(err) {
			}
			if (typeof _result !="string") {
				_result = key;
			}
			if (typeof args != "undefined" && 
						(args.constructor.toString().indexOf("Array") != -1)) {
				for (var i=0; i< args.length; i++) {
					var regEx = new RegExp("\\{"+i+"\\}");
					_result = _result.replace(regEx,args[i])
				}
			}
			return _result;
		}
	};
	
	
	/*
	 * returns truncated text with ...
	 * eg: 'abcdefgh' for cnt = 7 gives out abcd... (text)
	 * html gives an a tag with title
	 */
	function getTruncatedString(data, cCnt, textOnly) 
	{
		var ret= "&nbsp;";
		if (textOnly) {
			ret = "";
		}
		if (data != null )
		{
			var dat = trim(data);
			if (dat.length > cCnt) {
				if (textOnly) {
					ret = (dat.substring(0, cCnt-3)+"...");
				} else {
					ret = "<a title=\"" + data + "\" alt=\"" + data + 
						"\" style=\"text-decoration:none\">" + dat.substring(0, cCnt-3) + 
						"..." +	"</a>";
				}
			}	else {
				ret = dat;
			}
		}
	  return ret;		
	}