/* AJAX */ /* ajax uzklausos funkcija url - uzklausos adresas su parametrais function_name - funkcijos, kuria vykdyti gavus rezultata element_id - susieto elemento id element_value - susieto elemento reiksme */ function ajax(url, function_name, element_id, element_value) { http_request = false; // Mozilla, Safari, ... if (window.XMLHttpRequest) { http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml'); } } // IE else if (window.ActiveXObject) { try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { } } } if (!http_request) { return false; } switch (function_name) { case "ajax_options": http_request.onreadystatechange = function() { ajax_options(http_request, element_id, element_value); }; break; } http_request.open('GET', url, true); http_request.send(null); } /* Funkcija, atnaujinanti nurodyto select elemento options irasus */ function ajax_options(http_request, selection_id, selection_value) { if (http_request.readyState == 4) { if (http_request.status == 200) { /* Isvalomas tekstas */ var output = http_request.responseText; /* Sukuriama visu elementu seka */ output = output.split(''); /* Nustatomas select elementas */ var selection = document.getElementById(selection_id); /* Salinami visi buve options irasai isskyrus pirmaji */ for (var i = selection.length - 1; i > 0; i --) { selection.remove(i); } /* Tikrinama ar selection_value yra reiksmiu sarasas ar tik viena reiksme */ if (typeof(selection_value) == "string" && selection_value.match(',')) { selection_value = selection_value.split(','); } /* Jeigu gautas tekstas */ if (output != '') { /* Kuriami nauji options elementai */ for (var i = 0; i < output.length; i ++) { option_data = output[i].split(''); option = document.createElement('OPTION'); option.value = option_data[0]; if (selection_value && (option.value == selection_value || in_array(option.value, selection_value))) { option.selected = 'selected'; } option.innerHTML = option_data[1]; selection.appendChild(option); } /* Aktyvinamas select elementas */ selection.disabled = false; return true; } /* Jeigu tekstas negautas */ else { /* Nuaktyvinamas select elementas */ selection.disabled = true; return true; } } else { return false; } } } function get_education_professions(education_profession_value) { var education_category = document.getElementById('education_category'); var education_profession = document.getElementById('education_profession'); if (education_category.value != '') { option = document.createElement('OPTION'); option.value = ''; option.innerHTML = 'Palaukite...'; education_profession.appendChild(option); option.selected = 'selected'; education_profession.disabled = true; ajax('_ajax/get_options.php?table=professions&parent_id='+education_category.value+'&order_first=name', 'ajax_options', 'education_profession', education_profession_value); } else { for (i = education_profession.length - 1; i > 0; i --) { education_profession.remove(i); } education_profession.disabled = true; } } function get_experience_positions(experience_position_value) { var experience_category = document.getElementById('experience_category'); var experience_position = document.getElementById('experience_position'); if (experience_category.value != '') { option = document.createElement('OPTION'); option.value = ''; option.innerHTML = 'Palaukite...'; experience_position.appendChild(option); option.selected = 'selected'; experience_position.disabled = true; ajax('_ajax/get_options.php?table=positions&parent_id='+experience_category.value+'&order_first=name', 'ajax_options', 'experience_position', experience_position_value); } else { for (i = experience_position.length - 1; i > 0; i --) { experience_position.remove(i); } experience_position.disabled = true; } } function get_computer_programs(computer_program_value) { var computer_category = document.getElementById('computer_category'); var computer_program = document.getElementById('computer_program'); if (computer_category.value != '') { computer_program.disabled = true; ajax('_ajax/get_options.php?table=programs&parent_id='+computer_category.value+'&order_first=name', 'ajax_options', 'computer_program', computer_program_value); } else { for (i = computer_program.length - 1; i > 0; i --) { computer_program.remove(i); } computer_program.disabled = true; } } /* IN ARRAY */ function in_array(needle, haystack) { for (h in haystack) { if (haystack[h] == needle) { return true; } } return false; }