/* The new version Sept 2008 uses prototype.js  */
/* v102, 26th June 2009, stop using cookies to remember last viewd ad always start from first
 * 
 */

cTenMins = (1000*60*10);
// v102 var msgIndex = getCookie('newsticker', 'msgindex', 0);
	var msgIndex = 0;
var charIndex = 0
var speed = 100
var speed2 = 5000
var itemArray = null;
var eTicker = null;
var bStart = true;

function stripslashes(str) {
str=str.replace(/\\'/g,'\'');
str=str.replace(/\\"/g,'"');
str=str.replace(/\\0/g,'\0');
str=str.replace(/\\\\/g,'\\');
return str;
}

function fixIndex() {
   // make sure index is valid, in case cookies are invalid
   var n1 = msgIndex;
   if ((itemArray == null) || (n1 < 0))
      n1 = 0;
   else
      if (n1 > itemArray.length - 1)
         n1 = itemArray.length - 1;
   return n1;
}

function saveIndex() {
   // validate and save the current index to cookie
   if (msgIndex > (itemArray.length - 1))
      msgIndex = 0;
//   //setCookie('newsticker', 'msgindex', msgIndex, cTenMins);
//   setCookie('newsticker', 'msgindex', msgIndex);
}


function getnewsticker(opt) {
   if (opt == null) opt = 'horiz';
   if (opt == 'horiz')
      eTicker = $('newsticker');
   else
      eTicker = $('newstickerinner');
	new Ajax.Request('/rss/0.91/index.xml', { method:'get',
			onSuccess: function(transport){
				eTicker.innerHTML = "Loaded News feed";
				var xml = transport.responseXML;
				if (xml) {
					eTicker.innerHTML = "Loaded...";
					itemArray = xml.getElementsByTagName("item");
					if (itemArray.item(fixIndex()) == null) {
						eTicker.innerHTML = "XML Parse error, problem in the RSS feed?";
					}
					else {
                  if (opt == 'horiz')
   						typeWrite();
                  else
                     scrollWrite();
					}
				}
			},
			onFailure: function(){
				eTicker.innerHTML = '<a href="/rss/0.91/index.xml">Unable to load news feed</a>';
			}
		});
}

function typeWrite() {
   var a1 = itemArray.item(fixIndex()).getElementsByTagName("title");

   var a2 = itemArray.item(fixIndex).getElementsByTagName("link");

   var s1 = a1[0].firstChild.data;
   var s2 = a2[0].firstChild.data;

   //alert(s1 + " : " + s2);
   if (charIndex == s1.length) {
      s3 = '<a href="' + s2 + '">';
      s4 = ' - Click for synopsis.</a>';
   } else {
      s3 = '';
      s4 = '_';
   }
   eTicker.innerHTML = s3 + stripslashes(s1.substring(0, charIndex)) + s4;
   charIndex++
   if (charIndex == s1.length + 1) {
      charIndex = 0
      msgIndex++;
      saveIndex();
      setTimeout("typeWrite()", speed2)
   } else {
      setTimeout("typeWrite()", speed)
   }
}

function scrollWrite() {
   var n1 = (bStart) ? 0.5 : 2;
   bStart = false;
   // get the new ticker content...
   var a1 = itemArray.item(fixIndex()).getElementsByTagName("title");
   var a2 = itemArray.item(fixIndex()).getElementsByTagName("link");
   var a3 = itemArray.item(fixIndex()).getElementsByTagName("description");
   var s1 = '<a href="' + a2[0].firstChild.data + '">';
   var s4 = s1 + '<em>' + a1[0].firstChild.data + '</em><br />' +
            s1 + a3[0].firstChild.data + '</a>';
            //'<span class="small">Article ' + (fixIndex()+1) + ' of ' + itemArray.length +
            //' <a href="\main\yy1.htm">Show All</a>.</span>';

   msgIndex++;
   saveIndex();
   // fade out the old
   new Effect.Fade(eTicker, { queue: 'end', duration: n1,
      afterFinish: function(effect) {
         eTicker.innerHTML = s4;
         eTicker.show();
         setTimeout("scrollWrite()", speed2)
      }
   });
}





