﻿/***********************************************
* Awards Slider Web part- © Dhawal Seth
***********************************************/

var itemList; //to store all items received from the list
var items_array; //general array to split information in item list
var year_array; //to store info about awards year/ and its details
var year_content_array; // to store info about award details            
var currentTab;//current tab, whose data is displayed
var scroll_Start;//start position of scroll
var scroll_End;//end position of scroll

function OnLoad(itemCollection)
{
    itemsList = itemCollection;
       
    if ((itemsList=="") || (itemsList==null))
    {
      alert("You have no awards? Bummer.");
    }
    else if (itemsList.indexOf(";")== -1)
    {
      alert("Either you have only one award or you didn't seperated it with ';'.");
      alert("You entered "+ itemsList);
    }
    else
    {
        items_array = itemsList.split(";");
        year_array = new Array();
        
        for (var item = 1; item < items_array.length; item++)
        {
            var details = items_array[item - 1].split("#");
            var newItem = false;
            var count= 1;
            if(year_array.length == 0)
            {
                AddNewItem(details, count);
            }
            else
            {                       
                for(var innerItem=1; innerItem < year_array.length; innerItem++)
                {		                        	                    
                    if(year_array[innerItem][0].match(details[0]))
                    { 
                        AddDetailsToArray(innerItem, count, details);
                        newItem = false;
                    }
                    else
                    {
                        newItem = true;		                        
                        continue;
                    }
                }
                
                if(newItem)
                {
                    AddNewItem(details, count);
                }
            }
         }		    
	    	    
	    scroll_Start = 1;
	    scroll_End = 4;
        CreateTabs();
        if((year_array[1]!=null) || (year_array[1] != undefined))
        {
            showContent(year_array[1][0], 1);
        }
    }
}

function AddDetailsToArray(innerItem, count, details)
{
    if((year_array[innerItem][count]==null)||(year_array[innerItem][count]==undefined))
    {
        if(((details[1] != null) || (details[1] != "")) &&
            ((details[2] != null) || (details[2] != "")) &&
            ((details[3] != null) || (details[3] != "")))
            {
                year_array[innerItem][count] = new Array(2);
                year_array[innerItem][count][0] = details[1];
                //year_array[innerItem][count][1] = details[2];
                year_array[innerItem][count][1] = new Array(2);
                year_array[innerItem][count][1][0] = details[2];
                year_array[innerItem][count][1][1] = details[3]; //navigate URL

            }
    }
    else
    {
        count+=1;
        AddDetailsToArray(innerItem, count, details);
    }
}

function AddNewItem(details, count)
{
    var insertItemAt = year_array.length;
    if(year_array.length==0)
    {
        insertItemAt = year_array.length + 1;
    }
    year_array[insertItemAt]= new Array(2);
    year_array[insertItemAt][0] = details[0];
    AddDetailsToArray(insertItemAt, count, details);
}

function CreateTabs()
{  
//debugger;
    var j=1;
    var objYear;
    
    for (objYear = scroll_Start; objYear < year_array.length; objYear++)
    {
        if(j<=4)
        {
            document.getElementById(j).innerHTML = "<a id='a"+ objYear +"' href='#' onclick='showContent("+ year_array[objYear][0] +", "+ objYear +"); return false; ' ><b>" + year_array[objYear][0] + "</b></a>";
            j++;
        }
    } 
}

function showContent(currentItem, currentPosition)
{  
//debugger;
    var outputHTML ="";
    var itemPosition = currentPosition;
    for (objYear in year_array)
    {
            if(year_array[objYear][0].match(currentItem))
            {
                for(var count = 1; count < year_array[objYear].length; count++)
                {
                    outputHTML += returnContent(year_array[objYear][count][0], year_array[objYear][count][1][0], year_array[objYear][count][1][1]);
                }
            }
    }
	//eval("document.getElementById('a"+ itemPosition +"').className = 'awardSelected'");
	//alert(document.getElementById('a1'));
	highlightTab(itemPosition);
    eval("document.getElementById('awardContent').innerHTML = returnHTMLOuter(outputHTML); ");
    currentTab = itemPosition;
}

function highlightTab(itemPosition)
{       
	for (objYear = 1; objYear < year_array.length; objYear++)
    { 
	    if(year_array[objYear][0].match(year_array[itemPosition][0]))
        {
			eval("document.getElementById('a"+ itemPosition +"').className = 'awardSelected'");
        }
        else
        {
	        if((objYear >= scroll_Start) && (objYear <= scroll_End))
            {
            	eval("document.getElementById('a"+ objYear +"').className = ''");
            }
         }
    } 
}

function showPrevious()
{  
    var itemPosition = currentTab - 1;
    if((year_array[itemPosition]!=null) || (year_array[itemPosition] !=undefined))
    {
        
        if(itemPosition < scroll_Start)
	    {
    		scroll_Start = scroll_Start - 1;
    		scroll_End = scroll_End - 1;
    		CreateTabs();
        }
        for (objYear in year_array)
        {
            if(year_array[objYear][0].match(year_array[itemPosition][0]))
            {
              showContent(year_array[itemPosition][0], itemPosition);
              break;
            }
        }        
    }  
}

function showNext()
{
    var itemPosition = currentTab + 1;
    if((year_array[itemPosition]!=null) || (year_array[itemPosition] !=undefined))
    {
        if(itemPosition > scroll_End)
        {
    		scroll_Start = scroll_Start + 1;
    		scroll_End = scroll_End + 1;
    		CreateTabs();
        }
        for (objYear in year_array)
        {
            if(year_array[objYear][0].match(year_array[itemPosition][0]))
            {
              showContent(year_array[itemPosition][0], itemPosition);
              break;
            }
        }
    }  
}

function returnHTMLOuter(outItem)
{
    var str="<ul>" + outItem + "</ul>";
    
    return str;
}

function returnContent(title, description, navigateURL)
{
    var str="<li><a href='"+ navigateURL +"'><b>" + title + "</b></a><br />"+ description + "</li>";
    
    return str;
}

