X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=phpfspot.git;a=blobdiff_plain;f=phpfspot.js;h=f101e6080900209319d927a4e96ceca2f5a5ba0e;hp=c2fe0d6f41e8e546ebf3750985e68fd05d3a54e7;hb=dd253c45192457c2e029fb957d7778eedf675f0d;hpb=fb15deeef32d80ef922a578d742ff49633d5f94e diff --git a/phpfspot.js b/phpfspot.js index c2fe0d6..f101e60 100644 --- a/phpfspot.js +++ b/phpfspot.js @@ -1,46 +1,227 @@ function showImage(id) { - content = document.getElementById("content"); - content.innerHTML = HTML_AJAX.grab('rpc.php?action=showphoto&id=' + 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('rpc.php?action=addtag&id=' + id); + HTML_AJAX.grab(encodeURI('rpc.php?action=addtag&id=' + id)); } else if(mode == "del") { // del the tag from users session - HTML_AJAX.grab('rpc.php?action=deltag&id=' + id); + HTML_AJAX.grab(encodeURI('rpc.php?action=deltag&id=' + id)); } - else if(mode == "reset") { - HTML_AJAX.grab('rpc.php?action=resettags'); + 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 - content = document.getElementById("available_tags"); - content.innerHTML = HTML_AJAX.grab('rpc.php?action=show_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 - content = document.getElementById("selected_tags"); - content.innerHTML = HTML_AJAX.grab('rpc.php?action=show_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')); + + // if no tags are currently selected, return false from here + if(selected_tags.innerHTML == "") + return false; + + return true; + +} + +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("matrix") != 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 startTagSearch(searchfor) +{ + HTML_AJAX.grab(encodeURI('rpc.php?action=tag_search&for=' + searchfor)); + refreshAvailableTags(); + refreshSelectedTags(); + showPhotoIndex(); +} + +function startDateSearch() +{ + 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; + + HTML_AJAX.grab(encodeURI('rpc.php?action=date_search&from='+ from +'&to='+ to)); + + clearSearch(); + refreshAvailableTags(); + refreshSelectedTags(); + refreshPhotoIndex(); + refreshPhotoIndex(); +} + +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 = ''; +} + +function init_phpfspot() +{ + refreshAvailableTags(); + + if(photo = getPhotoToShow()) { + showImage(photo) + refreshSelectedTags(); + } + else { + if(refreshSelectedTags()) { + showPhotoIndex(); + } + } +} + +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'); + 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 + 60 + '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')); + calendar_shown = 1; + } + else { + calendar.style.visibility = 'hidden'; + calendar_shown = 0; + } } -function showPhotoIndex() +function setMonth(year, month, day) { - HTML_AJAX.replace(document.getElementById("content"), 'rpc.php?action=show_photo_index'); + 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)); +} -// content = document.getElementById("content"); -// content.innerHTML = HTML_AJAX.grab('rpc.php?action=show_photo_index'); +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; } + +function resetAll() +{ + HTML_AJAX.grab(encodeURI('rpc.php?action=reset')); + clearSearch(); +} + +var startup = 1; +var calendar_shown = 0; +var calendar_mode = '';