﻿//create a new item according to HTML templateElement
//templateElementId - HTML template, controlsCount - controls count in concrete group, containerID - controls container
function CreateElement(containerID, templateElementId)
{
    var e = $(templateElementId).cloneNode(true);
    var childLength = $(containerID).childElements().length;
    e.id = containerID + childLength;
    e.style.display='block';        
    $(containerID).appendChild(e);
    return e;
}

function InitSingleTextBoxAddMore(containerID, templateElementId, dataList, dataKey)
{
    var controlsCount = 0;
    if(dataList.length > 0)
    {
        //prepare for edit
        for(var i=0; i<dataList.length; i++)
        {
            var value = eval('dataList[' + i + '].'+ dataKey);
            CreateElement(containerID, templateElementId);
            SetTextBoxValue(containerID,i,value);
        }
    }
    else
    {
         //empty field if there is no data
         CreateElement(containerID, templateElementId);
    }
}

function SetTextBoxValue(containerID, controlIndex, value)
{   
    var elementId = containerID + controlIndex; 
    var innerInputMask = '#' + elementId + ' input[type=text]';    
    $$(innerInputMask)[0].value = value;
}

function GetTextBoxValues(containerID, dataList, dataListKey, template)
{   
    dataList.clear();
    var containerItemsMask = '#' + containerID + ' input[type=text]'; 
    var items = $$(containerItemsMask);
    for (var i = 0; i < items.length; i++) 
    {              
        if(HasData(items[i].value))
        { 
            var myObject = dsNewObject(pageIsland, template);
            var s = ParseSpecialCharactersString(items[i].value)
            eval('myObject.' + dataListKey +' = "' + s + '";');      
            dataList.push(myObject);             
        }
    }    
    return dataList;
}

function GetTextBoxValuesString(containerID)
{   
    var  sResult = '';
    var containerItemsMask = '#' + containerID + ' input[type=text]'; 
    var items = $$(containerItemsMask);
    for (var i = 0; i < items.size(); i++) 
    {      
         if(HasData(items[i].value))
         {                   
             if(i>0){sResult += ', ' + items[i].value;} 
             else{sResult += items[i].value;}
         }
    }    
    return sResult;
}