make calendar window working again, fixes #78
[phpfspot.git] / phpfspot.js
index 75d0ed73a72c0a0700b3200cf8122bf28735c414..f705e8813f117e5a2604d55c89af0554ae9b9ab2 100644 (file)
@@ -265,15 +265,13 @@ function setCheckedValue(condition, value) {
  */
 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;
-
+   if(document.getElementById('date_from').value != undefined) {
+      date_from = document.getElementById('date_from').value;
+   }
+   if(document.getElementById('date_to').value != undefined) {
+      date_to = document.getElementById('date_to').value;
+   }
+      
    var objTemp = new Object();
    objTemp['action'] = 'search';
 
@@ -287,8 +285,8 @@ function startSearch()
    }
    if(document.getElementsByName('consider_date')[0] != undefined &&
       document.getElementsByName('consider_date')[0].checked == true) {
-      objTemp['from'] = from;
-      objTemp['to'] = to;
+      objTemp['date_from'] = date_from;
+      objTemp['date_to'] = date_to;
    }
    if(document.getElementsByName('consider_rate')[0] != undefined &&
       document.getElementsByName('consider_rate')[0].checked == true) {
@@ -322,12 +320,8 @@ function datesearch()
       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;
+   document.getElementById('date_from').disabled = mode;
+   document.getElementById('date_to').disabled = mode;
  
 } // datesearch()
 
@@ -541,8 +535,8 @@ function hidePhotoDetails(mode)
 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;
+   var userdate = document.getElementById('date_' + date_box).value;
+
    if(date_box == 'from') {
       var xpos = document.getElementById('frompic').offsetLeft;
       var ypos = document.getElementById('frompic').offsetTop;
@@ -559,7 +553,7 @@ function showCalendar(date_box, click_obj)
    if(calendar.style.visibility == "" || calendar.style.visibility == 'hidden') {
       calendar.style.visibility = 'visible';
       calendar.innerHTML = "Loading...";
-      calendar.innerHTML = HTML_AJAX.grab(encodeURI(web_path +'/rpc.php?action=get_calendar_matrix&year=' + year + '&month=' + month));
+      calendar.innerHTML = HTML_AJAX.grab(encodeURI(web_path +'/rpc.php?action=get_calendar_matrix&date=' + userdate));
       calendar_shown = 1;
    }
    else {
@@ -587,18 +581,16 @@ function setMonth(year, month, day)
 {
    var calendar = document.getElementById('calendar');
    calendar.innerHTML = "Loading...";
-   calendar.innerHTML = HTML_AJAX.grab(encodeURI(web_path + '/rpc.php?action=get_calendar_matrix&year='+ year +'&month='+ month +'&day='+ day));
+   calendar.innerHTML = HTML_AJAX.grab(encodeURI(web_path + '/rpc.php?action=get_calendar_matrix&date='+ year +'-'+ month +'-'+ day));
 }
 
 /**
  * get the user-selected date from the calendar and
  * put it into the date-search boxes
  */
-function setCalendarDate(year, month, day)
+function setCalendarDate(userdate)
 {
-   document.getElementById(calendar_mode+'year').value = year;
-   document.getElementById(calendar_mode+'month').value = month;
-   document.getElementById(calendar_mode+'day').value = day;
+   document.getElementById('date_'+calendar_mode).value = userdate;
    hideCalendar();
 
 } // setCalendarDate()
@@ -756,7 +748,7 @@ function startAutoBrowse()
    else {
       clearInterval(autobrowse);
       autobrowse = 0;
-      document.getElementById('autobrowse_ico').src = web_path + "/resources/32_play.png";
+      document.getElementById('autobrowse_ico').src = web_path + "/resources/16_play.png";
    }
 
 } // startAutoBrowser()
@@ -769,12 +761,12 @@ function autoBrowse()
    if(document.getElementById('next_link')) {
       var next_link = document.getElementById('next_link').href;
       window.location.href = next_link;
-      document.getElementById('autobrowse_ico').src = web_path + "/resources/32_pause.png";
+      document.getElementById('autobrowse_ico').src = web_path + "/resources/16_pause.png";
    }
    /* we have reached the last photo */
    else {
       if(ab_ico = document.getElementById('autobrowse_ico'))
-         ab_ico.src = web_path + "/resources/32_play.png";
+         ab_ico.src = web_path + "/resources/16_play.png";
       clearInterval(autobrowse);
    }
 
@@ -826,6 +818,27 @@ function update_sort_order(obj)
 
 } // update_sort_order()
 
+/**
+ * if the photo-version Ń•elect-box has changed, set the newly
+ * choosen photo version as the to-be-displayed photo version
+ */
+function update_photo_version(obj, current_photo)
+{
+   var objTemp = new Object();
+   objTemp['photo_version'] = obj.options[obj.selectedIndex].value;
+   objTemp['photo_idx'] = current_photo;
+
+   var retr = HTML_AJAX.post(web_path + '/rpc.php?action=update_photo_version', objTemp);
+
+   if(retr == "ok") {
+      showPhoto(current_photo);
+   }
+   else {
+      window.alert("Server message: "+ retr);
+   }
+
+} // update_photo_version()
+
 /**
  * show rate stars
  *