var NS4=(navigator.appName=="Netscape") && (parseInt(navigator.appVersion)<5); 
var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
// WebDeposit functions

////////////////////////////////////////
// add article contributors function
////////////////////////////////////////
function addNextCont(tabname){
    //    alert("here");
    //    var oldtable;
    //    var results;
    //    if (NS4){
    //        oldtable = eval('document.layers.conttab');
    //        results = eval('oldtable.layers.tr');
    //    } else {
    //        oldtable = eval('document.getElementById(\'conttab\')');
    //        results = eval('oldtable.getElementsByTagName(\'tr\')');
    //    }
    var table = document.getElementById(tabname);
    var count = table.rows.length;
    if(count>1){
        count--;
    }
    //    alert("Count: "+count)
    if(count=="0"){
        var row = table.insertRow(table.rows.length);
        var cell = row.insertCell(0);
        cell.innerHTML = 'Other Contributors:';
    }
    var row = table.insertRow(table.rows.length);

    var cell = row.insertCell(0);
    cell.innerHTML = '  Role:  <select name="controle'+count+'" id="controle'+count+'" size="1"/><option SELECTED value="author">author</option><option value="chair">chair</option><option value="editor">editor</option><option value="translator">translator</option>';
    var cell1 = row.insertCell(1);
    cell1.innerHTML = 'First Name <input type="text" name="contfname'+count+'" id="contfname'+count+'" size="15" />';
    var cell2 = row.insertCell(2);
    cell2.innerHTML = 'Last Name <input type="text" name="contlname'+count+'" id="contlname'+count+'" size="15" />';


    return;
}

////////////////////////////////////////
// add book series contributors function
////////////////////////////////////////
function addNextBookCont(tabname){
    //    alert("here");
    //    var oldtable;
    var pref;
    //    if (NS4){
    //        oldtable = eval('document.layers.'+tabname);
    //        results = eval('oldtable.layers.tr');
    //    } else {
    //        oldtable = eval('document.getElementById(\'conttab\')');
    //        results = eval('oldtable.getElementsByTagName(\'tr\')');
    //    }
    if(tabname.indexOf("series")>=0){
        pref="ser";
    }else{
        pref="set";
    }
    var table = document.getElementById(tabname);
    var count = table.rows.length;
    if(count>1){
        count--;
    }
    //    alert("Count: "+count)
    //    if(count=="0"){
    //        var row = table.insertRow(table.rows.length);
    //        var cell = row.insertCell(0);
    //        cell.innerHTML = 'Other Contributors:';
    //    }
    var row = table.insertRow(table.rows.length);

    var cell = row.insertCell(0);
    cell.innerHTML = '   Role <select name="'+pref+'controle'+count+'" id="'+pref+'controle'+count+'" size="1"/><option SELECTED value="author">author</option><option value="chair">chair</option><option value="editor">editor</option><option value="translator">translator</option>';
    var cell1 = row.insertCell(1);
    cell1.innerHTML = 'First Name <input type="text" name="'+pref+'contfname'+count+'" id="'+pref+'contfname'+count+'" size="15" />';
    var cell2 = row.insertCell(2);
    cell2.innerHTML = 'Last Name <input type="text" name="'+pref+'contlname'+count+'" id="'+pref+'contlname'+count+'" size="15" />';


    return;
}

////////////////////////////////////////
// add book contributors function
////////////////////////////////////////
function addNextBookCont2(tabname){
    //    alert("here");
    //    var oldtable;
    //    var results;
    //    if (NS4){
    //        oldtable = eval('document.layers.conttab2');
    //        results = eval('oldtable.layers.tr');
    //    } else {
    //        oldtable = eval('document.getElementById(\'conttab2\')');
    //        results = eval('oldtable.getElementsByTagName(\'tr\')');
    //    }
    var table = document.getElementById(tabname);
    var count = table.rows.length;
    if(count>1){
        count--;
    }
    //    alert("Count: "+count)
    //    if(count=="0"){
    //        var row = table.insertRow(table.rows.length);
    //        var cell = row.insertCell(0);
    //        cell.innerHTML = 'Other Contributors:';
    //    }
    var row = table.insertRow(table.rows.length);

    var cell = row.insertCell(0);
    cell.innerHTML = '   Role <select name="controle'+count+'" id="controle'+count+'" size="1"/><option SELECTED value="author">author</option><option value="chair">chair</option><option value="editor">editor</option><option value="translator">translator</option>';
    var cell1 = row.insertCell(1);
    cell1.innerHTML = 'First Name <input type="text" name="contfname'+count+'" id="contfname'+count+'" size="15" />';
    var cell2 = row.insertCell(2);
    cell2.innerHTML = 'Last Name <input type="text" name="contlname'+count+'" id="contlname'+count+'" size="15" />';


    return;
}

////////////////////////////////////////
// multiple submit function processor
////////////////////////////////////////
function submit_check(passed){
    //    alert("submit_checked "+passed);
    if(passed.indexOf("Submit Journal DOI")==0){
        document.WEBDEPOSIT.pressed.value="Submit Journal DOI";
    }
    else if(passed.indexOf("Submit Book DOI")==0){
        document.WEBDEPOSIT.pressed.value="Submit Book DOI";
    }
    else if(passed.indexOf("Submit Report DOI")==0){
        document.WEBDEPOSIT.pressed.value="Submit Report DOI";
    }
    else if(passed.indexOf("Upload NLM Data")==0){
        document.WEBDEPOSIT.pressed.value="Upload NLM Data";
    }
    else if(passed.indexOf("Cancel")==0){
        document.WEBDEPOSIT.pressed.value="Cancel";
    }
    else if(passed.indexOf("Finish")==0){
        document.WEBDEPOSIT.pressed.value="Finish";
    }
    else{
        document.WEBDEPOSIT.pressed.value=passed;
    }
    //    alert(document.WEBDEPOSIT.contlname0.value+"\n"+document.WEBDEPOSIT.contlname1.value+document.WEBDEPOSIT.contlname2.value);

    return true;
}

/////////////////////////////
// Set data submission type
/////////////////////////////
function datatype_check(passed){
    //    alert("subtype check"+passed);
    if(passed.indexOf("book")==0){
        document.WEBDEPOSIT.datatype.value="book";
    }else if(passed.indexOf("confproc")==0){
        document.WEBDEPOSIT.datatype.value="confproc";
    }else if(passed.indexOf("report")==0){
        document.WEBDEPOSIT.datatype.value="report";
    }else if(passed.indexOf("nlm")==0){
        document.WEBDEPOSIT.datatype.value="nlm";
    }else{
        document.WEBDEPOSIT.datatype.value="journal";
    }
}

function bdtype_check(passed){
    //    alert("bdtype check");
    //alert("bdtype: "+document.WEBDEPOSIT.bdtype.value);
    if(passed.indexOf("Monograph")==0){
        //        document.WEBDEPOSIT.bdtype.value="Monograph";
        //        document.WEBDEPOSIT.bdtype.checked = true;
        var row = document.getElementById('seriesSection');
        row.style.display = 'none';
        var row = document.getElementById('setSection');
        row.style.display = 'none';
        var row = document.getElementById('volRow');
        row.style.display = 'none';

    }else if(passed.indexOf("Series")==0){
        //        document.WEBDEPOSIT.bdtype.value="Series";
        var row = document.getElementById('seriesSection');
        row.style.display = 'table-row';
        var row = document.getElementById('setSection');
        row.style.display = 'none';
        var row = document.getElementById('volRow');
        row.style.display = 'table-row';
    }else if(passed.indexOf("Set")==0){
        //        document.WEBDEPOSIT.bdtype.value="Set";
        var row = document.getElementById('seriesSection');
        row.style.display = 'none';
        var row = document.getElementById('setSection');
        row.style.display = 'table-row';
        var row = document.getElementById('volRow');
        row.style.display = 'table-row';
    }else{
        //        document.WEBDEPOSIT.datatype.value="Monograph";
        var row = document.getElementById('seriesSection');
        row.style.display = 'none';
        var row = document.getElementById('setSection');
        row.style.display = 'none';
        var row = document.getElementById('volRow');
        row.style.display = 'none';
    }
}

function cdtype_check(passed){
    //    alert("bdtype check");
    //alert("bdtype: "+document.WEBDEPOSIT.bdtype.value);
    if(passed.indexOf("Single")==0){
        //        document.WEBDEPOSIT.bdtype.value="Monograph";
        //        document.WEBDEPOSIT.bdtype.checked = true;
        var row = document.getElementById('seriesSection');
        row.style.display = 'none';
        var row = document.getElementById('volRow');
        row.style.display = 'none';
        var row = document.getElementById('reqIsbnRow');
        row.style.display = 'table-row';
        var row = document.getElementById('optIsbnRow');
        row.style.display = 'none';
        var row = document.getElementById('reqtitle');
        row.style.display = 'table-row';
        var row = document.getElementById('opttitle');
        row.style.display = 'none';

    }else if(passed.indexOf("Series")==0){
        //        document.WEBDEPOSIT.bdtype.value="Series";
        var row = document.getElementById('seriesSection');
        row.style.display = 'table-row';
        var row = document.getElementById('volRow');
        row.style.display = 'table-row';
        var row = document.getElementById('reqIsbnRow');
        row.style.display = 'none';
        var row = document.getElementById('optIsbnRow');
        row.style.display = 'table-row';
        var row = document.getElementById('reqtitle');
        row.style.display = 'none';
        var row = document.getElementById('opttitle');
        row.style.display = 'table-row';
    }else{
        //        document.WEBDEPOSIT.datatype.value="Monograph";
        var row = document.getElementById('seriesSection');
        row.style.display = 'none';
        var row = document.getElementById('volRow');
        row.style.display = 'none';
        var row = document.getElementById('reqIsbnRow');
        row.style.display = 'table-row';
        var row = document.getElementById('optIsbnRow');
        row.style.display = 'none';
        var row = document.getElementById('reqtitle');
        row.style.display = 'table-row';
        var row = document.getElementById('opttitle');
        row.style.display = 'none';
    }
}

function rtype_check(passed){
    //        alert("rtype check "+passed);
    //alert("bdtype: "+document.WEBDEPOSIT.bdtype.value);
    if(passed.indexOf("Report Series")==0){
        var row = document.getElementById('seriesSection');
        row.style.display = 'table-row';
    }else{
        var row = document.getElementById('seriesSection');
        row.style.display = 'none';
    }
}

///////////////////////////////////////////////
// Page one submit - split by type and forward
///////////////////////////////////////////////
function validate(){

    var passed=document.WEBDEPOSIT.pressed.value;
    //    alert("validate: "+passed);
    if(passed.indexOf("Submit Journal DOI")==0){
        document.WEBDEPOSIT.pressed.value="Submit Journal DOI";
        return(validate_journal());
    }
    else if(passed.indexOf("Submit Book DOI")==0){
        document.WEBDEPOSIT.pressed.value="Submit Book DOI";
        return(validate_book());
    }
    else if(passed.indexOf("Submit Report DOI")==0){
        document.WEBDEPOSIT.pressed.value="Submit Report DOI";
        return(validate_report());
    }
    else if(passed.indexOf("Upload NLM Data")==0){
        document.WEBDEPOSIT.pressed.value="Upload NLM Data";
        return(validate_nlmupload());
    }
    else if(passed.indexOf("Add Articles")==0){
        document.WEBDEPOSIT.pressed.value="Add Articles";
        return(validate_journal());
    }
    else if(passed.indexOf("Add Chapters")==0){
        document.WEBDEPOSIT.pressed.value="Add Chapters";
        return(validate_book());
    }
    else if(passed.indexOf("Add Content Item")==0){
        document.WEBDEPOSIT.pressed.value="Add Content Item";
        return(validate_report());
    }
    else if(passed.indexOf("Add Papers")==0){
        document.WEBDEPOSIT.pressed.value="Add Papers";
        return(validate_confproc());
    }
    else{
        document.WEBDEPOSIT.pressed.value="";
        return(validate_journal());
    }
}

///////////////////////////
// validate journal data 
///////////////////////////
function validate_journal(){
    var requiredfields = "";
    var prefix = "";

    if (document.WEBDEPOSIT.jtitle.value.length == 0) {
        requiredfields += "\n   *  Journal Title must be provided";
    }

    if (document.WEBDEPOSIT.jabbrev.value.length == 0) {
        requiredfields += "\n   *  Journal Abbreviation must be provided";
    }

    if(document.WEBDEPOSIT.pressed.value.match(/Submit Journal DOI/)){
        if(document.WEBDEPOSIT.jdoi.value.length == 0){
            requiredfields += "\n   *  Journal DOI is required.";
        }
        if(document.WEBDEPOSIT.jurl.value.length == 0){
            requiredfields += "\n   *  Journal URL is required.";
        }
    }

    if (document.WEBDEPOSIT.jdoi.value.length > 0) {
        if(! document.WEBDEPOSIT.jdoi.value.match(/^10\.\d{4,9}\//)){
            requiredfields += "\n   *  Journal DOI must be of a valid format (10.1555/suffix)";
        }
        else if(document.WEBDEPOSIT.jdoi.value.match(/^10\.\d{4,9}\/[^\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]*?[\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]/)){
            requiredfields += "\n   *  Journal DOI may NOT contain the following characters in the suffix \!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~";
        }
        else{
            prefix = document.WEBDEPOSIT.jdoi.value.substr(0,document.WEBDEPOSIT.jdoi.value.indexOf("\/"));
            document.WEBDEPOSIT.prefix.value = prefix;
        }
        if(document.WEBDEPOSIT.jurl.value.length == 0){
            requiredfields += "\n   *  If Journal DOI is provided, Journal URL must be supplied also.";
        }
    }
    if (document.WEBDEPOSIT.jurl.value.length > 0) {
        if(! document.WEBDEPOSIT.jurl.value.match(/^https?:\/\/[^\/\.]*?\.[^\/\.]*?\.[^\/\.]*?.*?\//i)){
            requiredfields += "\n   *  Journal URL must be valid. Protocol (http, https)://www.domain.com/pageID";
        }
        if(document.WEBDEPOSIT.jdoi.value.length == 0){
            requiredfields += "\n   *  If Journal URL is provided, Journal DOI must be supplied also.";
        }
    }

    if(document.WEBDEPOSIT.jpissn.value.length > 0){
        if(document.WEBDEPOSIT.jpissn.value.match(/^\d\d\d\d\-?\d\d\d[\dX]$/)){
            var re = new RegExp('-','gi');
            var rep = document.WEBDEPOSIT.jpissn.value.replace(re,'');
            document.WEBDEPOSIT.jpissn.value = rep;
        }
        else{
            requiredfields += "\n   *  Print ISSN must be 8 digits (or 7 and an X), with or without dash";
        }
    }

    if(document.WEBDEPOSIT.jeissn.value.length > 0){
        if(document.WEBDEPOSIT.jeissn.value.match(/^\d\d\d\d\-?\d\d\d[\dX]$/)){
            var re = new RegExp('-','gi');
            var rep = document.WEBDEPOSIT.jeissn.value.replace(re,'');
            document.WEBDEPOSIT.jeissn.value = rep;
        }
        else{
            requiredfields += "\n   *  Electronic ISSN must be 8 digits (or 7 and an X), with or without dash";
        }
    }

    if((document.WEBDEPOSIT.jpissn.value.length == 0)&& (document.WEBDEPOSIT.jeissn.value.length == 0)){
        requiredfields += "\n   *  One ISSN must be provided, either print or electronic";
    }

    if (document.WEBDEPOSIT.idoi.value.length > 0) {
        if(! document.WEBDEPOSIT.idoi.value.match(/^10\.\d{4,9}\//)){
            requiredfields += "\n   *  Issue DOI must be of a valid format (10.1555/suffix)";
        }
        else if(document.WEBDEPOSIT.idoi.value.match(/^10\.\d{4,9}\/[^\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]*?[\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]/)){
            requiredfields += "\n   *  Issue DOI may NOT contain the following characters in the suffix \!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~";
        }
        else{
            if(prefix.length > 0){
                var test = document.WEBDEPOSIT.idoi.value.substr(0,document.WEBDEPOSIT.idoi.value.indexOf("\/"));
                if(prefix.indexOf(test) != 0){
                    requiredfields += "\n   *  All DOIs must be of the same prefix";
                }
            }
            else{
                prefix = document.WEBDEPOSIT.idoi.value.substr(0,document.WEBDEPOSIT.idoi.value.indexOf("\/"));
            }
        }
        if(document.WEBDEPOSIT.iurl.value.length == 0){
            requiredfields += "\n   *  If Issue DOI is provided, Issue URL must be supplied also.";
        }
    }
    if (document.WEBDEPOSIT.iurl.value.length > 0) {
        if(! document.WEBDEPOSIT.iurl.value.match(/^https?:\/\/[^\/\.]*?\.[^\/\.]*?\.[^\/\.]*?.*?\//i)){
            requiredfields += "\n   *  Issue URL must be valid. Protocol (http, https)://www.domain.com/pageID";
        }
        if(document.WEBDEPOSIT.idoi.value.length == 0){
            requiredfields += "\n   *  If Issue URL is provided, Issue DOI must be supplied also.";
        }
    }

    if (! document.WEBDEPOSIT.jpubyear.value.match(/^\d{4}$/)){
        requiredfields += "\n   *  Publication Date YEAR must be of the form YYYY";
    }else{

    }

    if(document.WEBDEPOSIT.jpubmo.value.length > 0){
        if(document.WEBDEPOSIT.jpubmo.value.match(/^\d+$/)){
            if ((document.WEBDEPOSIT.jpubmo.value < 1) || (document.WEBDEPOSIT.jpubmo.value > 12)) {
                requiredfields += "\n   *  Publication Date MONTH must be between 1 and 12";
            }
        }
        else{
            requiredfields += "\n   *  Publication Date MONTH must be between 1 and 12";
        }
    }

    if(document.WEBDEPOSIT.jpubday.value.length > 0){
        if(document.WEBDEPOSIT.jpubday.value.match(/^\d+$/)){
            if ((document.WEBDEPOSIT.jpubday.value < 1) || (document.WEBDEPOSIT.jpubday.value > 31)) {
                requiredfields += "\n   *  Publication Date DAY must be between 1 and 31";
            }
        }
        else{
            requiredfields += "\n   *  Publication Date DAY must be between 1 and 31";
        }
    }
    
    if (requiredfields != "") {
        requiredfields  = "Please correctly enter the following fields:\n" + requiredfields;
        alert(requiredfields);
        return false;
    }
    else{
        if(prefix.length > 0){
            document.WEBDEPOSIT.prefix.value = prefix;
        }
        return true;
    }
}

///////////////////////////
// validate nlm upload data 
///////////////////////////
function validate_nlmupload(){
    var requiredfields = "";
    var prefix = "";

    if (document.WEBDEPOSIT.nlmfile.value.length == 0) {
        requiredfields += "\n   *  NLM Data File must be provided";
    }

    if (document.WEBDEPOSIT.nlmuser.value.length == 0) {
        requiredfields += "\n   *  System Username must be provided";
    }

    if (document.WEBDEPOSIT.nlmpass.value.length == 0) {
        requiredfields += "\n   *  Password must be provided";
    }

    if(document.WEBDEPOSIT.nlmemail.value.length > 0){
        var x = document.WEBDEPOSIT.nlmemail.value;
        var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})$/;
        if (! filter.test(x)){
            requiredfields += "\n   *  Incorrect email address format (someone@somedomain.com)\n";
            if(document.WEBDEPOSIT.nlmemail.value.indexOf('@') > 0){
                for (var i=0; i < document.WEBDEPOSIT.nlmemail.value.length; i++) {
                    var letter = document.WEBDEPOSIT.nlmemail.value.charAt(i).toLowerCase();
                    if (validchars.indexOf(letter) != -1)
                        continue;
                    requiredfields += "\n   *  Your email address contains an invalid character " + letter + ".\n";
                }
            }
        }
    }
    else{
        requiredfields += "\n   *  Your Email address must be provided";
    }

    //    if(document.WEBDEPOSIT.nlmdoi.value.length == 0){
    //        requiredfields += "\n   *  Article DOI is required.";
    //    }
    //    if(document.WEBDEPOSIT.nlmurl.value.length == 0){
    //        requiredfields += "\n   *  Article URL is required.";
    //    }

    if (document.WEBDEPOSIT.nlmdoi.value.length > 0) {
        if(! document.WEBDEPOSIT.nlmdoi.value.match(/^10\.\d{4,9}\//)){
            requiredfields += "\n   *  Article DOI must be of a valid format (10.1555/suffix)";
        }
        else if(document.WEBDEPOSIT.nlmdoi.value.match(/^10\.\d{4,9}\/[^\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]*?[\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]/)){
            requiredfields += "\n   *  Article DOI may NOT contain the following characters in the suffix \!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~";
        }
        else{
            prefix = document.WEBDEPOSIT.nlmdoi.value.substr(0,document.WEBDEPOSIT.nlmdoi.value.indexOf("\/"));
        }
    }
    if (document.WEBDEPOSIT.nlmurl.value.length > 0) {
        if(! document.WEBDEPOSIT.nlmurl.value.match(/^https?:\/\/[^\/\.]*?\.[^\/\.]*?\.[^\/\.]*?.*?\//i)){
            requiredfields += "\n   *  Article URL must be valid. Protocol (http, https)://www.domain.com/pageID";
        }
    }

    if (requiredfields != "") {
        requiredfields  = "Please correctly enter the following fields:\n" + requiredfields;
        alert(requiredfields);
        return false;
    }
    else{
        if(prefix.length > 0){
            document.WEBDEPOSIT.prefix.value = prefix;
        }
        return true;
    }
}

///////////////////////////////////
// validate journal article data 
///////////////////////////////////
function validate_article(){
    var requiredfields = "";
    var prefix = "";
    //    alert("Validating article");
    //    var test = eval('document.getElementById(\'contlname0\')');
    //oldtable.getElementsByTagName("contlname0");

    //    alert("contlname0: "+test.value);
    if(document.WEBDEPOSIT.pressed.value.match("Cancel")){
        return true;
    }

    if(document.WEBDEPOSIT.pressed.value.match("Finish")){
        var doc = document.WEBDEPOSIT;
        if((doc.alpage.value.length == 0) && (doc.afpage.value.length == 0) && (doc.afname.value.length == 0) && (doc.atitle.value.length == 0) && (doc.alname.value.length == 0) && (doc.adoi.value.length == 0) && (doc.aurl.value.length == 0)){
            if(! doc.depinfo.value.match("journal_article")){
                requiredfields += "\n   *  A deposit must include at least one article";
            }
            else{
                return true;
            }
        }
    }

    if (document.WEBDEPOSIT.atitle.value.length == 0) {
        requiredfields += "\n   *  Article Title must be provided";
    }
    //    alert("alname: "+document.WEBDEPOSIT.alname.value.length);
    if (document.WEBDEPOSIT.alname.value.length == 0) {
        requiredfields += "\n   *  Author's Last Name must be provided";
    }
    var table = document.getElementById('conttab');
    //        alert("Table: "+table);
    var count = table.rows.length;
    //        alert("count: "+count);
    for(var i=0; i<count; i++){
        var fname = eval('document.getElementById(\'contfname\'+i)');
        if(fname && fname.value.length>0){
            //                        alert("fname: "+fname.value);
            var lname = eval('document.getElementById(\'contlname\'+i)');
            //                        alert("lname: "+lname.value);
            if(lname && lname.value.length==0){
                requiredfields += "\n   *  Contributor's Last Name must be provided if a First Name exists. Blank entries are omitted.";

            }
        }
    }


    if (document.WEBDEPOSIT.adoi.value.length == 0) {
        requiredfields += "\n   *  Article DOI must be provided";
    }
    else{
        if(! document.WEBDEPOSIT.adoi.value.match(/^10\.\d{4,9}\//)){
            requiredfields += "\n   *  Article DOI must be of a valid format (10.1555/suffix)";// !"#$&'*+,:<=>?@[\]^`{|}~
        }
        else if(document.WEBDEPOSIT.adoi.value.match(/^10\.\d{4,9}\/[^\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]*?[\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]/)){
            requiredfields += "\n   *  Article DOI may NOT contain the following characters in the suffix \!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~";
        }
        else{
            prefix = document.WEBDEPOSIT.prefix.value;
            if(prefix.length > 0){
                var test = document.WEBDEPOSIT.adoi.value.substr(0,document.WEBDEPOSIT.adoi.value.indexOf("\/"));
                if(prefix.indexOf(test) != 0){
                    requiredfields += "\n   *  All DOIs must be of the same prefix";
                }
                else{
                    prefix = document.WEBDEPOSIT.adoi.value.substr(0,document.WEBDEPOSIT.adoi.value.indexOf("\/"));
                }
            }
        }
    }

    if (document.WEBDEPOSIT.aurl.value.length == 0) {
        requiredfields += "\n   *  Article URL must be provided";
    }
    else if(! document.WEBDEPOSIT.aurl.value.match(/^https?:\/\/[^\/\.]*?\.[^\/\.]*?\.[^\/\.]*?.*?\//i)){
        requiredfields += "\n   *  Article URL must be valid. Protocol (http, https)://www.domain.com/pageID";
    }
    if (requiredfields != "") {
        requiredfields ="Please correctly enter the following fields:\n" + requiredfields;
        alert(requiredfields);
        return false;
    }
    else{
        if(prefix.length > 0){
            document.WEBDEPOSIT.prefix.value = prefix;
        }
        //        var myForm = document.getElementById('WEBDEPOSIT');
        //        var max = myForm.length;
        //        for(var x=0; x<max; x++){
        //            temp = myForm.elements[x].name;
        //            if(temp.indexOf("cont")>=0){
        //                var samp = eval('document.getElementById(\''+temp+'\')');
        //                var inputElem = document.createElement("input");
        //                inputElem.setAttribute("type", "text");
        //                inputElem.setAttribute("name", "X"+temp);
        //                inputElem.setAttribute("id", "X"+temp);
        //                inputElem.setAttribute("size", "15");
        //                inputElem.setAttribute("value", temp.value);
        //                myForm.appendChild(inputElem);
        //            }
        //        }
        //        var test = eval('document.getElementById(\'contlname0\')');
        //        myForm.appendChild(test);

        return true;
    }
}

//////////////////////////////////
// validate book submission data
//////////////////////////////////
function validate_book(){
    var requiredfields = "";
    var prefix = "";
    //alert("validate_book");
    var type = "Monograph";
    for (counter = 0; counter < document.WEBDEPOSIT.bdtype.length; counter++)
    {
        if (document.WEBDEPOSIT.bdtype[counter].checked){
            if(counter==0){
                type="Monograph";
            }else if(counter==1){
                type="Series";
            }else{
                type="Set";
            }
        }

    }
    //    alert("data type: "+type);
    if(type.indexOf("Series")>=0){
        if (document.WEBDEPOSIT.bsertitle.value.length == 0) {
            requiredfields += "\n   *  Book Series Title must be provided";
        }
        //        if(document.WEBDEPOSIT.bserisbn.value.length > 0){
        //            if(document.WEBDEPOSIT.bserisbn.value.match(/^(\d{3})?[\- ]?\d[\- ]?\d\d\d\d\d\d[\- ]?\d\d[\- ]?[\dX]$/)){
        //                var re = new RegExp('-','gi');
        //                var rep1 = document.WEBDEPOSIT.bserisbn.value.replace(re,'');
        //                document.WEBDEPOSIT.bserisbn.value = rep1;
        //            }
        //            else{
        //                requiredfields += "\n   *  Book Series ISBN must be 10-13 digits (or 9-12 ending in X), with or without dashs";
        //            }
        //        }
        if(document.WEBDEPOSIT.bserissn.value.length > 0){
            if(document.WEBDEPOSIT.bserissn.value.match(/^\d\d\d\d\-?\d\d\d[\dX]$/)){
                var re = new RegExp('-','gi');
                var rep = document.WEBDEPOSIT.bserissn.value.replace(re,'');
                document.WEBDEPOSIT.bserissn.value = rep;
            }
            else{
                requiredfields += "\n   *  Book Series ISSN must be 8 digits (or 7 and an X), with or without dash";
            }
        }else{
            requiredfields += "\n   *  Book Series ISSN must be provided";
        }
        if ((document.WEBDEPOSIT.bserfname.value.length > 0) && (document.WEBDEPOSIT.bserlname.value.length == 0)) {
            requiredfields += "\n   *  Series Contributor: First Name is only allowed if Last Name is provided";
        }

    }else if(type.indexOf("Set")>=0){
        if (document.WEBDEPOSIT.bsettitle.value.length == 0) {
            requiredfields += "\n   *  Book Set Title must be provided";
        }
        if(document.WEBDEPOSIT.bsetisbn.value.length > 0){
            if(document.WEBDEPOSIT.bsetisbn.value.match(/^(\d{3})?[\- ]?\d[\- ]?\d\d\d\d\d\d[\- ]?\d\d[\- ]?[\dX]$/)){
                var re = new RegExp('-','gi');
                var rep1 = document.WEBDEPOSIT.bsetisbn.value.replace(re,'');
                document.WEBDEPOSIT.bsetisbn.value = rep1;
            }
            else{
                requiredfields += "\n   *  Book Series ISBN must be 10-13 digits (or 9-12 ending in X), with or without dashs";
            }
        }else{
            requiredfields += "\n   *  Book Set ISBN must be provided";
        }
        if ((document.WEBDEPOSIT.bsetfname.value.length > 0) && (document.WEBDEPOSIT.bsetlname.value.length == 0)) {
            requiredfields += "\n   *  Set Contributor: First Name is only allowed if Last Name is provided";
        }
    }

    var table = document.getElementById('seriesconttab');
    //            alert("series Table: "+table);
    if(table){
        var count = table.rows.length;
        //                    alert("series table row count: "+count);
        for(var i=0; i<count; i++){
            var fname = eval('document.getElementById(\'sercontfname\'+i)');
            //                                        alert("fname: "+fname.value);
            if(fname && fname.value.length>0){
                //                alert("fname: "+fname.value);
                var lname = eval('document.getElementById(\'sercontlname\'+i)');
                //                alert("lname: "+lname.value);
                if(lname && lname.value.length==0){
                    requiredfields += "\n   *  Series Contributor's Last Name must be provided if a First Name exists. Blank entries are omitted.";
                }
            }
        }
    }
    var table = document.getElementById('setconttab');
    //        alert("Set Table: "+table);
    if(table){
        var count = table.rows.length;
        //            alert("set table row count: "+count);
        for(var i=0; i<count; i++){
            var fname = eval('document.getElementById(\'setcontfname\'+i)');
            if(fname && fname.value.length>0){
                //                            alert("fname: "+fname.value);
                var lname = eval('document.getElementById(\'setcontlname\'+i)');
                //                            alert("lname: "+lname.value);
                if(lname && lname.value.length==0){
                    requiredfields += "\n   *  Set Contributor's Last Name must be provided if a First Name exists. Blank entries are omitted.";
                }
            }
        }
    }
    if (document.WEBDEPOSIT.btitle.value.length == 0) {
        requiredfields += "\n   *  Book Title must be provided";
    }

    if(document.WEBDEPOSIT.pressed.value.match(/Submit Book DOI/)){
        if(document.WEBDEPOSIT.bdoi.value.length == 0){
            requiredfields += "\n   *  Book DOI is required.";
        }
        if(document.WEBDEPOSIT.burl.value.length == 0){
            requiredfields += "\n   *  Book URL is required.";
        }
    }

    if(document.WEBDEPOSIT.blname.value.length == 0){
        requiredfields += "\n   *  First Contributer Last Name must be provided";
    }

    if ((document.WEBDEPOSIT.bfname.value.length > 0) && (document.WEBDEPOSIT.blname.value.length == 0)) {
        requiredfields += "\n   *  First Contributor: First Name is only allowed if Last Name is provided";
    }
    var table = document.getElementById('conttab2');
    //    alert("Table: "+table);
    if(table){
        var count = table.rows.length;
        //    alert("count: "+count);
        for(var i=0; i<count; i++){
            var fname = eval('document.getElementById(\'contfname\'+i)');
            if(fname && fname.value.length>0){
                //                            alert("fname: "+fname.value);
                var lname = eval('document.getElementById(\'contlname\'+i)');
                //                            alert("lname: "+lname.value);
                if(lname && lname.value.length==0){
                    requiredfields += "\n   *  Contributor's Last Name must be provided if a First Name exists. Blank entries are omitted.";
                }
            }
        }
    }
    //        document.WEBDEPOSIT.bdtype.value="Set";
    if (document.WEBDEPOSIT.bpub.value.length == 0) {
        requiredfields += "\n   *  Book Publisher must be provided";
    }

    if(document.WEBDEPOSIT.bisbn.value.length > 0){
        if(document.WEBDEPOSIT.bisbn.value.match(/^(\d{3})?[\- ]?\d[\- ]?\d\d\d\d\d\d[\- ]?\d\d[\- ]?[\dX]$/)){
            var re = new RegExp('-','gi');
            var rep = document.WEBDEPOSIT.bisbn.value.replace(re,'');
            document.WEBDEPOSIT.bisbn.value = rep;
        }
        else{
            requiredfields += "\n   *  Book ISBN must be 10-13 digits (or 9-12 ending in X), with or without dashs";
        }
    }else{
        requiredfields += "\n   *  Book ISBN must be provided";
    }

    //    if(document.WEBDEPOSIT.bissn.value.length > 0){
    //        if(document.WEBDEPOSIT.bissn.value.match(/^\d\d\d\d\-?\d\d\d[\dX]$/)){
    //            var re = new RegExp('-','gi');
    //            var rep = document.WEBDEPOSIT.bissn.value.replace(re,'');
    //            document.WEBDEPOSIT.bissn.value = rep;
    //        }
    //        else{
    //            requiredfields += "\n   *  Book ISSN must be 8 digits (or 7 and an X), with or without dash";
    //        }
    //    }


    if (! document.WEBDEPOSIT.bpubyear.value.match(/^\d{4}$/)){
        requiredfields += "\n   *  Publication Date YEAR must be of the form YYYY";
    }

    if(document.WEBDEPOSIT.bpubmo.value.length > 0){
        if(document.WEBDEPOSIT.bpubmo.value.match(/^\d+$/)){
            if ((document.WEBDEPOSIT.bpubmo.value < 1) || (document.WEBDEPOSIT.bpubmo.value > 12)) {
                requiredfields += "\n   *  Publication Date MONTH must be between 1 and 12";
            }
        }
        else{
            requiredfields += "\n   *  Publication Date MONTH must be between 1 and 12";
        }
    }

    if(document.WEBDEPOSIT.bpubday.value.length > 0){
        if(document.WEBDEPOSIT.bpubday.value.match(/^\d+$/)){
            if ((document.WEBDEPOSIT.bpubday.value < 1) || (document.WEBDEPOSIT.bpubday.value > 31)) {
                requiredfields += "\n   *  Publication Date DAY must be between 1 and 31";
            }
        }
        else{
            requiredfields += "\n   *  Publication Date DAY must be between 1 and 31";
        }
    }
    
    if (requiredfields != "") {
        requiredfields  = "Please correctly enter the following fields:\n" + requiredfields;
        alert(requiredfields);
        return false;
    }
    else{
        if(prefix.length > 0){
            document.WEBDEPOSIT.prefix.value = prefix;
        }
        return true;
    }
}

//////////////////////////////////
// validate report submission data
//////////////////////////////////
function validate_report(){
    var requiredfields = "";
    var prefix = "";
    //    alert("validate_report");
    //    var type = "Monograph";
    for (counter = 0; counter < document.WEBDEPOSIT.rtype.length; counter++)
    {
        if (document.WEBDEPOSIT.rtype[counter].checked){
            if(counter==0){
                type="Report";
            }else {
                type="Report Series";
            }
        }

    }
    //    alert("data type: "+type);
    if(type.indexOf("Series")>=0){
        if (document.WEBDEPOSIT.rsertitle.value.length == 0) {
            requiredfields += "\n   *  Report Series Title must be provided";
        }
        //        if(document.WEBDEPOSIT.bserisbn.value.length > 0){
        //            if(document.WEBDEPOSIT.bserisbn.value.match(/^(\d{3})?[\- ]?\d[\- ]?\d\d\d\d\d\d[\- ]?\d\d[\- ]?[\dX]$/)){
        //                var re = new RegExp('-','gi');
        //                var rep1 = document.WEBDEPOSIT.bserisbn.value.replace(re,'');
        //                document.WEBDEPOSIT.bserisbn.value = rep1;
        //            }
        //            else{
        //                requiredfields += "\n   *  Book Series ISBN must be 10-13 digits (or 9-12 ending in X), with or without dashs";
        //            }
        //        }
        if(document.WEBDEPOSIT.rserissn.value.length > 0){
            if(document.WEBDEPOSIT.rserissn.value.match(/^\d\d\d\d\-?\d\d\d[\dX]$/)){
                var re = new RegExp('-','gi');
                var rep = document.WEBDEPOSIT.rserissn.value.replace(re,'');
                document.WEBDEPOSIT.rserissn.value = rep;
            }
            else{
                requiredfields += "\n   *  Report Series ISSN must be 8 digits (or 7 and an X), with or without dash";
            }
        }else{
            requiredfields += "\n   *  Report Series ISSN must be provided";
        }
        if ((document.WEBDEPOSIT.rserfname.value.length > 0) && (document.WEBDEPOSIT.rserlname.value.length == 0)) {
            requiredfields += "\n   *  Series Contributor: First Name is only allowed if Last Name is provided";
        }
    }
    //    }else if(type.indexOf("Set")>=0){
    //        if (document.WEBDEPOSIT.bsettitle.value.length == 0) {
    //            requiredfields += "\n   *  Book Set Title must be provided";
    //        }
    //        if(document.WEBDEPOSIT.bsetisbn.value.length > 0){
    //            if(document.WEBDEPOSIT.bsetisbn.value.match(/^(\d{3})?[\- ]?\d[\- ]?\d\d\d\d\d\d[\- ]?\d\d[\- ]?[\dX]$/)){
    //                var re = new RegExp('-','gi');
    //                var rep1 = document.WEBDEPOSIT.bsetisbn.value.replace(re,'');
    //                document.WEBDEPOSIT.bsetisbn.value = rep1;
    //            }
    //            else{
    //                requiredfields += "\n   *  Book Series ISBN must be 10-13 digits (or 9-12 ending in X), with or without dashs";
    //            }
    //        }else{
    //            requiredfields += "\n   *  Book Set ISBN must be provided";
    //        }
    //        if ((document.WEBDEPOSIT.bsetfname.value.length > 0) && (document.WEBDEPOSIT.bsetlname.value.length == 0)) {
    //            requiredfields += "\n   *  Set Contributor: First Name is only allowed if Last Name is provided";
    //        }
    //    }

    var table = document.getElementById('seriesconttab');
    //            alert("series Table: "+table);
    if(table){
        var count = table.rows.length;
        //                    alert("series table row count: "+count);
        for(var i=0; i<count; i++){
            var fname = eval('document.getElementById(\'sercontfname\'+i)');
            //                                        alert("fname: "+fname.value);
            if(fname && fname.value.length>0){
                //                alert("fname: "+fname.value);
                var lname = eval('document.getElementById(\'sercontlname\'+i)');
                //                alert("lname: "+lname.value);
                if(lname && lname.value.length==0){
                    requiredfields += "\n   *  Series Contributor's Last Name must be provided if a First Name exists. Blank entries are omitted.";
                }
            }
        }
    }
    //    var table = document.getElementById('setconttab');
    ////        alert("Set Table: "+table);
    //    if(table){
    //        var count = table.rows.length;
    ////            alert("set table row count: "+count);
    //        for(var i=0; i<count; i++){
    //            var fname = eval('document.getElementById(\'setcontfname\'+i)');
    //            if(fname && fname.value.length>0){
    ////                            alert("fname: "+fname.value);
    //                var lname = eval('document.getElementById(\'setcontlname\'+i)');
    ////                            alert("lname: "+lname.value);
    //                if(lname && lname.value.length==0){
    //                    requiredfields += "\n   *  Set Contributor's Last Name must be provided if a First Name exists. Blank entries are omitted.";
    //                }
    //            }
    //        }
    //    }
    if (document.WEBDEPOSIT.rtitle.value.length == 0) {
        requiredfields += "\n   *  Report Title must be provided";
    }

    if(document.WEBDEPOSIT.pressed.value.match(/Submit Report DOI/)){
        if(document.WEBDEPOSIT.rdoi.value.length == 0){
            requiredfields += "\n   *  Report DOI is required.";
        }
        if(document.WEBDEPOSIT.rurl.value.length == 0){
            requiredfields += "\n   *  Report URL is required.";
        }
    }

    if(document.WEBDEPOSIT.rlname.value.length == 0){
        requiredfields += "\n   *  First Contributer Last Name must be provided";
    }

    if ((document.WEBDEPOSIT.rfname.value.length > 0) && (document.WEBDEPOSIT.rlname.value.length == 0)) {
        requiredfields += "\n   *  First Contributor: First Name is only allowed if Last Name is provided";
    }
    var table = document.getElementById('conttab2');
    //    alert("Table: "+table);
    if(table){
        var count = table.rows.length;
        //    alert("count: "+count);
        for(var i=0; i<count; i++){
            var fname = eval('document.getElementById(\'contfname\'+i)');
            if(fname && fname.value.length>0){
                //                            alert("fname: "+fname.value);
                var lname = eval('document.getElementById(\'contlname\'+i)');
                //                            alert("lname: "+lname.value);
                if(lname && lname.value.length==0){
                    requiredfields += "\n   *  Contributor's Last Name must be provided if a First Name exists. Blank entries are omitted.";
                }
            }
        }
    }
    //        document.WEBDEPOSIT.bdtype.value="Set";
    if (document.WEBDEPOSIT.rpub.value.length == 0) {
        requiredfields += "\n   *  Report Publisher must be provided";
    }

    //        if(document.WEBDEPOSIT.risbn.value.length > 0){
    //            if(document.WEBDEPOSIT.risbn.value.match(/^(\d{3})?[\- ]?\d[\- ]?\d\d\d\d\d\d[\- ]?\d\d[\- ]?[\dX]$/)){
    //                var re = new RegExp('-','gi');
    //                var rep = document.WEBDEPOSIT.risbn.value.replace(re,'');
    //                document.WEBDEPOSIT.risbn.value = rep;
    //            }
    //            else{
    //                requiredfields += "\n   *  Report ISBN must be 10-13 digits (or 9-12 ending in X), with or without dashs";
    //            }
    //        }else{
    //            requiredfields += "\n   *  Report ISBN must be provided";
    //        }

    //    if(document.WEBDEPOSIT.bissn.value.length > 0){
    //        if(document.WEBDEPOSIT.bissn.value.match(/^\d\d\d\d\-?\d\d\d[\dX]$/)){
    //            var re = new RegExp('-','gi');
    //            var rep = document.WEBDEPOSIT.bissn.value.replace(re,'');
    //            document.WEBDEPOSIT.bissn.value = rep;
    //        }
    //        else{
    //            requiredfields += "\n   *  Book ISSN must be 8 digits (or 7 and an X), with or without dash";
    //        }
    //    }


    if (! document.WEBDEPOSIT.rpubyear.value.match(/^\d{4}$/)){
        requiredfields += "\n   *  Publication Date YEAR must be of the form YYYY";
    }

    if(document.WEBDEPOSIT.rpubmo.value.length > 0){
        if(document.WEBDEPOSIT.rpubmo.value.match(/^\d+$/)){
            if ((document.WEBDEPOSIT.rpubmo.value < 1) || (document.WEBDEPOSIT.rpubmo.value > 12)) {
                requiredfields += "\n   *  Publication Date MONTH must be between 1 and 12";
            }
        }
        else{
            requiredfields += "\n   *  Publication Date MONTH must be between 1 and 12";
        }
    }

    if(document.WEBDEPOSIT.rpubday.value.length > 0){
        if(document.WEBDEPOSIT.rpubday.value.match(/^\d+$/)){
            if ((document.WEBDEPOSIT.rpubday.value < 1) || (document.WEBDEPOSIT.rpubday.value > 31)) {
                requiredfields += "\n   *  Publication Date DAY must be between 1 and 31";
            }
        }
        else{
            requiredfields += "\n   *  Publication Date DAY must be between 1 and 31";
        }
    }

    if (requiredfields != "") {
        requiredfields  = "Please correctly enter the following fields:\n" + requiredfields;
        alert(requiredfields);
        return false;
    }
    else{
        if(prefix.length > 0){
            document.WEBDEPOSIT.prefix.value = prefix;
        }
        return true;
    }
}

//////////////////////////
// validate book chapter
//////////////////////////
function validate_chapter(){
    var requiredfields = "";
    var prefix = "";

    if(document.WEBDEPOSIT.pressed.value.match("Cancel")){
        return true;
    }

    if(document.WEBDEPOSIT.pressed.value.match("Finish")){
        var doc = document.WEBDEPOSIT;
        if((doc.bclpage.value.length == 0) && (doc.bcfpage.value.length == 0) && (doc.bcfname.value.length == 0) && (doc.bctitle.value.length == 0) && (doc.bclname.value.length == 0) && (doc.bcdoi.value.length == 0) && (doc.bcurl.value.length == 0)){
            if(! doc.depinfo.value.match("content_item")){
                requiredfields += "\n   *  A book deposit must include at least one chapter";
            }
            else{
                return true;
            }
        }
    }

    if (document.WEBDEPOSIT.bctitle.value.length == 0) {
        requiredfields += "\n   *  Chapter Title must be provided";
    }

    if(document.WEBDEPOSIT.bclname.value.length == 0){
        requiredfields += "\n   *  Contributer Last Name must be provided";
    }

    if ((document.WEBDEPOSIT.bcfname.value.length > 0) && (document.WEBDEPOSIT.bclname.value.length == 0)) {
        requiredfields += "\n   *  First Contributor: First Name is only allowed if Last Name is provided";
    }

    if (document.WEBDEPOSIT.bcdoi.value.length == 0) {
        requiredfields += "\n   *  Chapter DOI must be provided";
    }
    else{
        if(! document.WEBDEPOSIT.bcdoi.value.match(/^10\.\d{4,9}\//)){
            requiredfields += "\n   *  Chapter DOI must be of a valid format (10.1555/suffix)";
        }
        else if(document.WEBDEPOSIT.bcdoi.value.match(/^10\.\d{4,9}\/[^\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]*?[\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]/)){
            requiredfields += "\n   *  Chapter DOI may NOT contain the following characters in the suffix \!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~";
        }
        else{
            prefix = document.WEBDEPOSIT.prefix.value;
            if(prefix.length > 0){
                var test = document.WEBDEPOSIT.bcdoi.value.substr(0,document.WEBDEPOSIT.bcdoi.value.indexOf("\/"));
                if(prefix.indexOf(test) != 0){
                    requiredfields += "\n   *  All DOIs must be of the same prefix";
                }
            }
            else{
                prefix = document.WEBDEPOSIT.bcdoi.value.substr(0,document.WEBDEPOSIT.bcdoi.value.indexOf("\/"));
            }
        }
    }

    if (document.WEBDEPOSIT.bcurl.value.length == 0) {
        requiredfields += "\n   *  Chapter URL must be provided";
    }
    else if(! document.WEBDEPOSIT.bcurl.value.match(/^https?:\/\/[^\/\.]*?\.[^\/\.]*?\.[^\/\.]*?.*?\//i)){
        requiredfields += "\n   *  Chapter URL must be valid. Protocol (http, https)://www.domain.com/pageID";
    }

    if (requiredfields != "") {
        requiredfields  = "Please correctly enter the following fields:\n" + requiredfields;
        alert(requiredfields);
        return false;
    }
    else{
        if(prefix.length > 0){
            document.WEBDEPOSIT.prefix.value = prefix;
        }
        return true;
    }
}

////////////////////////////
// validate conf proc data
////////////////////////////
function validate_confproc(){
    var requiredfields = "";
    var prefix = "";

    if (document.WEBDEPOSIT.cptitle.value.length == 0) {
        requiredfields += "\n   *  Conference Title must be provided";
    }


    var type = "Single";
    for (counter = 0; counter < document.WEBDEPOSIT.cdtype.length; counter++)
    {
        if (document.WEBDEPOSIT.cdtype[counter].checked){
            if(counter==0){
                type="Single";
            }else if(counter==1){
                type="Series";
            }else{
                type="Series";
            }
        }

    }
    //    alert("data type: "+type);
    if(type.indexOf("Series")>=0){
        if (document.WEBDEPOSIT.cpsertitle.value.length == 0) {
            requiredfields += "\n   *  Proceeding Series Title must be provided";
        }
        //        if(document.WEBDEPOSIT.bserisbn.value.length > 0){
        //            if(document.WEBDEPOSIT.bserisbn.value.match(/^(\d{3})?[\- ]?\d[\- ]?\d\d\d\d\d\d[\- ]?\d\d[\- ]?[\dX]$/)){
        //                var re = new RegExp('-','gi');
        //                var rep1 = document.WEBDEPOSIT.bserisbn.value.replace(re,'');
        //                document.WEBDEPOSIT.bserisbn.value = rep1;
        //            }
        //            else{
        //                requiredfields += "\n   *  Book Series ISBN must be 10-13 digits (or 9-12 ending in X), with or without dashs";
        //            }
        //        }
        if(document.WEBDEPOSIT.cpserissn.value.length > 0){
            if(document.WEBDEPOSIT.cpserissn.value.match(/^\d\d\d\d\-?\d\d\d[\dX]$/)){
                var re = new RegExp('-','gi');
                var rep = document.WEBDEPOSIT.cpserissn.value.replace(re,'');
                document.WEBDEPOSIT.cpserissn.value = rep;
            }
            else{
                requiredfields += "\n   *  Proceeding Series ISSN must be 8 digits (or 7 and an X), with or without dash";
            }
        }else{
            requiredfields += "\n   *  Proceeding Series ISSN must be provided";
        }
        if (document.WEBDEPOSIT.cpserdoi.value.length > 0) {
            if(! document.WEBDEPOSIT.cpserdoi.value.match(/^10\.\d{4,9}\//)){
                requiredfields += "\n   *  Proceeding Series DOI must be of a valid format (10.1555/suffix)";
            }
            else if(document.WEBDEPOSIT.cpserdoi.value.match(/^10\.\d{4,9}\/[^\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]*?[\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]/)){
                requiredfields += "\n   *  Proceeding Series DOI may NOT contain the following characters in the suffix \!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~";
            }
            else{
                prefix = document.WEBDEPOSIT.prefix.value;
                if(prefix.length > 0){
                    var test = document.WEBDEPOSIT.cpserdoi.value.substr(0,document.WEBDEPOSIT.cpserdoi.value.indexOf("\/"));
                    if(prefix.indexOf(test) != 0){
                        requiredfields += "\n   *  All DOIs must be of the same prefix";
                    }
                    else{
                        prefix = document.WEBDEPOSIT.cpserdoi.value.substr(0,document.WEBDEPOSIT.cpserdoi.value.indexOf("\/"));
                    }
                }
            }
        }

        if (document.WEBDEPOSIT.cpserurl.value.length == 0) {
//            requiredfields += "\n   *  Proceeding Series URL must be provided";
        }
        else if(! document.WEBDEPOSIT.acpserurlurl.value.match(/^https?:\/\/[^\/\.]*?\.[^\/\.]*?\.[^\/\.]*?.*?\//i)){
            requiredfields += "\n   *  Proceeding Series URL must be valid. Protocol (http, https)://www.domain.com/pageID";
        }

        // if volume or title are present, isbn must be provided
        if(document.WEBDEPOSIT.cpprotitleseries.value.length > 0 && document.WEBDEPOSIT.cpoisbn.value.length == 0){
            requiredfields += "\n   *  If Proceedings Title is provided, ISBN must be provided as well";
        }else{
            if(document.WEBDEPOSIT.cpvol.value.length > 0 && document.WEBDEPOSIT.cpoisbn.value.length == 0){
                requiredfields += "\n   *  If Volume is provided, ISBN must be provided as well";
            }
        }
        // if isbn is provided, either title or volume must be provided
        if(document.WEBDEPOSIT.cpoisbn.value.length > 0 && document.WEBDEPOSIT.cpprotitleseries.value.length == 0 && document.WEBDEPOSIT.cpvol.value.length == 0){
            requiredfields += "\n   *  If ISBN is provided, either Volume or Proceedings Title must be provided as well";
        }
    }else{
        if (document.WEBDEPOSIT.cpprotitlesingle.value.length == 0) {
            requiredfields += "\n   *  Proceedings Title must be provided";
        }
    }

    if (document.WEBDEPOSIT.cppropub.value.length == 0) {
        requiredfields += "\n   *  Publisher must be provided";
    }

    if (document.WEBDEPOSIT.cpdoi.value.length > 0) {
        if(! document.WEBDEPOSIT.cpdoi.value.match(/^10\.\d{4,9}\//)){
            requiredfields += "\n   *  Conference DOI must be of a valid format (10.1555/suffix)";
        }
        else if(document.WEBDEPOSIT.cpdoi.value.match(/^10\.\d{4,9}\/[^\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]*?[\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]/)){
            requiredfields += "\n   *  Conference DOI may NOT contain the following characters in the suffix \!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~";
        }
        else{
            prefix = document.WEBDEPOSIT.cpdoi.value.substr(0,document.WEBDEPOSIT.cpdoi.value.indexOf("\/"));
            document.WEBDEPOSIT.prefix.value = prefix;
        }
        if(document.WEBDEPOSIT.cpurl.value.length == 0){
            requiredfields += "\n   *  If Conference DOI is provided, Conference URL must be supplied also.";
        }
    }
    if (document.WEBDEPOSIT.cpurl.value.length > 0) {
        if(! document.WEBDEPOSIT.cpurl.value.match(/^https?:\/\/[^\/\.]*?\.[^\/\.]*?\.[^\/\.]*?.*?\//i)){
            requiredfields += "\n   *  Conference URL must be valid. Protocol (http, https)://www.domain.com/pageID";
        }
        if(document.WEBDEPOSIT.cpdoi.value.length == 0){
            requiredfields += "\n   *  If Conference URL is provided, Conference DOI must be supplied also.";
        }
    }

    if(document.WEBDEPOSIT.cpoisbn.value.length > 0){
        if(document.WEBDEPOSIT.cpoisbn.value.match(/^(\d{3})?[\- ]?\d[\- ]?\d\d\d\d\d\d[\- ]?\d\d[\- ]?[\dX]$/)){
            var re = new RegExp('-','gi');
            var rep = document.WEBDEPOSIT.cpoisbn.value.replace(re,'');
            document.WEBDEPOSIT.cpoisbn.value = rep;
        }
        else{
            requiredfields += "\n   *  Conference ISBN must be 10-13 digits (or 9-12 ending in X), with or without dash";
        }
    }else{
    }
    if(document.WEBDEPOSIT.cprisbn.value.length > 0){
        if(document.WEBDEPOSIT.cprisbn.value.match(/^(\d{3})?[\- ]?\d[\- ]?\d\d\d\d\d\d[\- ]?\d\d[\- ]?[\dX]$/)){
            var re = new RegExp('-','gi');
            var rep = document.WEBDEPOSIT.cprisbn.value.replace(re,'');
            document.WEBDEPOSIT.cprisbn.value = rep;
        }
        else{
            requiredfields += "\n   *  Conference ISBN must be 10-13 digits (or 9-12 ending in X), with or without dash";
        }
    }else{
        if(type.indexOf("Single")>=0){
            requiredfields += "\n   *  Proceeding ISBN must be provided";
        }
    }

    //    if(document.WEBDEPOSIT.cpissn.value.length > 0){
    //        if(document.WEBDEPOSIT.cpissn.value.match(/^\d\d\d\d\-?\d\d\d[\dX]$/)){
    //            var re = new RegExp('-','gi');
    //            var rep = document.WEBDEPOSIT.cpissn.value.replace(re,'');
    //            document.WEBDEPOSIT.cpissn.value = rep;
    //        }
    //        else{
    //            requiredfields += "\n   *  Conference ISSN must be 8 digits (or 7 and an X), with or without dash";
    //        }
    //    }

    if (! document.WEBDEPOSIT.cppubyear.value.match(/^\d{4}$/)){
        requiredfields += "\n   *  Publication Date YEAR must be of the form YYYY";
    }

    if(document.WEBDEPOSIT.cppubmo.value.length > 0){
        if(document.WEBDEPOSIT.cppubmo.value.match(/^\d+$/)){
            if ((document.WEBDEPOSIT.cppubmo.value < 1) || (document.WEBDEPOSIT.cppubmo.value > 12)) {
                requiredfields += "\n   *  Publication Date MONTH must be between 1 and 12";
            }
        }
        else{
            requiredfields += "\n   *  Publication Date MONTH must be between 1 and 12";
        }
    }

    if(document.WEBDEPOSIT.cppubday.value.length > 0){
        if(document.WEBDEPOSIT.cppubday.value.match(/^\d+$/)){
            if ((document.WEBDEPOSIT.cppubday.value < 1) || (document.WEBDEPOSIT.cppubday.value > 31)) {
                requiredfields += "\n   *  Publication Date DAY must be between 1 and 31";
            }
        }
        else{
            requiredfields += "\n   *  Publication Date DAY must be between 1 and 31";
        }
    }
    
    if (requiredfields != "") {
        requiredfields  = "Please correctly enter the following fields:\n" + requiredfields;
        alert(requiredfields);
        return false;
    }
    else{
        if(prefix.length > 0){
            document.WEBDEPOSIT.prefix.value = prefix;
        }
        return true;
    }
}

/////////////////////////////////
// validate conf proc Paper data
/////////////////////////////////
function validate_paper(){
    var requiredfields = "";
    var prefix = "";

    
    if (document.WEBDEPOSIT.cpptitle.value.length == 0) {
        requiredfields += "\n   *  Conference Paper Title must be provided";
    }

    if(document.WEBDEPOSIT.cpplname.value.length == 0){
        requiredfields += "\n   *  Contributer Last Name must be provided";
    }

    if (document.WEBDEPOSIT.cppdoi.value.length > 0) {
        if(! document.WEBDEPOSIT.cppdoi.value.match(/^10\.\d{4,9}\//)){
            requiredfields += "\n   *  Conference Paper DOI must be of a valid format (10.1555/suffix)";
        }
        else if(document.WEBDEPOSIT.cppdoi.value.match(/^10\.\d{4,9}\/[^\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]*?[\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]/)){
            requiredfields += "\n   *  Conference Paper DOI may NOT contain the following characters in the suffix \!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~";
        }
        else{
            prefix = document.WEBDEPOSIT.cppdoi.value.substr(0,document.WEBDEPOSIT.cppdoi.value.indexOf("\/"));
            document.WEBDEPOSIT.prefix.value = prefix;
        }
        if(document.WEBDEPOSIT.cppurl.value.length == 0){
            requiredfields += "\n   *  If Conference Paper DOI is provided, Conference Paper URL must be supplied also.";
        }
    }
    else{
        requiredfields += "\n   *  DOI must be provided";
    }

    if (document.WEBDEPOSIT.cppurl.value.length > 0) {
        if(! document.WEBDEPOSIT.cppurl.value.match(/^https?:\/\/[^\/\.]*?\.[^\/\.]*?\.[^\/\.]*?.*?\//i)){
            requiredfields += "\n   *  Conference Paper URL must be valid. Protocol (http, https)://www.domain.com/pageID";
        }
        if(document.WEBDEPOSIT.cppdoi.value.length == 0){
            requiredfields += "\n   *  If Conference Paper URL is provided, Conference Paper DOI must be supplied also.";
        }
    }
    else{
        requiredfields += "\n   *  URL must be provided";
    }

    if((document.WEBDEPOSIT.cpppubmo.value.length > 0) || (document.WEBDEPOSIT.cpppubday.value.length > 0) || (document.WEBDEPOSIT.cpppubyear.value.length > 0)){
        if (! document.WEBDEPOSIT.cpppubyear.value.match(/^\d{4}$/)){
            requiredfields += "\n   *  Publication Date YEAR must be of the form YYYY";
        }
    }

    if((document.WEBDEPOSIT.cpppubmo.value.length > 0) || (document.WEBDEPOSIT.cpppubday.value.length > 0)){
        if(document.WEBDEPOSIT.cpppubmo.value.match(/^\d+$/)){
            if ((document.WEBDEPOSIT.cpppubmo.value < 1) || (document.WEBDEPOSIT.cpppubmo.value > 12)) {
                requiredfields += "\n   *  Publication Date MONTH must be between 1 and 12";
            }
        }
        else{
            requiredfields += "\n   *  Publication Date MONTH must be between 1 and 12";
        }
    }

    if(document.WEBDEPOSIT.cpppubday.value.length > 0){
        if(document.WEBDEPOSIT.cpppubday.value.match(/^\d+$/)){
            if ((document.WEBDEPOSIT.cpppubday.value < 1) || (document.WEBDEPOSIT.cpppubday.value > 31)) {
                requiredfields += "\n   *  Publication Date DAY must be between 1 and 31";
            }
        }
        else{
            requiredfields += "\n   *  Publication Date DAY must be between 1 and 31";
        }
    }
   
    if (requiredfields != "") {
        requiredfields  = "Please correctly enter the following fields:\n" + requiredfields;
        alert(requiredfields);
        return false;
    }
    else{
        if(prefix.length > 0){
            document.WEBDEPOSIT.prefix.value = prefix;
        }
        return true;
    }
}


//////////////////////////
// validate content item
//////////////////////////
function validate_contentitem(){
    //    alert("validate_contentitem");
    var requiredfields = "";
    var prefix = "";

    if(document.WEBDEPOSIT.pressed.value.match("Cancel")){
        return true;
    }

    if(document.WEBDEPOSIT.pressed.value.match("Finish")){
        if (document.WEBDEPOSIT.rctitle.value.length == 0 && document.WEBDEPOSIT.rclname.value.length == 0 && document.WEBDEPOSIT.rcfname.value.length == 0 &&
            document.WEBDEPOSIT.rcdoi.value.length == 0 && document.WEBDEPOSIT.rcurl.value.length == 0 && document.WEBDEPOSIT.rccompnum.value.length == 0) {
            return true;
        }
    }

    if (document.WEBDEPOSIT.rctitle.value.length == 0) {
        requiredfields += "\n   *  Content Item Title must be provided";
    }

    if(document.WEBDEPOSIT.rclname.value.length == 0){
        requiredfields += "\n   *  Contributer Last Name must be provided";
    }

    if ((document.WEBDEPOSIT.rcfname.value.length > 0) && (document.WEBDEPOSIT.rclname.value.length == 0)) {
        requiredfields += "\n   *  First Contributor: First Name is only allowed if Last Name is provided";
    }

    var table = document.getElementById('conttab2');
    //    alert("Table: "+table);
    if(table){
        var count = table.rows.length;
        //    alert("count: "+count);
        for(var i=0; i<count; i++){
            var fname = eval('document.getElementById(\'contfname\'+i)');
            if(fname && fname.value.length>0){
                //                            alert("fname: "+fname.value);
                var lname = eval('document.getElementById(\'contlname\'+i)');
                //                            alert("lname: "+lname.value);
                if(lname && lname.value.length==0){
                    requiredfields += "\n   *  Contributor's Last Name must be provided if a First Name exists. Blank entries are omitted.";
                }
            }
        }
    }

    if (document.WEBDEPOSIT.rcdoi.value.length == 0) {
        requiredfields += "\n   *  Chapter DOI must be provided";
    }
    else{
        if(! document.WEBDEPOSIT.rcdoi.value.match(/^10\.\d{4,9}\//)){
            requiredfields += "\n   *  Chapter DOI must be of a valid format (10.1555/suffix)";
        }
        else if(document.WEBDEPOSIT.rcdoi.value.match(/^10\.\d{4,9}\/[^\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]*?[\!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~]/)){
            requiredfields += "\n   *  Chapter DOI may NOT contain the following characters in the suffix \!\"\#\$\&\'\*\+\,\:\<\=\>\?\@\[\]\^\`\{\|\}\~";
        }
        else{
            prefix = document.WEBDEPOSIT.prefix.value;
            if(prefix.length > 0){
                var test = document.WEBDEPOSIT.rcdoi.value.substr(0,document.WEBDEPOSIT.rcdoi.value.indexOf("\/"));
                if(prefix.indexOf(test) != 0){
                    requiredfields += "\n   *  All DOIs must be of the same prefix";
                }
            }
            else{
                prefix = document.WEBDEPOSIT.rcdoi.value.substr(0,document.WEBDEPOSIT.rcdoi.value.indexOf("\/"));
            }
        }
    }

    if (document.WEBDEPOSIT.rcurl.value.length == 0) {
        requiredfields += "\n   *  Chapter URL must be provided";
    }
    else if(! document.WEBDEPOSIT.rcurl.value.match(/^https?:\/\/[^\/\.]*?\.[^\/\.]*?\.[^\/\.]*?.*?\//i)){
        requiredfields += "\n   *  Chapter URL must be valid. Protocol (http, https)://www.domain.com/pageID";
    }

    if (requiredfields != "") {
        requiredfields  = "Please correctly enter the following fields:\n" + requiredfields;
        alert(requiredfields);
        return false;
    }
    else{
        if(prefix.length > 0){
            document.WEBDEPOSIT.prefix.value = prefix;
        }
        return true;
    }
}


/////////////////////////
// final deposit check
/////////////////////////
function validate_deposit() {
    var requiredfields = "";
//    var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
    var parsed = true;
  
    if (document.WEBDEPOSIT.username.value.length == 0) {
        requiredfields += "\n   *  A Username must be provided";
    }

    if (document.WEBDEPOSIT.password.value.length == 0) {
        requiredfields += "\n   *  A Password must be provided";
    }
    
    if(document.WEBDEPOSIT.email.value.length > 0){
        var x = document.WEBDEPOSIT.email.value;
        var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})$/;
        if (! filter.test(x)){
            requiredfields += "\n   *  Incorrect email address format (someone@somedomain.com)\n";
            if(document.WEBDEPOSIT.email.value.indexOf('@') > 0){
                for (var i=0; i < document.WEBDEPOSIT.email.value.length; i++) {
                    var letter = document.WEBDEPOSIT.email.value.charAt(i).toLowerCase();
                    if (validchars.indexOf(letter) != -1)
                        continue;
                    requiredfields += "\n   *  Your email address contains an invalid character " + letter + ".\n";
                }
            }
        }
    }
    else{
        requiredfields += "\n   *  Your Email address must be provided";
    }

    if (requiredfields != "") {
        requiredfields ="Please correctly enter the following fields:\n" + requiredfields;
        alert(requiredfields);
        return false;
    }
    else{
        return true;
    }
}


