function showImage(id, scrollup) { if(!document.getElementById('content')) return; var content = document.getElementById('content'); /* blank the screen */ if(scrollup != undefined) { content.innerHTML = ""; } HTML_AJAX.replace(content, encodeURI('rpc.php?action=showphoto&id=' + id)); /* scroll the window up to the top */ if(scrollup != undefined) { window.scrollTo(0,0); } /* delete some global vars */ delete(origHeight); origHeight = undefined; delete(origWidth); origWidth = undefined; delete(photo_details_pos); photo_details_pos = undefined; } function moveToThumb(thumb_id) { if(thumb_id == undefined) return; if(thumbimg = document.getElementById('thumbimg' + thumb_id)) { window.scrollTo(0, findPos(thumbimg,'top')-100); } } // moveToThumb() function findPos(obj, direction) { var cur = 0; if (obj.offsetParent) { do { if(direction == 'left') cur += obj.offsetLeft; if(direction == 'top') cur += obj.offsetTop; } while (obj = obj.offsetParent); } return [cur]; } function showCredits() { var credits = document.getElementById("content"); credits.innerHTML = HTML_AJAX.grab(encodeURI('rpc.php?action=showcredits')); } function Tags(mode, id) { var objTemp = new Object(); if(mode == "add") { // add tag to users session objTemp['action'] = 'addtag'; objTemp['id'] = id; } else if(mode == "del") { // del tag from users session objTemp['action'] = 'deltag'; objTemp['id'] = id; } else if(mode == "condition") { setCheckedValue(id, id.value); objTemp['action'] = 'tagcondition'; objTemp['mode'] = id.value; } var retr = HTML_AJAX.post('rpc.php', objTemp); if(retr == "ok") { refreshAvailableTags(); refreshSelectedTags(); refreshPhotoIndex(); } else { window.alert("Server message: "+ retr); } } // Tags() 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, last_photo) { var url = "rpc.php?action=show_photo_index"; if(begin_with != undefined) url = url + '&begin_with=' + begin_with; if(last_photo != undefined) url = url + '&last_photo=' + last_photo; HTML_AJAX.replace(document.getElementById("content"), encodeURI(url)); } // showPhotoIndex() // 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() { 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("Server message: "+ 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) { 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_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 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 zoom(mod) { var photo; if(mod == undefined) return; /* internet explorer */ if(document.images['photo'].width) photo = document.images['photo']; /* all others */ if(photo == undefined && document.getElementById('photo').width) photo = document.getElementById('photo'); if(photo != undefined) { if(origWidth == undefined) origWidth = photo.width; if(origHeight == undefined) origHeight = photo.height; if(mod != 0) { new_w = photo.width * (1 + mod/100); new_h = photo.height * (1 + mod/100); photo.width = new_w; photo.height = new_h; if(photo_details_pos == undefined) { photo_details_pos = findPos(document.getElementById('photo_details'),'left'); } if((photo.offsetLeft + new_w) >= photo_details_pos-20) { hidePhotoDetails('true'); } else { hidePhotoDetails('false'); } } else { photo.width = origWidth; photo.height = origHeight; hidePhotoDetails('false'); } } } // zoom() function hidePhotoDetails(mode) { var photo_details; if(photo_details = document.getElementById('photo_details')) { if(mode == 'true') { photo_details.style.visibility = 'hidden'; photo_details.style.display = 'none'; } else { photo_details.style.visibility = 'visible'; photo_details.style.display = 'inline'; } } } // hidePhotoDetails() 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