﻿function doValidate(ctrlsIdtovalidate)
{
    //0-name,1-Email,2-Company,3-Comments
    var ctrlIds = ctrlsIdtovalidate.split('|');
    if(document.getElementById(ctrlIds[0]).value == "")
    {
        alert('Please enter your name.');
        document.getElementById(ctrlIds[0]).focus();
        return false;
    }
    if(document.getElementById(ctrlIds[3]).value == "")
    {
        alert('Please enter your comment.');
        document.getElementById(ctrlIds[3]).focus();
        return false;
    }
}
function textDay(weekDay)
{
   var textDay;
   if (weekDay == 0){ textDay = "Sun"; }
   if (weekDay == 1){ textDay = "Mon"; }
   if (weekDay == 2){ textDay = "Tue"; }
   if (weekDay == 3){ textDay = "Wed"; }
   if (weekDay == 4){ textDay = "Thu"; }
   if (weekDay == 5){ textDay = "Fri"; }
   if (weekDay == 6){ textDay = "Sat"; }
   return textDay;
}
function getMonthNumber(textMonth)
{
   var noMonth;
   if (textMonth == "Jan"){noMonth = 1;}
   if (textMonth == "Feb"){noMonth = 2;}
   if (textMonth == "Mar"){noMonth = 3;}
   if (textMonth == "Apr"){noMonth = 4;}
   if (textMonth == "May"){noMonth = 5;}
   if (textMonth == "Jun"){noMonth = 6;}
   if (textMonth == "Jul"){noMonth = 7;}
   if (textMonth == "Aug"){noMonth = 8;}
   if (textMonth == "Sep"){noMonth = 9;}
   if (textMonth == "Oct"){noMonth = 10;}
   if (textMonth == "Nov"){noMonth = 11;}
   if (textMonth == "Dec"){noMonth = 12;}
   return noMonth; 
}
function textMonth(Month)
{
   var textMonth;
   if (Month == 0){ textMonth = "Jan"; }
   if (Month == 1){ textMonth = "Feb"; }
   if (Month == 2){ textMonth = "Mar"; }
   if (Month == 3){ textMonth = "Apr"; }
   if (Month == 4){ textMonth = "May"; }
   if (Month == 5){ textMonth = "Jun"; }
   if (Month == 6){ textMonth = "Jul"; }
   if (Month == 7){ textMonth = "Aug"; }
   if (Month == 8){ textMonth = "Sep"; }
   if (Month == 9){ textMonth = "Oct"; }
   if (Month == 10){ textMonth = "Nov"; }
   if (Month == 11){ textMonth = "Dec"; }
   return textMonth;
}
function convertFullGMTTimeStringToDateObject(dString)
{
    //Sun, 24 Jan 2010 11:04:44.000 GMT
    var dtPartArr = dString.split(' ');
    var tiPart = dtPartArr[4].substring(0,dtPartArr[4].indexOf('.'));
    var tiPartArr = tiPart.split(':');
    //alert(dtPartArr[3] + ' ' + dtPartArr[2] + ' ' + dtPartArr[1] + ' ' + tiPartArr[0] + ' ' + tiPartArr[1] + ' ' + tiPartArr[2] );
    //alert(dtPartArr[0]+ " " + getMonthNumber(dtPartArr[2]) + ' '+ tiPartArr[0]);
    var d = new Date(dtPartArr[3],getMonthNumber(dtPartArr[2])-1,dtPartArr[1],tiPartArr[0]-6,tiPartArr[1],tiPartArr[2])
    //alert(d.getFullYear());
    return d;
}
function convertIsoDateTimeStringToDateObject(dString)
{
    var dtPart = dString.split('T')[0];
    var timePart = dString.split('T')[1];
    timePart = timePart.substring(0,timePart.length -1);
    var dtPartArr = dtPart.split('-');
    var tiPartArr = timePart.split(':');
    //alert(dtPartArr[0] + ' ' + dtPartArr[1]+ ' ' +dtPartArr[2]+ ' ' +tiPartArr[0]+ ' ' +tiPartArr[1]+ ' ' +tiPartArr[2]);
    var d = new Date(dtPartArr[0],dtPartArr[1]-1,dtPartArr[2],tiPartArr[0]-6,tiPartArr[1],tiPartArr[2])
    return d;
}
function getEstTimeByDateTimeObj(local)
{
   var relatedNews = false;
   if(local.indexOf('-')>-1) //2010-01-24T11:11:20Z
      local = convertIsoDateTimeStringToDateObject(local);
   else if(local.indexOf('GMT')>-1)//Sun, 24 Jan 2010 11:04:44.000 GMT
   {
    relatedNews = true;
    local = convertFullGMTTimeStringToDateObject(local);
   }
   //alert(local);
   var UCT;
   var localOffset;
   var startDST;
   var endDST;
   var Reading;// = local;

   var ReadingOffset = - 5;

   //This sets localOffset to the number of minutes difference
   //between local time and UCT
   localOffset = local.getTimezoneOffset();
   //Convert localOffset to milliseconds
   localOffset = localOffset * 60 * 1000;

   //Make 'UCT' a number, instead of a date variable.
   UCT = local - 1;

   //adjust for localOffset
   UCT = UCT + localOffset;

   //Convert UCT back into a date variable
   UCT = new Date(UCT);
   //figure out Daylight Saving Time info

   //Reading DST
   startDST = new Date("4/1/" + UCT.getFullYear());
   endDST = new Date("11/1/" + UCT.getFullYear());

   while(startDST.getDay() != 0){
      startDST = startDST - 1;
      startDST = new Date(startDST + 60 * 60 * 1000);
   }

   while(endDST.getDay() != 0){
      endDST = endDST - 1;
      endDST = new Date(endDST - 60 * 60 * 1000);
   }

   if ((UCT >= startDST) && (UCT < endDST)){
      ReadingOffset = ReadingOffset + 1;
   }

   //Get world times
   Reading = UCT - 1;
   Reading = new Date(Reading + (ReadingOffset * 60 * 60 * 1000));

   var dateTimeInEstFormat;
   var ampm;

   var x;
   var y;
   var hours;
   var minutes;
   var seconds;
   var weekDay;

   hours = Reading.getHours();
   minutes = Reading.getMinutes();
   seconds = Reading.getSeconds();
   weekDay = Reading.getDay();

   //Hours
   ampm = 'AM';

   if (hours == 0){
      hours = 12;
   }

   if (hours > 12){
      ampm = 'PM';
      hours -= 12;
   }

   //Minutes
   if (minutes < 10){
      minutes = '0' + minutes;
   }

   //Seconds
   if (seconds < 10){
      seconds = '0' + seconds;
   }
   var month = Reading.getMonth();
   var day = Reading.getDate();
   var year = Reading.getFullYear();
   if(relatedNews)
   {
        dateTimeInEstFormat = textMonth(month) + ' ' + day + ', ' + year;
   }
   else
   {
        //dateTimeInEstFormat = month + '/' + day + '/' + year + ' ' + hours + ':' + minutes + ':' + seconds + ' ' + ampm;
        dateTimeInEstFormat = textMonth(month) + ' ' + day + ', ' + year + ' ' + hours + ':' + minutes + ':' + seconds + ' ' + ampm;
   }
   //alert(dateTimeInEstFormat);
   return dateTimeInEstFormat;
}

var req;
function showTwitter() {
    req = false;
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest && !(window.ActiveXObject)) {
        try {
            req = new XMLHttpRequest();
        } catch (e) {
            req = false;
        }
        // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        try {
            req = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {
            try {
                req = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                req = false;
            }
        }
    }
    if (req) {
        req.onreadystatechange = handlerTwitter;
        var params = "q=getTwitterRSSFeed";
        req.open("POST", "/trust/2010/GetRSSFeedXML.aspx", true);
        req.setRequestHeader("Content-Type", "text/xml");
        req.setRequestHeader("Content-length", params.length);
        req.setRequestHeader("Connection", "close");
        req.send(params);
    }
}

function handlerTwitter() {
    var xmlDoc = null;
    var author;
    if ((req.readyState == 4)) {
        if (req.status == 200) {
            if(navigator.appName == "Microsoft Internet Explorer")
            {
                var xmlDoc1 = new ActiveXObject("Microsoft.XMLDOM");
                xmlDoc1.async = "false";
                var feedXml = req.responseText.substring(0,req.responseText.indexOf('</feed>') + 7); 
                xmlDoc1.loadXML(feedXml);
                xmlDoc = xmlDoc1.getElementsByTagName("entry");
            }
            else
            {
                var parser = new DOMParser();
                var xmlDoc1 = parser.parseFromString(req.responseText.substring(0,req.responseText.indexOf('</feed>') + 7), "text/xml");
                xmlDoc = xmlDoc1.getElementsByTagName("entry");
            }    
            if(xmlDoc == null)return;
            for (i = 0; i < xmlDoc.length; i++) {
                if (i > 10) 
                {
                    var divName = 'tab2Hidden';
                }
                else {
                    var divName = 'tab2';
                }

                var tab1 = document.getElementById(divName);

                var ul = document.createElement('ul');
                if ((i % 2) == 0) {
                    ul.className = 'bgcolor_skyblue';
                }
                else {
                    ul.className = 'bgcolor_white';
                }
                tab1.appendChild(ul);
                
                var linew = document.createElement('li');
                ul.appendChild(linew);

                var spanNew = document.createElement('span');
                //spanNew.innerHtml="&nbsp;";
                spanNew.appendChild(document.createTextNode(""));//the blue arrow point to right is not displaying
                linew.appendChild(spanNew);

                var li = document.createElement('li');
                ul.appendChild(li);

		li.className= 'newlistlye';                   

                var div1 = document.createElement('div');
                li.appendChild(div1);
                
                var anchor = document.createElement('a');
                anchor.className = 'navTabLink';

                author = xmlDoc[i].getElementsByTagName('author');
                anchor.appendChild(document.createTextNode(getNodeValue(author[0], 'name')));
                anchor.setAttribute('target','_trust');

                if (xmlDoc[i].getElementsByTagName('link')[0].getAttribute('type') == "text/html")
                    anchor.href = xmlDoc[i].getElementsByTagName('link')[0].getAttribute('href');
                div1.appendChild(anchor);
                
                var div2 = document.createElement('div');
                li.appendChild(div2);
                //div2.appendChild(document.createTextNode(getEstTimeByDateTimeObj(getNodeValue(xmlDoc[i], 'updated'))));
                //div2.appendChild(document.createTextNode(getNodeValue(xmlDoc[i], 'content') + '|'+ getEstTimeByDateTimeObj(getNodeValue(xmlDoc[i], 'updated'))));
                var htmlTitle = getNodeValue(xmlDoc[i], 'content');
                htmlTitle = htmlTitle.replace('&apos;','\'').replace('&apos;','\'');
                div2.innerHTML = htmlTitle + ' <br/> '+ getEstTimeByDateTimeObj(getNodeValue(xmlDoc[i], 'updated')) + ' EST';
                li.appendChild(div2);
            }
        } 
    }
}

function showRSS() {
    req = false;
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest && !(window.ActiveXObject)) {
        try {
            req = new XMLHttpRequest();
        } catch (e) {
            req = false;
        }
        // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        try {
            req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                req = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
                req = false;
            }
        }
    }
    if (req) {
        //req.onreadystatechange = handlerRss;
        //req.open("GET", "http://newsgator.edelman.com/ngws/svc/ClippingsRSS.aspx?grp=2955", false);
        //req.send(null);
        req.onreadystatechange = handlerRss;
        var params = "q=getNgRSSFeed";
        req.open("POST", "/trust/2010/GetRSSNGFeed.aspx", true);
        //req.open("POST", "http://localhost:81/GetRSSNGFeed.aspx", true);
        req.setRequestHeader("Content-Type", "text/xml");
        req.setRequestHeader("Content-length", params.length);
        req.setRequestHeader("Connection", "close");
        req.send(params);
    }
}

function handlerRss() {
    var xmlDoc = null;
    if ((req.readyState == 4)) {
        if (req.status == 200) {
	   if(navigator.appName == "Microsoft Internet Explorer")
            {
                var xmlDoc1 = new ActiveXObject("Microsoft.XMLDOM");
                xmlDoc1.async = "false";
                var feedXml = req.responseText.substring(0,req.responseText.indexOf('</rss>') + 6); 
                xmlDoc1.loadXML(feedXml);
                xmlDoc = xmlDoc1.getElementsByTagName("item");
            }
            else
            {
                var parser = new DOMParser();
                var xmlDoc1 = parser.parseFromString(req.responseText.substring(0,req.responseText.indexOf('</rss>') + 6), "text/xml");
                xmlDoc = xmlDoc1.getElementsByTagName("item");
            }
            if(xmlDoc == null)return;
            for (i = 0; i < xmlDoc.length; i++) 
            {
                if (i > 10) {
                    var divName = 'tab3Hidden';
                }
                else {
                    var divName = 'tab3';
                }
            
                var tab1 = document.getElementById(divName);

                var ul = document.createElement('ul');
                if ((i % 2) == 0) {
                    ul.className = 'bgcolor_white';
                }
                else {
                    ul.className = 'bgcolor_skyblue';
                }
                tab1.appendChild(ul);
                
                var li = document.createElement('li');
                ul.appendChild(li);
                
                var spanNew = document.createElement('span');
                spanNew.appendChild(document.createTextNode(" "));
                li.appendChild(spanNew);

                var li1 = document.createElement('li');
                ul.appendChild(li1);
                
		li1.className= 'newlistlye';    

                var div1 = document.createElement('div');
                li1.appendChild(div1);

                var anchor = document.createElement('a');
                anchor.className = 'navTabLink';
                anchor.appendChild(document.createTextNode(getNodeValue(xmlDoc[i], 'title')));
                anchor.href = getNodeValue(xmlDoc[i], 'link');
                div1.appendChild(anchor);
                
                var div2 = document.createElement('div');
                //div2.appendChild(document.createTextNode(getNodeValue(xmlDoc[i], 'ng:feed') + ' | ' + getEstTimeByDateTimeObj(getNodeValue(xmlDoc[i], 'pubDate'))));
                div2.appendChild(document.createTextNode(getEstTimeByDateTimeObj(getNodeValue(xmlDoc[i], 'pubDate'))));
                li1.appendChild(div2);
            }
        }
    }
}

function getNodeValue(obj, tag) {
    if (obj == null || obj.getElementsByTagName(tag).length == '0')
        return " ";
    else
    return obj.getElementsByTagName(tag)[0].firstChild.nodeValue;
}


function changeTabs(value) 
{
    if(navigator.appName == "Microsoft Internet Explorer")
        document.getElementById('moreLink').innerText = 'More';
    else
        document.getElementById('moreLink').innerHTML = 'More';
    //Default Action
    if (value == 1) {
        document.getElementById('tab1').style.display = "block";
        document.getElementById('tab2').style.display = "none";
        document.getElementById('tab3').style.display = "none";
        document.getElementById('tabNews').className = 'active';
         document.getElementById("tabrelated").className = "none";
        document.getElementById("tabTwitter").className = "none";       
        document.getElementById('tab1Hidden').style.display = "none";
        document.getElementById('tab2Hidden').style.display = "none";
        document.getElementById('tab3Hidden').style.display = "none";
    }
    else if (value == 2) 
    {
        document.getElementById('tab1').style.display = "none";
        document.getElementById('tab2').style.display = "block";
        document.getElementById('tab3').style.display = "none";
        document.getElementById('tab1Hidden').style.display = "none";
        document.getElementById('tab3Hidden').style.display = "none";
        document.getElementById('tabTwitter').className = 'active';
        document.getElementById('tabNews').className = 'none';
        document.getElementById('tabrelated').className = "none";
        if (document.getElementById('t2').value == "0") {
            showTwitter();
            document.getElementById('t2').value = "1";
        }
        document.getElementById('tab3').style.display = "none";
    }
    else if (value == 3) {
        document.getElementById('tab1').style.display = "none";
        document.getElementById('tab2').style.display = "none";
        document.getElementById('tab1Hidden').style.display = "none";
        document.getElementById('tab2Hidden').style.display = "none";
        document.getElementById('tab3').style.display = "block";
        document.getElementById("tabrelated").className = "active";
        document.getElementById("tabTwitter").className = "none";
        document.getElementById("tabNews").className = "none";
        if (document.getElementById('t3').value == "0") {
            showRSS();
            document.getElementById('t3').value = "1";
        }
        
    }

}
function viewMore(ctrl)
{
    if(ctrl.innerText == 'More' || ctrl.innerHTML == 'More')
    {
        if (document.getElementById('tabNews').className == 'active')
        {
            document.getElementById('tab1Hidden').style.display = "block";
            document.getElementById('tab2Hidden').style.display = "none";
            document.getElementById('tab3Hidden').style.display = "none";
        }
        else if (document.getElementById('tab2').style.display == "block") 
        {
            document.getElementById('tab2Hidden').style.display = "block";
            document.getElementById('tab1Hidden').style.display = "none";
            document.getElementById('tab3Hidden').style.display = "none";
        }
        else if (document.getElementById('tab3').style.display == "block") 
        {
            document.getElementById('tab3Hidden').style.display = "block";
            document.getElementById('tab1Hidden').style.display = "none";
            document.getElementById('tab2Hidden').style.display = "none";
        }
        if(navigator.appName == "Microsoft Internet Explorer")
            ctrl.innerText = 'Less';
        else
            ctrl.innerHTML = 'Less';
        return;
    }
    else if(ctrl.innerText == 'Less' || ctrl.innerHTML == 'Less')
    {
        if (document.getElementById('tabNews').className == 'active')
        {
            document.getElementById('tab1Hidden').style.display = "none";
            document.getElementById('tab2Hidden').style.display = "none";
            document.getElementById('tab3Hidden').style.display = "none";
        }
        else if (document.getElementById('tab2').style.display == "block") 
        {
            document.getElementById('tab2Hidden').style.display = "none";
            document.getElementById('tab1Hidden').style.display = "none";
            document.getElementById('tab3Hidden').style.display = "none";
        }
        else if (document.getElementById('tab3').style.display == "block") 
        {
            document.getElementById('tab3Hidden').style.display = "none";
            document.getElementById('tab1Hidden').style.display = "none";
            document.getElementById('tab2Hidden').style.display = "none";
        }
        if(navigator.appName == "Microsoft Internet Explorer")
            ctrl.innerText = 'More';
        else
            ctrl.innerHTML = 'More';
        return;
    }
}
