

$(document).ready(function () {
	
	var jsonInSession = JSON.parse(sessionStorage.getItem('newsList'));
	if(jsonInSession && jsonInSession.hasOwnProperty('expiretime')){
		var sessionExpired = Date.parse(jsonInSession.expiretime);
		if(sessionExpired < $.now()){
			resetListSessionParameters('newsList');
		}
	}
});


function saveListInSession(classname, listName) {
	var elem = $(classname).map(index, currElement);
    var allLinks = function(elem) {
        $(currElement).attr('position', index);
        return $(currElement).attr('href').split('?')[0];
    };
    var links = $(allLinks).toArray();
    var date = new Date();
    var minutes = 30;
    date.setTime($.now() + (minutes * 60 * 1000));
    var listSessionJson = {
        "list": links,
        "expiretime": date,
        "currentPos": null
    };
    sessionStorage.setItem(listName, JSON.stringify(listSessionJson));
    //console.log(listSessionJson);
    setOnClickCurrentPos(classname, listName);
}



function saveInSession(currentId, lang, index, rootNodeId, isLast, isList, isPC) { 
	
	var date = new Date();
    var minutes = 30;
    date.setTime($.now() + (minutes * 60 * 1000));
    var listSessionJson = {
        "lang": lang,
        "index": index,
        "rootNodeId": rootNodeId,
        "isLast": isLast,
        "isList": isList,
        "isPC": isPC
    };
    sessionStorage.setItem(currentId, JSON.stringify(listSessionJson));
    
   // setOnClickCurrentPos(classname, listName);
}


function saveInSessionGeneral(currentId, lang, index, rootNodeId, isLast, isList, isPC, isGeneral) { 
	
	var date = new Date();
    var minutes = 30;
    date.setTime($.now() + (minutes * 60 * 1000));
    var listSessionJson = {
        "lang": lang,
        "index": index,
        "rootNodeId": rootNodeId,
        "isLast": isLast,
        "isList": isList,
        "isPC": isPC,
        "isGeneral": isGeneral
    };
    sessionStorage.setItem(currentId, JSON.stringify(listSessionJson));
    
}

function saveInSession2(currentId, lang, index, isLast, isList, isPC) { 
	
	
	var date = new Date();
    
    var minutes = 30;
    date.setTime($.now() + (minutes * 60 * 1000));
    var listSessionJson = {
        "lang": lang,
        "index": index,
        "isLast": isLast,
        "isList": isList,
        "isPC": isPC
    };
    sessionStorage.setItem(currentId, JSON.stringify(listSessionJson));
   
   // setOnClickCurrentPos(classname, listName);
}


function saveInSessionBrands(currentId, lang, index, rootNodeId, isLast, isList, isPC) { 
	
	
	
	var date = new Date();
    
    var minutes = 30;
    date.setTime($.now() + (minutes * 60 * 1000));
    var listSessionJson = {
        "lang": lang,
        "index": index,
        "rootNodeId": rootNodeId,
        "isLast": isLast,
        "isList": isList,
        "isPC": isPC
    };
    sessionStorage.setItem(currentId, JSON.stringify(listSessionJson));
    
   // setOnClickCurrentPos(classname, listName);
}


function saveInSessionAwards(currentId, lang, index, rootNodeId, filter) { 
	var date = new Date();
	
    var minutes = 30;
    date.setTime($.now() + (minutes * 60 * 1000));
    var listSessionJson = {
        "lang": lang,
        "index": index,
        "rootNodeId": rootNodeId,
        "filter": filter
    };
    sessionStorage.setItem(currentId, JSON.stringify(listSessionJson));
    
   // setOnClickCurrentPos(classname, listName);
}


function resetListSessionParameters(listName) {
    sessionStorage.setItem(listName, null);
}

function setOnClickCurrentPos(classname, listName) {
    $(classname).on('click', function(e) {
        var jsonInSession = JSON.parse(sessionStorage.getItem(listName));
        jsonInSession.currentPos = parseInt($(this).attr('position'));
        sessionStorage.setItem(listName, JSON.stringify(jsonInSession));
    });
}

function setNavigationLinks(nextClassname, previousClassname, generalClasname, listName) {
    var jsonInSession = JSON.parse(sessionStorage.getItem(listName));
    var list = jsonInSession.list;
    var currentPos = parseInt(jsonInSession.currentPos);
    console.log(list);
    if (list) {
        if ((currentPos - 1) in list) {
            var previousLink = window.location.origin + list[currentPos - 1];
            $(previousClassname).attr('href', previousLink);
            
        } else {
            $(previousClassname).hide();
        }
        if ((currentPos + 1) in list) {
            var nextLink = window.location.origin + list[currentPos + 1];
            $(nextClassname).attr('href', nextLink);
        } else {
            $(nextClassname).hide();
            $(previousClassname).css('border-right', 'none');
        }
    } else {
        $(generalClasname).hide();
    }

    $(previousClassname).on('click', function() {
        var jsonInSession = JSON.parse(sessionStorage.getItem(listName));
        jsonInSession.currentPos = jsonInSession.currentPos - 1;
        sessionStorage.setItem(listName, JSON.stringify(jsonInSession));
    });

    $(nextClassname).on('click', function() {
        var jsonInSession = JSON.parse(sessionStorage.getItem(listName));
        jsonInSession.currentPos = jsonInSession.currentPos + 1;
        sessionStorage.setItem(listName, JSON.stringify(jsonInSession));
    });
}

function getUrlVars() {
    var vars = [],
        hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for (var i = 0; i < hashes.length; i++) {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}