/* get RSS Feed and return only the record matching today's date */

var statusobj = [];
var xhrs = [];

/* dynamic rss ajax call - based on rss feed */
function AjaxRequest()
      {
	  this.count = 0;
	  this.rss = "";
      this.Method = "GET";//OR "POST" 
      this.Async = true; //OR false (asynchronous or synchronous call) 
      this.init = function() {
		  this.request = new getXMLHttp();
		  if (this.request) {
			this.request.onreadystatechange=this.handleResponse;
			//we will develope this.handleResponse function in step 3 
			this.request.open(this.Method, this.rss , this.Async);
			this.request.send(null);
		}
	  }
	  var self = this;
  	  this.handleResponse = function() {
			if (self.request.readyState == 1) { /* Not Loaded yet */ }
			if (self.request.readyState == 4) { 
				if (self.request.status == 200) { // Loaded
						var xmldoc = self.request.responseXML;
						var root_node = xmldoc.getElementsByTagName("item");
						var filter = gPRSS(root_node);
						xhrs[self.count] = filter;
					    statusobj.splice(this.count,1); /* remove status */
						delete self.request;
				} else {
					alert('There was a problem with the request. '+self.request.status);
				}
			}
	   }
}

function returnTodaysTip(tipdata, div){
	var filterDiv = '', datalink='#';
	var currentDate = new Date();
	var viewall = $(div).getAttribute("viewall");
	var showtitle = ($(div).getAttribute("showtitle")) ? $(div).getAttribute("showtitle") : "yes";
	var tipwritten = false;
	
	filterDiv = "<!-- Inline Content Listing Begin -->"
	filterDiv += '<div id="icl_container">'
	filterDiv += '<ul>'
	for (i=0;i<tipdata.length;i++) {
		if (formatDate(tipdata[i].date) == formatDate(currentDate)) {
			datalink = tipdata[i].linkurl;
			if (showtitle == "yes")
				filterDiv += '<li class=icl_title>'+tipdata[i].title.replace(/\\\"/gi,'"')+'</li>'
			filterDiv += '<li class=icl_summary><p>'+tipdata[i].summary+'</p>'
			if (tipdata[i].summary.indexOf("readmoreDaily") > 0) filterDiv += '[ <a id="readmore" href="javascript:;" onclick="toggle_readmore(\'readmoreDaily\');">Read more...</a> ]';
			if (viewall=='yes') filterDiv += '<div id="tipview"><a href="javascript:returnTodaysTipAll()">View All Daily Tips...</a></div>'
			tipwritten = true;
			break;
		}
	}
	if (!tipwritten && tipdata.length > 0) {
		var datediff = new Date() - new Date('1/1/1970');
		var randomtip = Math.floor((datediff/86400000) % tipdata.length);
		//var randomtip=Math.floor(Math.random()*parseInt(tipdata.length));
		datalink = tipdata[randomtip].linkurl;
		if (showtitle == "yes")
			filterDiv += '<li class=icl_title>'+tipdata[randomtip].title.replace(/\\\"/gi,'"')+'</li>'
		filterDiv += '<li class=icl_summary><p>'+tipdata[randomtip].summary+'</p>'
		if (tipdata[randomtip].summary.indexOf("readmoreDaily") > 0) filterDiv += '[ <a id="readmore" href="javascript:;" onclick="toggle_readmore(\'readmoreDaily\');">Read more...</a> ]';
		if (viewall=='yes') filterDiv += '<div id="tipview"><a href="javascript:returnTodaysTipAll()">View All Daily Tips...</a></div>'
	}
	filterDiv += '</li>'
	filterDiv += '</ul>'
	filterDiv += '</div>'
	filterDiv += '<!-- Inline Content Listing End -->'
	$(div).innerHTML = filterDiv;
	if ($("readmoreEXTlink")) $("readmoreEXTlink").innerHTML = "&nbsp;&nbsp;<a href='"+datalink+"'>Read more...</a>";
	if ($('readmoreDaily'))	$('readmoreDaily').style.display = "none";
}

function returnTodaysTipAll(tipdate, div){
	var filterDiv = '';
	var sitepath = $(div).getAttribute("sitepath");

	filterDiv = "<!-- Inline Content Listing Begin -->"
	//filterDiv += "<div id='icl_container' style='position: absolute; padding-left: 20px; left: 50px; top: 100px; width: 300px; height: 300px; overflow: auto; border: 1px solid #000; background: #fff;z-index: 999999'>"
	filterDiv += "<div id='icl_container' style='width: 741px; background: #fff'>"
	filterDiv += '<table cellspacing=0 cellpadding=0>'
	filterDiv += '<tr><td><div style="position: absolute; left: 45px; top: 1px; color: #FFF; font-weight: bolder; font-size: 9px; 	font-family:Verdana, Arial, Helvetica, sans-serif;">'+document.title.substr(0,document.title.indexOf("-")-1).toUpperCase()+'</div><a href="javascript:hideTodaysTipAll()"><img src="'+sitepath+'/TipAllHeader.gif" border=0></a></td></tr>'
	filterDiv += '<tr><td><div style="background: url('+sitepath+'/TipAllBackgroundg.jpg) no-repeat; width: 741px; height: 276px; margin-top: 0px; padding-top: 10px;">'
	filterDiv += '<div style="padding-top: 10px;margin: 0px 10px 20px 20px; height: 244px; overflow: auto; width: 704px;"><h2>Daily Tips</h2><ul>';
	for (i=0;i<tipdata.length;i++) {
		filterDiv += '<li class=icl_title>'+tipdata[i].title.replace(/\\\"/gi,'"')+'</li>'
		filterDiv += '<li class=icl_summary><p>'+tipdata[i].summary+'</p>'
		filterDiv += '</li>';
	}
	filterDiv += '</ul></div></div></td></tr></table>'
	filterDiv += '</div>'
	filterDiv += '<!-- Inline Content Listing End -->'
	$('divtip').innerHTML = filterDiv;
	$('divtip').style.display = "none";
	$('tipview').innerHTML = '<a href="javascript:hideTodaysTipAll()">Hide All Daily Tips...</a>'
	$('divint').style.display = "none";
	Effect.toggle('divtip','Appear');
}
function hideTodaysTipAll() {
	$('tipview').innerHTML = '<a href="javascript:returnTodaysTipAll()">View All Daily Tips...</a>'
	$('divtip').style.display="none";
	$('divint').style.display = "block";
}
function gPRSS( XMLNode ) {
	var XMLItem = new Array(), j=0;
	for (i=0; XMLNode.length>i; i++)
	{
		 XMLItem[i] = new Array();
		 for (k=0; XMLNode[i].childNodes.length>k; k++)
		 {
			 if(XMLNode[i].childNodes[k].firstChild != null) {
				 switch(XMLNode[i].childNodes[k].tagName) {
					 case "link" : XMLItem[i]["linkurl"] = XMLNode[i].childNodes[k].firstChild.data;
									break;
					 case "title" : XMLItem[i]["title"] = XMLNode[i].childNodes[k].firstChild.data;
									break;
					 case "description" : XMLItem[i]["summary"] = XMLNode[i].childNodes[k].firstChild.data;
									break;
					 case "pubDate" : XMLItem[i]["date"] = new Date(XMLNode[i].childNodes[k].firstChild.data);
									break;
				 }
			 }
		 }
	}
	
	return XMLItem;
}

/* format date */
function formatDate(date) {
	var date = (date.getMonth()+1)+''+date.getDate()+''+date.getFullYear();
	return date;
}
function getTips() {
	xhrs = []; /* clear old article array */
	var divcnt='';
	var arrcnt = 0;
	while ($('todays_tip'+divcnt)) {
		var sitepath = $('todays_tip'+divcnt).getAttribute("sitepath");
		$('todays_tip'+divcnt).innerHTML = '<img src="'+sitepath+'/loading.gif" />';
		var obj = new AjaxRequest();
		statusobj.push(obj);
		obj.count = arrcnt;
		obj.rss = $('todays_tip'+divcnt).getAttribute('rss');
		obj.init();
		divcnt = (divcnt) ? divcnt : 0;
		divcnt++;
		arrcnt++;
	}
	checkStatus();
}

function checkStatus() {
	if (statusobj.length>0) {
		setTimeout("checkStatus()", 200); /* check status every 2 seconds */
	} else {
		for (x=0;x<xhrs.length;x++) {
			div = (x>0) ? ('todays_tip'+x) : 'todays_tip';
			returnTodaysTip(xhrs[x],div);
		}
	}
}

window.onload = function() {
	getTips()
}

