/*PAGINATOR*/
var firstLoadPager = true;
/**
 * Callback function that displays the content.
 *
 * Gets called every time the user clicks on a pagination link.
 *
 * @param page_index {int} New Page index
 * @param jq {jQuery} the container with the pagination links as a jQuery object
 */
function pageselectCallback(page_index, jq) {
    if (firstLoadPager) {
        firstLoadPager = false;
    } else {
        //        $('#pagerInput').val(page_index);
        $('.categories .cur').click();
        //        searchFormSubmit();
    }
    return false;
}

/**
 * Callback function for the AJAX content loader.
 */
function initPaginationSimple(currentPage, maxentries, itemsPerPage, baseUrl) {
    var fullURL = window.location.href;
    var linkParams = fullURL.substring(fullURL.indexOf('?') + 1, fullURL.length);
    linkParams = linkParams.replace(/[&]?p=\d+[&]?/, '');
    initPagination(currentPage, maxentries, itemsPerPage, linkParams, baseUrl);
}

function initPagination(currentPage, maxentries, itemsPerPage, linkParams, baseUrl) {
    if (parseInt(maxentries) <= parseInt(itemsPerPage)) {
        $("#pager").remove();
        return;
    }
    // Create pagination element
    $("#pager").pagination(parseInt(maxentries), {
        items_per_page:parseInt(itemsPerPage),
        current_page:parseInt(currentPage) - 1,
        num_edge_entries: 1,
        link_to: (baseUrl? "/" + baseUrl: "") + "?p=__id__" + (linkParams ? "&" + linkParams : ""),
        prev_text:'<i>&larr;</i> назад',
        next_text:'вперед <i>&rarr;</i>',
        redirect: true
        //, callback: pageselectCallback
    });
}

/*DATEPICKER*/
function initDatepicker(conteinerId, subId) {
    var datepickerInput = $('#' + conteinerId + '\\:datepicker-' + subId);
    datepickerInput.datepicker({
        minDate: '+0d',
        showOn: 'both',
        buttonImage: '/css/img/icon-perezvon.gif',
        buttonImageOnly: true
    });

    datepickerInput.change(function() {
        $('#date-holder-' + subId).text($(this).val());
    });

    $('#date-' + subId).click(function() {
        $(this).siblings('img').click();
    });
}

function disableDatepicker(conteinerId, first, disable) {
    var dateConteiner = '.' + (first ? 'first' : 'sec') + '_date';
    if (disable) {
        $(dateConteiner).addClass('dateDisable');
    } else {
        $(dateConteiner).removeClass('dateDisable');
    }
    $(dateConteiner + ' input').attr('disabled', disable);

    var subId = first ? '01' : '02';
    var datepicker = $('#' + conteinerId + '\\:datepicker-' + subId);
    datepicker.datepicker(disable ? 'disable' : 'enable');
    return datepicker;
}

function renderDatepicker1(disable) {
    $('.first_date input').attr('checked', disable);

    var datepicker1 = disableDatepicker('AddTender', true, disable);
    if (disable) {
        datepicker1.datepicker('setDate', '+0d');
        datepicker1.trigger('change');
    }
}

function initSelectors(conteinerId, inputName) {
    var resultElem = $('#' + conteinerId + '\\:' + inputName);
    $('#' + conteinerId + ' input[name="' + inputName + 's"]').change(function() {
        resultElem.val($(this).val());
    });

    //    $('#' + conteinerId + ' input[name="' + inputName + 's"]:checked').removeAttr('checked');
    var selectElem = $('#' + conteinerId + ' input[name="' + inputName + 's"][id="' + inputName + '_' + resultElem.val() + '"]');
    if (selectElem.length > 0) {
        selectElem.attr('checked', 'checked');
    } else {
        resultElem.val('');
        //        alert('Not found ' + '#' + conteinerId + ' input[name="' + inputName + 's"][id="' + inputName + '_' + resultElem.val() + '"]');
    }
}

function validateFirmSettings() {
    if ($("#FirmSettingsForm\\:email").val().length > 0 && $("#FirmSettingsForm\\:email").val().indexOf("@") <= 0) {
        alert("Введите, пожалуйста, правильный E-mail.");
        return false;
    }
    return true;
}

function initSearchAutoForm(linkParams) {
    $(".priceAttribute").change(function() {
        var fullURL = window.location.href.replace(/[&]?prc=\d+[&]?/, '');
        if(fullURL.indexOf('glossary/articles.html') > 0) {
            fullURL = "/search_auto.html?" + linkParams; 
        }
        fullURL += (fullURL.indexOf('?') > -1 ? '&' : '?') + 'prc=';
        window.location = fullURL + this.options[this.selectedIndex].value;
    });
}

function removeAutoImg(uploadElemId, width, height) {
    var rootElem = $('#' + uploadElemId).parent();
    rootElem.children('input').val('');
    initAjaxUpload(uploadElemId, width, height, true);
}

function initAjaxUpload(uploadElemId, width, height, disableInit) {
    var rootElem = $('#' + uploadElemId).parent();
    var inputElem = rootElem.children('input');
    var previewElem = rootElem.children('.preview');
    var delPhotoElem = rootElem.children('.del-photo');
    var errorElem = rootElem.children('.errors');
    var infoElem = rootElem.children('.infos');

    var clickElemId = 'click_' + uploadElemId;

    function drawPreview() {
        var photoUrl = inputElem.val();

        previewElem.children('a').remove();
        previewElem.children('img').remove();
        previewElem.children('i').remove();
        delPhotoElem.children('a').remove();

        if (photoUrl) {
            //            infoElem.text('Uploaded ' + photoUrl);
            $('<img src="' + photoUrl + '" alt="' + photoUrl + '" id="' + clickElemId + '" width="'+width+'" height="'+height+'"/>').appendTo(previewElem);
            $('<a href="javascript:;" title="Удалить фото" onclick="removeAutoImg(\''+uploadElemId+'\','+width+' ,'+height+')">Удалить</a>').appendTo(delPhotoElem);
//            $('<i title="Удалить фото" onclick="removeAutoImg(\''+uploadElemId+'\')"></i>').appendTo(previewElem);
        } else {
            $('<a href="javascript:;" id="' + clickElemId + '" class="ch-link" title="Загрузить фото авто">Загрузить</a>').appendTo(previewElem);
            inputElem.val('');
        }
    }

    function clearInfo() {
        errorElem.text('');infoElem.text('');
    }

    drawPreview();

    if (!disableInit) {
        new AjaxUpload(uploadElemId, {
            action: '/imageupload?width='+width+'&height='+height,
            name: 'myfile',
            onSubmit : function(file, ext) {
                clearInfo();

                //if (ext && new RegExp('^(' + allowed.join('|') + ')$').test(ext)){
                if (ext && /^(jpg|png|jpeg|gif)$/.test(ext)) {
                    /* Setting data */
                    this.setData({
                        'key': 'This string will be send with the file',
                        'width': width
                    });

                    infoElem.text('Uploading ' + file);
                } else {
                    // extension is not allowed
                    errorElem.text('Пожалуйста, выберите картинку в формате jpg, gif или png');
                    // cancel upload
                    return false;
                }
            },
            onComplete : function(file, response) {
                clearInfo();

                var responceText = response.replace('<pre>', '').replace('<PRE>', '');
                if(responceText.indexOf('</pre>') >= 0) responceText = responceText.substring(0, responceText.indexOf('</pre>'));
                if(responceText.indexOf('</PRE>') >= 0) responceText = responceText.substring(0, responceText.indexOf('</PRE>'));

                if (responceText.indexOf('error:')==0) {
                    errorElem.text(responceText.substring(6));
                } else {
                    inputElem.val(responceText);
                    drawPreview();
                }
                //                initAjaxUpload(uploadElemId);
            }
        });
    }
}

function initFirmOrderDialog() {
    $(".send-order").click(function() {

        var declarationId = null;
        $("#SendOfferFormDeclarationId").val('');
        if(this.id.indexOf("_Declaration") >= 0) {
            declarationId = this.id.substring(this.id.indexOf("_Declaration") + "_Declaration".length, this.id.length);
            if(declarationId.length > 0) {
                $("#SendOfferFormDeclarationId").val(declarationId);
            }
        }

        if(!dialog) {
            openSendOfferDialog();
        } else {
            $('#SendOfferDialog').dialog('open');
        }
    });
    $('#SendOfferForm\\:SendOrderMainBtn').click(function() {
        var valid = true;
        $('.v-required').each(function() {
            valid &= $(this).val() && jQuery.trim($(this).val()).length > 0;
        });
        if(valid) {
            $('#SendOfferForm\\:SendOrderBtn').click();
        } else {
            $('#DialogMsg').html('Заполните пожалуйста все поля, отмеченные знаком *');
            return false;
        }
        dialog.close();
    });
}

function validateRequired() {
    var valid = true;
    $('.v-required').each(function() {
        valid &= $(this).val() && jQuery.trim($(this).val()).length > 0;
    });
    return valid;
}

function validateElRequired(arr) {
    var valid = true;
    for(var i = 0; i < arr.length; i++) {
        valid &= $(arr[i]).val() && jQuery.trim($(arr[i]).val()).length > 0;
    }
    return valid;
}

function openSendOfferDialog() {
    dialog = $('#SendOfferDialog').dialog({
        dialogClass: 'send-offer-dialog',
        title: 'Заказ',
        bgiframe:  true,
        draggable: false,
        resizable: false,
        width: 500,
        minHeight: 250,
        modal: true
    });
    mixmarketCounter("SendOfferFormCounter");
}

function openMsgSentOfferDialog() {
    $('#MsgSentOfferDialog').dialog({
        dialogClass: 'send-offer-dialog',
        title: 'Заказ оформлен',
        bgiframe:  true,
        draggable: false,
        resizable: false,
        width: 500,
        minHeight: 250,
        modal: true
    });
    mixmarketCounter("MsgSentOfferFormCounter");
}

function mixmarketCounter(id) {
    $("#"+id).html('<img src="http://mixmarket.biz/uni/tev.php?id=1294933786&r='
            + escape(document.referrer) + '&t=' + (new Date()).getTime() + '" width="1" height="1"/>');
}

