function showImage(id) { var image_div = document.getElementById("content"); image_div.innerHTML = HTML_AJAX.grab(encodeURI('rpc.php?action=showphoto&id=' + id)); } function showCredits() { var credits = document.getElementById("content"); credits.innerHTML = HTML_AJAX.grab(encodeURI('rpc.php?action=showcredits')); } function Tags(mode, id) { if(mode == "add") { // add the tag to users session HTML_AJAX.grab(encodeURI('rpc.php?action=addtag&id=' + id)); } else if(mode == "del") { // del the tag from users session HTML_AJAX.grab(encodeURI('rpc.php?action=deltag&id=' + id)); } else if(mode == "condition") { setCheckedValue(id, id.value); HTML_AJAX.grab(encodeURI('rpc.php?action=tagcondition&mode=' + id.value)); } refreshAvailableTags(); refreshSelectedTags(); refreshPhotoIndex(); } function refreshAvailableTags() { // update available tags var avail_tags = document.getElementById('available_tags'); avail_tags.innerHTML = "Loading..."; avail_tags.innerHTML = HTML_AJAX.grab(encodeURI('rpc.php?action=show_available_tags')); } function refreshSelectedTags() { // update selected tags var selected_tags = document.getElementById("selected_tags"); selected_tags.innerHTML = "Loading..."; selected_tags.innerHTML = HTML_AJAX.grab(encodeURI('rpc.php?action=show_selected_tags')); } function showPhotoIndex(begin_with) { if(begin_with == undefined) HTML_AJAX.replace(document.getElementById("content"), encodeURI('rpc.php?action=show_photo_index')); else HTML_AJAX.replace(document.getElementById("content"), encodeURI('rpc.php?action=show_photo_index&begin_with=' + begin_with)); } // if photo index is currently shown, refresh it function refreshPhotoIndex() { if(document.getElementById("index") != undefined || startup == 1) { showPhotoIndex(); startup = 0; } } function click(object) { if(object.blur) object.blur(); } // set the radio button with the given value as being checked // do nothing if there are no radio buttons // if the given value does not exist, all the radio buttons // are reset to unchecked function setCheckedValue(condition, value) { var count = condition.length; if(count == undefined) { condition.checked = (condition.value == value.toString()); return; } for(var i = 0; i < count; i++) { condition[i].checked = false; if(condition[i].value == value.toString()) { condition[i].checked = true; } } } function startSearch() { var searchfor = document.getElementsByName('searchfor')[0].value from_year = document.getElementById('fromyear').value; from_month = document.getElementById('frommonth').value; from_day = document.getElementById('fromday').value; from = from_year +"-"+ from_month +"-"+ from_day; to_year = document.getElementById('toyear').value; to_month = document.getElementById('tomonth').value; to_day = document.getElementById('today').value; to = to_year +"-"+ to_month +"-"+ to_day; var request = 'rpc.php?action=search'; if(searchfor != "") { request = request + '&for=' + searchfor; } if(document.getElementsByName('consider_date')[0].checked == true) { request = request + '&from='+ from +'&to='+ to; } HTML_AJAX.grab(encodeURI(request)); refreshAvailableTags(); refreshSelectedTags(); showPhotoIndex(); } function datesearch() { var mode = true; if(document.getElementsByName('consider_date')[0].checked == true) { mode = false; } document.getElementById('fromyear').disabled = mode; document.getElementById('frommonth').disabled = mode; document.getElementById('fromday').disabled = mode; document.getElementById('toyear').disabled = mode; document.getElementById('tomonth').disabled = mode; document.getElementById('today').disabled = mode; } function setViewMode(mode) { var exprt = document.getElementById('output'); exprt.innerHTML = "Loading..."; exprt.innerHTML = HTML_AJAX.grab(encodeURI('rpc.php?action=get_export&mode=' + mode)); } function clearSearch() { document.getElementsByName('searchfor')[0].value = ''; if(document.getElementsByName('consider_date')[0].checked == true) { document.getElementsByName('consider_date')[0].checked = false; datesearch(); } } function AskServerWhatToDo() { return HTML_AJAX.grab(encodeURI('rpc.php?action=what_to_do')); } function init_phpfspot(mode) { /* always load list of available tags */ refreshAvailableTags(); /* ask the server what we are currently displaying */ whattodo = AskServerWhatToDo(); if(whattodo == 'showpi' || whattodo == 'showpi_date') { showPhotoIndex(); } if(whattodo == 'showpi_tags') { refreshSelectedTags(); showPhotoIndex(); } if(whattodo == 'show_photo') { if(photo = getPhotoToShow()) { showImage(photo) refreshSelectedTags(); } } } // init_phpfspot() function setBackGrdColor(item, color) { if(color == 'mouseover') item.style.backgroundColor='#c6e9ff'; if(color == 'mouseout') item.style.backgroundColor='#eeeeee'; if(color == 'mouseclick') item.style.backgroundColor='#93A8CA'; } function getPhotoToShow() { // update selected tags var photo_to_show = HTML_AJAX.grab(encodeURI('rpc.php?action=get_photo_to_show')); // if no image needs to be shown, return false from here if(photo_to_show == "") return false; return photo_to_show; } function showCalendar(date_box, click_obj) { var calendar = document.getElementById('calendar'); var year = document.getElementById(date_box+'year').value; var month = document.getElementById(date_box+'month').value; if(date_box == 'from') { var xpos = document.getElementById('frompic').offsetLeft; var ypos = document.getElementById('frompic').offsetTop; calendar_mode = 'from'; } if(date_box == 'to') { var xpos = document.getElementById('topic').offsetLeft; var ypos = document.getElementById('topic').offsetTop; calendar_mode = 'to'; } calendar.style.left = xpos + 100 + 'px'; calendar.style.top = ypos + 80 + 'px'; if(calendar.style.visibility == "" || calendar.style.visibility == 'hidden') { calendar.style.visibility = 'visible'; calendar.innerHTML = "Loading..."; calendar.innerHTML = HTML_AJAX.grab(encodeURI('rpc.php?action=get_calendar_matrix&year=' + year + '&month=' + month)); calendar_shown = 1; } else { hideCalendar(); } } function hideCalendar() { var calendar = document.getElementById('calendar'); if(calendar.style.visibility != 'hidden') { calendar.style.visibility = 'hidden'; calendar_shown = 0; } } function setMonth(year, month, day) { var calendar = document.getElementById('calendar'); calendar.innerHTML = "Loading..."; calendar.innerHTML = HTML_AJAX.grab(encodeURI('rpc.php?action=get_calendar_matrix&year='+ year +'&month='+ month +'&day='+ day)); } function setCalendarDate(year, month, day) { document.getElementById(calendar_mode+'year').value = year; document.getElementById(calendar_mode+'month').value = month; document.getElementById(calendar_mode+'day').value = day; hideCalendar(); } function resetAll() { HTML_AJAX.grab(encodeURI('rpc.php?action=reset')); clearSearch(); refreshAvailableTags(); refreshSelectedTags(); refreshPhotoIndex(); } function WSR_getElementsByClassName(oElm, strTagName, oClassNames){ var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName); var arrReturnElements = new Array(); var arrRegExpClassNames = new Array(); if(typeof oClassNames == "object"){ for(var i=0; i