]> www.wagner.pp.ru Git - oss/stilllife.git/blobdiff - templates/belstyle/common.js
хГЛЕМЕМХЪ Б ЬЮАКНМЕ
[oss/stilllife.git] / templates / belstyle / common.js
diff --git a/templates/belstyle/common.js b/templates/belstyle/common.js
new file mode 100644 (file)
index 0000000..be32d7a
--- /dev/null
@@ -0,0 +1,52 @@
+// Библиотека стандартных функций, используемых как в формах в форумного
+// скрипта так и на страницах форума.  
+
+
+// Запрещает поле password в текущей форме если значение value текущего
+// элемента не пусто. Используется в качестве обработчика onChange
+// для поля openidsite. Пример использования
+//     <select name="openidsite" onChange="selectSite(this)">
+    
+function selectSite( element) {
+   var form = element.form;
+   var password_field = form["password"];
+   if (element.value != "") {
+       password_field.disabled=1;
+  } else {
+       password_field.disabled=0;
+  }    
+}
+//
+// Вызывается при заполнении очередного поля аплоада картинки и
+// добавляет еще одно такое же.
+//
+function addPictureInput(tag) {
+       // Ищем вверх по дереву элемент с классом pictureinput
+       while (tag.className != "pictureinput") {
+               if (!tag.parentNode) {
+                       // Не нашли
+                       break;
+               }
+               tag=tag.parentNode;
+       }
+       // Теперь пошли вниз по сиблингам искать, есть ли пустое поле
+       var prev=tag;
+       while (tag && tag.className == "pictureinput") {
+               prev = tag;
+               tag=tag.nextSibling;
+       }
+       var inputs = prev.getElementsByTagName("input");
+       if (!inputs[0].value) {
+               // Последний элемент еще не заполнен. Новый не нужен.
+               return;
+       }       
+       var copy = prev.cloneNode(true);
+       inputs = copy.getElementsByTagName("input"); 
+       inputs[0].value = "";
+       inputs[0].name="image"+(parseInt(inputs[0].name.substring(5,
+               inputs[0].name.length))+1);
+       inputs[0].title = inputs[0].name;       
+       prev.parentNode.insertBefore(copy,tag);
+       return;
+}      
+//