﻿function prepareAuthors(val, args) {
    
    if (!_validateAuthors()) {
        args.IsValid = false;
    }
    else {
        _prepareAuthors();
        args.IsValid = true;
    }
}

function AddRow() {
    //create a new row in the tblAuthors (left or right columns)       
    var tblLe = $(m_tblLeft);
    var tblRi = $(m_tblRight);
    
    //if you change something here change it on the codebehind as well.
    var sName = "<input type='text' name='firstname_" + m_nrRows + "' maxlength='50' size='20' id='firstname_" + m_nrRows  + "' class='authorname'/>";
    var sLastName = "<input type='text' name='lastname_" + m_nrRows + "' maxlength='50' size='20' id='firstname_" + m_nrRows  + "' class='authorlastname'/>";
    
    
    var sText = "<tr><td>" + sName + "</td><td>" + sLastName + "</td></tr>";
    sText += "<tr><td style='font-size: 9px'>first name</td><td style='font-size: 9px'>last name</td></tr>";
    
    if ($(m_NumOfColumns)[0].value == '2')              
    {
        if ($(m_currentTable)[0].value == 'Left')
        {
            tblLe.append(sText);
            $(m_currentTable)[0].value = 'Right';
        }
        else
        {  
            tblRi.append(sText);
            $(m_currentTable)[0].value = 'Left'; 
        }
    }
    else
        tblLe.append(sText);
    
    
    m_nrRows++;
    
    if (m_nrRows > MAX_ROWS) {
        //disable the button
        $(m_btnAddAuthor).attr("disabled", true);
        var totalAut = parseInt(MAX_ROWS,0) + 1;
        $(m_btnAddAuthor).after("\n<br /><span style='font-size: 9px'>You can add up to " + totalAut + " authors per article</span>");
    }
    
}

function _validateAuthors() {
    var aFirstNames = $.find(".authorname");
    var aLastNames = $.find(".authorlastname");
    
    var iC;
    var bAtLeastOne = false;
    
    //comes in pair
    for (iC=0; iC<aFirstNames.length; iC++) {
        var firstNameV = $.trim(aFirstNames[iC].value);
        var lastNameV = $.trim(aLastNames[iC].value);
        
        if (
            ( firstNameV == "" && lastNameV != "") 
            ||
            ( firstNameV != "" && lastNameV == "")
            ){
            $("#authorError").html ("Please enter both the name and the last name");
            $("#authorError").show();
            
            aFirstNames[iC].focus();
            return false;
        }
        
        if (firstNameV != "" && lastNameV != "") 
            bAtLeastOne = true;
    }
    
    if (!bAtLeastOne) {
        $("#authorError").html ("Please enter at least one author");
        $("#authorError").show();
        return false;   
    }
    /*
    if (_containsDuplicatedValues()) {
        window.alert("The authors can't be repeated");
        return false;
    }
     */
   
   $("#authorError").hide();
   return true;
}

function _containsDuplicatedValues() {
    var aFirstNames = $.find(".authorname");
    var aLastNames = $.find(".authorlastname");
    
    var iC;
    var bRep = false;
    
    //comes in pair
    for (iC=0; iC<aFirstNames.length; iC++) {
        var firstNameV = aFirstNames[iC].value;
        var lastNameV = aLastNames[iC].value;
        var iJ;
        
        for (iJ=0; iJ<aFirstNames.length; iJ++) {
            var firstNameVa = aFirstNames[iJ].value;
            var lastNameVa = aLastNames[iJ].value;
            
            if (firstNameV == firstNameVa) {
                //check the last names
                if (lastNameV == lastNameVa) {
                    bRep = true;
                    break;
                }
            }
        }
    }    

    return bRep;        
}

function _prepareAuthors() {
    
    var aFirstNames = $.find(".authorname");
    var aLastNames = $.find(".authorlastname");

    var sep = "###";    //sep between names 
    var sepNL = "---";  //sep between name and lastname
    
    var result = "";
    var i;
    
    for (i=0;i<aFirstNames.length;i++) {
        var firstname, lastname, fullname;
        
        var firstname = $.trim(aFirstNames[i].value);
        var lastname = $.trim(aLastNames[i].value);
        
        if (firstname != "" && lastname != "") {
            fullname = firstname + sepNL + lastname;
        
            result += fullname + sep;
        }
    }
    
    $(m_authorsHidden).val ( result );
            
}

if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();   
    



    