﻿//news count max constant
    var NEWS_COUNT = 5; //number of news displayed per page
    var news_start;
    var news_end;
    
    var DEFAULT_HEIGTH;

//display news
function displayNews(passedSection){    
    //load XML doc
    var xmlDoc = loadXMLDocument('../Resources/XML/NEWS.xml');
    var langNode = xmlDoc.getElementsByTagName('LANGUAGE');
    
    var newsPanel = document.getElementById('newsPanel');
    var mediaPanel = document.getElementById('mediaPanel');
    var videoPanel = document.getElementById('videoPanel');
    

    //display the news in the appropriate language
    for(i=0;i<langNode.length;i++){
        
        //if 'LOCALE' attribute is the same as locale defined by page
        if (langNode[i].getAttribute('LOCALE') == locale) {
        
            //get the news item for specified language
            if (passedSection == 'Metal') {
                var welcome = langNode[i].getElementsByTagName('METAL')[0].getElementsByTagName('WELCOME');
                var news = langNode[i].getElementsByTagName('METAL')[0].getElementsByTagName('NEWS');
                var media = langNode[i].getElementsByTagName('METAL')[0].getElementsByTagName('MEDIA');
                var video = langNode[i].getElementsByTagName('METAL')[0].getElementsByTagName('VIDEO');
            } else if (passedSection == 'Wood') {
                var welcome = langNode[i].getElementsByTagName('WOOD')[0].getElementsByTagName('WELCOME');
                var news = langNode[i].getElementsByTagName('WOOD')[0].getElementsByTagName('NEWS');
                var media = langNode[i].getElementsByTagName('WOOD')[0].getElementsByTagName('MEDIA');
                var video = langNode[i].getElementsByTagName('WOOD')[0].getElementsByTagName('VIDEO');
            }

            //display welcome
            var welcomePara = document.createElement('p');
            welcomePara.innerHTML = welcome[0].childNodes[0].nodeValue;
            document.getElementById('welcomePanel').appendChild(welcomePara);
                        
            //initialize news counters
            news_start = 0;
            news_end = NEWS_COUNT;
            
            //if news length smaller than the number of news to be displayed
            if(news.length < news_end){
                news_end = news.length
            }
            
            //write news header
            var newsHeader = document.createElement('h1');
                newsHeader.setAttribute('id','newsHeader');
                newsHeader.innerHTML = langNode[i].getElementsByTagName('NEWS_HEADER')[0].childNodes[0].nodeValue;
                
            //append news header with an horizontal rule    
            newsPanel.appendChild(newsHeader);
            newsPanel.appendChild(document.createElement('hr'));                                                      
            
            //display news elements
            for(u=news_start;u<news_end;u++){
                
                //assign value from XML elements
                var title = news[u].getElementsByTagName('TITLE')[0].childNodes[0].nodeValue;
                var text = news[u].getElementsByTagName('TEXT');
                var image = news[u].getElementsByTagName('IMAGE')[0].childNodes[0].nodeValue;
                var date = news[u].getElementsByTagName('DATE')[0].childNodes[0].nodeValue;
                
                //append news to panel
                newsPanel.innerHTML = newsPanel.innerHTML + createNews(  news[u].getElementsByTagName('TITLE')[0].childNodes[0].nodeValue,    //title
                                                   news[u].getElementsByTagName('DATE')[0].childNodes[0].nodeValue,   //date
                                                   news[u].getElementsByTagName('NEWS_CONTENT'),                                //text array
                                                   news[u].getElementsByTagName('IMAGE')[0].childNodes[0].nodeValue);    //image                            
            }
            
            newsPanel.appendChild(document.createElement('hr'));  
            
            //if newsMax was greater than newsCount a more button is displayed
            if(news_end < news.length){
                
                //increment news variables
                news_start = news_end;
                news_end = news_end + NEWS_COUNT;
                
                //if news_end is bigger than news.length
                if(news_end > news.length){
                    news_end = news.length;
                }
            
                var moreLinkDiv = document.createElement('div');
            
                var moreLink = document.createElement('a');
                    moreLink.innerHTML = langNode[i].getElementsByTagName('NEWS_MORE')[0].getElementsByTagName('TEXT')[0].childNodes[0].nodeValue+ ' ' +
                                            (news_end-news_start) + ' ' +
                                         langNode[i].getElementsByTagName('NEWS_MORE')[0].getElementsByTagName('TEXT')[1].childNodes[0].nodeValue;
                    moreLink.setAttribute('href','#');
                    moreLink.setAttribute('onclick','displayXNews('+news_start+','+news_end+')');
                    moreLinkDiv.appendChild(moreLink);   
                  
                newsPanel.appendChild(moreLinkDiv);            
            }
            
            //add youtube video
            videoPanel.appendChild(createYoutubeVideo(video[0].getAttribute('WIDTH'),
                                                      video[0].getAttribute('HEIGHT'), 
                                                      video[0].childNodes[0].nodeValue));
                                          
            //add media slider
            mediaPanel.innerHTML = mediaPanel.innerHTML + createLinkSlider(media).innerHTML;                  
        }
    }
    
    //resize layout for newly created content
    DEFAULT_HEIGTH = document.getElementById('aspPlaceHolder').clientHeight;
    //resizeLayout();
}


//display set numbers of news
function displayXNews(passedStart, passedFinish){
    
    //load XML doc
    var xmlDoc = loadXMLDocument('../Resources/XML/NEWS.xml');
    var langNode = xmlDoc.getElementsByTagName('LANGUAGE');
    
    //set news panel
    var newsPanel = document.getElementById('newsPanel');
    
        //removes displays more news sign and horizontal rule
        newsPanel.removeChild(newsPanel.lastChild);
        newsPanel.removeChild(newsPanel.lastChild);
              
    //display the news in the appropriate language
    for(i=0;i<langNode.length;i++){
        
        //if 'LOCALE' attribute is the same as locale defined by page
        if(langNode[i].getAttribute('LOCALE') == locale){
            
            //get the news item for specified language
            var news = langNode[i].getElementsByTagName('NEWS');                                         
                        
            //display news elements
            for(u=news_start;u<news_end;u++){
                
                //assign value from XML elements
                var title = news[u].getElementsByTagName('TITLE')[0].childNodes[0].nodeValue;
                var text = news[u].getElementsByTagName('TEXT');
                var image = news[u].getElementsByTagName('IMAGE')[0].childNodes[0].nodeValue;
                var date = news[u].getElementsByTagName('DATE')[0].childNodes[0].nodeValue;
                
                //append news to panel
                newsPanel.innerHTML = newsPanel.innerHTML + createNews(  news[u].getElementsByTagName('TITLE')[0].childNodes[0].nodeValue,    //title
                                                                         news[u].getElementsByTagName('DATE')[0].childNodes[0].nodeValue,   //date
                                                                         news[u].getElementsByTagName('NEWS_CONTENT'),                                //text array
                                                                         news[u].getElementsByTagName('IMAGE')[0].childNodes[0].nodeValue);    //image
                                                   
                                              
            }
            
            newsPanel.appendChild(document.createElement('hr'));  
            
            //if newsMax was greater than newsCount a more button is displayed
            if(news_end < news.length){
                
                //increment news variables
                news_start = news_end;
                news_end = news_end + NEWS_COUNT;
                
                //if news_end is bigger than news.length
                if(news_end > news.length){
                    news_end = news.length;
                }
            
                var moreLinkDiv = document.createElement('div');
            
                var moreLink = document.createElement('a');
                    moreLink.innerHTML = 'Display '+parseInt(news_end - news_start)+' more news';
                    moreLink.setAttribute('href','#');
                    moreLink.setAttribute('onclick','displayXNews('+news_start+','+news_end+')');
                    moreLinkDiv.appendChild(moreLink);
                
                newsPanel.appendChild(document.createElement('hr'));       
                newsPanel.appendChild(moreLinkDiv);            
            }
        }
    }
    
    //resize layout after adding new elements
    DEFAULT_HEIGTH = document.getElementById('aspPlaceHolder').clientHeight;
    //resizeLayoutTo(DEFAULT_HEIGTH);
}

//create news!!!
function createNews (title, date, news, image){
    //HTML dom elements (arranged by append order)
    var newsDiv = document.createElement('div'); 
    newsDiv.setAttribute('class', 'newsDiv');   

    var newsTable = document.createElement('table');    
        newsTable.setAttribute('cellpadding','0');  
        newsTable.setAttribute('cellspacing','0');
        newsDiv.appendChild(newsTable);
        
        var headerRow = document.createElement('tr');
            headerRow.setAttribute('class','headerRow');
            newsTable.appendChild(headerRow);
            
            var fillerColRow1 = document.createElement('td');
                fillerColRow1.setAttribute('class', 'fillerCol');
                headerRow.appendChild(fillerColRow1);
                                       
            var titleCol = document.createElement('td');
                titleCol.setAttribute('class', 'titleCol');
                headerRow.appendChild(titleCol);
                
            var dateCol = document.createElement('td');
                dateCol.setAttribute('class', 'dateCol');
                headerRow.appendChild(dateCol);
            
        var newsItemRow = document.createElement('tr');
            newsItemRow.setAttribute('class', 'newsItemRow');
            newsTable.appendChild(newsItemRow);
        
            var fillerColRow2 = document.createElement('td');
                fillerColRow2.setAttribute('class', 'fillerCol');
                newsItemRow.appendChild(fillerColRow2);
            
            var newsCol = document.createElement('td');
                newsCol.setAttribute('class', 'newsCol');
                newsCol.setAttribute('colspan', '2');
                newsCol.setAttribute('align','right');
                newsCol.setAttribute('valign','top');
                newsItemRow.appendChild(newsCol);
            
                var newsColTable = document.createElement('table');
                    newsCol.appendChild(newsColTable);
                    
                    var newsColTable_row = document.createElement('tr');
                        newsColTable.appendChild(newsColTable_row);
                        
                        //these element are not assigned immediatly as they are prone to change
                        var newsThumb = document.createElement('td');
                            newsThumb.setAttribute('align','left');
                            newsThumb.setAttribute('valign','top');
                            var newsImage;
                        var newsContent = document.createElement('td');
    
    //assign date, title and text
    titleCol.innerHTML = title;
    dateCol.innerHTML = date;
    
    //add video
    for(o=0;o<news.length;o++){
        if(news[o].getAttribute('TYPE') == 'TEXT'){
            //create a paragraph element
            var paragraph = document.createElement('p');
            paragraph.innerHTML = news[o].childNodes[0].nodeValue;
            
            //append paragraph to news content
            newsContent.appendChild(paragraph);
        } else if(news[o].getAttribute('TYPE') == 'VIDEO'){
            var width;
            var height;
            
            if(image == 'null'){
                width = 380;
                height = 308;
            } else {
                width = 330;
                height = 267;
            }           
            newsContent.appendChild(createYoutubeVideo(width,height,news[o].childNodes[0].nodeValue));
        }
    }
    
    //determine if there is an image present
    if(image != 'null'){
        //since there is an image newsThumb is needed.
        newsThumb.setAttribute('class', 'newsThumb');
        newsColTable_row.appendChild(newsThumb);
        
        //append image to news thumb
        newsImage = document.createElement('img');
        newsImage.setAttribute('src', image);
        newsImage.setAttribute('alt','');
        newsThumb.appendChild(newsImage);
        
        //append text
        newsContent.setAttribute('class','newsContentImg');
        newsColTable_row.appendChild(newsContent);
    } else {
        //no image was inserted
        newsContent.setAttribute('class','newsContentPlain');
        newsColTable_row.appendChild(newsContent);
    }
    $(newsDiv).show(0);
    
    return newsDiv.innerHTML;
}


