var contextCookieName = 'ts_context';
var contextTypeCookieName = 'ts_context_type';

function contextSet(idList, typeList) {
	cookieAddIds(contextCookieName, idList);	
	cookieAddIds(contextTypeCookieName, typeList);	
}

function contextAddId(id) {
	cookieAddId(contextCookieName, id);
}

function contextDeleteId(id) {
	cookieAddId(contextCookieName, id);
}

function contextReset() {
	cookieDeleteAllIds(contextCookieName);
}

function contextIndexId(id) {
	var ids = cookieGetIdArray(contextCookieName);
	for(var i=0; i < ids.length; i++) {
		if (ids[i] == id) {
			return i;
		}
	}
	return -1;
}

function contextLastId() {
	var ids = cookieGetIdArray(contextCookieName);
	if(ids.length > 0) {
		return ids[ids.length-1];
	} else {
		return -1;
	}
}

function contextFirstId() {
	var ids = cookieGetIdArray(contextCookieName);
	if(ids.length > 0) {
		return ids[0];
	} else {
		return -1;
	}
}

function contextShow() {
	alert(cookieGetIdArray(contextCookieName).join(", "));
}

function contextOpenUrl(index) {
	var types = cookieGetIdArray(contextTypeCookieName);
	var url = contextTypeUrl[types[index]];
	if (url) {
		var allIds = contextGetIds();
		id = allIds[index];
		url = url.replace(/#oid#/, id);
		location.href = url;
	}
}

function contextForward(id) {
	var newIndex = contextIndexId(id) + 1;
	var allIds = contextGetIds();
	if (newIndex < allIds.length) {
		contextOpenUrl(newIndex);
	}
}

function contextBack(id) {
	var newIndex = contextIndexId(id) -1;
	var allIds = contextGetIds();
	if (newIndex >= 0) {
		contextOpenUrl(newIndex);
	}
}

function contextGetIds() {
	return cookieGetIdArray(contextCookieName);
}

