Fix for Bug 2743, Z39.50, not z39.50
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / cataloguing / addbiblio.tmpl
index c875f15..f14bbc6 100644 (file)
@@ -72,14 +72,24 @@ function PopupZ3950() {
  */
 function AreMandatoriesNotOk(){
     var mandatories = new Array();
+    var mandatoriesfields = new Array();
     var tab = new Array();
     var label = new Array();
     var flag=0;
     var tabflag= new Array();  
-    <!-- TMPL_LOOP NAME='BIG_LOOP' --><!-- TMPL_LOOP NAME='innerloop' --><!-- TMPL_LOOP NAME='subfield_loop'--><!-- TMPL_IF NAME='mandatory'-->mandatories.push("<!-- TMPL_VAR NAME='id' -->");
+    <!-- TMPL_LOOP NAME='BIG_LOOP' -->
+       <!-- TMPL_LOOP NAME='innerloop' -->
+               <!-- TMPL_IF NAME="mandatory" -->
+               mandatoriesfields.push(new Array("<!-- TMPL_VAR NAME="tag" -->","<!-- TMPL_VAR NAME="index" --><!-- TMPL_VAR NAME="random" -->","<!-- TMPL_VAR NAME="index" -->"));
+               <!-- /TMPL_IF -->
+               <!-- TMPL_LOOP NAME='subfield_loop'-->
+                       <!-- TMPL_IF NAME='mandatory'-->mandatories.push("<!-- TMPL_VAR NAME='id' -->");
                        tab.push("<!-- TMPL_VAR NAME='number' -->");
                        label.push("<!-- TMPL_VAR NAME='marc_lib' -->");
-                <!-- /TMPL_IF --><!-- /TMPL_LOOP --><!-- /TMPL_LOOP --><!-- /TMPL_LOOP -->
+                <!-- /TMPL_IF -->
+            <!-- /TMPL_LOOP -->
+        <!-- /TMPL_LOOP -->
+    <!-- /TMPL_LOOP -->
     var StrAlert = _("Can't save this record because the following field aren't filled :\n\n");
     for(var i=0,len=mandatories.length; i<len ; i++){
         var tag=mandatories[i].substr(4,3);
@@ -106,6 +116,48 @@ function AreMandatoriesNotOk(){
         flag=1;    
       }   
     }   
+    
+    /* Check for mandatories field(not subfields) */
+    for(var i=0,len=mandatoriesfields.length; i<len; i++){
+           isempty  = true;
+               arr      = mandatoriesfields[i];
+       divid    = "tag_" + arr[0] + "_" + arr[1];
+       varegexp = new RegExp("^tag_" + arr[0] + "_code_");
+       
+               if(parseInt(arr[0]) >= 10){
+               elem = document.getElementById(divid);
+               eleminputs = elem.getElementsByTagName('input');
+               
+               for(var j=0,len2=eleminputs.length; j<len2; j++){
+       
+                       if(eleminputs[j].name.match(varegexp) && eleminputs[j].value){
+                                       inputregexp = new RegExp("^tag_" + arr[0] + "_subfield_" + eleminputs[j].value + "_" + arr[2]);
+                                       
+                                       for( var k=0; k<len2; k++){
+                                               if(eleminputs[k].id.match(inputregexp) && eleminputs[k].value){
+                                                       isempty = false
+                                               }
+                                       }
+                                       
+                                       elemselect = elem.getElementsByTagName('select');
+                                       for( var k=0; k<elemselect.length; k++){
+                                               if(elemselect[k].id.match(inputregexp) && elemselect[k].value){
+                                                       isempty = false
+                                               }
+                                       }
+                       }
+               }
+       }else{
+               isempty = false;
+       }
+       
+       if(isempty){
+               flag = 1;
+               StrAlert += _("\t* Field ") + arr[0] + _(" is mandatory, at least one of its subfields must be filled.\n");
+       }
+       
+    }
+    
     if(flag){
            return StrAlert;
        } else {
@@ -162,16 +214,17 @@ function openAuth(tagsubfieldid,authtype) {
     var elementsubfcode=getSubfieldcode(element.name);
     var mainmainstring=element.value;
     var mainstring="";  
-    var inputs = document.getElementsByTagName("input");
+    var inputs = element.parentNode.parentNode.getElementsByTagName("input");
+
     for (var myindex =0; myindex<inputs.length;myindex++){
         if (inputs[myindex].name && inputs[myindex].name.match(tagsubfield)){
-            var subfieldcode=getSubfieldcode(inputs[myindex].name);  
+            var subfieldcode=getSubfieldcode(inputs[myindex].name);
             if (isNaN(parseInt(subfieldcode)) && inputs[myindex].value != "" && subfieldcode!=elementsubfcode){
                 mainstring=inputs[myindex].value+" "+mainstring;
             }      
         }
     }           
-       newin=window.open("../authorities/auth_finder.pl?authtypecode="+  authtype+ "&index="+tagsubfieldid+"&mainmainstring="+encodeURI(mainmainstring)+"&mainstring="+encodeURI(mainstring), "_blank",'width=700,height=550,toolbar=false,scrollbars=yes');
+       newin=window.open("../authorities/auth_finder.pl?authtypecode="+  authtype+ "&index="+tagsubfieldid+"&value_mainstr="+encodeURI(mainmainstring)+"&value_main="+encodeURI(mainstring), "_blank",'width=700,height=550,toolbar=false,scrollbars=yes');
 }
 
 
@@ -221,6 +274,12 @@ function CloneField(index) {
             var inputs   = divs[i].getElementsByTagName('input');
             var id_input = "";
             
+            for( j = 0 ; j < inputs.length ; j++ ) {
+               if(inputs[j].getAttribute("id") && inputs[j].getAttribute("id").match(/^tag_/) ){
+                       inputs[j].value = "";
+               }
+            }
+            
             inputs[0].setAttribute('id',inputs[0].getAttribute('id')+new_key);
             inputs[0].setAttribute('name',inputs[0].getAttribute('name')+new_key);
             var id_input;
@@ -580,7 +639,7 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
                new YAHOO.widget.Button({
                                             id: "z3950search", 
                                             type: "button", 
-                                            label: _("z39.50 Search"), 
+                                            label: _("Z39.50 Search"), 
                                             container: "z3950searchc",
                                                                                        onclick: {fn:function(){PopupZ3950()}}
                                         });
@@ -591,7 +650,7 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
 
                <ul class="toolbar">
                        <li><input id="addbiblio" type="submit" value="Save" /></li>
-                       <li id="z3950searchc"><input type="button" id="z3950search" value="z39.50 Search" onclick="PopupZ3950(); return false;" /></li>
+                       <li id="z3950searchc"><input type="button" id="z3950search" value="Z39.50 Search" onclick="PopupZ3950(); return false;" /></li>
                        <li id="changeframework"><label for="Frameworks">Change framework: </label>
                        <select name="Frameworks" id="Frameworks" onchange="Changefwk(this);">
                                        <option value="">Default</option>                
@@ -635,7 +694,11 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
        <div class="tag" id="tag_<!-- TMPL_VAR name="tag"-->_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->">
         <div class="tag_title" id="div_indicator_tag_<!-- TMPL_VAR name="tag"-->_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->">
             <!-- TMPL_UNLESS name="hide_marc" -->
-                <span class="tagnum" title="<!-- TMPL_VAR NAME="tag_lib" -->"><!-- TMPL_VAR NAME="tag" --></span>
+               <!-- TMPL_IF NAME="advancedMARCEditor" -->
+               <a href="#" tabindex="1" class="tagnum" title="<!-- TMPL_VAR NAME="tag_lib"--> - Click to Expand this Tag" onclick="ExpandField('tag_<!-- TMPL_VAR NAME="tag"-->_<!-- TMPL_VAR NAME='index' --><!-- TMPL_VAR NAME="random" -->'); return false;"><!-- TMPL_VAR NAME="tag" --></a>
+               <!-- TMPL_ELSE -->
+                       <span class="tagnum" title="<!-- TMPL_VAR NAME="tag_lib" -->"><!-- TMPL_VAR NAME="tag" --></span>
+               <!-- /TMPL_IF -->
                 <!-- TMPL_IF NAME="fixedfield" -->
                        <input tabindex="1" class="indicator flat" type="text" style="display:none;" name="tag_<!-- TMPL_VAR NAME="tag" -->_indicator1_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->" size="1" maxlength="1" value="<!-- TMPL_VAR NAME="indicator1" -->" />
                        <input tabindex="1" class="indicator flat" type="text" style="display:none;" name="tag_<!-- TMPL_VAR NAME="tag" -->_indicator2_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->" size="1" maxlength="1" value="<!-- TMPL_VAR NAME="indicator2" -->" />
@@ -654,20 +717,20 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
             <!-- /TMPL_UNLESS -->
 
             <!-- TMPL_UNLESS NAME="advancedMARCEditor" -->
-                   <a href="#" class="expandfield" onclick="ExpandField('tag_<!-- TMPL_VAR name="tag"-->_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->'); return false;" title="Click to Expand this Tag"><!-- TMPL_VAR NAME="tag_lib" --></a>
+                   <a href="#" tabindex="1" class="expandfield" onclick="ExpandField('tag_<!-- TMPL_VAR name="tag"-->_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->'); return false;" title="Click to Expand this Tag"><!-- TMPL_VAR NAME="tag_lib" --></a>
             <!-- /TMPL_UNLESS -->
             <!-- TMPL_IF name="repeatable" -->
-                <a href="#" class="buttonPlus" onclick="CloneField('tag_<!-- TMPL_VAR name="tag"-->_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->'); return false;" title="Repeat this Tag">+</a>
+                <a href="#" tabindex="1" class="buttonPlus" onclick="CloneField('tag_<!-- TMPL_VAR name="tag"-->_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->'); return false;" title="Repeat this Tag">+</a>
             <!-- /TMPL_IF -->
             <!-- TMPL_UNLESS name="mandatory" -->
-                <a href="#" class="buttonMinus" onclick="UnCloneField('tag_<!-- TMPL_VAR name="tag"-->_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->'); return false;" title="Delete this Tag">&#8722;</a>
+                <a href="#" tabindex="1" class="buttonMinus" onclick="UnCloneField('tag_<!-- TMPL_VAR name="tag"-->_<!-- TMPL_VAR NAME='index'--><!-- TMPL_VAR name="random" -->'); return false;" title="Delete this Tag">&#8722;</a>
             <!-- /TMPL_UNLESS -->
             
         </div>
        
         <!-- TMPL_LOOP NAME="subfield_loop" -->
             <!--  One line on the marc editor -->
-            <div class="subfield_line" style="<!-- TMPL_VAR NAME='visibility' -->; float: left; clear: left;" id="subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->">
+            <div class="subfield_line" style="<!-- TMPL_VAR NAME='visibility' -->; float: left; clear: left; width: 100%;" id="subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->">
             
                 <!--TMPL_UNLESS NAME="advancedMARCEditor" -->
                     <label for="tag_<!-- TMPL_VAR NAME='tag'-->_subfield_<!--  TMPL_VAR NAME='subfield'-->_<!-- TMPL_VAR NAME='index'-->_<!-- TMPL_VAR NAME='index_subfield'-->" <!-- TMPL_IF NAME="fixedfield" --> style="display:none;" <!-- /TMPL_IF --> class="labelsubfield">
@@ -679,7 +742,7 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
                     <!-- TMPL_ELSE -->
                         <img class="buttonUp" src="<!-- TMPL_VAR NAME="themelang" -->/../img/up.png" onclick="upSubfield('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->')" alt="Move Up" title="Move Up" />
                     <!-- /TMPL_IF -->
-                        <input title="<!-- TMPL_VAR NAME='marc_lib_plain' -->" style=" <!-- TMPL_IF NAME="fixedfield" -->display:none; <!-- /TMPL_IF -->border:0;" type="text" name="tag_<!-- TMPL_VAR NAME='tag'-->_code_<!--  TMPL_VAR NAME='subfield'-->_<!-- TMPL_VAR NAME='index'-->_<!-- TMPL_VAR NAME='index_subfield'-->" value="<!-- TMPL_VAR NAME="subfield" -->" size="1" maxlength="1" class="flat" tabindex="0" />
+                        <input title="<!-- TMPL_VAR NAME='marc_lib_plain' -->" style=" <!-- TMPL_IF NAME="fixedfield" -->display:none; <!-- /TMPL_IF -->border:0;" type="text" tabindex="0" name="tag_<!-- TMPL_VAR NAME='tag'-->_code_<!--  TMPL_VAR NAME='subfield'-->_<!-- TMPL_VAR NAME='index'-->_<!-- TMPL_VAR NAME='index_subfield'-->" value="<!-- TMPL_VAR NAME="subfield" -->" size="1" maxlength="1" class="flat" />
  </span>
                 <!-- TMPL_ELSE -->
                     <input type="hidden" name="tag_<!-- TMPL_VAR NAME='tag'-->_code_<!--  TMPL_VAR NAME='subfield'-->_<!-- TMPL_VAR NAME='index'-->_<!-- TMPL_VAR NAME='index_subfield'-->" value="<!-- TMPL_VAR NAME="subfield" -->" />
@@ -689,6 +752,7 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
                 <!-- TMPL_UNLESS NAME="advancedMARCEditor" -->
                     <!-- TMPL_IF name="mandatory" --><span class="subfield subfield_mandatory"><!-- TMPL_ELSE --><span class="subfield"><!-- /TMPL_IF -->
                         <!-- TMPL_VAR NAME="marc_lib_plain" -->
+                        <!-- TMPL_IF NAME="mandatory" --><span class="mandatory_marker" title="This field is mandatory">*</span><!-- /TMPL_IF -->
                     </span>
                     </label>
                 <!-- /TMPL_UNLESS -->