//RSS
var arrayRSS = new Array();
var arrayIndex = 0;
var xmlRequest = null;
function objxmlout(){
this.channelContent = '';
this.channelLink = '';
this.channelTitle = '';
this.channelImage = '';
}
//--------------------------------------------------------
function initRss(){
try{
var tmprss = document.getElementById('rss_'+arrayRSS[arrayIndex]);
var tmpurl = tmprss.getAttribute('url');
loadRssFeedFromURL(tmprss, tmpurl, 1, 'GET');
}catch(e){}
}
function parseRssXML(xmlRequest, source){
var nodeList = xmlRequest.responseXML.getElementsByTagName('channel');
var objxml = new objxmlout();
var singleNode;
var innerList;
var description = '';
var secondList = null;
var rssContent = "";
var nodeCount = 0;
if(nodeList.length==0){
nodeList = xmlRequest.responseXML.getElementsByTagName('Module');
}
for(i=0;i<nodeList.length;i++){
innerList = nodeList.item(i).childNodes;
for(j=0;j<innerList.length;j++){
if(innerList[j].nodeName!='#text')
switch(innerList[j].nodeName){
case 'title':
if(innerList[j].childNodes.length>0){
objxml.channelTitle = innerList[j].childNodes[0].nodeValue;
//HACK FOR TOURISM IRELAND (partner profile - MK: 16840355) - added on 29/01/2009
if (objxml.channelTitle=='Uniquely the island of Ireland') objxml.channelTitle='Our Blog';
//--------------------------------------------------------------------------------------------------------------------
if(objxml.channelTitle.length > 40) objxml.channelTitle = objxml.channelTitle.substring(0,37) + '...';
}
break;
case 'link':
if(innerList[j].childNodes.length > 0){
if (navigator.userAgent.indexOf("MSIE") >= 0) tmpx = 0; else tmpx = 1;
objxml.channelLink = innerList[j].childNodes[0].nodeValue;
}
break;
case 'item':
description='';
if(nodeCount > 5) break; else nodeCount++;
secondList = innerList[j].childNodes;
for(k=0;k<secondList.length;k++){
switch(secondList[k].nodeName){
case 'title':
description = secondList[k].childNodes[0].nodeValue;
break;
case 'link':
if(source==null) rssContent = rssContent + "<a style='line-height: 15px;' target='_blank' href='" + secondList[k].childNodes[0].nodeValue + "'>"+description+"</a><br>";
break;
case 'guid':
if(source=='kayak_to' || source=='kayak_from'){
thirdList = innerList[j].childNodes;
var originCode = '';
var destCode = '';
var destName = '';
var originLocation = '';
var destLocation = '';
var airline = '';
var currency = '';
var price = '';
for(k=0;k<thirdList.length;k++){
switch(thirdList[k].nodeName){
case 'kyk:originCode':
originCode = thirdList[k].childNodes[0].nodeValue;
break;
case 'kyk:destCode':
destCode = thirdList[k].childNodes[0].nodeValue;
break;
case 'kyk:destName':
destName = thirdList[k].childNodes[0].nodeValue;
break;
case 'kyk:originLocation':
originLocation = thirdList[k].childNodes[0].nodeValue;
break;
case 'kyk:destLocation':
destLocation = thirdList[k].childNodes[0].nodeValue;
break;
case 'kyk:airline':
airline = thirdList[k].childNodes[0].nodeValue;
break;
case 'kyk:currency':
currency = thirdList[k].childNodes[0].nodeValue;
break;
case 'kyk:price':
price = thirdList[k].childNodes[0].nodeValue;
break;
}
}
rssContent = rssContent + "<tr>";
rssContent = rssContent + "<td class='headingGreenDefault' align='right'>"+price+" &nbsp;"+currency+"&nbsp;</td>";
//										rssContent = rssContent = "<td><img src='http://www.kayak.com/v94/images/air/<@@LOGO>.gif'></td>";
var destLocationCut = '';
if(source=='kayak_from'){
if(destLocation.indexOf(',')>0){
destLocationCut = 'to '+destLocation.substring(0,destLocation.indexOf(','));
}
}
if(source=='kayak_to'){
if(originLocation.indexOf(',')>0){
destLocationCut = 'from '+originLocation.substring(0,originLocation.indexOf(','));
}
}
destLocationCut=destLocationCut.substring(0,13);
destLocationCut += " <span class='textBlackDefault'>by "+airline+"</span>";
rssContent = rssContent + "<td nowrap>" + destLocationCut + "</td>";
rssContent = rssContent + "<td><a href='#' onClick=\"checkflight('" + originCode + "','" + destCode + "','" + originLocation.replace("'","") + "','" + destLocation.replace("'","") + "'); return false;\" class='textBlueDefault nounderline'>check</a></td>";
rssContent = rssContent + "</tr>";
//										rssContent = rssContent + price + ' ' + currency + ' ' + airline + " <a href=javascript:checkflight('"+originCode+"','"+destCode+"',\""+originLocation+"\",\""+destLocation+"\")>check now</a><br/>";
}
break;
}
}
break;
case 'image':
secondList = innerList[j].childNodes;
for(k=0;k<secondList.length;k++){
switch(secondList[k].nodeName){
case 'url':
objxml.channelImage = secondList[k].childNodes[0].nodeValue;
break;
}
}
break;
case 'Content':
if( innerList[j].getAttribute('type') == 'html'){
for(k=0;k<innerList[j].childNodes.length;k++){
if(innerList[j].childNodes[k].nodeName != '#text'){
rssContent = rssContent + innerList[j].childNodes[k].nodeValue.replace('height="100%"','height="200px"');
}
}
}else{
rssContent = rssContent + '<iframe src=' + innerList[j].getAttribute('url') + ' frameborder=0 scrolling=no></iframe>';
}
break;
case 'ModulePrefs':
objxml.channelTitle = innerList[j].getAttribute('title');
objxml.channelLink = innerList[j].getAttribute('title_url');
if(objxml.channelTitle.length > 40) objxml.channelTitle = objxml.channelTitle.substring(1,40);
break;
}
}
//HACK FOR TOURISM IRELAND (partner profile - MK: 16840355) - added on 29/01/2009
if (objxml.channelLink=='http://discoverireland.wordpress.com') {
rssContent = rssContent + '<div style="text-align: right;"><a href="http://discoverireland.wordpress.com/feed/" target="_blank"><img src="http://www.wayn.com/images/icons/ico_rss.gif"></a></div>';
}
//--------------------------------------------------------------------------------------------------------------------
}
if(source=='kayak_to' || source=='kayak_from'){
rssContent = '<table>' + rssContent + '</table>';
}
objxml.channelContent = rssContent;
return objxml;
}
function loadRssFeedFromURL(rssObj, rssURL, onlyText, method, source) {
if(source=='kayak_to') {
rssObj = $('rss_kayak_flights_to');
}
if(source=='kayak_from') {
rssObj = $('rss_kayak_flights_from');
}
var tmp = '';
if(onlyText==0) {
//tmp = 'testrss';
tmp = 'getrss';
} else {
tmp = 'getrss';
}
var url=location.protocol+"//"+location.hostname+"/waynprofile.html?wci=content&wce=" + tmp;
var xmlRequest = null;
xmlRequest = new Ajax.Request
(
url, {
method : method,
parameters: "rss_url=" + rssURL,
onSuccess : function (resp) {
tmp = parseRssXML(resp,source);
if(onlyText == 1) {
var tmpx = 0;
if (tmp.channelContent!=''){
rssObj.innerHTML = tmp.channelContent;
}else{
var rss_author = rssObj.getAttribute('author');
var tmpString = '';
if (rss_author == 1 ){
var box_id = rssObj.id.substr(4,rssObj.id.length-4);
tmpString += '<center>';
tmpString += '<div style="margin-bottom:6px;"><b>You RSS is invalid and has been disabled.</b></div>';
tmpString += '<a href="/waynprofile.html">Try again</a> | ';
tmpString += 'Edit | ';
tmpString += '<a href="#" onclick="deleteBox(' + box_id + ',' + box_id + ',0);return false;">Remove</a>';
tmpString += '</center>';
rssObj.innerHTML = tmpString;
}else{
//alert('HIDE BOX');
//rssObj.parentNode.parentNode.parentNode.style.display = 'none';
}
}
if(source=='kayak_from' || source=='kayak_to') {
if(tmp.channelContent!='<table></table>') {
try {
$('home_flights_box_div').style.display='';
$('home_flights_box_div2').style.display='';
} catch(err) {}
}
}
try {
if (navigator.userAgent.indexOf("MSIE") >= 0) { tmpx = 0; } else { tmpx = 1; }
// box title
if (tmp.channelContent!=''){
$('box_' + arrayRSS[arrayIndex]).childNodes[tmpx].childNodes[tmpx].innerHTML = "<a target='_blank' href='" + tmp.channelLink + "'>" + tmp.channelTitle + "</a>";
}else{
$('box_' + arrayRSS[arrayIndex]).childNodes[tmpx].childNodes[tmpx].innerHTML = 'Error';
}
arrayIndex--;
initRss();
} catch(err) {};
} else {
if(tmp.channelTitle=='') {
alert("Bad file format or resource not accessible, we can't load this rss");
rssObj.btnrss.disabled = false;
rssObj.btnrss.value = 'Save new RSS';
return;
}
rssObj.rss_title.value = tmp.channelTitle;
rssObj.rss_link.value = tmp.channelLink;
rssObj.rss_image.value = tmp.channelImage;
rssObj.action='/waynprofile.html?wci=content&wce=enter' + '&doc_title=' + encodeURIComponent(document.title);
rssObj.submittype.value = 'insertrss';
rssObj.submit();
}
},
onFailure  : function ( resp ) { return; },
onException: function ( resp ) { return; }
}
);
}
function addRssFeed(key){
document.location.href = '/waynprofile.html?wci=content&wce=enter&submittype=addrss&element_key=' + key +'&settype=1' + '&doc_title=' + encodeURIComponent(document.title);
}
function delRssFeed(key){
document.location.href = '/waynprofile.html?wci=content&wce=enter&submittype=del&element_key=' + key + '&type=1' + '&doc_title=' + encodeURIComponent(document.title);
}
