Bug 6536: QA Follow-up for string changes referring to Z39.50
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / cataloguing / addbiblio.tt
index a9e9841..26e3b62 100644 (file)
@@ -1,32 +1,31 @@
+[% USE Koha %]
 [% INCLUDE 'doc-head-open.inc' %]
 <title>Koha &rsaquo; Cataloging &rsaquo; [% IF ( biblionumber ) %]Editing [% title |html %] (Record number [% biblionumber %])[% ELSE %]Add MARC record[% END %]</title>
 [% INCLUDE 'doc-head-close.inc' %]
-<script type="text/javascript" src="[% themelang %]/lib/yui/plugins/bubbling-min.js"></script>
-<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.fixFloat.js"></script>
+<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.fixFloat.js"></script>
+<script type="text/javascript" src="[% themelang %]/js/cataloging.js"></script>
+[% INCLUDE 'browser-strings.inc' %]
+<!--[if lt IE 9]>
+<script type="text/javascript" src="[% interface %]/lib/shims/json2.min.js"></script>
+<![endif]-->
+<script type="text/javascript" src="[% interface %]/js/browser.js"></script>
 <script type="text/javascript">
 //<![CDATA[
+    var browser = KOHA.browser('[% searchid %]', parseInt('[% biblionumber %]', 10));
+    browser.show();
 
-     var fields_in_use = {};
+    $(window).load(function(){
+        $("#loading").hide();
+    });
         $(document).ready(function() {
-               $('#addbibliotabs > ul').tabs().bind('show.ui-tabs', function(e, ui) {
+        $('#addbibliotabs').tabs().bind('show.ui-tabs', function(e, ui) {
                        $("#"+ui.panel.id+" input:eq(0)").focus();
                });
-        $('.tag').each(function() {
-            var field_id = this.getAttribute('id').substring(0, 7);
-            if (field_id in fields_in_use) {
-                fields_in_use[field_id]++;
-            } else {
-                fields_in_use[field_id] = 1;
-            }
-        });
-        $('.subfield_line').each(function() {
-            var field_id = this.getAttribute('id').substring(0, 12);
-            if (field_id in fields_in_use) {
-                fields_in_use[field_id]++;
-            } else {
-                fields_in_use[field_id] = 1;
-            }
-        });
+
+        [% IF tab %]
+          $('#addbibliotabs').selectTabByID("#[% tab %]");
+        [% END %]
+
                /* check cookie to hide/show marcdocs*/
                if($.cookie("marcdocs_[% borrowernumber %]") == 'false'){
                        hideMARCdocLinks();
                        $.cookie("marcdocs_[% borrowernumber %]",'true',
                                                { path: "/", expires: 365 });
                }
+        $('#toolbar').fixFloat();
+        $("#marcDocsSelect").click(function(){
+            if($(this).attr("checked")){
+                showMARCdocLinks();
+            } else {
+                hideMARCdocLinks();
+            }
+        });
+
+        /* check cookie to hide/show marc tags*/
+        var marctags_cookie = $.cookie("marctags_[% borrowernumber %]");
+        if( marctags_cookie == 'false'){
+            hideMARCTagLinks();
+            $("#marcTagsSelect").removeAttr('checked');
+        } else if( marctags_cookie == 'true'){
+            showMARCTagLinks();
+            $("#marcTagsSelect").attr('checked', 'checked');
+        } else {
+            [% UNLESS Koha.Preference("hide_marc") %]
+                showMARCTagLinks();
+                $("#marcTagsSelect").attr('checked', 'checked');
+            [% ELSE %]
+                hideMARCTagLinks();
+                $("#marcTagsSelect").removeAttr('checked');
+            [% END %]
+        }
+        $("#marcTagsSelect").click(function(){
+            if($(this).attr("checked")){
+                showMARCTagLinks();
+            } else {
+                hideMARCTagLinks();
+            }
+        });
+
+        $("#z3950search").click(function(){
+            if (confirm(_("Please note that this external search could replace the current record."))){
+                PopupZ3950();
+            }
+        });
+
+        $("#saverecord").click(function(){
+            $(".btn-group").removeClass("open");
+            onOption();
+            return false;
+        })
+
+        $("#saveandview").click(function(){
+            $(".btn-group").removeClass("open");
+            redirect("view");
+            return false;
+        });
 
-       });
+        $("#saveanditems").click(function(){
+            $(".btn-group").removeClass("open");
+            redirect("items");
+            return false;
+        });
+        $("#saveandcontinue").click(function(){
+            $(".btn-group").removeClass("open");
+            var tab = $("#addbibliotabs li.ui-tabs-active:first a").attr('href');
+            tab = tab.replace('#', '');
+            $("#current_tab").val(tab);
+            redirect("just_save", tab);
+            return false;
+        });
+    });
 
-       $('#header_search > ul').tabs().bind('show.ui-tabs', function(e, ui) { $('#header_search > div:not(.ui-tabs-hide)').find('input').eq(0).focus(); });
+function redirect(dest){
+    $("#redirect").attr("value",dest);
+    return Check();
+}
 
+[% IF ( CAN_user_editcatalogue_edit_items ) %]
+    var onOption = function () {
+        return Check();
+    }
+[% END %]
 
 function confirmnotdup(redirect){
        $("#confirm_not_duplicate").attr("value","1");
@@ -48,21 +119,6 @@ function confirmnotdup(redirect){
        Check();
 }
 
-/**
- * 
- * 
- */
-function Check(){
-    var StrAlert = AreMandatoriesNotOk();
-    if( ! StrAlert ){
-        document.f.submit();
-        return true;
-    } else {
-        alert(StrAlert);
-        return false;
-    }
-}
-
 function Dopop(link,i) {
     defaultvalue = document.getElementById(i).value;
     window.open(link+"&result="+defaultvalue,"valuebuilder",'width=700,height=550,toolbar=false,scrollbars=yes');
@@ -78,11 +134,11 @@ function PopupZ3950() {
     } 
 }
 
-function PopupMARCFieldDoc(field, blocknumber) {
+function PopupMARCFieldDoc(field) {
     [% IF ( marcflavour == 'MARC21' ) %]
         _MARC21FieldDoc(field);
     [% ELSIF ( marcflavour == 'UNIMARC' ) %]
-        _UNIMARCFieldDoc(field, blocknumber);
+        _UNIMARCFieldDoc(field);
     [% END %]
 }
 
@@ -96,25 +152,28 @@ function _MARC21FieldDoc(field) {
     }
 }
 
-function _UNIMARCFieldDoc(field, blocknumber) {
+function _UNIMARCFieldDoc(field) {
     /* http://archive.ifla.org/VI/3/p1996-1/ is an outdated version of UNIMARC, but
        seems to be the only version available that can be linked to per tag.  More recent
        versions of the UNIMARC standard are available on the IFLA website only as
        PDFs!
     */
-    if(field == 0) {
-        window.open("http://archive.ifla.org/VI/3/p1996-1/uni.htm");
-    } else if (field < 100) {
-        window.open("http://archive.ifla.org/VI/3/p1996-1/uni"+blocknumber+".htm#b" + ("000"+field).slice(-3));
-    } else if (field < 900) {
-        window.open("http://archive.ifla.org/VI/3/p1996-1/uni"+blocknumber+".htm#" + ("000"+field).slice(-3));
+    var url;
+    if (field == 0) {
+        url = "http://archive.ifla.org/VI/3/p1996-1/uni.htm";
     } else {
-        window.open("http://archive.ifla.org/VI/3/p1996-1/uni9.htm");
+        var first = field.substring(0,1);
+        url = "http://archive.ifla.org/VI/3/p1996-1/uni" + first + ".htm#";
+        if (first == 0) url = url + "b";
+        url = first == 9
+              ? "http://archive.ifla.org/VI/3/p1996-1/uni9.htm"
+              : url + field;
     }
+    window.open(url);
 }
 
 /*
- * Functions to hide/show marc docs links
+ * Functions to hide/show marc docs and tags links
  */
 function hideMARCdocLinks() {
        $(".marcdocs").hide();
@@ -126,6 +185,32 @@ function showMARCdocLinks() {
        $.cookie("marcdocs_[% borrowernumber %]",'true', { path: "/", expires: 365 });
 }
 
+function hideMARCTagLinks() {
+    $(".tagnum").hide();
+    $(".subfieldcode").hide();
+    $.cookie("marctags_[% borrowernumber %]",'false', { path: "/", expires: 365 });
+}
+function showMARCTagLinks() {
+    $(".tagnum").show();
+    $(".subfieldcode").show();
+    $.cookie("marctags_[% borrowernumber %]",'true', { path: "/", expires: 365 });
+}
+        [% IF hide_marc %]
+            var hide = false;
+        [% ELSE %]
+            var hide = true;
+        [% END %]
+        $("#show_tags").change( function(){
+            if ( $(this).is(':checked') ) {
+                $(".tagnum").show();
+                $(".subfieldcode").show();
+            } else {
+            }
+        } );
+        $("#show_tags").attr("checked", !hide)
+        $("#show_tags").change();
+
+
 /**
  * check if mandatory subfields are written
  */
@@ -173,7 +258,7 @@ function AreMandatoriesNotOk(){
       if (tabflag[tagsubfieldid][0]==0){
         var tag=tagsubfieldid.substr(0,3);
         var subfield=tagsubfieldid.substr(3,1);    
-        StrAlert += "\t* "+_("tag ")+tag+_(" subfield ")+subfield+" "+tabflag[tagsubfieldid][1]+_(" in tab ")+tabflag[tagsubfieldid][2]+"\n";
+        StrAlert += "\t* "+_("tag %s subfield %s %s in tab %s").format(tag, subfield, tabflag[tagsubfieldid][1], tabflag[tagsubfieldid][2]) + "\n";
         //StrAlert += "\t* "+label[i]+_(" in tab ")+tab[i]+"\n"; 
         flag=1;    
       }   
@@ -223,7 +308,7 @@ function AreMandatoriesNotOk(){
        
        if(isempty){
                flag = 1;
-               StrAlert += _("\t* Field ") + arr[0] + _(" is mandatory, at least one of its subfields must be filled.") + "\n";
+                StrAlert += "\t* " + _("Field %s is mandatory, at least one of its subfields must be filled.").format(arr[0]) + "\n";
        }
        
     }
@@ -235,6 +320,21 @@ function AreMandatoriesNotOk(){
        }
 }
 
+/**
+ *
+ *
+ */
+function Check(){
+    var StrAlert = AreMandatoriesNotOk();
+    if( ! StrAlert ){
+        document.f.submit();
+        return true;
+    } else {
+        alert(StrAlert);
+        return false;
+    }
+}
+
 /** 
  * check if z3950 mandatories are set or not
  */
@@ -256,407 +356,27 @@ function GetZ3950Terms(){
 
 function Changefwk(FwkList) {
     var f = document.f;
-    f.op.value = "";
+    f.op.value = "[% op %]";
+    f.biblionumber.value = "[% biblionumberdata %]";
+    f.changed_framework.value = "changed";
     f.submit();
 }
 
-// returns the subfieldcode based upon subfieldid writing
-function getSubfieldcode(tagsubfieldid){
-    // 3 : tag +3 : tagnumber +4 : number of _ +8 subfield -1 begins at 0  
-    return tagsubfieldid.substr(3+3+4+8-1,1);
-}
-
-// Take the base of tagsubfield information (removing the subfieldcodes and subfieldindexes)
-// returns the filter
-function getTagInputnameFilter(tagsubfieldid){
-    var tagsubfield=tagsubfieldid.substr(0,tagsubfieldid.lastIndexOf("_"));  
-    var tagcode=tagsubfield.substr(tagsubfield.lastIndexOf("_"));
-    tagsubfield=tagsubfield.substr(0,tagsubfield.lastIndexOf("_"));
-    tagsubfield=tagsubfield.substr(0,tagsubfield.lastIndexOf("_"));
-    tagsubfield=tagsubfield+"_."+tagcode;
-    return tagsubfield;  
-}
-
-function openAuth(tagsubfieldid,authtype) {
-    // let's take the base of tagsubfield information (removing the indexes and the codes
-    var element=document.getElementById(tagsubfieldid);
-    var tagsubfield=getTagInputnameFilter(tagsubfieldid);
-    var elementsubfcode=getSubfieldcode(element.name);
-    var mainmainstring=element.value;
-    var mainstring="";  
-    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);
-            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+"&value_mainstr="+encodeURI(mainmainstring)+"&value_main="+encodeURI(mainstring), "_blank",'width=700,height=550,toolbar=false,scrollbars=yes');
-}
-
-
-function ExpandField(index) {
-    var original = document.getElementById(index); //original <div>
-    var divs = original.getElementsByTagName('div');
-    for(var i=0,divslen = divs.length ; i<divslen ; i++){      // foreach div
-        if(divs[i].getAttribute('id').match(/^subfield/)){  // if it s a subfield
-            if (divs[i].style.display == 'block') {
-                divs[i].style.display = 'none';
-            } else {
-                divs[i].style.display = 'block';
-            }
-        }
-    }
-}
-
-/**
- * To clone a field or a subfield by clicking on '+' button
- */ 
-function CloneField(index) {
-    var original = document.getElementById(index); //original <div>
-    fields_in_use[index.substr(0, 7)]++;
-    var clone = original.cloneNode(true);
-    var new_key = CreateKey();
-    var new_id  = original.getAttribute('id')+new_key;
-    
-    clone.setAttribute('id',new_id); // setting a new id for the parent div
-    
-    var divs = clone.getElementsByTagName('div');
-    
-    [% UNLESS ( hide_marc ) %] // No indicator if hide_marc
-        // setting a new name for the new indicator
-        for(var i=0; i < 2; i++) {
-            var indicator = clone.getElementsByTagName('input')[i];
-            indicator.setAttribute('name',indicator.getAttribute('name')+new_key);
-        }
-    [% END %]
-        
-    // settings all subfields
-    for(var i=0,divslen = divs.length ; i<divslen ; i++){      // foreach div
-        if(divs[i].getAttribute("id").match(/^subfield/)){  // if it s a subfield
-            
-            // set the attribute for the new 'div' subfields
-            divs[i].setAttribute('id',divs[i].getAttribute('id')+new_key);
-            
-            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;
-            try {
-               id_input = inputs[1].getAttribute('id')+new_key;
-                inputs[1].setAttribute('id',id_input);
-                inputs[1].setAttribute('name',inputs[1].getAttribute('name')+new_key);
-            } catch(e) {
-               try{ // it s a select if it is not an input
-                    var selects = divs[i].getElementsByTagName('select');
-                    id_input = selects[0].getAttribute('id')+new_key;
-                    selects[0].setAttribute('id',id_input);
-                    selects[0].setAttribute('name',selects[0].getAttribute('name')+new_key);
-                }catch(e2){ // it is a textarea if it s not a select or an input
-                       var textaeras = divs[i].getElementsByTagName('textarea');
-                       id_input = textaeras[0].getAttribute('id')+new_key;
-                       textaeras[0].setAttribute('id',id_input);
-                    textaeras[0].setAttribute('name',textaeras[0].getAttribute('name')+new_key);
-                }
-            }
-            
-            [% UNLESS ( advancedMARCEditor ) %]
-            // when cloning a subfield, re set its label too.
-            var labels = divs[i].getElementsByTagName('label');
-            labels[0].setAttribute('for',id_input);
-            [% END %]
-            
-            [% UNLESS ( hide_marc ) %]
-                // updating javascript parameters on button up
-                var imgs = divs[i].getElementsByTagName('img');
-                imgs[0].setAttribute('onclick',"upSubfield(\'"+divs[i].getAttribute('id')+"\');");
-            [% END %]
-            
-            // setting its '+' and '-' buttons
-            try {
-                var anchors = divs[i].getElementsByTagName('a');
-                for (var j = 0; j < anchors.length; j++) {
-                    if(anchors[j].getAttribute('class') == 'buttonPlus'){
-                        anchors[j].setAttribute('onclick',"CloneSubfield('" + divs[i].getAttribute('id') + "')");
-                    } else if (anchors[j].getAttribute('class') == 'buttonMinus') {
-                        anchors[j].setAttribute('onclick',"UnCloneField('" + divs[i].getAttribute('id') + "')");
-                    }
-                }
-            }
-            catch(e){
-                // do nothig if ButtonPlus & CloneButtonPlus don t exist.
-            }
-            
-            // button ...
-            var spans=0;
-            try {
-                spans = divs[i].getElementsByTagName('a');
-            } catch(e) {
-                // no spans
-            }
-            if(spans){
-                var buttonDot;
-                if(!CloneButtonPlus){ // it s impossible to have  + ... (buttonDot AND buttonPlus)
-                    buttonDot = spans[0];
-                    if(buttonDot){
-                        // 2 possibilities :
-                        try{
-                            var buttonDotOnClick = buttonDot.getAttribute('onclick');
-                            if(buttonDotOnClick.match('Clictag')){   // -1- It s a plugin
-                                var re = /\('.*'\)/i;
-                                buttonDotOnClick = buttonDotOnClick.replace(re,"('"+inputs[1].getAttribute('id')+"')");
-                                if(buttonDotOnClick){
-                                    buttonDot.setAttribute('onclick',buttonDotOnClick);
-                                }
-                            } else {
-                                if(buttonDotOnClick.match('Dopop')) {  // -2- It's a auth value
-                                    var re1 = /&index=.*',/;
-                                    var re2 = /,.*\)/;
-
-                                    buttonDotOnClick = buttonDotOnClick.replace(re1,"&index="+inputs[1].getAttribute('id')+"',");
-                                    buttonDotOnClick = buttonDotOnClick.replace(re2,",'"+inputs[1].getAttribute('id')+"')");
-                                    
-                                    if(buttonDotOnClick){
-                                            buttonDot.setAttribute('onclick',buttonDotOnClick);
-                                    }
-                                }
-                            }
-                            try {
-                               // do not copy the script section.
-                               var script = spans[0].getElementsByTagName('script')[0];
-                               spans[0].removeChild(script);
-                            } catch(e) {
-                               // do nothing if there is no script
-                            }
-                       }catch(e){}
-                       }
-                }
-            }
-            [% UNLESS ( hide_marc ) %]
-                var buttonUp = divs[i].getElementsByTagName('img')[0];
-                buttonUp.setAttribute('onclick',"upSubfield('" + divs[i].getAttribute('id') + "')");
-            [% END %]
-            
-        } else { // it's a indicator div
-            if(divs[i].getAttribute('id').match(/^div_indicator/)){
-                var inputs = divs[i].getElementsByTagName('input');
-                inputs[0].setAttribute('id',inputs[0].getAttribute('id')+new_key);
-                inputs[1].setAttribute('id',inputs[1].getAttribute('id')+new_key);
-                
-                var CloneButtonPlus;
-                try {
-                    var anchors = divs[i].getElementsByTagName('a');
-                    for (var j = 0; j < anchors.length; j++) {
-                        if (anchors[j].getAttribute('class') == 'buttonPlus') {
-                            anchors[j].setAttribute('onclick',"CloneField('" + new_id + "')");
-                        } else if (anchors[j].getAttribute('class') == 'buttonMinus') {
-                            anchors[j].setAttribute('onclick',"UnCloneField('" + new_id + "')");
-                        } else if (anchors[j].getAttribute('class') == 'expandfield') {
-                            anchors[j].setAttribute('onclick',"ExpandField('" + new_id + "')");
-                        }
-                    }
-                }
-                catch(e){
-                    // do nothig CloneButtonPlus doesn't exist.
-                }
-
-            }
-        }
-    }
-    
-    // insert this line on the page
-    original.parentNode.insertBefore(clone,original.nextSibling);
-}
-
-function CloneSubfield(index){
-    var original = document.getElementById(index); //original <div>
-    fields_in_use[index.substr(0, 12)]++;
-    var clone = original.cloneNode(true);
-    var new_key = CreateKey();
-    var new_id  = original.getAttribute('id')+new_key;
-    // set the attribute for the new 'div' subfields
-    var inputs     = clone.getElementsByTagName('input');
-    var selects    = clone.getElementsByTagName('select');
-    var textareas  = clone.getElementsByTagName('textarea');
-    var linkid;
-
-    // input
-    var id_input = "";
-    for(var i=0,len=inputs.length; i<len ; i++ ){
-        id_input = inputs[i].getAttribute('id')+new_key;
-        inputs[i].setAttribute('id',id_input);
-        inputs[i].setAttribute('name',inputs[i].getAttribute('name')+new_key);
-       linkid = id_input;
-    }
-    
-    // select 
-    for(var i=0,len=selects.length; i<len ; i++ ){
-        id_input = selects[i].getAttribute('id')+new_key;
-        selects[i].setAttribute('id',selects[i].getAttribute('id')+new_key);
-        selects[i].setAttribute('name',selects[i].getAttribute('name')+new_key);
-    }
-    
-    // textarea
-    for(var i=0,len=textareas.length; i<len ; i++ ){
-        id_input = textareas[i].getAttribute('id')+new_key;
-        textareas[i].setAttribute('id',textareas[i].getAttribute('id')+new_key);
-        textareas[i].setAttribute('name',textareas[i].getAttribute('name')+new_key);
-    }
-
-    // Changing the "..." link's onclick attribute for plugin callback
-    var links  = clone.getElementsByTagName('a');
-    var link = links[0];
-    var buttonDotOnClick = link.getAttribute('onclick');
-    if(buttonDotOnClick.match('Clictag')){   // -1- It s a plugin
-       var re = /\('.*'\)/i;
-        buttonDotOnClick = buttonDotOnClick.replace(re,"('"+linkid+"')");
-        if(buttonDotOnClick){
-           link.setAttribute('onclick',buttonDotOnClick);
-        }
-    }
-
-
-    [% UNLESS ( advancedMARCEditor ) %]
-    // when cloning a subfield, reset its label too.
-    var label = clone.getElementsByTagName('label')[0];
-    label.setAttribute('for',id_input);
-    [% END %]
-    
-    // setting a new id for the parent div
-    clone.setAttribute('id',new_id);
-    
-    try {
-        var buttonUp = clone.getElementsByTagName('img')[0];
-        buttonUp.setAttribute('onclick',"upSubfield('" + new_id + "')");
-        var anchors = clone.getElementsByTagName('a');
-        if(anchors.length){
-            for(var i = 0 ,lenanchors = anchors.length ; i < lenanchors ; i++){
-                if(anchors[i].getAttribute('class') == 'buttonPlus'){
-                    anchors[i].setAttribute('onclick',"CloneSubfield('" + new_id + "')");
-                } else if (anchors[i].getAttribute('class') == 'buttonMinus') {
-                    anchors[i].setAttribute('onclick',"UnCloneField('" + new_id + "')");
-                }
-            }
-        }
-    }
-    catch(e){
-        // do nothig if ButtonPlus & CloneButtonPlus don't exist.
-    }
-    // insert this line on the page
-    original.parentNode.insertBefore(clone,original.nextSibling);
-}
-
- /**
- * This function removes or clears unwanted subfields
- */
-function UnCloneField(index) {
-    var original = document.getElementById(index);
-    var field_id;
-    if (index.match("tag")) {
-        field_id = index.substr(0, 7);
-    } else {
-        field_id = index.substr(0, 12);
-    }
-    if (1 == fields_in_use[field_id]) {
-        // clear inputs, but don't delete
-        $(":input.input_marceditor", original).each(function(){
-            // thanks to http://www.learningjquery.com/2007/08/clearing-form-data for
-            // hint about clearing selects correctly
-            var type = this.type;
-            var tag = this.tagName.toLowerCase();
-            if (type == 'text' || type == 'password' || tag == 'textarea') {
-                this.value = "";
-            } else if (type == 'checkbox' || type == 'radio') {
-                this.checked = false;
-            } else if (tag == 'select') {
-                this.selectedIndex = -1;
-            }
-        });
-        $(":input.indicator", original).val("");
-    } else {
-        original.parentNode.removeChild(original);
-        fields_in_use[field_id]--;
-    }
-}
-
-/**
- * This function create a random number
- */
-function CreateKey(){
-    return parseInt(Math.random() * 100000);
-}
-
-/**
- * This function allows to move a subfield up by clickink on the 'up' button .
- */
-function upSubfield(index) {
-    try{
-        var line = document.getElementById(index); // get the line where the user has clicked.
-    } catch(e) {
-        return; // this line doesn't exist...
-    }
-    var tag = line.parentNode; // get the dad of this line. (should be "<div id='tag_...'>")
-    
-    // getting all subfields for this tag
-    var subfields = tag.getElementsByTagName('div');
-    var subfieldsLength = subfields.length;
-    
-    if(subfieldsLength<=1) return; // nothing to do if there is just one subfield.
-    
-    // among all subfields 
-    for(var i=0;i<subfieldsLength;i++){ 
-        if(subfields[i].getAttribute('id') == index){ //looking for the subfield which is clicked :
-            if(i==1){ // if the clicked subfield is on the top
-                tag.appendChild(subfields[1]);
-                return;
-            } else {
-                var lineAbove = subfields[i-1];
-                tag.insertBefore(line,lineAbove);
-                return;
-            }
-        }
-    }
-}
-
-function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
-    subfield = document.getElementById(index);
-    subfield.style.display = 'block';
-    label = document.getElementById(labelindex);
-    label.style.display='none';        
-}
 //]]>
 </script>
 <link type="text/css" rel="stylesheet" href="[% themelang %]/css/addbiblio.css" />
+[% IF ( bidi ) %]
+   <link rel="stylesheet" type="text/css" href="[% themelang %]/css/right-to-left.css" />
+[% END %]
 </head>
 <body id="cat_addbiblio" class="cat">
-<div id="yui-cms-loading">
-      <div id="yui-cms-float">
-          Loading, please wait...
-      </div>
-  </div>
-<script type="text/javascript" src="[% themelang %]/lib/yui/plugins/loading-min.js"></script>
-<script type="text/javascript">
-//<![CDATA[
-(function() {
-       // configuring the loading mask
-       YAHOO.widget.Loading.config({
-               opacity: 0.8
-       });
-})();
-//]]>
-</script>
+
+   <div id="loading">
+       <div>Loading, please wait...</div>
+   </div>
+
 [% INCLUDE 'header.inc' %]
+
 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloging</a>  &rsaquo; [% IF ( biblionumber ) %]Editing <em>[% title |html %]</em> (Record number [% biblionumber %])[% ELSE %]Add MARC record[% END %]</div>
 
 <div id="doc" class="yui-t7">
@@ -665,9 +385,17 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
         <div id="yui-main">
         <div class="yui-g">
 
-<h1>[% IF ( biblionumber ) %]Editing <em>[% title |html %]</em> (Record number [% biblionumber %])</h1>[% ELSE %]Add MARC record</h1>[% END %]
-[% IF marcflavour != 'NORMARC' %]
-<div><input type="checkbox" name="marcDocsSelect" id="marcDocsSelect" checked="true" /> Show MARC tag documentation links<br/></div>
+<h1>
+[% IF ( biblionumber ) %]Editing <em>[% title |html %]</em> (Record number [% biblionumber %])
+[% ELSE %]Add MARC record [% IF (circborrowernumber) %]<em>(fast cataloging)</em>[% END %]
+[% END %]
+</h1>
+
+[% IF marcflavour != 'NORMARC' AND NOT advancedMARCEditor %]
+<div>
+  <label><input type="checkbox" name="marcDocsSelect" id="marcDocsSelect" checked="true" /> Show MARC tag documentation links</label>
+  <label><input type="checkbox" name="marcTagsSelect" id="marcTagsSelect" style="margin-left: 5px;" /> Show tags</label>
+</div>
 [% END %]
 
 [% UNLESS ( number ) %]
@@ -675,7 +403,7 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
         [% IF ( duplicatebiblionumber ) %]
                     <div class="dialog alert">
                         <h4>Duplicate record suspected</h4>
-                        <p>Is this a duplicate of <a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% duplicatebiblionumber %]" onclick="openWindow('/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% duplicatebiblionumber %]&amp;popup=1', 'Duplicate biblio','800','600'); return false;">[% duplicatetitle %]</a>?</p>
+                        <p>Is this a duplicate of <a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% duplicatebiblionumber %]" onclick="openWindow('/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% duplicatebiblionumber %]&amp;popup=1', 'DuplicateBiblio','800','600'); return false;">[% duplicatetitle %]</a>?</p>
                         [% IF ( CAN_user_editcatalogue_edit_items ) %]<form action="/cgi-bin/koha/cataloguing/additem.pl" method="get">
                                                     <input type="hidden" name="biblionumber" value="[% duplicatebiblionumber %]" />
                                                     <input type="submit" class="edit" value="Yes: Edit existing items" />
@@ -699,188 +427,181 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
 [% ELSE %]
     <form method="post" name="f" id="f" action="/cgi-bin/koha/cataloguing/addbiblio.pl" onsubmit="return Check();">
     <input type="hidden" value="[% IF ( biblionumber ) %]view[% ELSE %]items[% END %]" id="redirect" name="redirect" />
-       <input type="hidden" value="0" id="confirm_not_duplicate" name="confirm_not_duplicate" />
-[% END %]
-       
-<div id="toolbar">
-
-<script type="text/javascript">
-       //<![CDATA[
-
-       // prepare DOM for YUI Toolbar
-
-        $(document).ready(function() {
-        $('#toolbar').fixFloat();
-               $("#z3950searchc").empty();
-        $("#savebutton").empty();
-           yuiToolbar();
-
-        $("#marcDocsSelect").click(function(){
-            if($(this).attr("checked")){
-                showMARCdocLinks();
-            } else {
-                hideMARCdocLinks();
-            }
-        });
-        });
-
-    function redirect(dest){
-        $("#redirect").attr("value",dest);
-        return Check();
-    }
-[% IF ( CAN_user_editcatalogue_edit_items ) %]
-    var onOption = function () {
-        return Check();
-    }
-
-    var savemenu = [
-        { text: _("Save and view record"), value: 1, onclick: {fn:function(){redirect("view");}} },
-        { text: _("Save and edit items"), value: 2, onclick: {fn:function(){redirect("items");}} }
-    ];
+    <input type="hidden" value="" id="current_tab" name="current_tab" />
+    <input type="hidden" value="0" id="confirm_not_duplicate" name="confirm_not_duplicate" />
 [% END %]
 
-       // YUI Toolbar Functions
-
-       function yuiToolbar() {
-[% IF ( CAN_user_editcatalogue_edit_items ) %]
-        var savesplitmenu = new YAHOO.widget.Button({
-            type: "split",
-            label: _("Save"),
-            id: "addbiblio",
-            name: "savemenubutton",
-            menu: savemenu,
-            container: "savebutton"
-         });
-
-        savesplitmenu.on("click", onOption); 
-[% ELSE %]
-        new YAHOO.widget.Button({
-            id: "addbiblio",
-            type: "button",
-            label: _("Save"),
-            container: "savebutton",
-            onclick: {fn:function(){redirect("view");}}
-        });
-[% END %]
-               new YAHOO.widget.Button({
-            id: "z3950search",
-            type: "button",
-            label: _("Z39.50 Search"),
-            container: "z3950searchc",
-                       onclick: {fn:function(){PopupZ3950()}}
-        });
-       }
+<div id="toolbar" class="btn-toolbar">
+    [% IF ( CAN_user_editcatalogue_edit_items ) %]
+        [% IF (circborrowernumber) %][%# fast cataloging must lead to items %]
+            <!-- Action is under fast cataloging - Save button redirecting to items -->
+            <div class="btn-group"><a href="#" id="saveanditems" class="btn btn-small"><i class="icon-hdd"></i> Save</a></div>
+        [% ELSE %]
+            <!-- Not using fast cataloging - Display split menu -->
+            <div class="btn-group">
+                <button class="btn btn-small" id="saverecord"><i class="icon-hdd"></i> Save</button>
+                <button class="btn btn-small dropdown-toggle" data-toggle="dropdown">
+                <span class="caret"></span>
+                </button>
+                <ul class="dropdown-menu">
+                    <li><a id="saveandview" href="#">Save and view record</a></li>
+                    <li><a id="saveanditems" href="#">Save and edit items</a></li>
+                    <li><a id="saveandcontinue" href="#">Save and continue editing</a></li>
+                </ul>
+            </div>
+        [% END %]
+    [% ELSE %]
+        <!-- User cannot edit items - single button redirecting to view -->
+        <div class="btn-group"><a href="#" id="saveandview" class="btn btn-small"><i class="icon-hdd"></i> Save</a></div>
+    [% END %]
 
-       //]]>
-       </script>
-
-               <ul class="toolbar">
-                       <li id="savebutton"><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="changeframework"><label for="Frameworks">Change framework: </label>
-                       <select name="frameworkcode" id="Frameworks" onchange="Changefwk(this);">
-                                       <option value="Default">Default</option>
-                                                       [% FOREACH frameworkcodeloo IN frameworkcodeloop %]
-                                [% IF ( frameworkcodeloo.selected ) %]
-                                    <option value="[% frameworkcodeloo.value %]" selected="selected">
-                                [% ELSE %]
-                                    <option value="[% frameworkcodeloo.value %]">
-                                [% END %]
-                                                    [% frameworkcodeloo.frameworktext %]                                      
-                                 </option>                          
-                                               [% END %]
-                       </select> 
-<input type="hidden" name="op" value="addbiblio" /></li>
-               </ul>
+    [% UNLESS (circborrowernumber) %][%# Hide in fast cataloging %]
+        <div class="btn-group"><a class="btn btn-small" href="#" id="z3950search"><i class="icon-search"></i> Z39.50/SRU search</a></div>
+        [% IF (biblionumber) %]
+            [% IF ( BiblioDefaultViewmarc ) %]
+                <div class="btn-group">
+                    <a class="btn btn-small" id="cancel" href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
+                </div>
+            [% ELSIF ( BiblioDefaultViewlabeled_marc ) %]
+                <div class="btn-group">
+                    <a class="btn btn-small" id="cancel" href="/cgi-bin/koha/catalogue/labeledMARCdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
+                </div>
+            [% ELSIF ( BiblioDefaultViewisbd ) %]
+                <div class="btn-group">
+                    <a class="btn btn-small" id="cancel" href="/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
+                </div>
+            [% ELSE %]
+                <div class="btn-group">
+                    <a class="btn btn-small" id="cancel" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber |url %]">Cancel</a>
+                </div>
+            [% END %]
+        [% ELSE %]
+            <a class="btn btn-small" id="cancel" href="/cgi-bin/koha/cataloguing/addbooks.pl">Cancel</a>
+        [% END %]
+    [% END %]
+    <div class="btn-group">
+        <label for="Frameworks">Change framework: </label>
+            <select name="frameworkcode" id="Frameworks" onchange="Changefwk(this);">
+                <option value="Default">Default</option>
+                [% FOREACH frameworkcodeloo IN frameworkcodeloop %]
+                    [% IF ( frameworkcodeloo.selected ) %]
+                        <option value="[% frameworkcodeloo.value %]" selected="selected">
+                    [% ELSE %]
+                        <option value="[% frameworkcodeloo.value %]">
+                    [% END %]
+                       [% frameworkcodeloo.frameworktext %]
+                       </option>
+                [% END %]
+            </select>
+        </div>
 </div>
 
 [% IF ( popup ) %]
         <input type="hidden" name="mode" value="popup" />
 [% END %]
+        <input type="hidden" name="op" value="addbiblio" />
         <input type="hidden" name="frameworkcode" value="[% frameworkcode %]" />
         <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
         <input type="hidden" name="breedingid" value="[% breedingid %]" />
+        <input type="hidden" name="changed_framework" value="" />
 
 <div id="addbibliotabs" class="toptabs numbered">
-       <ul>[% FOREACH BIG_LOO IN BIG_LOOP %]
-          <li>  [% IF ( BIG_LOO.number ) %]
-                <a href="/cgi-bin/koha/cataloguing/addbiblio.pl#tab[% BIG_LOO.number %]XX">[% BIG_LOO.number %]</a>
-            [% ELSE %]
-                <a href="/cgi-bin/koha/cataloguing/addbiblio.pl#tab[% BIG_LOO.number %]XX">[% BIG_LOO.number %]</a>
-            [% END %]</li>
-        [% END %]</ul>
+    <ul>
+        [% FOREACH BIG_LOO IN BIG_LOOP %]
+        <li><a href="#tab[% BIG_LOO.number %]XX">[% BIG_LOO.number %]</a></li>
+        [% END %]
+    </ul>
 
 [% FOREACH BIG_LOO IN BIG_LOOP %]
-<!-- hide every tab except the 1st -->
-[% IF ( BIG_LOO.number ) %]
-    <div id="tab[% BIG_LOO.number %]XX">
-[% ELSE %]
     <div id="tab[% BIG_LOO.number %]XX">
-[% END %]
-
     
     [% FOREACH innerloo IN BIG_LOO.innerloop %]
-        [% IF ( innerloo.tag ) %]
-       <div class="tag" id="tag_[% innerloo.tag %]_[% innerloo.index %][% innerloo.random %]">
+    [% IF ( innerloo.tag ) %]
+    <div class="tag" id="tag_[% innerloo.tag %]_[% innerloo.index %][% innerloo.random %]">
         <div class="tag_title" id="div_indicator_tag_[% innerloo.tag %]_[% innerloo.index %][% innerloo.random %]">
-            [% UNLESS hide_marc %]
-               [% IF advancedMARCEditor %]
-               <a href="#" tabindex="1" class="tagnum" title="[% innerloo.tag_lib %] - Click to Expand this Tag" onclick="ExpandField('tag_[% innerloo.tag %]_[% innerloo.index %][% innerloo.random %]'); return false;">[% innerloo.tag %]</a>
-               [% ELSE %]
-                 <span class="tagnum" title="[% innerloo.tag_lib %]">[% innerloo.tag %]
-                 [% IF marcflavour != 'NORMARC' %]<a class="marcdocs" onclick="PopupMARCFieldDoc('[% innerloo.tag %]', [% BIG_LOO.number %]); return false;">&nbsp;?</a>[% END %]
-                 </span>
-               [% END %]
-                [% IF ( innerloo.fixedfield ) %]
-                       <input tabindex="1" class="indicator flat" type="text" style="display:none;" name="tag_[% innerloo.tag %]_indicator1_[% innerloo.index %][% innerloo.random %]" size="1" maxlength="1" value="[% innerloo.indicator1 %]" />
-                       <input tabindex="1" class="indicator flat" type="text" style="display:none;" name="tag_[% innerloo.tag %]_indicator2_[% innerloo.index %][% innerloo.random %]" size="1" maxlength="1" value="[% innerloo.indicator2 %]" />
-                [% ELSE %]
-                       <input tabindex="1" class="indicator flat" type="text" name="tag_[% innerloo.tag %]_indicator1_[% innerloo.index %][% innerloo.random %]" size="1" maxlength="1" value="[% innerloo.indicator1 %]" />
-                       <input tabindex="1" class="indicator flat" type="text" name="tag_[% innerloo.tag %]_indicator2_[% innerloo.index %][% innerloo.random %]" size="1" maxlength="1" value="[% innerloo.indicator2 %]" />
-                [% END %] -
+            [% IF advancedMARCEditor %]
+                <a href="#" tabindex="1" class="tagnum" title="[% innerloo.tag_lib %] - Click to Expand this Tag" onclick="ExpandField('tag_[% innerloo.tag %]_[% innerloo.index %][% innerloo.random %]'); return false;">[% innerloo.tag %]</a>
             [% ELSE %]
+                <span class="tagnum" title="[% innerloo.tag_lib %]">[% innerloo.tag %]</span>
+                [% IF marcflavour != 'NORMARC' %]<a href="#" class="marcdocs" onclick="PopupMARCFieldDoc('[% innerloo.tag %]'); return false;">&nbsp;?</a>[% END %]
+            [% END %]
                 [% IF ( innerloo.fixedfield ) %]
-                    <input tabindex="1" type="hidden" name="tag_[% innerloo.tag %]_indicator1_[% innerloo.index %][% innerloo.random %]" value="[% innerloo.indicator1 %]" />
-                    <input tabindex="1" type="hidden" name="tag_[% innerloo.tag %]_indicator2_[% innerloo.index %][% innerloo.random %]" value="[% innerloo.indicator2 %]" />
+                    <input type="text"
+                        tabindex="1"
+                        class="indicator flat"
+                        style="display:none;"
+                        name="tag_[% innerloo.tag %]_indicator1_[% innerloo.index %][% innerloo.random %]"
+                        size="1"
+                        maxlength="1"
+                        value="[% innerloo.indicator1 %]" />
+                    <input type="text"
+                        tabindex="1"
+                        class="indicator flat"
+                        style="display:none;"
+                        name="tag_[% innerloo.tag %]_indicator2_[% innerloo.index %][% innerloo.random %]"
+                        size="1"
+                        maxlength="1"
+                        value="[% innerloo.indicator2 %]" />
                 [% ELSE %]
-                    <input tabindex="1" type="hidden" name="tag_[% innerloo.tag %]_indicator1_[% innerloo.index %][% innerloo.random %]" value="[% innerloo.indicator1 %]" />
-                    <input tabindex="1" type="hidden" name="tag_[% innerloo.tag %]_indicator2_[% innerloo.index %][% innerloo.random %]" value="[% innerloo.indicator2 %]" />
-                [% END %]
-            [% END %]
+                    <input type="text"
+                        tabindex="1"
+                        class="indicator flat"
+                        name="tag_[% innerloo.tag %]_indicator1_[% innerloo.index %][% innerloo.random %]"
+                        size="1"
+                        maxlength="1"
+                        value="[% innerloo.indicator1 %]" />
+                    <input type="text"
+                        tabindex="1"
+                        class="indicator flat"
+                        name="tag_[% innerloo.tag %]_indicator2_[% innerloo.index %][% innerloo.random %]"
+                        size="1"
+                        maxlength="1"
+                        value="[% innerloo.indicator2 %]" />
+                [% END %] -
 
             [% UNLESS advancedMARCEditor %]
-                   <a href="#" tabindex="1" class="expandfield" onclick="ExpandField('tag_[% innerloo.tag %]_[% innerloo.index %][% innerloo.random %]'); return false;" title="Click to Expand this Tag">[% innerloo.tag_lib %]</a>
-            [% END %]
-            [% IF ( innerloo.repeatable ) %]
-                <span class="subfield_controls"><a href="#" tabindex="1" class="buttonPlus" onclick="CloneField('tag_[% innerloo.tag %]_[% innerloo.index %][% innerloo.random %]'); return false;" title="Repeat this Tag"><img src="/intranet-tmpl/prog/img/repeat-tag.png" alt="Repeat this Tag" /></a>
+                <a href="#" tabindex="1" class="expandfield" onclick="ExpandField('tag_[% innerloo.tag %]_[% innerloo.index %][% innerloo.random %]'); return false;" title="Click to Expand this Tag">[% innerloo.tag_lib %]</a>
             [% END %]
-                <a href="#" tabindex="1" class="buttonMinus" onclick="UnCloneField('tag_[% innerloo.tag %]_[% innerloo.index %][% innerloo.random %]'); return false;" title="Delete this Tag"><img src="/intranet-tmpl/prog/img/delete-tag.png" alt="Delete this Tag" /></a></span>
+                <span class="field_controls">
+                [% IF ( innerloo.repeatable ) %]
+                    <a href="#" tabindex="1" class="buttonPlus" onclick="CloneField('tag_[% innerloo.tag %]_[% innerloo.index %][% innerloo.random %]','0','[% advancedMARCEditor %]'); return false;" title="Repeat this Tag">
+                        <img src="[% interface %]/[% theme %]/img/repeat-tag.png" alt="Repeat this Tag" />
+                    </a>
+                [% END %]
+                    <a href="#" tabindex="1" class="buttonMinus" onclick="UnCloneField('tag_[% innerloo.tag %]_[% innerloo.index %][% innerloo.random %]'); return false;" title="Delete this Tag">
+                        <img src="[% interface %]/[% theme %]/img/delete-tag.png" alt="Delete this Tag" />
+                    </a>
+                </span>
 
-            
         </div>
-       
+
         [% FOREACH subfield_loo IN innerloo.subfield_loop %]
             <!--  One line on the marc editor -->
-            <div class="subfield_line" style="[% subfield_loo.visibility %]; float: left; clear: left; width: 100%;" id="subfield[% subfield_loo.tag %][% subfield_loo.subfield %][% subfield_loo.random %]">
-            
+            <div class="subfield_line" style="[% subfield_loo.visibility %]" id="subfield[% subfield_loo.tag %][% subfield_loo.subfield %][% subfield_loo.random %]">
+
                 [% UNLESS advancedMARCEditor %]
                     [% IF ( subfield_loo.fixedfield ) %]<label for="tag_[% subfield_loo.tag %]_subfield_[% subfield_loo.subfield %]_[% subfield_loo.index %]_[% subfield_loo.index_subfield %]" style="display:none;" class="labelsubfield">
-                    [% ELSE %]<label for="tag_[% subfield_loo.tag %]_subfield_[% subfield_loo.subfield %]_[% subfield_loo.index %]_[% subfield_loo.index_subfield %]" class="labelsubfield">[% END %]
-                [% END %] 
-                
-                [% UNLESS hide_marc %]
-                <span class="subfieldcode">[% IF ( subfield_loo.fixedfield ) %] 
-                        <img class="buttonUp" style="display:none;" src="[% themelang %]/../img/up.png" onclick="upSubfield('subfield[% subfield_loo.tag %][% subfield_loo.subfield %][% subfield_loo.random %]')" alt="Move Up" title="Move Up" />
-                    [% ELSE %]
-                        <img class="buttonUp" src="[% themelang %]/../img/up.png" onclick="upSubfield('subfield[% subfield_loo.tag %][% subfield_loo.subfield %][% subfield_loo.random %]')" alt="Move Up" title="Move Up" />
+                    [% ELSE %]<label for="tag_[% subfield_loo.tag %]_subfield_[% subfield_loo.subfield %]_[% subfield_loo.index %]_[% subfield_loo.index_subfield %]" class="labelsubfield">
                     [% END %]
-                        <input title="[% subfield_loo.marc_lib_plain %]" style=" [% IF ( subfield_loo.fixedfield ) %]display:none; [% END %]border:0;" type="text" tabindex="0" name="tag_[% subfield_loo.tag %]_code_[% subfield_loo.subfield %]_[% subfield_loo.index %]_[% subfield_loo.index_subfield %]" value="[% subfield_loo.subfield %]" size="1" maxlength="1" class="flat" />
- </span>
-                [% ELSE %]
-                    <input type="hidden" name="tag_[% subfield_loo.tag %]_code_[% subfield_loo.subfield %]_[% subfield_loo.index %]_[% subfield_loo.index_subfield %]" value="[% subfield_loo.subfield %]" />
- </span>
                 [% END %]
-            
+
+                <span class="subfieldcode">
+                    [% IF ( subfield_loo.fixedfield ) %]
+                        <img class="buttonUp" style="display:none;" src="[% interface %]/[% theme %]/img/up.png" onclick="upSubfield('subfield[% subfield_loo.tag %][% subfield_loo.subfield %][% subfield_loo.random %]')" alt="Move Up" title="Move Up" />
+                    [% ELSE %]
+                        <img class="buttonUp" src="[% interface %]/[% theme %]/img/up.png" onclick="upSubfield('subfield[% subfield_loo.tag %][% subfield_loo.subfield %][% subfield_loo.random %]')" alt="Move Up" title="Move Up" />
+                    [% END %]
+                        <input type="text"
+                            title="[% subfield_loo.marc_lib_plain %]"
+                            style=" [% IF ( subfield_loo.fixedfield ) %]display:none; [% END %]border:0;"
+                            name="tag_[% subfield_loo.tag %]_code_[% subfield_loo.subfield %]_[% subfield_loo.index %]_[% subfield_loo.index_subfield %]"
+                            value="[% subfield_loo.subfield %]"
+                            size="1"
+                            maxlength="1"
+                            class="flat"
+                            tabindex="0" />
+                </span>
+
                 [% UNLESS advancedMARCEditor %]
                     [% IF ( subfield_loo.mandatory ) %]<span class="subfield subfield_mandatory">[% ELSE %]<span class="subfield">[% END %]
                         [% subfield_loo.marc_lib_plain %]
@@ -889,31 +610,65 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
                     </label>
                 [% END %]
                 
-                [% subfield_loo.marc_value %]
+                [% SET mv = subfield_loo.marc_value %]
+                [% IF ( mv.type == 'text' ) %]
+                    [% IF ( mv.readonly == 1 ) %]
+                    <input type="text" id="[%- mv.id -%]" name="[%- mv.name -%]" value="[%- mv.value -%]" class="input_marceditor readonly" tabindex="1" size="[%- mv.size -%]" maxlength="[%- mv.maxlength -%]" readonly="readonly" />
+                    [% ELSE %]
+                    <input type="text" id="[%- mv.id -%]" name="[%- mv.name -%]" value="[%- mv.value -%]" class="input_marceditor" tabindex="1" size="[%- mv.size -%]" maxlength="[%- mv.maxlength -%]" />
+                    [% END %]
+                    [% IF ( mv.authtype ) %]
+                    <span class="subfield_controls"><a href="#" class="buttonDot tag_editor" onclick="openAuth(this.parentNode.parentNode.getElementsByTagName('input')[1].id,'[%- mv.authtype -%]','biblio'); return false;" tabindex="1" title="Tag editor">Tag editor</a></span>
+                    [% END %]
+                [% ELSIF ( mv.type == 'text_complex' ) %]
+                    <input type="text" id="[%- mv.id -%]" name="[%- mv.name -%]" value="[%- mv.value -%]" class="input_marceditor" tabindex="1" size="[%- mv.size -%]" maxlength="[%- mv.maxlength -%]" onfocus="Focus[%- mv.function_name -%]([%- mv.index_tag -%])" onblur="Blur[%- mv.function_name -%]([%- mv.index_tag -%])" /><span class="subfield_controls"><a href="#" class="buttonDot tag_editor" onclick="Clic[%- mv.function_name -%]('[%- mv.id -%]'); return false;" tabindex="1" title="Tag editor">Tag editor</a></span>[% mv.javascript %]
+                [% ELSIF ( mv.type == 'hidden' ) %]
+                    <input tabindex="1" type="hidden" id="[%- mv.id -%]" name="[%- mv.name -%]" size="[%- mv.size -%]" maxlength="[%- mv.maxlength -%]" value="[%- mv.value -%]" />
+                [% ELSIF ( mv.type == 'textarea' ) %]
+                    <textarea cols="70" rows="4" id="[%- mv.id -%]" name="[%- mv.name -%]" class="input_marceditor" tabindex="1">[%- mv.value -%]</textarea>
+                [% ELSIF ( mv.type == 'select' ) %]
+                    <select name="[%- mv.name -%]" tabindex="1" size="1" class="input_marceditor" id="[%- mv.id -%]">
+                    [% FOREACH aval IN mv.values %]
+                        [% IF aval == mv.default %]
+                        <option value="[%- aval -%]" selected="selected">[%- mv.labels.$aval -%]</option>
+                        [% ELSE %]
+                        <option value="[%- aval -%]">[%- mv.labels.$aval -%]</option>
+                        [% END %]
+                    [% END %]
+                    </select>
+                [% END %]
                 
+                <span class="subfield_controls">
                 [% IF ( subfield_loo.repeatable ) %]
-                    <span class="subfield_controls"><a href="#" class="buttonPlus" tabindex="1" onclick="CloneSubfield('subfield[% subfield_loo.tag %][% subfield_loo.subfield %][% subfield_loo.random %]'); return false;"><img src="/intranet-tmpl/prog/img/clone-subfield.png" alt="Clone" title="Clone this subfield" /></a>
-                                        <a href="#" class="buttonMinus" tabindex="1" onclick="UnCloneField('subfield[% subfield_loo.tag %][% subfield_loo.subfield %][% subfield_loo.random %]'); return false;"><img src="/intranet-tmpl/prog/img/delete-subfield.png" alt="Delete" title="Delete this subfield" /></a></span>
+                    <a href="#" class="buttonPlus" tabindex="1" onclick="CloneSubfield('subfield[% subfield_loo.tag %][% subfield_loo.subfield %][% subfield_loo.random %]','[% advancedMARCEditor %]'); return false;">
+                        <img src="[% interface %]/[% theme %]/img/clone-subfield.png" alt="Clone" title="Clone this subfield" />
+                    </a>
+                    <a href="#" class="buttonMinus" tabindex="1" onclick="UnCloneField('subfield[% subfield_loo.tag %][% subfield_loo.subfield %][% subfield_loo.random %]'); return false;">
+                        <img src="[% interface %]/[% theme %]/img/delete-subfield.png" alt="Delete" title="Delete this subfield" />
+                    </a>
                 [% END %]
-
+                </span>
                 
             </div>
             <!-- End of the line -->
-            
         [% END %]
-        </div>
-        [% END %]<!-- tag -->
-    [% END %]
+
     </div>
-[% END %]
-</div>
-<!-- Fields for fast add cataloguing -->
+    [% END %]<!-- if innerloo.tag -->
+    [% END %]<!-- BIG_LOO.innerloop -->
+    </div>
+[% END %]<!-- BIG_LOOP -->
+
+</div><!-- tabs -->
+
+[%# Fields for fast cataloging %]
 <input type="hidden" name="barcode" value="[% barcode %]" />
 <input type="hidden" name="branch" value="[% branch %]" />
 <input type="hidden" name="circborrowernumber" value="[% circborrowernumber %]" />
 <input type="hidden" name="stickyduedate" value="[% stickyduedate %]" />
 <input type="hidden" name="duedatespec" value="[% duedatespec %]" />
-<!-- /End of fast add fields -->
+[%# End of fields for fast cataloging %]
+
 </form>
 
 </div>