function lnLptoggle(id, cat, count, funcNm) {
	var catNums = document.getElementById(cat);
	var catNumsI = catNums.value;
	var catNumNew = (catNumsI.charAt(count) == 0) ? 1 : 0;
	var startString = catNumsI.substr(0, count);
	var endString = catNumsI.substring(count + 1);
	catNums.value = startString + catNumNew + endString;
	if(catNums.value.indexOf('1') == -1) {
		catNums.value = startString + '1' + endString;
	} else {
		lnLptoggleEx(id, cat, count, funcNm);
	}
}

function lnLptoggleEx(id, cat, count, funcNm) {
	var sel = document.getElementById('ln_pr_sel_' + id);
	var selA = document.getElementById('ln_pr_sel_a_' + id);
	var selX = document.getElementById('ln_pr_sel_x_' + id);
	var destType = (selX.value == "off") ? "on" : "off";
	var functf = (selX.value == "off") ? false : true;
	sel.setAttribute(classText, "ln_pr_sel_" + destType);
	selX.value = destType;
	ToggleFilter(functf, funcNm);
	lnLpCookie();
}

function lnLpTabs(id, cat, count, funcNm) {
	tabList = new Array('ksx','ks1','ks2','ks3','ks4','alev');
	funcList = new Array(ffLevKsx,ffLevKs1,ffLevKs2,ffLevKs3,ffLevKs4,ffLevAl);
	var curTab = document.getElementById('catKsCur');
	var curTabI = curTab.value;
	if(id != tabList[curTabI]) {
		lnLpTabsEx(tabList[curTabI], cat, count, funcList[curTabI]);
		lnLpTabsEx(id, cat, count, funcNm);
		curTab.value = count;
	}
	var catNums = document.getElementById(cat);
	var catNumsI = catNums.value;
	var newString = '000000';
	var catNumNew = 1;
	var startString = newString.substr(0, count);
	var endString = newString.substring(count + 1);
	catNums.value = startString + catNumNew + endString;
	lnLpCookie();
}

function lnLpTabsEx(id, cat, count, funcNm) {
	var sel = document.getElementById('ln_pr_sel_' + id);
	var selA = document.getElementById('ln_pr_sel_a_' + id);
	var selX = document.getElementById('ln_pr_sel_x_' + id);
	var destType = (selX.value == "off") ? "on" : "off";
	var functf = (selX.value == "off") ? false : true;
	sel.setAttribute(classText, "ln_pr_sel_" + destType);
	selX.value = destType;
	if(id != 'ksx') {
		ToggleFilter(functf, funcNm);
	} else {
		if(functf) {
			lnProgramme.addFilter(ffLevKs1, true);
			lnProgramme.addFilter(ffLevKs2, true);
			lnProgramme.addFilter(ffLevKs3, true);
			lnProgramme.addFilter(ffLevKs4, true);
			lnProgramme.addFilter(ffLevAl, true);
		} else {
			lnProgramme.removeFilter(ffLevKs1, true);
			lnProgramme.removeFilter(ffLevKs2, true);
			lnProgramme.removeFilter(ffLevKs3, true);
			lnProgramme.removeFilter(ffLevKs4, true);
			lnProgramme.removeFilter(ffLevAl, true);
		}
	}
}

function lnLpSort(count, name) {
	var sortOps = new Array();
	sortOps[0] = document.getElementById('ln_pg_srt_0');
	sortOps[1] = document.getElementById('ln_pg_srt_1');
	sortOps[2] = document.getElementById('ln_pg_srt_2');
	var sortId = document.getElementById('lnSort');
	var sortIdI = sortId.value;
	switch(sortIdI.charAt(count)) {
		case '0':
		case '2':
			var sortIdNew = 1;
		break
		case '1':
			var sortIdNew = 2;
		break
	}
	var stringCnt = sortIdI.length;
	newString = '';
	var ct = 0;
	for(ct=0;ct<stringCnt;ct++) {
		newString = newString + '0';
	}
	var startString = newString.substr(0, count);
	var endString = newString.substring(count + 1);
	sortId.value = startString + sortIdNew + endString;
	lnProgramme.sort(name, 'toggle');
	for(var i in sortOps) {
		if(i >= 0 && i <= 2) {
			if(i == count) {
				var sortNewClass = (sortIdNew == 1) ? "ln_pg_srt_on_asc" : "ln_pg_srt_on_desc";
			} else {
				var sortNewClass = "ln_pg_srt_off";
			}
			sortOps[i].setAttribute(classText, sortNewClass);
		}
	}
	lnLpCookie();
}

function lnLpCookie() {
	var exdate = new Date();
	exdate.setDate(exdate.getDate() + 365);
	var catKs = document.getElementById('catKs').value;
	var catTy = document.getElementById('catTy').value;
	var catAc = document.getElementById('catAc').value;
	var lnSort = document.getElementById('lnSort').value;
	document.cookie = "tqgLnPgPrefs=" + catKs + catTy + catAc + lnSort + ";expires=" + exdate.toUTCString() + ";path=/";
}

var prefs = readCookie('tqgLnPgPrefs');
if (prefs) {
	var sortType = prefs.substring(13, 16);
	var lnSortTypes = new Array();
	lnSortTypes[0] = 'namesort';
	lnSortTypes[1] = 'audience';
	lnSortTypes[2] = 'type';
	for(var i=0;i < sortType.length;i++) {
		if(sortType.charAt(i) != 0) {
			var sortTitle = lnSortTypes[i];
			var sortOrder = (sortType.charAt(i) == 1) ? 'ascending' : 'descending';
		}
	}
} else {
	var sortTitle = 'namesort';
	var sortOrder = 'ascending';
}

var lnProgramme = new Spry.Data.XMLDataSet("../data/lp.php", "activities/activity", {sortOnLoad: sortTitle, sortOrderOnLoad: sortOrder});
lnProgramme.setColumnType("curic_lnx", "html");
function ffLevKsx(){
	lnProgramme.addFilter(ffLevKs1, true);
	lnProgramme.addFilter(ffLevKs2, true);
	lnProgramme.addFilter(ffLevKs3, true);
	lnProgramme.addFilter(ffLevKs4, true);
	lnProgramme.addFilter(ffLevAl, true);
};
function ffLevKs1(ds, row, index){ var a = row.xks; return a.indexOf('1') > -1 && a.indexOf('2') == -1 && a.indexOf('3') == -1 && a.indexOf('4') == -1 && a.indexOf('5') == -1 ? null : row; };
function ffLevKs2(ds, row, index){ var a = row.xks; return a.indexOf('2') > -1 && a.indexOf('1') == -1 && a.indexOf('3') == -1 && a.indexOf('4') == -1 && a.indexOf('5') == -1 ? null : row; };
function ffLevKs3(ds, row, index){ var a = row.xks; return a.indexOf('3') > -1 && a.indexOf('1') == -1 && a.indexOf('2') == -1 && a.indexOf('4') == -1 && a.indexOf('5') == -1 ? null : row; };
function ffLevKs4(ds, row, index){ var a = row.xks; return a.indexOf('4') > -1 && a.indexOf('1') == -1 && a.indexOf('2') == -1 && a.indexOf('3') == -1 && a.indexOf('5') == -1 ? null : row; };
function ffLevAl(ds, row, index){ var a = row.xks; return a.indexOf('5') > -1 && a.indexOf('1') == -1 && a.indexOf('2') == -1 && a.indexOf('3') == -1 && a.indexOf('4') == -1 ? null : row; };
function ffTypIr(ds, row, index){ var a = row.xaudience; return a.indexOf('o') == -1 ? null : row; };
function ffTypOr(ds, row, index){ var a = row.xaudience; return a.indexOf('i') == -1 ? null : row; };
function ffActWs(ds, row, index){ var a = row.xtype; return a.indexOf('ws') > -1 ? null : row; };
function ffActSs(ds, row, index){ var a = row.xtype; return a.indexOf('ss') > -1 ? null : row; };
function ffActDs(ds, row, index){ var a = row.xtype; return a.indexOf('ds') > -1 ? null : row; };
function ffActKt(ds, row, index){ var a = row.xtype; return a.indexOf('kt') > -1 ? null : row; };
function ffActDb(ds, row, index){ var a = row.xtype; return a.indexOf('db') > -1 ? null : row; };

if(prefs) {
	var fList = new Array(ffLevKsx,ffLevKs1,ffLevKs2,ffLevKs3,ffLevKs4,ffLevAl,ffTypIr,ffTypOr,ffActWs,ffActSs,ffActDs,ffActKt,ffActDb);
	var loadObserver = new Object;
	loadObserver.onPostLoad = function(dataSet, data) {
		for(i=1;i<13;i++) {
			if(prefs[i] == '0') {
				lnProgramme.addFilter(fList[i], true);
			}
		}
		if(prefs[0] == 1) {
			lnProgramme.removeFilter(ffLevKs1, true);
			lnProgramme.removeFilter(ffLevKs2, true);
			lnProgramme.removeFilter(ffLevKs3, true);
			lnProgramme.removeFilter(ffLevKs4, true);
			lnProgramme.removeFilter(ffLevAl, true);
		}
	};
	lnProgramme.addObserver(loadObserver);
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0)
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function ToggleFilter(enable, f) {
	if (enable)
		lnProgramme.addFilter(f, true);
	else
		lnProgramme.removeFilter(f, true);
}

var ol_fgclass = "ln_pr_pop_main";
var ol_textfontclass = "ln_pr_pop_main_text";
var ol_captionfontclass = "ln_pr_pop_title_text";
var ol_width = "300";