var currentTabNews = "";

//Should be called when the News Component is inside a tabbed component.
function globalUpdateLinks(portal, triggerTab, paginationEncodedNameRN, paginationEncodedNameAN){
	var currentTab = $("#currentTab").val();

	//Only update the links when the currentTab is the one we want for this action.
	if(triggerTab != currentTab)
		return;
	
	if(currentTab != null){
		var paginationRecentLinks = $("div[id='recentContent']").find("div[class='pagebanner']").find("a");
		if(paginationRecentLinks.length > 0){
			jQuery.each(paginationRecentLinks, function(i){
				$(paginationRecentLinks[i]).attr("href", addParameterToLink(paginationRecentLinks[i].toString(), "currentTab", currentTab));
			});
		}

		if(portal == "yaa"){
			var editRecentLinks = $("div[id='recentContent']").find("a[id='editRecentNews']");
			if(editRecentLinks.length > 0){
				jQuery.each(editRecentLinks, function(i){
					$(editRecentLinks[i]).attr("href", addParameterToLink(editRecentLinks[i].toString(), "currentTab", currentTab));
				});
			}
	
			var deleteRecentLinks = $("div[id='recentContent']").find("a[id='deleteRecentNews']");
			if(deleteRecentLinks.length > 0){
				deleteRecentHref = addParameterToLink(deleteRecentLinks[0].toString(), "currentTab", currentTab);
				deleteRecentLinks.attr("href", deleteRecentHref);
			}
		}

		//---------Archived----------
		var paginationArchivedLinks = $("div[id='archiveContent']").find("div[class='pagebanner']").find("a");
		if(paginationArchivedLinks.length > 0){
			jQuery.each(paginationArchivedLinks, function(i){
				$(paginationArchivedLinks[i]).attr("href", addParameterToLink(paginationArchivedLinks[i].toString(), "currentTab", currentTab));
			});
		}

		if(portal == "yaa"){
			var editArchivedLinks = $("div[id='archiveContent']").find("a[id='editArchivedNews']");
			if(editArchivedLinks.length > 0){
				jQuery.each(editArchivedLinks, function(i){
					$(editArchivedLinks[i]).attr("href", addParameterToLink(editArchivedLinks[i].toString(), "currentTab", currentTab));
				});
			}
	
			var deleteArchivedLinks = $("div[id='archiveContent']").find("a[id='deleteArchivedNews']");
			if(deleteArchivedLinks.length > 0){
				var deleteArchivedHref = addParameterToLink(deleteArchivedLinks[0].toString(), "currentTab", currentTab);
				deleteArchivedLinks.attr("href", deleteArchivedHref);
			}
		}
	}
	updateLinks(portal, paginationEncodedNameRN, paginationEncodedNameAN);
}

function updateLinks(portal, paginationEncodedNameRN, paginationEncodedNameAN){	
	if(currentTabNews == "recent"){
		var paginationRecentLinks = $("div[id='recentContent']").find("div[class='pagebanner']").find("a");
		if(paginationRecentLinks.length > 0){
			jQuery.each(paginationRecentLinks, function(i){
				$(paginationRecentLinks[i]).attr("href", addParameterToLink(paginationRecentLinks[i].toString(), "currentTabNews", currentTabNews));
			});
		}

		if(portal == "yaa"){
			var editRecentLinks = $("div[id='recentContent']").find("a[id='editRecentNews']");
			if(editRecentLinks.length > 0){
				jQuery.each(editRecentLinks, function(i){
					$(editRecentLinks[i]).attr("href", addParameterToLink(editRecentLinks[i].toString(), "currentTabNews", currentTabNews));
				});
			}
	
			var deleteRecentLinks = $("div[id='recentContent']").find("a[id='deleteRecentNews']");
			if(deleteRecentLinks.length > 0){
				var deleteRecentHref = addParameterToLink(deleteRecentLinks[0].toString(), "currentTabNews", currentTabNews);
				if(deleteRecentLinks.length == 2){
					deleteRecentHref = deleteParameterToLink(deleteRecentHref, paginationEncodedNameRN);
				}
				deleteRecentLinks.attr("href", deleteRecentHref);
			}
		}
	}else{
		var paginationArchivedLinks = $("div[id='archiveContent']").find("div[class='pagebanner']").find("a");
		if(paginationArchivedLinks.length > 0){
			jQuery.each(paginationArchivedLinks, function(i){
				$(paginationArchivedLinks[i]).attr("href", addParameterToLink(paginationArchivedLinks[i].toString(), "currentTabNews", currentTabNews));
			});
		}

		if(portal == "yaa"){
			var editArchivedLinks = $("div[id='archiveContent']").find("a[id='editArchivedNews']");
			if(editArchivedLinks.length > 0){
				jQuery.each(editArchivedLinks, function(i){
					$(editArchivedLinks[i]).attr("href", addParameterToLink(editArchivedLinks[i].toString(), "currentTabNews", currentTabNews));
				});
			}
	
			var deleteArchivedLinks = $("div[id='archiveContent']").find("a[id='deleteArchivedNews']");
			if(deleteArchivedLinks.length > 0){
				var deleteArchivedHref = addParameterToLink(deleteArchivedLinks[0].toString(), "currentTabNews", currentTabNews);
				if(deleteArchivedLinks.length == 2){
					deleteArchivedHref = deleteParameterToLink(deleteArchivedHref, paginationEncodedNameAN);
				}
				deleteArchivedLinks.attr("href", deleteArchivedHref);
			}
		}
	}
}

function addParameterToLink(link, parameterName, parameterValue){
	var indexOfParameter = link.indexOf(parameterName);
	var newLink = "";

	if(indexOfParameter == -1){
		if(link.indexOf("?") == -1){
			newLink = link + "?" + parameterName + "=" + parameterValue;
		}else{
			newLink = link + "&" + parameterName + "=" + parameterValue;
		}
	}else{
		var indexOfParameterEndOfValue = link.indexOf("&", indexOfParameter + 1);
		indexOfParameterEndOfValue = (indexOfParameterEndOfValue == -1)? link.length : indexOfParameterEndOfValue;

		newLink = link.substring(0, indexOfParameter) + parameterName + "=" + parameterValue + link.substr(indexOfParameterEndOfValue);
	}
	return newLink;
}

function deleteParameterToLink(link, parameterName){
	var indexOfParameter = link.indexOf(parameterName);
	var newLink = "";

	if(indexOfParameter > -1){
		var indexOfParameterEndOfValue = link.indexOf("&", indexOfParameter + 1);
		indexOfParameterEndOfValue = (indexOfParameterEndOfValue == -1)? link.length : indexOfParameterEndOfValue;

		newLink = link.substring(0, indexOfParameter) + link.substr(indexOfParameterEndOfValue + 1);

		var indexOfAmp = newLink.indexOf("&");
		var indexOfQue = newLink.indexOf("?");

		if(newLink.length - 1 == indexOfAmp){
			newLink = newLink.substring(0, indexOfAmp);
		}
		if(newLink.length - 1 == indexOfQue){
			newLink = newLink.substring(0, indexOfQue);
		}
	}else{
		newLink = link;
	}
	return newLink;
}