minor fixes for the toggle building block - arrows should be right,
[plewww.git] / plekit / toggle / toggle.js
index 8ac69af..8c2cb1c 100644 (file)
@@ -1,24 +1,25 @@
 ////////// use jstorage to remember open/closed toggles
 // store current status
-function plekit_toggle_store(id) {
+function pletoggle_store(id) {
     var area=$('toggle-area-'+id);
     key='toggle.'+id;
 //    window.console.log('storing toggle status for '+id);
     $.jStorage.set(key,area.visible());
 }
 // restore last status
-function plekit_toggle_from_store (id) {
-    var area=$('toggle-area-'+id);
+function pletoggle_from_store (id) {
     key='toggle.'+id;
-    // on by default
-//    window.console.log('retrieving toggle status for '+id+'=>got '+$.jStorage.get(key,undefined));
-    if ($.jStorage.get(key,true)) area.show();
-    else area.hide();
+    // don't do anything if nothing stored
+    var stored=$.jStorage.get(key,undefined);
+    if (stored==true || stored==false) {
+       //    window.console.log('retrieved toggle status for '+id+'=> '+stored);
+       pletoggle_set_visible(id,stored);
+    }
 }
 
 ////////// manage a toggle
 // toggle it
-function plekit_toggle(id){
+function pletoggle_toggle(id){
 
     var area=$('toggle-area-'+id);
     area.toggle();
@@ -31,17 +32,17 @@ function plekit_toggle(id){
        visible.hide();
        hidden.show();
     }
-    plekit_toggle_store(id);
+    pletoggle_store(id);
 }
 
-// make sure it's open
-function plekit_toggle_show(id) {
+// make sure it's open or closed
+function pletoggle_set_visible(id, status) {
     var area=$('toggle-area-'+id);
-    if (!area.visible()) plekit_toggle (id);
+    if (area.visible()!=status) pletoggle_toggle (id);
 }
 
 // toggle the attached info box
-function plekit_toggle_info(id){
+function pletoggle_toggle_info(id){
 
     // need to take care of the area as well
     var area=$('toggle-area-'+id);
@@ -52,7 +53,7 @@ function plekit_toggle_info(id){
     } else {
        // make sure area is visible, take of the triggers
 //     window.console.log('PTI showing');
-       plekit_toggle_show(id);
+       pletoggle_set_visible(id,true);
        info.show();
     }
 }