var topStories = parseInt(attributes.topStories);
var show_iTouch = false;

window.addEventListener("load", function() {
	setTimeout(function() {window.scrollTo(0, 1)}, 1000)
}, false);

function load()
{
    //bb{
    var href = window.location.href;
    var i = href.indexOf('?');
	var itemName = 'home page';
    if (i > 0) {
        var feedURL = href.substring(i + 1);
        attributes["feedURL"] = feedURL;
		var popup = document.getElementById("feedPopup");
        for (var item = popup.firstChild; item != null; item = item.nextSibling) {
            if (typeof item.selected != "undefined") {
                item.selected = (item.value == feedURL);
			  if (item.selected) itemName = item.text;
            }
        }
    }
	var frame = document.getElementById('iTouchFrame');
	show_iTouch = (itemName == 'finanza' || itemName == 'home page');
    var popupCookie = readCookie('popup');
    if (popupCookie == null) {
        alert("Puoi creare un'icona per ilsole24ore.com/i\nsul desktop del tuo iPhone.\n\nPer farlo, usa il bottone \"+\"\nalla base dello schermo\ne scegli \"Aggiungi a Home\".");
        createCookie('popup', 1, 3650);
    }
	var banner1 = document.getElementById('banner1');
	var banner2 = document.getElementById('banner2');
	if (enableBanners && enableTopBanners) {
		banner1.innerHTML = newBannerCode(topBannerSize, topBannerType);
	} else {
		banner1.parentNode.removeChild(banner1);
	}
	if (enableBanners && enableBottomBanners) {
		banner2.innerHTML = newBannerCode(bottomBannerSize, bottomBannerType);
	} else {
		banner2.parentNode.removeChild(banner2);
	}
//	if (enableBanners && enableArticleBanners) {
//	} else {
//		banner3.parentNode.removeChild(banner3);
//	}
    //bb}
    rssLoad();
    dashcode.setupParts();
    
    var todaysDate = document.getElementById("todaysDate");
    todaysDate.innerText = createDateStrIt(new Date(), true).toUpperCase() + " - powered by mobc3";
}

//bb{
function newBannerCode(bannerSize, bannerType) {
	var rnd = Math.floor(Math.random() * 1000000000) + 1000000000;
	var tag1 = '<A HREF="http://adv.ilsole24ore.it/RealMedia/ads/click_nx.ads/'
		+ 'www.ilsole24ore.it/08/mobile_site/' + rnd + bannerSize
		+ '" TARGET="_blank">'
		+'<IMG SRC="http://adv.ilsole24ore.it/RealMedia/ads/adstream_nx.ads/'
		+ 'www.ilsole24ore.it/08/mobile_site/' + rnd + bannerSize
		+ '" BORDER="0" WIDTH="215" HEIGHT="34" ALT="Click!"></A>';
	var tag2 = '<IMG SRC="http://adv.ilsole24ore.it/RealMedia/ads/adstream_nx.ads/'
		+ 'www.ilsole24ore.it/08/mobile_site/' + rnd + bannerType
		+ '" BORDER="0" WIDTH="1" HEIGHT="1"/>';
	window.console.log('newBannerCode 1: ' + tag1);
	window.console.log('newBannerCode 2: ' + tag2);
	return tag1 + tag2;
}

function iTouchMod() {
	if (!show_iTouch) {
		return;
	}
	var frame = document.getElementById('iTouchFrame');
	var frameDoc = (frame != null ? frame.contentDocument : null);
	var content = (frameDoc != null ? frameDoc.getElementById('iTouch') : null);
	if (content == null) return;
	var to = document.getElementById('iTouchTarget');
	content.parentNode.removeChild(content);
	to.appendChild(content);
	
	var headers = content.getElementsByTagName('th');
	for (var i=0; i<headers.length; i++) {
		var header = headers[i];
		var headerId = header.id;
		var offset = 'iTouch_Header'.length;
		var label = header.id.substring(offset);
		var handler = "javascript:iTouchChangeTab('"+label+"');";
		header.setAttribute('onclick', handler);
	}
	
	/*var links = content.getElementsByTagName('a');
	for (var i=0; i<links.length; i++) {
		var link = links[i];
		link.href = '#';
	}*/
}

var iTouchRunning=true;
function iTouchChangeTab(tab) {
	var pDiv = document.getElementById('iTouch_Indici');
	pDiv.style.display=(tab == 'Indici' ? 'block' : 'none');
	var pHeader = document.getElementById('iTouch_HeaderIndici');
	pHeader.style.color=(tab == 'Indici' ? '#FFFFFF' : '#2391C6');
	pHeader.style.backgroundColor=(tab == 'Indici' ? '#2391C6' : '#FFFFFF');
	var pDiv = document.getElementById('iTouch_MiglioriPeggiori');
	pDiv.style.display=(tab == 'MiglioriPeggiori' ? 'block' : 'none');
	var pHeader = document.getElementById('iTouch_HeaderMiglioriPeggiori');
	pHeader.style.color=(tab == 'MiglioriPeggiori' ? '#FFFFFF' : '#2391C6');
	pHeader.style.backgroundColor=(tab == 'MiglioriPeggiori' ? '#2391C6' : '#FFFFFF');
	var pDiv = document.getElementById('iTouch_Cambi');
	pDiv.style.display=(tab == 'Cambi' ? 'block' : 'none');
	var pHeader = document.getElementById('iTouch_HeaderCambi');
	pHeader.style.color=(tab == 'Cambi' ? '#FFFFFF' : '#2391C6');
	pHeader.style.backgroundColor=(tab == 'Cambi' ? '#2391C6' : '#FFFFFF');
}

function goToSite() {
    window.location = "http://www.ilsole24ore.com/";
}

function createDateStrIt(date, dayOfWeekFlag)
{
    var day;
    switch (date.getDay()) {
        case 0: day = "Domenica"; break;
        case 1: day = "Lunedì"; break;
        case 2: day = "Martedì"; break;
        case 3: day = "Mercoledì"; break;
        case 4: day = "Giovedì"; break;
        case 5: day = "Venerdì"; break;
        case 6: day = "Sabato"; break;
    }
    var month;
    switch (date.getMonth()) {
        case 0: month = "Gennaio"; break;
        case 1: month = "Febbraio"; break;
        case 2: month = "Marzo"; break;
        case 3: month = "Aprile"; break;
        case 4: month = "Maggio"; break;
        case 5: month = "Giugno"; break;
        case 6: month = "Luglio"; break;
        case 7: month = "Agosto"; break;
        case 8: month = "Settembre"; break;
        case 9: month = "Ottobre"; break;
        case 10: month = "Novembre"; break;
        case 11: month = "Dicembre"; break;
    }
    var ret = (dayOfWeekFlag ? day + ", " : "");
    ret += date.getDate() + " " + month + " " + date.getFullYear();
    return ret;
}

function feedPopupHandler() {
    var url = null;
    var popup = document.getElementById("feedPopup");
    for (var item = popup.firstChild; item != null; item = item.nextSibling) {
        if (typeof item.selected != "undefined" && item.selected) {
            url = item.value;
            break;
        }
    }
    if (url != null) {
        var href = window.location.href;
        var i = href.indexOf('?');
        if (i > 0) {
            href = href.substring(0, i);
        }
        href += "?" + url;
        window.location = href;
    }
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
//bb}

//======================================================
// immagini nell'indice
//======================================================

var imgUrlNeeded = true;
var imgUrlCount;

function rssThumbnails(count) {
	//window.console.log('rssThumbnails() start');
	if (imgUrlNeeded) {
		imgUrlNeeded = false;
		imgUrlCount = 0;
		if (enableIndexImages) {
			for (var i=0; i<count; i++) {
				var uuid = getUuid(i);
				if (uuid != '') {
					var url = 'http://www.ilsole24ore.com/xml/' + uuid + '.xml';
					imgUrlCount++;
					getData(url, '', imageDataHandler, i+'');
				}
			}
		}
		imgUrlLoaded(false);
	}
	//window.console.log('rssThumbnails() end');
}

function imageDataHandler(root, key) {
	//window.console.log('imageDataHandler() start: '+key);
	var imageBigElmt = findChild(root, 'foto240x154');
	var imageBigUrl = (imageBigElmt ? imageBigElmt.getAttribute("src") : null);
	var imageSmallElmt = findChild(root, 'foto153x124');
	var imageSmallUrl = (imageSmallElmt ? imageSmallElmt.getAttribute("src") : null);
	var imageUrl = (imageSmallUrl ? imageSmallUrl : imageBigUrl);
	//window.console.log('imageDataHandler(), '+key+': '+imageUrl);
	feedResults[key-0].thumbimageurl = imageUrl;
	imgUrlLoaded(true);
	//window.console.log('imageDataHandler() end');
}

function imgUrlLoaded(flag) {
	//window.console.log('imgUrlLoaded() start: '+flag);
	if (flag==1) imgUrlCount--;
	if (imgUrlCount <= 0)	{
		//window.console.log('imgUrlLoaded(): count<=0');
		document.getElementById("headlineList").object.reloadData();
	}
	//window.console.log('imgUrlLoaded() end');
}

var imgCount = 0;

function imageLoaded(flag) {
	//window.console.log('imageLoaded() start: '+flag);
	if (flag==1) imgCount--;
	if (imgUrlCount <= 0 && imgCount <= 0)	{
		//window.console.log('imgageLoaded(): count<=0');
		window.scrollTo(0, 1);
		document.getElementById("StackLayout").object.setCurrentView("frontPage", false, true);
	}
	//window.console.log('imageLoaded() end');
}

//======================================================
// notizie primo piano
//======================================================

var headlinesCount = 0;

var headlineList = {
numberOfRows: function() {
	//window.console.log('headlineList.numberOfRows() start');
	var ret = (feedResults ? Math.min(feedResults.length, topStories) : 0);
	headlinesCount = ret;
	if (ret) {
		rssThumbnails(ret);
	}
	//window.console.log('headlineList.numberOfRows() end');
	return ret;
},
prepareRow: function(rowElement, rowIndex, templateElements) {
	//window.console.log('headlineList.prepareRow() start: '+rowIndex);
    var thumbimageurl = feedResults[rowIndex].thumbimageurl;
    if (thumbimageurl != null) {
        var headline = templateElements.headlineTitle;
        if (headline) {
            headline.style['margin-left'] = '92px';
            headline.style['margin-top'] = '4px';
            headline.style['min-height'] = '61px';
        }
        var descr = templateElements.headlineDescription;
        if (descr && !keepIndexDescriptions) {
            rowElement.removeChild(descr);
        }
        var img = templateElements.img1;
        if (img) {
            img.setAttribute('src', thumbimageurl);
		   imgCount++;
        }
    } else {
        var img = templateElements.img1;
        if (img) {
            rowElement.removeChild(img);
        }
    }
    if (templateElements.headlineTitle) {
        var content = extractText(feedResults[rowIndex].title);
        templateElements.headlineTitle.innerHTML = content;
    }
    if (templateElements.headlineDescription) {
        var content = extractText(feedResults[rowIndex].description);
        templateElements.headlineDescription.innerText = content;
    }
    var handler = function() {
		setDetailItem(rowIndex);
    };
    rowElement.onclick = handler;
	if (rowIndex >= (headlinesCount-1) && imgCount < 1) {
		imageLoaded(false);
	}
	//window.console.log('headlineList.prepareRow() end');
}
};

//======================================================
// altre notizie
//======================================================

var secondHeadlineList = {
numberOfRows: function() {
	if (show_iTouch)
		iTouchMod(); //bb
    if (feedResults == null)
        return 0;
    else
        if (feedResults.length > topStories)
            return (feedResults.length-topStories);
        else
            return 0;
},
    
prepareRow: function(rowElement, rowIndex, templateElements) {
    var tempRow = rowIndex + topStories;
	var titleElement = templateElements.secondHeadlineTitle;
    if (titleElement) {
        titleElement.innerText = extractText(feedResults[tempRow].title);
    }
    var handler = function() {
		setDetailItem(tempRow);
    };
    rowElement.onclick = handler;
}
};

//======================================================
// articolo
//======================================================

var detailItem = null;

function setDetailItem(itemNr) {
	detailItem = feedResults[itemNr];
	var uuid = getUuid(itemNr);
	if (uuid != '') {
		var url = 'http://www.ilsole24ore.com/xml/' + uuid + '.xml';
		detailItem['_uuid'] = uuid;
		getData(url, '', detailDataHandler, 'newsdetail');
	} else {
		var detailData = {
			title: detailItem.title,
			text: detailItem.description,
			date: detailItem.date,
			link: detailItem.link,
			imageBig: null,
			imageSmall: null,
		};
		showDetail(detailData);
	}
}

function getUuid(itemNr) {
	var item = feedResults[itemNr];
	var link = item.link;
	var mark = 'uuid=';
	var i1 = (link ? link.indexOf(mark) : 0);
	var i2 = (link ? link.indexOf('&') : 0);
	var uuid = (i1>0 && i2>0 && i2>i1 ? link.substring(i1+mark.length, i2) : '');
	return uuid;
}

function detailDataHandler(root) {
	window.console.log('detailImageDataHandler()');
	var imageBigElmt = findChild(root, 'foto240x154');
	var imageBigUrl = (imageBigElmt ? imageBigElmt.getAttribute("src") : null);
	var imageSmallElmt = findChild(root, 'foto153x124');
	var imageSmallUrl = (imageSmallElmt ? imageSmallElmt.getAttribute("src") : null);
	var testo = allData(findChild(root, 'testo'));
	var testo = testo.replace(/<a href=.\/xml\/.+?>/g, '<a>');
	var detailData = {
		title: allData(findChild(root, 'titolo')),
		text: testo,
		date: detailItem.date,
		link: detailItem.link,
		imageBig: imageBigUrl,
		imageSmall: imageSmallUrl,
	};
	showDetail(detailData);
}

function showDetail(data) {
	// banner dettaglio notizia
	if (enableBanners && enableArticleBanners) {
		document.getElementById('banner3').innerHTML
			= newBannerCode(articleBannerSize, articleBannerType);
	}
	
	// NetRatings
	var netRatingsUuid = detailItem['_uuid'];
	if (netRatingsUuid) {
		var netRatingsImg = document.getElementById('netRatingsImg');
		var netRatingsDetailImg = document.getElementById('netRatingsDetailImg');
		var baseImgUrl = netRatingsImg.getAttribute('src');
		var detailImgUrl = baseImgUrl + '/xml/' + netRatingsUuid + '.xml';
		netRatingsDetailImg.setAttribute('src', detailImgUrl);
	}
	
	// articolo
	var text = data.text;
	var imgUrl = (data.imageBig ? data.imageBig : data.imageSmall);
	var imgWidth = (data.imageBig ? 240 : 153);
	var imgHeight = (data.imageBig ? 154 : 124);
	if (imgUrl) {
		window.console.log(imgUrl);
		text = '<p/><img id="immagineArticolo"' + 'src="' + imgUrl + '" width="'
			+ imgWidth + '" height="' + imgHeight + '"/>' + text;
		window.console.log(text);
	}
	var title = document.getElementById('articleTitle');
    title.innerText = extractText(data.title);
    var article = document.getElementById('articleDescription');
    article.innerHTML = extractHTML(text);
    var date = document.getElementById('articleDate');
    //date.innerText = "Pubblicata il " + createDateStrIt(data.date, false);
	
	// navigazione
    var moreLink = document.getElementById('readMore');
    moreLink.object.onclick = function() {
        window.location = data.link;
    };
    var backLink = document.getElementById('backToHeadlines');
    backLink.object.onclick = function() {
        document.getElementById("StackLayout").object.setCurrentView("frontPage", true);
    };
	// show view
	document.getElementById("StackLayout").object.setCurrentView("articlePage", false, true);
}

function backToHeadlines(event) {
	document.getElementById("StackLayout").object.setCurrentView("frontPage", true);
}

