issue38, removed pending comma on last selected-tag entry
[phpfspot.git] / phpfspot.js
index c691b55949c62ddc83e37b421972a05a47acc339..4b6a640eaf2d86bb45e73a4be199d1c8a8c05e73 100644 (file)
@@ -1,27 +1,32 @@
 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=reset'));
+      clearSearch();
+   }
+   else if(mode == "condition") {
+      setCheckedValue(id, id.value);
+      HTML_AJAX.grab(encodeURI('rpc.php?action=tagcondition&mode=' + id.value));
    }
    
    refreshAvailableTags();
@@ -33,33 +38,45 @@ function Tags(mode, id)
 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()
+function showPhotoIndex(begin_with)
 {
-   HTML_AJAX.replace(document.getElementById("content"), '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) {
+   if(document.getElementById("matrix") != undefined || startup == 1) {
       showPhotoIndex();
+      startup = 0;
    }
 }
 
@@ -70,3 +87,62 @@ function click(object)
 
 }
 
+// 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 setViewMode(mode)
+{
+   window.alert(mode);
+}
+
+function clearSearch()
+{
+   document.getElementsByName('searchfor')[0].value = '';
+}
+
+function init_phpfspot()
+{
+   refreshAvailableTags();
+
+   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';
+}
+
+var startup = 1;
+