function jsgetelement(id) {
	var itm = null;

	if (document.getElementById) {
		itm = document.getElementById(id);
	} else {
		if (document.all) {
			itm = document.all[id];
		} else {
			if (document.layers) {
				itm = document.layers[id];
			}
		}
	}
	
	return itm
}
function cssopenclose(id) {
	var itm = jsgetelement(id);
	if (itm) {
		if (itm.style) {
			if (itm.style.display == "none") {
				itm.style.display = "";
			} else {
				itm.style.display = "none";
			}
		} else {
			itm.visibility = "show";
		}
	}
}
function cssshow(id) {
	var itm = jsgetelement(id);
	if (itm) {
		if (itm.style) {
			if (itm.style.display == "none") {
				itm.style.display = "";
			}
		} else { 
			itm.visibility = "show"; 
		}
	}
}
function csshide(id) {
	var itm = jsgetelement(id);
	if (itm) {
		if (itm.style) {
			itm.style.display = "none";
		}
	}
}
function clickedOutsideElement(elemId, evt) {
	
	if (window.event) {
		theElem = getEventTarget(window.event);
	} else {
		theElem = getEventTarget(evt);
	}
	while (theElem != null) {
		if (theElem.id == elemId) {
			return false;
		}
		theElem = theElem.offsetParent;
	}
	return true
}
function getEventTarget(evt) {
	var targ = (evt.target) ? evt.target : evt.srcElement;
	if (targ != null) {
		if (targ.nodeType == 3)
			targ = targ.parentNode;
	}
	var skip_element = false;
	if (targ.getAttribute) {
		var element_class = targ.getAttribute('class');
		if (element_class) {
			var skip_element = ( element_class.indexOf("ignoreclick") != -1 );
		}
	}
	while ( skip_element || ( targ.parentNode && (targ.id == null || targ.id == "" ) ) ) {
		targ = targ.parentNode;
		
		skip_element = false;
		if (targ.getAttribute) {
			element_class = targ.getAttribute('class');
			if (element_class) {
				skip_element = ( element_class.indexOf("ignoreclick") != -1 );
			}
		}
	}
	return targ
}
function submitTreeForm() {
	var queryStr = "";
	if (languages_generateQueryString) {
		queryStr = queryStr + languages_generateQueryString()
	}
	if (sectors_generateQueryString) {
		queryStr = queryStr + sectors_generateQueryString()
	}
	if (locations_generateQueryString) {
		queryStr = queryStr + locations_generateQueryString()
	}
	if (salary_generateQueryString) {
		queryStr = queryStr + salary_generateQueryString()
	}
	if (employments_generateQueryString) {
		queryStr = queryStr + employments_generateQueryString()
	}
	
	document.location = "/job_search.php?action=advanced_search" + queryStr
}

function addListener(element, event, listener, bubble) {
	if(element.addEventListener) {
		if(typeof(bubble) == "undefined") bubble = false;
		element.addEventListener(event, listener, bubble);
	} else if(this.attachEvent) {
		element.attachEvent("on" + event, listener);
	}
}

// ====================================================================================== 

function showLanguagesSelector() {
	tmp_obj = jsgetelement("languages_selector")
	if ( tmp_obj != null ) {
		selector_cell = '<div id="languages_selector_label" class="ignoreclick">&nbsp;</div>'
		selector_cell += '<div id="languages_selector_button_container" class="ignoreclick"><img src="/templates/tlj_v2/scripts/advanced_form/img/blank.gif" id="languages_selector_button" class="ignoreclick" width="17" height="17"></div>'
		selector_cell += '</div>'
		tmp_obj.innerHTML = selector_cell
		csshide("default_languages_selector")
		cssshow("languages_selector")
		jsgetelement("default_languages_selector").innerHTML = ""
	}
}
function showSectorsSelector() {
	tmp_obj = jsgetelement("sectors_selector")
	if ( tmp_obj != null ) {
		selector_cell = '<div id="sectors_selector_label" class="ignoreclick">&nbsp;</div>'
		selector_cell += '<div id="sectors_selector_button_container" class="ignoreclick"><img src="/templates/tlj_v2/scripts/advanced_form/img/blank.gif" id="sectors_selector_button" class="ignoreclick" width="17" height="17"></div>'
		selector_cell += '</div>'
		tmp_obj.innerHTML = selector_cell
		csshide("default_sectors_selector")
		cssshow("sectors_selector")
		jsgetelement("default_sectors_selector").innerHTML = ""
	}
}
function showLocationsSelector() {
	tmp_obj = jsgetelement("locations_selector")
	if ( tmp_obj != null ) {
		selector_cell = '<div id="locations_selector_label" class="ignoreclick">&nbsp;</div>'
		selector_cell += '<div id="locations_selector_button_container" class="ignoreclick"><img src="/templates/tlj_v2/scripts/advanced_form/img/blank.gif" id="locations_selector_button" class="ignoreclick" width="17" height="17"></div>'
		selector_cell += '</div>'
		tmp_obj.innerHTML = selector_cell
		csshide("default_locations_selector")
		cssshow("locations_selector")
		jsgetelement("default_locations_selector").innerHTML = ""
	}
}
function showEmploymentsSelector() {
	tmp_obj = jsgetelement("employments_selector")
	if ( tmp_obj != null ) {
		selector_cell = '<div id="employments_selector_label" class="ignoreclick">&nbsp;</div>'
		selector_cell += '<div id="employments_selector_button_container" class="ignoreclick"><img src="/templates/tlj_v2/scripts/advanced_form/img/blank.gif" id="employments_selector_button" class="ignoreclick" width="17" height="17"></div>'
		selector_cell += '</div>'
		tmp_obj.innerHTML = selector_cell
		csshide("default_employments_selector")
		cssshow("employments_selector")
		jsgetelement("default_employments_selector").innerHTML = ""
	}
}
function showSalarySelector() {
	tmp_obj = jsgetelement("salary_selector")
	if ( tmp_obj != null ) {
		selector_cell = '<div id="salary_selector_label" class="ignoreclick">&nbsp;</div>'
		selector_cell += '<div id="salary_selector_button_container" class="ignoreclick"><img src="/templates/tlj_v2/scripts/advanced_form/img/blank.gif" id="salary_selector_button" class="ignoreclick" width="17" height="17"></div>'
		selector_cell += '</div>'
		tmp_obj.innerHTML = selector_cell
		csshide("default_salary_selector")
		cssshow("salary_selector")
		jsgetelement("default_salary_selector").innerHTML = ""
	}
}

function showLanguagesTree() {
	if ( typeof (window.LanguagesTree) != 'undefined' ) {
		tmp_obj = jsgetelement("languages_list")
		if ( tmp_obj != null ) {
			selector_list = createLanguagesTree()
			tmp_obj.innerHTML = selector_list
			LanguagesTreeReady = true
		}
	}
}
function showSectorsTree() {
	if ( typeof (window.SectorsTree) != 'undefined' ) {
		tmp_obj = jsgetelement("sectors_list")
		if ( tmp_obj != null ) {
			selector_list = createSectorsTree()
			tmp_obj.innerHTML = selector_list
			SectorsTreeReady = true
		}
	}
}
function showLocationsTree() {
	if ( typeof (window.LocationsTree) != 'undefined' ) {
		tmp_obj = jsgetelement("locations_list")
		if ( tmp_obj != null ) {
			selector_list = createLocationsTree()
			jsgetelement("locations_list").innerHTML = selector_list
			LocationsTreeReady = true
		}
	}
}
function showSalaryTree() {
	if ( typeof (window.SalaryTree) != 'undefined' ) {
		tmp_obj = jsgetelement("salary_list")
		if ( tmp_obj != null ) {
			selector_list = createSalaryTree()
			tmp_obj.innerHTML = selector_list
			SalaryTreeReady = true
		}
	}
}
function showEmploymentsTree() {
	if ( typeof (window.EmploymentsTree) != 'undefined' ) {
		tmp_obj = jsgetelement("employments_list")
		if ( tmp_obj != null ) {
			selector_list = createEmploymentsTree()
			tmp_obj.innerHTML = selector_list
			EmploymentsTreeReady = true
		}
	}
}
function resetTrees() {
	/*if ( ! (window.LanguagesTree===undefined ) ) {
		languages_reset();
	}
	if ( ! (window.SectorsTree===undefined ) ) {
		sectors_reset();
	}
	if ( ! (window.LocationsTree===undefined ) ) {
		locations_reset();
	}
	if ( ! (window.EmploymentsTree===undefined ) ) {
		employments_reset();
	}
	if ( ! (window.SalaryTree===undefined ) ) {
		salary_reset();
	}*/
	stored_redirect_url = '/job_search.php';
	setTimeout('please_redirect_now()',500);
}

// ====================================================================================== 

var icons		= new Array(6);
var imgpath		= "/templates/tlj_v2/scripts/advanced_form/img/";

// Loads all icons that are used in the tree
function preloadIcons() {
	icons[0] = new Image();
	icons[0].src = imgpath+"plus.gif";
	icons[1] = new Image();
	icons[1].src = imgpath+"plusbottom.gif";
	icons[2] = new Image();
	icons[2].src = imgpath+"minus.gif";
	icons[3] = new Image();
	icons[3].src = imgpath+"minusbottom.gif";
	icons[4] = new Image();
	icons[4].src = imgpath+"folder.gif";
	icons[5] = new Image();
	icons[5].src = imgpath+"folderopen.gif";
}

// Opens or closes a node
function oc(node, bottom, nameSpace, flatList) {
	var theDiv = document.getElementById(nameSpace+"div" + node);
	var theJoin	= document.getElementById(nameSpace+"join" + node);
	var theIcon = document.getElementById(nameSpace+"icon" + node);
	
	if (theDiv.style.display == 'none') {
		if ( !flatList ) {
			if (bottom==1) {
				theJoin.src = icons[3].src;
			} else {
				theJoin.src = icons[2].src;
			}
		}
		theDiv.style.display = '';
	} else {
		if ( !flatList ) {
			if (bottom==1) {
				theJoin.src = icons[1].src;
			} else {
				theJoin.src = icons[0].src;
			}
		}
		theDiv.style.display = 'none';
	}
}

preloadIcons()


// ====================================================================================== 

function ListenerForAll(evt) {
	in_languages = languages_user_click(evt)
	if ( in_languages ) {
		languages_update_selector_label()
	}
	
	in_sectors = sectors_user_click(evt)
	if ( in_sectors ) {
		sectors_update_selector_label()
	}
	
	in_locations = locations_user_click(evt)
	if ( in_locations ) {
		locations_update_selector_label()
	}
	
	in_salaries = salary_user_click(evt)
	if ( in_salaries ) {
		salary_update_selector_label()
	}
	
	in_employments = employments_user_click(evt)
	if ( in_employments ) {
		employments_update_selector_label()
	}
}

function UpdaterForAll() {
	languages_update_selector_label()
	sectors_update_selector_label()
	locations_update_selector_label()
	salary_update_selector_label()
	employments_update_selector_label()
}

//addListener(this,	"click", function(evt) { ListenerForAll(evt); });
addListener(document,	"click", function(evt) { ListenerForAll(evt); });

// ====================================================================================== 

var advanced_form_started = false
function render_advanced_form() {
	if ( false === advanced_form_started ) {
		if ( typeof(document.getElementById("languages_selector")) == 'undefined' || (typeof(file_all_js) == 'undefined') ) {
			setTimeout('render_advanced_form()',100)
		} else {
			advanced_form_started = true;
			BuildHtmlLanguages()
			BuildHtmlSectors()
			BuildHtmlLocations()
			BuildHtmlSalary()
			BuildHtmlEmployments()
			showLanguagesTree()
			showSectorsTree()
			showLocationsTree()
			showSalaryTree()
			showEmploymentsTree()
			UpdaterForAll()
		}
	}
}
showLanguagesSelector()
showLocationsSelector()
showSectorsSelector()
showSalarySelector()
showEmploymentsSelector()
setTimeout('render_advanced_form()',5000)
