some style improvements on photo view
[phpfspot.git] / phpfspot.js
index 99da2ce29099e7319b8d836f8c1fdecceede83cd..92c08b7ecd02e5ce9d820118b984357a54eb41fb 100644 (file)
 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()
 {
-   content = document.getElementById("content");
-   content.innerHTML = HTML_AJAX.grab('rpc.php?action=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');
+      HTML_AJAX.grab(encodeURI('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 = 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 = HTML_AJAX.grab(encodeURI('rpc.php?action=show_selected_tags'));
 }
 
-function showPhotoIndex()
+function showPhotoIndex(begin_with)
 {
-   HTML_AJAX.replace(document.getElementById("content"), 'rpc.php?action=show_photo_index');
-
-//   content = document.getElementById("content");
-//   content.innerHTML = HTML_AJAX.grab('rpc.php?action=show_photo_index');
+   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));
 }
 
 function showBubbleDetails(object, id, direction)
 {
-   HTML_AJAX.replace(object, 'rpc.php?action=showbubbledetails&id=' + id + '&direction=" + 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) {
+      showPhotoIndex();
+   }
+}
+
+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 clearSearch()
+{
+   document.getElementsByName('searchfor')[0].value = '';
+}