//pre-load images
//var listImg = new Image();
//listImg.src = 'watch.gif';
//var treeImg = new Image();
//treeImg.src = 'dhtml.gif';
//var formImg = new Image();
//formImg.src = 'form.gif';
//var autoImg = new Image();
//autoImg.src = 'web.gif';

function makeNews(c, s, l, f, i, d) {
    this.copy = c;
    this.subtitle = s;
    this.link = l;
    this.follow = f;
    this.img = i;
    this.date = d;
    this.write = writeNews;
}

function writeNews() {
    var str = '';
    //str += '<a href="' + this.link + '">';
    //str += '<img border="0" src="' + this.img.src + '"></a><br>';
    str += '<span class=\'NewsTitle\'><strong>' + this.date + '</strong></span><br>';
    str += this.subtitle + '<br>';
    if (this.img.Src != null) {
        str += '<img border="0" src="' + this.img.Src + '" alt="" title="" />';
    }
    //str += '<a href="' + this.link + '">' + this.follow + '</a>';
    return str;
}

//var xml = "";
//var doc = getDomAdapter().parseXml("/MESOKEL/XML/News.xml");
//doc.documentElement.appendChild(doc.createElement('passed'));
//alert(getDomAdapter().serialize(doc));

var xmlDoc;
var ie = true;

try //Internet Explorer
  {
    xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async = false;
    xmlDoc.load("/ZEBRA/XML/News.xml");
}
catch (e) {
    try //Firefox, Mozilla, Opera, etc.
    {
        xmlDoc = new window.XMLHttpRequest();
        xmlDoc.open("GET", "/ZEBRA/XML/News.xml", false);
        xmlDoc.send(null);
        xmlDoc = xmlDoc.responseXML;
        ie = false;
    }
    catch (e) { alert('Your browser does not support this script') }
}

try{
var y = xmlDoc.getElementsByTagName('NewDataSet');
var x = xmlDoc.getElementsByTagName('Table2');

var newsArray = new Array();
//newsArray[0] = new makeNews("Move Items Between Lists With JavaScript", 'http://www.devx.com/GetHelpOn/10MinuteSolution/16372', 'Read More', listImg).write();

//newsArray[1] = new makeNews("Build an XML-Based Tree Control With JavaScript", 'http://www.devx.com/getHelpOn/Article/11874', 'More Info', treeImg).write();

//newsArray[2] = new makeNews("Automate Your Form Validation", 'http://www.devx.com/gethelpon/10MinuteSolution/16474', 'Full Story', autoImg).write();

//newsArray[3] = new makeNews("Create Fast, Smooth Multi-Page Forms With JavaScript", 'http://www.devx.com/webdev/Article/10483', 'More Info', formImg).write();

for (j = 0; j < y[0].childNodes.length; j++) {

    var theData = x[j].getElementsByTagName("F401ID")[0].firstChild.nodeValue;
    var theData2 = x[j].getElementsByTagName("F401SDESC")[0].firstChild.nodeValue;
    var theData3 = x[j].getElementsByTagName("F401TITLE")[0].firstChild.nodeValue;
    var theData4 = x[j].getElementsByTagName("F401DATE")[0].firstChild.nodeValue;

    var myDate = new Date(theData4.replace('-', ','));
    var getDate = '';
    if (ie) {
        myDate.format("dddd, mmmm dS, yyyy");
        getDate = dateFormat(myDate, "mmmm dS, yyyy");
    }
    else {
        getDate = theData4;
    }
    var Img = new Image();
    try {
        Img.Src = "/zebra/images/" + x[j].getElementsByTagName("F401IMAGE")[0].firstChild.nodeValue + ".jpg";
    }
    catch (e) {
    }
    
    //Img.src = 'http://' + location.host + '/ZEBRA/WebImages/NEWS/Medium/' + theData + '.jpg';
    newsArray[j] = new makeNews(theData3, theData2, '/ZEBRA/News.aspx?id=' + theData, 'Διαβάστε Περισσότερα', Img, getDate).write();
}
}
catch (e) {
    //for FF to work
}
//for (j = 0; j < x[0].childNodes.length; j++) {
//    if (x[0].childNodes[j].nodeType != 1) continue;
//    var theData = x[0].childNodes[j].nodeValue;
//    var theData2 = x[0].childNodes[j].nodeValue;
//    var theData3 = x[0].childNodes[j].nodeValue;
//    alert(theData);
//    alert(theData2);
//    alert(theData3);
//}




var nIndex = 0;
var timerID = null;
var fadeTimerID = null;
var messageTimerID = null;
function rotateNews() {

    //for FireFox
    if (nIndex == null)
        nIndex = 0;
    //

    var len = newsArray.length;
    if (nIndex >= len)
        nIndex = 0;

    document.getElementById('divNews1').innerHTML = newsArray[nIndex];
    nIndex++;
    document.getElementById('divNews1').style.display = "";
    fade('divNews1');
    fadeTimerID = setTimeout("fade('" + 'divNews1' + "')", 5000)
    //messageTimerID = setTimeout("hideMessageAddBox('" + 'divNews1' + "')", 6000)
    timerID = setTimeout('rotateNews()', 6000);
}
function pauseNews() {
    if (document.getElementById('divNews1').style.opacity != "1") {
        document.getElementById('divNews1').style.display = "";
        fade('divNews1');
        fadeTimerID = setTimeout("fade('" + 'divNews1' + "')", 5000)
    }
    //messageTimerID = setTimeout("hideMessageAddBox('" + 'divNews1' + "')", 6000)
    //timerID = setTimeout('rotateNews()', 6000);
    if (timerID != null) {
        clearTimeout(timerID);
        timerID = null;
    }
    if (fadeTimerID != null) {
        clearTimeout(fadeTimerID);
        fadeTimerID = null;
    }

    if (messageTimerID != null) {
        clearTimeout(messageTimerID);
        messageTimerID = null;
    }
}

function playNews() {
    if (timerID == null) {
        timerID = setTimeout('rotateNews()', 1000);
    }
    if (fadeTimerID == null) {
        fadeTimerID = setTimeout("fade('" + 'divNews1' + "')", 1)
    }
    //    if (messageTimerID == null) {
    //        messageTimerID = setTimeout("hideMessageAddBox('" + 'divNews1' + "')", 1000)
    //    }
}


//function getDomAdapter() {
//    var adapter = '';
//    if ('undefined' != typeof ActiveXObject) {
//        adapter = 'MS';
//    } else if ('undefined' != typeof document
//		&& document.implementation
//		&& document.implementation.createDocument
//		&& 'undefined' != typeof DOMParser) {
//        adapter = 'default';
//    }
//    switch (adapter) {
//        case 'MS':
//            return new (function() {
//                this.createDocument = function() {
//                    var names = ["Msxml2.DOMDocument.6.0",
//						"Msxml2.DOMDocument.3.0", "MSXML2.DOMDocument",
//						"MSXML.DOMDocument", "Microsoft.XMLDOM"];
//                    for (var key in names) {
//                        try {
//                            return new ActiveXObject(names[key]);
//                        } catch (e) { }
//                    }
//                    throw new Error('Unable to create DOMDocument');
//                };
//                this.serialize = function(doc) {
//                    return doc.xml;
//                };
//                this.parseXml = function(xml) {
//                    var doc = this.createDocument();
//                    if (!doc.loadXML(xml)) {
//                        throw new Error('Parse error');
//                    }
//                    return doc;
//                };
//            })();
//        case 'default':
//            return new (function() {
//                this.createDocument = function() {
//                    return document.implementation.createDocument("", "", null);
//                };
//                this.serialize = function(doc) {
//                    return new XMLSerializer().serializeToString(doc);
//                };
//                this.parseXml = function(xml) {
//                    var doc = new DOMParser().parseFromString(xml, "text/xml");
//                    if ("parsererror" == doc.documentElement.nodeName) {
//                        throw new Error('Parse error');
//                    }
//                    return doc;
//                };
//            })();
//        default:
//            throw new Error('Unable to select the DOM adapter');
//    }
//};

function hideMessageAddBox(divMessageId) {
    var msgDiv = document.getElementById(divMessageId);
    msgDiv.style.display = "none";
}

//msgDiv.style.display = "";
//fade(divMessageId);
//var fadeTimerID = setTimeout("fade('" + divMessageId + "')", 2000)//; alert("Το κουτί σας έχει ενημερωθεί.");
//var messageTimerID = setTimeout("hideMessageAddBox('" + divMessageId + "')", 3000)

var TimeToFade = 1000.0;

function fade(eid) {
    var element = document.getElementById(eid);
    if (element == null)
        return;

    if (element.FadeState == null) {
        if (element.style.opacity == null
        || element.style.opacity == ''
        || element.style.opacity == '1') {
            element.FadeState = 2;
        }
        else {
            element.FadeState = -2;
        }
    }

    if (element.FadeState == 1 || element.FadeState == -1) {
        element.FadeState = element.FadeState == 1 ? -1 : 1;
        element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
    }
    else {
        element.FadeState = element.FadeState == 2 ? -1 : 1;
        element.FadeTimeLeft = TimeToFade;
        setTimeout("animateFade(" + new Date().getTime()
        + ",'" + eid + "')", 33);
    }
}

function animateFade(lastTick, eid) {
    var curTick = new Date().getTime();
    var elapsedTicks = curTick - lastTick;

    var element = document.getElementById(eid);

    if (element.FadeTimeLeft <= elapsedTicks) {
        element.style.opacity = element.FadeState == 1 ? '1' : '0';
        element.style.filter = 'alpha(opacity = '
        + (element.FadeState == 1 ? '100' : '0') + ')';
        element.FadeState = element.FadeState == 1 ? 2 : -2;
        return;
    }

    element.FadeTimeLeft -= elapsedTicks;
    var newOpVal = element.FadeTimeLeft / TimeToFade;
    if (element.FadeState == 1)
        newOpVal = 1 - newOpVal;

    element.style.opacity = newOpVal;
    element.style.filter =
      'alpha(opacity = ' + (newOpVal * 100) + ')';

    setTimeout("animateFade(" + curTick
      + ",'" + eid + "')", 33);
}