X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=phpfspot.git;a=blobdiff_plain;f=phpfspot.js;h=21a027af970748a4c54afdab1b561274b58d8e31;hp=9204f3251c971c9f3a5462ee623e7b1cc1b32c73;hb=1b98418fc7f31d2d10364a60bc798ee85ef7add1;hpb=15a6c1b6db19c2304d4c1c15dc6ed2a21a51cee2 diff --git a/phpfspot.js b/phpfspot.js index 9204f32..21a027a 100644 --- a/phpfspot.js +++ b/phpfspot.js @@ -1,7 +1,11 @@ -function showImage(id) +function showImage(id, scrollup) { - var image_div = document.getElementById("content"); - image_div.innerHTML = HTML_AJAX.grab(encodeURI('rpc.php?action=showphoto&id=' + id)); + HTML_AJAX.replace(document.getElementById("content"), encodeURI('rpc.php?action=showphoto&id=' + id)); + + /* scroll the window up to the top */ + if(scrollup != undefined) { + window.scrollTo(0,0); + } } function showCredits() @@ -12,28 +16,35 @@ function showCredits() function Tags(mode, id) { + var objTemp = new Object(); + if(mode == "add") { - // add the tag to users session - HTML_AJAX.grab(encodeURI('rpc.php?action=addtag&id=' + id)); + // add tag to users session + objTemp['action'] = 'addtag'; + objTemp['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 == "reset") { - HTML_AJAX.grab(encodeURI('rpc.php?action=reset')); - clearSearch(); + // del tag from users session + objTemp['action'] = 'deltag'; + objTemp['id'] = id; } else if(mode == "condition") { setCheckedValue(id, id.value); - HTML_AJAX.grab(encodeURI('rpc.php?action=tagcondition&mode=' + id.value)); + objTemp['action'] = 'tagcondition'; + objTemp['mode'] = id.value; } - - refreshAvailableTags(); - refreshSelectedTags(); - refreshPhotoIndex(); -} + var retr = HTML_AJAX.post('rpc.php', objTemp); + if(retr == "ok") { + refreshAvailableTags(); + refreshSelectedTags(); + refreshPhotoIndex(); + } + else { + window.alert(retr); + } + +} // Tags() function refreshAvailableTags() { @@ -49,13 +60,6 @@ function refreshSelectedTags() 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) @@ -66,15 +70,10 @@ function showPhotoIndex(begin_with) HTML_AJAX.replace(document.getElementById("content"), encodeURI('rpc.php?action=show_photo_index&begin_with=' + begin_with)); } -function showBubbleDetails(object, id, direction) -{ - HTML_AJAX.replace(object, encodeURI('rpc.php?action=showbubbledetails&id=' + id + '&direction=" + direction')); -} - // if photo index is currently shown, refresh it function refreshPhotoIndex() { - if(document.getElementById("matrix") != undefined || startup == 1) { + if(document.getElementById("index") != undefined || startup == 1) { showPhotoIndex(); startup = 0; } @@ -106,13 +105,58 @@ function setCheckedValue(condition, value) { } } -function startTagSearch(searchfor) +function startSearch() { - HTML_AJAX.grab(encodeURI('rpc.php?action=tag_search&for=' + searchfor)); - refreshAvailableTags(); - refreshSelectedTags(); - showPhotoIndex(); + 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 objTemp = new Object(); + objTemp['action'] = 'search'; + + if(document.getElementsByName('searchfor_tag')[0].value != "") { + objTemp['for_tag'] = document.getElementsByName('searchfor_tag')[0].value; + } + if(document.getElementsByName('searchfor_name')[0].value != "") { + objTemp['for_name'] = document.getElementsByName('searchfor_name')[0].value; + } + if(document.getElementsByName('consider_date')[0].checked == true) { + objTemp['from'] = from; + objTemp['to'] = to; + } + var retr = HTML_AJAX.post('rpc.php', objTemp); + if(retr == "ok") { + refreshAvailableTags(); + refreshSelectedTags(); + showPhotoIndex(); + } + else { + window.alert(retr); + } + +} // startSearch() + +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) @@ -124,23 +168,42 @@ function setViewMode(mode) function clearSearch() { - document.getElementsByName('searchfor')[0].value = ''; + document.getElementsByName('searchfor_tag')[0].value = ''; + document.getElementsByName('searchfor_name')[0].value = ''; + + if(document.getElementsByName('consider_date')[0].checked == true) { + document.getElementsByName('consider_date')[0].checked = false; + datesearch(); + } } -function init_phpfspot() +function AskServerWhatToDo() { + return HTML_AJAX.grab(encodeURI('rpc.php?action=what_to_do')); +} + +function init_phpfspot(mode) +{ + /* always load list of available tags */ refreshAvailableTags(); - if(photo = getPhotoToShow()) { - showImage(photo) + /* ask the server what we are currently displaying */ + whattodo = AskServerWhatToDo(); + + if(whattodo == 'showpi' || whattodo == 'showpi_date') { + showPhotoIndex(); + } + if(whattodo == 'showpi_tags') { refreshSelectedTags(); + showPhotoIndex(); } - else { - if(refreshSelectedTags()) { - showPhotoIndex(); + if(whattodo == 'show_photo') { + if(photo = getPhotoToShow()) { + showImage(photo) + refreshSelectedTags(); } } -} +} // init_phpfspot() function setBackGrdColor(item, color) { @@ -164,7 +227,263 @@ function getPhotoToShow() 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(); + } +} -var startup = 1; +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