var freetext_findUrl = '';
var freetext_getDataUrl = '';
var singleselect_postparam = 'singleselectid';
var freetext_dialog;

function freetext_init(name)
{
    var freetext_url = 'http://'+location.host;
    freetext_url+=cbKort.getFormParamAsUrl();
    freetext_url = replaceUrlParam('page', 'singleselect.config', freetext_url);
    freetext_url = replaceUrlParam('singleselectname', name, freetext_url);
    freetext_getRequest(freetext_url);
}

function freetext_CloseBox()
{
    freetext_dialog.hideDialog();
}
function freetext_ShowBox()
{
    if(!freetext_dialog)
        freetext_createDialog();
    freetext_dialog.showDialog();
}

function freetext_getRequest(url)
{
    var xmlhttpreq;
    try
    {
        var domDoc = cbhttp_getRequestDom(url);

        // Required
        var singleselect_datasource = domDoc.getElementsByTagName("datasource")[0].firstChild.nodeValue;

        var singleselect_command = 'singleselect';
        if(domDoc.getElementsByTagName("command")[0].hasChildNodes())
            singleselect_command = domDoc.getElementsByTagName("command")[0].firstChild.nodeValue;

        freetext_findUrl = replaceUrlParam('page', 'singleselect.locate', url);
        freetext_findUrl = replaceUrlParam('datasource', singleselect_datasource, freetext_findUrl);
        freetext_findUrl = replaceUrlParam('command', singleselect_command, freetext_findUrl);

        // Maxrows er fjernet, fordi 100 er for lidt ved ejendomssøgninger hvor alle matrikler til en ejendom returneres.
        // freetext_findUrl = replaceUrlParam('maxrows', '100', freetext_findUrl);

        if(domDoc.getElementsByTagName("postparam")[0].hasChildNodes())
            singleselect_postparam = domDoc.getElementsByTagName("postparam")[0].firstChild.nodeValue;

        var singleselect_title = 'Find';
        if(domDoc.getElementsByTagName("subdescription")[0].hasChildNodes())
            singleselect_title = domDoc.getElementsByTagName("title")[0].firstChild.nodeValue;

        var singleselect_description = '';
        if(domDoc.getElementsByTagName("subdescription")[0].hasChildNodes())
            singleselect_description = domDoc.getElementsByTagName("description")[0].firstChild.nodeValue;

        var singleselect_subdescription = '';
        if(domDoc.getElementsByTagName("subdescription")[0].hasChildNodes())
            singleselect_subdescription = domDoc.getElementsByTagName("subdescription")[0].firstChild.nodeValue;

        var singleselect_dialogwidth = '170px';
        if(domDoc.getElementsByTagName("dialogwidth")[0].hasChildNodes())
            singleselect_dialogwidth = domDoc.getElementsByTagName("dialogwidth")[0].firstChild.nodeValue;

        freetext_ShowBox();
        freetext_dialog.setDialogWidth(singleselect_dialogwidth);
        freetext_dialog.setDialogTitle(singleselect_title);
        getElement('ss_description').innerHTML = singleselect_description;
        getElement('ss_subdescription').innerHTML = singleselect_subdescription;
    }
    catch (e)
    {
        alert(cbInfo.getString('standard.error.an_error_occurred') + e);
    }
}

function freetext_find()
{
    var postvalue = getElement("freetext_input").value;
    var found = false;

    if(singleselect_postparam!='')
    {
        freetext_findUrl = replaceUrlParam(singleselect_postparam, postvalue, freetext_findUrl);

        freetext_getDataUrl = replaceUrlParam('page', 'singleselect.getdata', freetext_findUrl);;

        try
        {  var request = new CBhttp ();
           pcol = request.executeUrl(freetext_getDataUrl, false);

           if (pcol!=null)
           {  if (pcol.size()<1)
                 alert(cbInfo.getString('standard.error.no_data_found') +" " + postvalue + " ");
              else
                 found = true;
           }
        }
        catch (e)
        {
           if (e instanceof Error)
              alert(cbInfo.getString('standard.error.an_error_occurred') + e.message);
           else
             alert(cbInfo.getString('standard.error.an_error_occurred') + e);
        }
    }

   if (found)
    {
       showWaitingBox();
       setHelperframeSrc(freetext_findUrl);
    }
}

function freetext_createDialog()
{
    freetext_dialog = new Dialog(cbInfo.getString('singleselect.find'));
    var html = '<table id="calctable" class="divtable" style="width:100%;">' +
               '    <tr align="left">' +
               '        <td class="heading3td"><span id="ss_description"></span></td>' +
               '    </tr>' +
               '    <tr align="left">' +
               '        <td><span id="ss_subdescription"></span></td>' +
               '    </tr>' +
               '    <tr align="left">' +
               '        <td style="text-align: left;">' +
               '            <input style="width:96%;text-align:left" id="freetext_input" value="" />' +
               '        </td>' +
               '    </tr>' +
               '    <tr align="right">' +
               '        <td>' +
               '            <button id="okbutton" class="menubutton" onclick="freetext_find();freetext_CloseBox();">'+cbInfo.getString('singleselect.displayname') +'</button>' +
               '        </td>' +
               '    </tr>' +
               '</table>';
    freetext_dialog.addContentHTML(html);
}
