var RSSRequestObject = false; // XMLHttpRequest Object
if (window.XMLHttpRequest) // try to create XMLHttpRequest
	RSSRequestObject = new XMLHttpRequest();
if (window.ActiveXObject)	// if ActiveXObject use the Microsoft.XMLHTTP
	RSSRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
var searchstr;
var expDays = 30;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000)); 

function GetCookie (name) {
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
      return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break;
  }
  return null;
}

function getCookieVal(offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
    endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
} 

function SetCookie (name, value) {
  var expires = exp;
  document.cookie = name + "=" + escape (value) +
    ((expires == null) ? "" : ("; expires=" + expires.toGMTString()));
} 

/*
* onreadystatechange function
*/
function ReqChange() {

	// If data received correctly
	if (RSSRequestObject.readyState==4) {
	
		// if data is valid
		if (RSSRequestObject.responseText.indexOf('invalid') == -1) 
		{ 	
			// Parsing RSS
			var node = RSSRequestObject.responseXML.documentElement; 

			// Get Channel information
			var channel = node.getElementsByTagName('channel').item(0);
			var title = channel.getElementsByTagName('title').item(0).firstChild.data;
			var link = channel.getElementsByTagName('link').item(0).firstChild.data;
			var content= " ";
						
			// Browse items
			var items = channel.getElementsByTagName('item');
			var maxitems = items.length;
			if (maxitems > 3) maxitems = 3;

			if(searchstr!=null){
			  searchstr = searchstr.replace(/</g,'&lt;');
			  searchstr = searchstr.replace(/>/g,'&gt;');
			}
			if((searchstr!=null) && (maxitems>0)){
			  content += '<h3>'+searchstr.charAt(0).toUpperCase()+searchstr.substr(1)+'</h3>';
			}


			for (var n=0; n < maxitems; n++)
			{
			  var itemTitle = items[n].getElementsByTagName('title').item(0).firstChild.data;
			  var itemLink = items[n].getElementsByTagName('link').item(0).firstChild.data;
				try 
				{ 
					var itemPubDate = items[n].getElementsByTagName('pubDate').item(0).firstChild.data;
					itemPubDate = itemPubDate.substring(5,itemPubDate.length-9);
				} 
				catch (e) 
				{ 
					var itemPubDate = '';
				}
				try 
				{ 
					var itemPreamble = items[n].getElementsByTagName('description').item(0).firstChild.data;
				} 
				catch (e) 
				{ 
					var itemPreamble = '';
				}
				try 
				{ 
					var itemSource = items[n].getElementsByTagName('source').item(0).firstChild.data;
				} 
				catch (e) 
				{ 
					var itemSource = '';
				}


			
				content += '<a href="'+itemLink+'" class="title">'+itemTitle+'</a><br /><div class="srcAttr">'+itemSource+' '+itemPubDate+'</div>'+itemPreamble+'<br /><br />';
			}

			// Display the result
			if(maxitems == 3)
				content += '<div style="text-align: right; padding-top: 5px"><a href="/nyhetssok/?searchString='+escape(searchstr)+'&s=1" style="color: #000000; font-weight: bold" >Visa fler &raquo;</a></div>';

			document.getElementById("ajaxreader").innerHTML = content;

			// Tell the reader the everything is done
			if(maxitems == 0)
			  document.getElementById("status").innerHTML = "<div>Inga artiklar om ["+searchstr+"] hittades.</div>";
			else
			  document.getElementById("status").innerHTML = "";

			
		}
		else {
			// Tell the reader that there was error requesting data
			document.getElementById("status").innerHTML = "<div>Fel vid h&auml;mtning av artikelrubriker.</div>";
		}
		
	}
	
	return false;
}

/*
* Main AJAX RSS reader request
*/
function RSSRequest(search) {


	SetCookie('ajaxsearch',search);

        if (search=='') return false;

	searchstr = search;

	// change the status to requesting data
	document.getElementById("status").innerHTML = "<img src=\"/images/anim.gif\" border=\"0\"> S&ouml;ker artiklar...";
	
	// Prepare the request
	var Backend = 'http://www.frisim.com/frisim/servlet/rssajax?searchString='+escape(searchstr); // Backend url
	RSSRequestObject.open("GET", Backend , true);

	// Set the onreadystatechange function
	RSSRequestObject.onreadystatechange = ReqChange;
	// Send
	RSSRequestObject.send(null); 

	return false;
}

function RSSRequestLoad() {

  searchstr = GetCookie('ajaxsearch');

  //if (searchstr == null) return false;

  if ((searchstr == null) || (searchstr.length<2)) return false;
  
  // change the status to requesting data
  //HideShow('status');
  document.getElementById("status").innerHTML = "<img src=\"/images/anim.gif\" border=\"0\"> S&ouml;ker artiklar...";
  //  document.getElementById("status").innerHTML = "S&ouml;ker artiklar ...";
  
  // Prepare the request
  var Backend = 'http://www.frisim.com/frisim/servlet/rssajax?searchString='+escape(searchstr); // Backend url
  
  RSSRequestObject.open("GET", Backend , true);
  
  // Set the onreadystatechange function
  RSSRequestObject.onreadystatechange = ReqChange;
  // Send
  RSSRequestObject.send(null); 
  return false;
}
