function getRemains(field, maxlength)
{
    var remains;
    remains = maxlength - field.value.length;
    if (remains < 0) {
        alert('Osiągnięty został maksymalny rozmiar opinii: ' + maxlength + ' znaków');
        field.value = field.value.substring(0, maxlength);
        remains = 0;
    }
    document.getElementById('count').innerHTML = remains;
    return true;
}

function checkForm(form) {
    var formValid = validateForm(form);
    if (!formValid) {
        return false;
    }
    var regClause = document.getElementById('read_reg');
    if (!regClause.checked) {
        alert('Musisz zaakceptować regulamin przed wysłaniem');
        regClause.focus();
        return false;
    }
    return true;
}

function validateForm(form) {
    var element;
    for (var i = 0; i < form.elements.length; i++) {
        element = form.elements[i];
        if (element.getAttribute('req') == 1 && element.value == '') {
            alert('Musisz wypełnić pole "' + element.getAttribute('label') + '"!');
            element.focus();
            return false;
        }
        else if (element.getAttribute('format') && element.value != '') {
            var pattern = new RegExp(element.getAttribute('format'));
            if (!pattern.test(element.value)) {
                alert('Pole "' + element.getAttribute('label') + '" posiada niepoprawny format!');
                element.focus();
                return false;
            }
        }
    }
    return true;
}

function getInitialWindowSizeAndPosition() {
    var winWidth = 630;
    var winHeight = screen.height - 20;
    var offsetX = (screen.width - winWidth) / 2;
    var offsetY = 5;
    return [offsetX, offsetY, winWidth, winHeight];
}


/**
 * informacja o wielkosci okna roboczego przegladarki
 *
 * @author pawel
 */
function getViewportSize() {
    var height, width;
    if (window.innerHeight) {
        // to pole dobrze zwracaja FF, Opera, Safari i Chrome
        height = window.innerHeight - 30;
        width = window.innerWidth - 10;
    }
    else if (document.documentElement && document.documentElement.offsetHeight) {
        // dla IE6, IE7
        height = document.documentElement.offsetHeight - 30
        width = document.documentElement.offsetWidth - 10
    }
    else if (document.body && document.body.offsetHeight) {
        // byc moze jakas przegladarka wypelnia to pole
        height = document.body.offsetHeight - 30;
        width = document.body.offsetWidth - 10;
    }
    else {
        // zadne z powyzszych pol nie istnieje - zwracam 0
        height = 0;
        width = 0;
    }
    return [width, height];
}

if (typeof(openRankFormWindow) == 'undefined') {
    function openRankFormWindow(url) {
        var coords = getInitialWindowSizeAndPosition();
        var params = 'width=600px, height=100px, ';
        params += 'left=' + coords[0] + 'px, screenX=' + coords[0] + 'px, ';
        params += 'top=' + coords[1] + 'px, screenY=' + coords[1] + 'px, ';
        params += 'location=no, menubar=no, resizable=yes, scrollbars=yes, ';
        params += 'status=no, toolbar=no';
        return window.open(url, 'trojmiasto', params);
    }
}

function setSize() {
    var container = document.getElementById('body');
    if (container == null) {
        return false;
    }
    var viewportSize = getViewportSize();
    var dX = container.clientWidth - viewportSize[0] + 8;
    var dY = container.clientHeight - viewportSize[1] - 30;
    window.resizeBy(dX, dY);
    return true;
}

function setOption(element)
{
    var group = document.getElementsByName(element.name);
    try {
        for (var i = 0; i < group.length; i++) {
            if (group[i].id != element.id) {
                group[i].checked = false;
            }
        }
    }
    catch (e) {
    }
    return true;
}

AIM_callback = {
    onStart: function(elem) {
        if (elem.tagName == 'FORM') {
            if (!checkForm(elem)) {
                return false;
            }
        }
        document.getElementById('body').innerHTML = '<center><img src="/_img/loader.gif" alt="ładowanie formularza" /></center>';
        return true;
    },

    onComplete: function(response) {
        document.getElementById('body').innerHTML = response;
        setSize();
        return true;
    }
}
