var sCategoryListId = "dnn_ctr390_SearchSmall_123";
var sProjectTypeListId = "dnn_ctr390_SearchSmall_66";
var sInstFinId = "dnn_ctr390_SearchSmall_67";
var aProjectTypes = new Array; //Niz tipova projekata
var aInstFin = new Array; // Niz instrumenata financiranja
var cCategoryList = document.getElementById(sCategoryListId);
var cProjectTypeList = document.getElementById(sProjectTypeListId);
var cInstFin = document.getElementById(sInstFinId);

initLists();

function initLists() {
	for (var i=1; i<cProjectTypeList.options.length; i++) {
		aProjectTypes[i-1] = cProjectTypeList.options[i].text;
	}
	for (var i=1; i<cInstFin.options.length; i++) {
		aInstFin[i-1] = cInstFin.options[i].text;
	}
	deleteListItems(cProjectTypeList);
	deleteListItems(cInstFin);
	
	cCategoryList.onchange = function() {
		changeList(this, cProjectTypeList, aProjectTypes);
		deleteListItems(cInstFin);
	}
	
	cProjectTypeList.onchange = function() {
		changeList(this, cInstFin, aInstFin);
	}
}

function deleteWord(sMyString, sSearchedPhrase) {
	var myRegExp = new RegExp(sSearchedPhrase);
	sHtmlString = sMyString.replace(myRegExp, "");
    return sHtmlString;
}

function deleteListItems(control) {
	var listLenght = control.options.length;
	for(i=0; i<listLenght; i++) {
		control.options[1] = null;
	}
}

function arrayFilter(aListItem, sSearchedPhrase) {
	var myRegExp = new RegExp(sSearchedPhrase)
	var aFilteredItems = new Array;
	var j = 0;
	for(var i=0; i<aListItem.length; i++) {
		if(myRegExp.test(aListItem[i])) {
			aFilteredItems[j] = deleteWord(aListItem[i], sSearchedPhrase + ": ");
		   j++;
		}
	}
	return(aFilteredItems);
}

function changeList(controlParent, controlToChange, aListItems) {
	var sParentControlSelection = controlParent.options[controlParent.selectedIndex].text;
	var aFilteredItems = new Array;
	aFilteredItems = arrayFilter(aListItems, sParentControlSelection);
	deleteListItems(controlToChange);
	for(var i=0; i<aFilteredItems.length; i++) {
		eListElement = document.createElement("option");
		eListElement.setAttribute("value", sParentControlSelection + ": " + aFilteredItems[i]);
		var tListTextElement = document.createTextNode(aFilteredItems[i]);
		eListElement.appendChild(tListTextElement);
		controlToChange.appendChild(eListElement);
	}
}
