function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function popup (url) {
 fenster = window.open(url, "Popupfenster", "width=420,height=500,resizable=yes, scrollbars=yes");
 fenster.focus();
 return false;
}

function pavPageLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            if (oldonload) {
                oldonload();
            }
            func();
        }
    }
}

//read feed
//global variables
var xhr;

// get the http request
function httpRequest() {
  var http;
  if ( window.XMLHttpRequest ){
	http = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
	http = new ActiveXObject ("Microsoft.XMLHTTP");
  }
  return http;
}

var g_divElement;
function pavReadFeed(url, count, length, div ){

	g_divElement = div;
	var serviceHost = self.location.hostname;
	serviceHost = serviceHost.replace(/www./,"");
	var serviceURL = "http://"+serviceHost+"/pcs/feed.do";
//	var serviceURL = "http://localhost:8080/pcs/feed.do";

	// encode url
	url = url.replace(/&/g,"<a>");
	var ajaxURL = serviceURL + "?url=" + url + "&count=" + count + "&len=" + length + "&callback=?";
	ajaxURL = pavEncodeUrl( ajaxURL );
	
	jQuery.ajax({
		dataType: 'jsonp',
		jsonp: 'callback',
		url: ajaxURL,
		success: function (data) {
		if(data!=null){
			var desc = "";
			var length = 0;
			var result = "";
			var titlelink = "";
			if ( data.length > 0 ) {
				var list = data[0];
				for (var i = 0; i < list.items.length; i++ ) {
					var item  = list.items[i];
					titlelink = "<a href=\"" + item.link + "\" target=\"_blank\">" + item.title + "</a>";
					desc = item.description;
					length = item.title.length;
					if ( ( length + desc.length ) > 130 ) {
						length = 130 - length;
						desc = desc.substring( 0, length ) + "...";
					}
					result = result + "<li>" + "<b>" +  titlelink + "</b>" + " " + desc + "<br/><br/></li>";
				}
			}
			if ( result.length > 0 ) {
				result = "<br/>" + result;
				result = "<ul>" + result + "</ul>";
				document.getElementById ( g_divElement ).innerHTML = result;
			}
		}
	}
	});
}		        

//shortcuts to reference in addOnLoad
function pavReadFeedGerman(){
	pavReadFeed('http://www.pavone.de/wps/wcm/connect/DE/DE/unternehmen/News/?srv=cmpnt&source=library&cmpntname=DE/Feed+-+MENU+-+Atom+Generator','2','60','news_content');
}

function pavReadFeedEnglish(){
	pavReadFeed('http://www.pavone.de/wps/wcm/connect/EN/EN/unternehmen/News/?srv=cmpnt&source=library&cmpntname=EN/Feed+-+MENU+-+Atom+Generator','2','60','news_content');
}


function pavEncodeUrl ( string ) {
	string = string.replace(/\r\n/g,"\n");
	var utftext = "";

	for (var n = 0; n < string.length; n++) {

		var c = string.charCodeAt(n);

		if (c < 128) {
			utftext += String.fromCharCode(c);
		}
		else if((c > 127) && (c < 2048)) {
			utftext += String.fromCharCode((c >> 6) | 192);
			utftext += String.fromCharCode((c & 63) | 128);
		}
		else {
			utftext += String.fromCharCode((c >> 12) | 224);
			utftext += String.fromCharCode(((c >> 6) & 63) | 128);
			utftext += String.fromCharCode((c & 63) | 128);
		}

	}

	return utftext;
}
	
function pavDecodeUrl ( utftext ) {
	var string = "";
	var i = 0;
	var c = c1 = c2 = 0;

	while ( i < utftext.length ) {

		c = utftext.charCodeAt(i);

		if (c < 128) {
			string += String.fromCharCode(c);
			i++;
		}
		else if((c > 191) && (c < 224)) {
			c2 = utftext.charCodeAt(i+1);
			string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
			i += 2;
		}
		else {
			c2 = utftext.charCodeAt(i+1);
			c3 = utftext.charCodeAt(i+2);
			string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
			i += 3;
		}

	}

	return string;
}

