| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- /**
- * Shows one of the headers.
- *
- * @param header Header ID.
- * @param from Element clicked to open the header. It will be highlighted.
- */
- function showHeader(header, from){
- if(document.getElementById('header_' + header).style.display == 'block'){
- document.getElementById('header_' + header).style.display = 'none';
- from.style.backgroundColor = '#000000';
- }
- else{
- var headers = document.getElementsByClassName('secondary_header');
- for (var i = 0; i < headers.length; i ++)
- headers.item(i).style.display = 'none';
- var sections = document.getElementsByClassName('header_section');
- for (var j = 0; j < sections.length; j ++)
- sections.item(j).style.backgroundColor = '#000000';
-
- document.getElementById('header_' + header).style.display = 'block';
- from.style.backgroundColor = '#333333';
- }
- }
- /**
- * Shows a language tab.
- *
- * @param lang Two letter language code. 'es', 'en' or 'eu'.
- */
- function showLanguage(lang){
- var en = document.getElementsByClassName('content_lang_en');
- var es = document.getElementsByClassName('content_lang_es');
- var eu = document.getElementsByClassName('content_lang_eu');
- switch (lang){
- case 'es':
- for (var i = 0; i < en.length; ++i) {
- en[i].style.display = 'none';
- es[i].style.display = 'block';
- eu[i].style.display = 'none';
- }
- document.getElementById('lang_tab_es').classList.add("lang_tabs_active");
- document.getElementById('lang_tab_eu').classList.remove("lang_tabs_active");
- document.getElementById('lang_tab_en').classList.remove("lang_tabs_active");
- break;
- case 'eu':
- for (var i = 0; i < en.length; ++i) {
- en[i].style.display = 'none';
- es[i].style.display = 'none';
- eu[i].style.display = 'block';
- }
- document.getElementById('lang_tab_es').classList.remove("lang_tabs_active");
- document.getElementById('lang_tab_eu').classList.add("lang_tabs_active");
- document.getElementById('lang_tab_en').classList.remove("lang_tabs_active");
- break;
- case 'en':
- for (var i = 0; i < en.length; ++i) {
- en[i].style.display = 'block';
- es[i].style.display = 'none';
- eu[i].style.display = 'none';
- }
- document.getElementById('lang_tab_es').classList.remove("lang_tabs_active");
- document.getElementById('lang_tab_eu').classList.remove("lang_tabs_active");
- document.getElementById('lang_tab_en').classList.add("lang_tabs_active");
- }
- }
- function dialog(type, title, message, callback) {
- var dialogWindow = document.getElementById('dialog');
- var dialogText = document.getElementById('dialog_text');
- var dialogTitle = document.getElementById('dialog_title');
- var background = document.getElementById('dialog_background');
- var ynContainer = document.getElementById('dialog_button_yn_container');
- var aContainer = document.getElementById('dialog_button_a_container');
- var yButton = document.getElementById('dialog_yes');
- var nButton = document.getElementById('dialog_no');
- var aButton = document.getElementById('dialog_accept');
- function show(){
- dialogTitle.innerText = title;
- dialogText.innerHTML = message;
- dialogWindow.style.display = 'block';
- dialogWindow.style.opacity = '1';
- };
- function hide(){
- dialogWindow.style.display = 'none';
- dialogWindow.style.opacity = '0';
- };
- // Set up the dialog type
- if (type == "confirm"){
- ynContainer.style.display = "block";
- aContainer.style.display = "none";
- yButton.onclick = function() {
- hide();
- callback(true);
- }
- nButton.onclick = function() {
- hide();
- callback(false);
- }
- }
- else if (type == "alert"){
- ynContainer.style.display = "none";
- aContainer.style.display = "block";
- aButton.onclick = function() {
- hide();
- callback(true);
- };
- }
- show();
- }
- function enableEdit(button){
- var container = button.parentElement;
- var fieldResult = container.getElementsByClassName('field_result')[0];
- var fieldEditable = container.getElementsByClassName('field_editable')[0];
- var cke = container.getElementsByClassName('cke')[0];
- var buttonEdit = container.getElementsByClassName('button_edit')[0];
- var buttonSave = container.getElementsByClassName('button_save')[0];
- var buttonCancel = container.getElementsByClassName('button_cancel')[0];
- fieldEditable.value = fieldResult.innerHTML;
- fieldResult.style.display = 'none';
- if (typeof(cke) != 'undefined' && cke != null){
- cke.style.display = 'block';
- }
- else{
- fieldEditable.style.display = 'initial';
- }
- buttonEdit.style.display = 'none';
- buttonSave.style.display = 'initial';
- buttonCancel.style.display = 'initial';
- }
- function saveEdit(button, table, column, id){
- var container = button.parentElement;
- var fieldResult = container.getElementsByClassName('field_result')[0];
- var fieldEditable = container.getElementsByClassName('field_editable')[0];
- var cke = container.getElementsByClassName('cke')[0];
- var buttonEdit = container.getElementsByClassName('button_edit')[0];
- var buttonSave = container.getElementsByClassName('button_save')[0];
- var buttonCancel = container.getElementsByClassName('button_cancel')[0];
- var value;
- if (typeof(cke) != 'undefined' && cke != null){
- fieldEditable.innerHTML = CKEDITOR.instances['text_en'].getData()
- fieldResult.innerHTML = fieldEditable.innerHTML;
- value = escape(fieldEditable.innerHTML);
- }
- else{
- value = escape(fieldEditable.value);
- }
- // TODO: Do some validation.
-
- var xmlhttp;
- if (window.XMLHttpRequest){
- xmlhttp = new XMLHttpRequest();
- }
- xmlhttp.onreadystatechange=function(){
- if (xmlhttp.readyState == 4){
- if (xmlhttp.status == 200){
- if (typeof(cke) != 'undefined' && cke != null){
- cke.style.display = 'none';
- fieldEditable.innerHTML = CKEDITOR.instances['text_en'].getData()
- fieldResult.innerHTML = fieldEditable.innerHTML;
- }
- else{
- fieldEditable.style.display = 'none';
- fieldResult.innerHTML = fieldEditable.value;
- }
- fieldResult.style.display = 'initial';
- buttonEdit.style.display = 'initial';
- buttonSave.style.display = 'none';
- buttonCancel.style.display = 'none';
- }
- else{
- dialog("alert", "ERROR", "Error saving changes.", null);
- }
- }
- }
- xmlhttp.open("GET","/functions/save.php?t=" + table + "&c=" + column + "&v=" + value + "&i=" + id, true);
- xmlhttp.send();
- }
- function cancelEdit(button){
- var container = button.parentElement;
- var fieldResult = container.getElementsByClassName('field_result')[0];
- var fieldEditable = container.getElementsByClassName('field_editable')[0];
- var cke = container.getElementsByClassName('cke')[0];
- var buttonEdit = container.getElementsByClassName('button_edit')[0];
- var buttonSave = container.getElementsByClassName('button_save')[0];
- var buttonCancel = container.getElementsByClassName('button_cancel')[0];
- fieldEditable.value = fieldResult.innerHTML;
- fieldResult.style.display = 'initial';
- if (typeof(cke) != 'undefined' && cke != null){
- cke.style.display = 'none';
- }
- else{
- fieldEditable.style.display = 'none';
- }
- buttonEdit.style.display = 'initial';
- buttonSave.style.display = 'none';
- buttonCancel.style.display = 'none';
- }
|