function detectLanguage(regexp_pl, regexp_en)
{
    var field = document.getElementById('txt');
    var field_pl = document.getElementById('lang_pl2en');
    var field_en = document.getElementById('lang_en2pl');

    if (!field || !field.value || !field.value.length || !field_pl || !field_en)
    {
        return false;
    }

    if (field.value.match(regexp_pl))
    {
        field_pl.checked = true;
        return true;
    }
    if (field.value.match(regexp_en))
    {
        field_en.checked = true;
        return true;
    }
    return false;
}

function checkUploadFile(uploadObject, regexp)
{
    var txt = document.getElementById('wrong_format_text');

    if (uploadObject.value != '' && regexp != false && !uploadObject.value.match(regexp))
    {
        uploadObject.className="inputfile inputerror";
        alert(txt.innerHTML.replace(/\\n/g, '\n'));
        refreshUploadFields();
        return false;
    }

    uploadObject.className="inputfile";
    refreshUploadFields();
    return true;
}

function refreshUploadFields()
{
    var addUploadField;
    var i;
    var upload_field_template = document.getElementById('upload_field_template');
    var new_field = upload_field_template.cloneNode(true);
    var upload_fields = document.getElementById('upload_fields');
    var remove_fields = new Array();

    addUploadField = true;
    for (i=0; i < upload_fields.childNodes.length; i++)
    {
        if (upload_fields.childNodes[i].childNodes[2].value == '' || upload_fields.childNodes[i].childNodes[2].value == null)
        {
            remove_fields[remove_fields.length] = upload_fields.childNodes[i];
        }
        upload_fields.childNodes[i].childNodes[0].className='';
    }
    for (i=0; i < remove_fields.length; i++)
    {
        if (upload_fields.childNodes.length > 1)
        {
            upload_fields.removeChild(remove_fields[i]);
        }
        else
        {
            addUploadField = false;
        }
    }

    if (addUploadField)
    {
        new_field.className = '';
        upload_fields.appendChild(new_field);
    }
    upload_fields.childNodes[upload_fields.childNodes.length-1].childNodes[0].className='inactive';
}

function removeUploadFile(uploadObject)
{
    uploadObject.parentNode.parentNode.removeChild(uploadObject.parentNode);
    refreshUploadFields();
}

function orderFormSwitch()
{
    var private_visible = new Array('private_name_row');
    var corporate_visible = new Array('corporate_name_row', 'corporate_nip_row', 'corporate_contact_person_row');
    var contact_address_visible = new Array('contact_address_row1', 'contact_address_row2', 'contact_address_row3');
    var save_client_visible = new Array('save_username_row', 'save_password_row', 'save_password2_row');
    var save_client_hidden = new Array('save_client_tip');

    switchBlocks('client_type_private', private_visible, '', 'hidden');
    switchBlocks('client_type_corporate', corporate_visible, '', 'hidden');
    switchBlocks('contact_address', contact_address_visible, '', 'hidden');
    switchBlocks('save_client', save_client_visible, '', 'hidden');
    switchBlocks('save_client', save_client_hidden, 'hidden', 'tip');
}

function switchBlocks(inputId, variableObjects, visibleClass, hiddenClass)
{
    var switchObject = document.getElementById(inputId);
    var o;

    if (!switchObject)
    {
        return false;
    }
    for (i=0; i<variableObjects.length; i++)
    {
        o = document.getElementById(variableObjects[i]);
        if (!o)
        {
            continue;
        }
        if (switchObject.checked)
        {
            o.className = visibleClass;
        }
        else
        {
            o.className = hiddenClass;
        }
    }
}

function switchTab(tabGroup, activateTab)
{
    var tab_groups = new Array();
    tab_groups['checkprice'] = new Array('checkprice_text', 'checkprice_upload', 'checkprice_other');

    for (i=0; i<tab_groups[tabGroup].length; i++)
    {
        o = document.getElementById(tab_groups[tabGroup][i]);
        if (!o)
        {
            continue;
        }
        if (tab_groups[tabGroup][i] == activateTab)
        {
            o.className = '';
        }
        else
        {
            o.className = 'hidden';
        }
    }

    return false;
}

function switchCheckboxes(checkboxes, checked)
{
    if (!checkboxes)
    {
        return;
    }

    if (checkboxes.length == undefined)
    {
        checkboxes.checked = checked;
    }
    else
    {
        for (i=0; i<checkboxes.length; i++)
        {
            if (!checkboxes[i].disabled)
            {
                checkboxes[i].checked = checked;
            }
        }
    }
}

function sumCheckboxes(checkboxes, sumObject, submitObject)
{
    var sum = 0;
    var amount;
    var o;

    if (!checkboxes)
    {
        return;
    }

    if (checkboxes.length == undefined)
    {
        amount = parseFloat(checkboxes.title.replace(',', '.').replace(' PLN', ''))
        if (checkboxes.checked)
        {
            sum = amount;
        }
    }
    else
    {
        for (i=0; i<checkboxes.length; i++)
        {
            amount = parseFloat(checkboxes[i].title.replace(',', '.').replace(' PLN', ''))
            if (checkboxes[i].checked)
            {
                sum += amount;
            }
        }
    }

    o = document.getElementById(sumObject);
    if (o)
    {
        o.innerHTML = sum.toFixed(2).replace('.', ',');
    }

    o = document.getElementById(submitObject);
    o.disabled = (sum) ? false : true;
}

function showExternalSmallWindow(url)
{
    return window.open(url, 'texteoSmallWindow', 'height=700,width=500,left=100,top=50,directories=no,location=no,menubar=no,resizable=yes,scrollbars=yes,status=yes,titlebar=yes,toolbar=no');
}

function showExternalMediumWindow(url)
{
    return window.open(url, 'texteoMediumWindow', 'height=700,width=700,left=100,top=50,directories=no,location=yes,menubar=no,resizable=yes,scrollbars=yes,status=yes,titlebar=yes,toolbar=no');
}
