



var irxml_ids = Array();

var irxml_visible_count = 0;

function irxml_head(destID,langFilter,countryFilter,openurl,maxentries)
{

	jQuery.fn.moveBefore = function(objectBefore) { 
	    objectBefore = jQuery(objectBefore)[0]; 
	    var currentN = this[0];
	    objectBefore.parentNode.insertBefore(currentN, objectBefore); 	  
	    return this; 
	};


	var dest = document.getElementById(destID);


	jQuery.ajax({
	    type: "GET",
	    url: "/irxml/",
	    success: function(xml){
                  jQuery(xml).find("a").each(function(){
			var xmlf = jQuery(this).text().replace(' ','').split(".")[0];
			irxml_head_file(dest,xmlf,langFilter,countryFilter,openurl,maxentries);
			jQuery(dest).append("<div id=\""+xmlf+"\" class=\"irxml\"><div class=\"ir_title\"><span class=\"ir_sdate\"></span><span class=\"ir_stitle\"></span></div></div>");			
                  });
            }
	});

}

function irxml_head_file(dest,fn,langFilter,countryFilter,openurl,maxentries)
{
	var irxml_head_title_length = 350;

	jQuery.ajax({
		type: "GET",
		url: "/irxml/"+fn+".xml",
		success: function(xml) {
			var xDiv = jQuery('#'+fn)[0];
			var show = true;
			
			var newDate = "";

			xDiv.onclick = function(){ irxml_head_open(this,fn,openurl) };

			jQuery(xml).find("Headline").each(function(){
				var txt = jQuery(this).text().split(":")[1];

				var txtA = jQuery(this).text().split(":");
				var txt = "";
                                for ( var i = 1 ; i<txtA.length ; i++ )
                                {
					if ( i > 1 )
						txt += ":";
					txt += txtA[i];
				}

				var tDiv = jQuery('span.ir_stitle',xDiv)[0];
				tDiv.title = txt;
				//irxml_setReducedTitle(tDiv,irxml_head_title_length);								
			});
			jQuery(xml).find("deliveryDate").each(function(){
				var txt = jQuery(this).text();
				var ta = txt.split("-");
				newDate = ta[0]+ta[1]+ta[2];
				txt = ta[2]+'.'+ta[1]+'.'+ta[0];
				var tDiv = jQuery('span.ir_sdate',xDiv)[0];
				tDiv.innerHTML = txt;
				tDiv.internalTimeval = newDate;				
			});
			jQuery(xml).find("deliveryTime").each(function(){
				var txt = jQuery(this).text();
				var ta = txt.split(":");
				var newTime = ta[0]+ta[1]+ta[2];
				var tDiv = jQuery('span.ir_sdate',xDiv)[0];
				newDate = newDate + newTime;
				tDiv.internalTimeval = tDiv.internalTimeval+newTime;
				
			});
			
			jQuery(xml).find("Language").each(function(){
				var txt = jQuery(this).text();				
				var cDiv = jQuery('span.ir_sdate',xDiv)[0];
				cDiv.title = cDiv.title+=' ' +txt;
				if ( show )
					show = irxml_filterCheck(langFilter,txt);
			});
			jQuery(xml).find("country").each(function(){
				var txt = jQuery(this).text();				
				var cDiv = jQuery('span.ir_sdate',xDiv)[0];
				cDiv.title = cDiv.title+=' ' +txt;
				if ( show )
					show = irxml_filterCheck(countryFilter,txt);
			});

			if ( show )
				xDiv.style.display = 'block';				

			/** diese funktion klappt erst nach dem display:block **/
			var tDiv = jQuery('span.ir_stitle',xDiv)[0];
			irxml_setReducedTitle(tDiv,irxml_head_title_length);	

			//debugMessage('try to sort in '+fn);
			var lowestTS = 0;
			var lowestID = null;

			for ( var i = 0 ; i<irxml_ids.length ; i ++)
			{
				//debugMessage('iterate irxml_ids '+i);
				var tid = irxml_ids[i];
				var cDiv = jQuery('#'+tid)[0];
				var dDiv = jQuery('span.ir_sdate',cDiv)[0];
				var txt = dDiv.internalTimeval;
				//var ta = txt.split(".");
				//txt = ta[2]+ta[1]+ta[0];
				//debugMessage('check if '+txt+' < '+lowestTS);
				if ( (txt*1) > lowestTS && (txt*1) < newDate )
				{
					//debugMessage('new lowest ID '+tid);
					lowestTS = (txt*1);
					lowestID = tid;
				}
			}
			if ( lowestID != null )
			{
				//debugMessage('move fn before #'+lowestID);
				jQuery('#'+fn).moveBefore('#'+lowestID);
			}			
	
			irxml_ids[irxml_ids.length] = fn;	

		}
	});
}

















function irxml(destID,langFilter,countryFilter)
{

	jQuery.fn.moveBefore = function(objectBefore) { 
	    objectBefore = jQuery(objectBefore)[0]; 
	    var currentN = this[0];
	    objectBefore.parentNode.insertBefore(currentN, objectBefore); 	  
	    return this; 
	};


	var dest = document.getElementById(destID);


	jQuery.ajax({
	    type: "GET",
	    url: "/irxml/",
	    success: function(xml){
                  jQuery(xml).find("a").each(function(){
			var xmlf = jQuery(this).text().replace(' ','').split(".")[0];
			irxml_file(dest,xmlf,langFilter,countryFilter);
			jQuery(dest).append("<div id=\""+xmlf+"\" class=\"irxml\"><div class=\"ir_title\"><span class=\"ir_sdate\"></span><span class=\"ir_stitle\"></span></div><div class=\"ir_content\"></div></div>");			
                  });
            }
	});

}

var irxml_title_length = 530;


function irxml_file(dest,fn,langFilter,countryFilter)
{
	jQuery.ajax({
		type: "GET",
		url: "/irxml/"+fn+".xml",
		success: function(xml) {
			var xDiv = jQuery('#'+fn)[0];
			var show = true;
			
			var newDate = "";

			xDiv.onclick = function(){ irxml_show(this) };

			jQuery(xml).find("Headline").each(function(){
				var txtA = jQuery(this).text().split(":");
				var txt = "";
                                for ( var i = 1 ; i<txtA.length ; i++ )
                                {
					if ( i > 1 )
						txt += ":";
					txt += txtA[i];
				}
				var tDiv = jQuery('span.ir_stitle',xDiv)[0];
				tDiv.title = txt;
				irxml_setReducedTitle(tDiv,irxml_title_length);								
			});
			jQuery(xml).find("deliveryDate").each(function(){
				var txt = jQuery(this).text();
				var ta = txt.split("-");
				newDate = ta[0]+ta[1]+ta[2];
				txt = ta[2]+'.'+ta[1]+'.'+ta[0];
				var tDiv = jQuery('span.ir_sdate',xDiv)[0];
				tDiv.innerHTML = txt;
				tDiv.internalTimeval = newDate;				
			});
			jQuery(xml).find("deliveryTime").each(function(){
				var txt = jQuery(this).text();
				var ta = txt.split(":");
				var newTime = ta[0]+ta[1]+ta[2];
				var tDiv = jQuery('span.ir_sdate',xDiv)[0];
				newDate = newDate + newTime;
				tDiv.internalTimeval = tDiv.internalTimeval+newTime;
				
			});
			jQuery(xml).find("Story").each(function(){
				var txt = jQuery(this).text();				
				var cDiv = jQuery('div.ir_content',xDiv)[0];
				cDiv.innerHTML = '<pre>'+txt+'</pre>';
				
			});

			jQuery(xml).find("Language").each(function(){
				var txt = jQuery(this).text();				
				var cDiv = jQuery('span.ir_sdate',xDiv)[0];
				cDiv.title = cDiv.title+=' ' +txt;
				if ( show )
					show = irxml_filterCheck(langFilter,txt);
			});
			jQuery(xml).find("country").each(function(){
				var txt = jQuery(this).text();				
				var cDiv = jQuery('span.ir_sdate',xDiv)[0];
				cDiv.title = cDiv.title+=' ' +txt;
				if ( show )
					show = irxml_filterCheck(countryFilter,txt);
			});

			if ( show )
				xDiv.style.display = 'block';

			/** diese funktion klappt erst nach dem display:block **/
			var tDiv = jQuery('span.ir_stitle',xDiv)[0];
			irxml_setReducedTitle(tDiv,irxml_title_length);	

			//debugMessage('try to sort in '+fn);
			var lowestTS = 0;
			var lowestID = null;

			for ( var i = 0 ; i<irxml_ids.length ; i ++)
			{
				//debugMessage('iterate irxml_ids '+i);
				var tid = irxml_ids[i];
				var cDiv = jQuery('#'+tid)[0];
				var dDiv = jQuery('span.ir_sdate',cDiv)[0];
				var txt = dDiv.internalTimeval;
				//var ta = txt.split(".");
				//txt = ta[2]+ta[1]+ta[0];
				//debugMessage('check if '+txt+' < '+lowestTS);
				if ( (txt*1) > lowestTS && (txt*1) < newDate )
				{
					//debugMessage('new lowest ID '+tid);
					lowestTS = (txt*1);
					lowestID = tid;
				}
			}
			if ( lowestID != null )
			{
				//debugMessage('move fn before #'+lowestID);
				jQuery('#'+fn).moveBefore('#'+lowestID);
			}			
	
			irxml_ids[irxml_ids.length] = fn;	

			if ( (window.location+"").search("irxml_id="+fn) != -1 )
				irxml_show(xDiv);

		}
	});
}

function irxml_head_open(obj,fn,openurl)
{
	window.location = openurl+"#irxml_id="+fn;
}

function irxml_show(obj)
{
	obj.onclick = function() {irxml_hide(this)};
	jQuery('div.ir_content',obj)[0].style.display = 'block';
	var tDiv = jQuery('span.ir_stitle',obj)[0];
	tDiv.innerHTML = tDiv.title;
}
function irxml_hide(obj)
{
	obj.onclick = function() {irxml_show(this)};
	jQuery('div.ir_content',obj)[0].style.display = 'none';
	var tDiv = jQuery('span.ir_stitle',obj)[0];
	irxml_setReducedTitle(tDiv,irxml_title_length);
}
function irxml_setReducedTitle(tDiv,tLength)
{
	tDiv.innerHTML = tDiv.title;

	var pt_content = (tDiv.innerHTML+"");
	var pt_clenght = pt_content.length;

	while ( tDiv.offsetWidth > tLength )
	{
		pt_clenght--;
		tDiv.innerHTML = pt_content.substring(0,pt_clenght)+" ...";
	}	
}

function irxml_filterCheck(filter,value)
{
	if ( filter.length == 0 )
		return true;
	if ( value.indexOf(filter) != -1 )
		return true;
	return false;
}








