
// extra avlidation options used in product form
var EXTRA_VALIDATION_OPTIONS = {
    highlight: function( element, errorClass, validClass ) {
        //$(element).addClass(errorClass).removeClass(validClass);
    },
    unhighlight: function( element, errorClass, validClass ) {
        //$(element).removeClass(errorClass).addClass(validClass);
    },
    errorPlacement: null,
    showErrors: function(errorMap, errorList) {
        for (i = 0; i < errorList.length; i++) {
            if (!(errorList[i]['html_added'])) {
                errorList[i]['html_added'] = true;
                errorList[i]['message'] = '<span>' + errorList[i]['message'] + '</span>';
            }
        }
        this.defaultShowErrors();
    },
    errorElement: "span",
    errorClass: "err"
//     wrapper: "span"
}


// AJAX system link and resolve if successful
function changeFrontendSettings(html_element)
{
    html_element.change(function() {
        jQuery.getJSON(html_element.val(), function(response) {
            if (response.status == "success") {
                window.location.reload(true);
            }
        });
        return false;
    });
}


// Javascript on change redirect to given objects's value
function redirect(html_element)
{
    html_element.change(function() {
        window.location.href = html_element.val();
        return false;
    });
}

function getNewSubmitForm(){
    var submitForm = document.createElement("form");
    document.body.appendChild(submitForm);
    submitForm.method = "POST";
    return submitForm;
}


function createNewFormElement(inputForm, elementName, elementValue){
    var newElement = document.createElement("input");
    newElement.id = "id_"+elementName;
    newElement.type = "hidden";
    newElement.name = elementName;
    newElement.value = elementValue;
    inputForm.appendChild(newElement);
    return newElement;
}


function bindDomainRedirect(selector) {
    selector.change(function(){
        var submitForm = getNewSubmitForm();
        createNewFormElement(submitForm, "sk", selector.attr("rel"));
        submitForm.action= selector.val();
        submitForm.submit();
    });
}

jQuery(document).ready(function(){
//     jQuery(".sys-search-product").click(function(){
//          jQuery("#id_text").val(jQuery(".sys-main_search").val());
//          jQuery("#id_area").val(jQuery("#id_area2").val());
//          jQuery("#sys-search_form").submit();
//
//         return false;
//     });

//     jQuery(".sys-search-product").click(function(){
//         jQuery("#sys-search_form").submit();
//         return false;
//     }

    jQuery("#sys-search_form").submit(function(){
        jQuery("#id_text").val(jQuery(".sys-main_search").val());
        jQuery("#id_area").val(jQuery("#id_area2").val());
        jQuery("#sys-search_form").get(0).submit();

        return false;
    });

    changeFrontendSettings(jQuery("#sys-measures_select"));
    changeFrontendSettings(jQuery("#sys-currency_select"));
    bindDomainRedirect(jQuery("#sys-language_select"));

    onBlurFixNumber(jQuery("form input.sys-number, form input.sys-integer")); // fix numbers in sys-number fields
    onBlurTrimFields(jQuery("form input, form textarea")); // trim content of inputs and textareas on blur

//     $('#sys-language_select').kapselect({
//         render: function(option){
//             return $('<li>', {
//                 html: '<img src="' + option.data('icon') + '" /><span>' +
//                 option.val() +
//                 '</span>'
//             });
//         }
//     });
});

// function bindSubmitOnEnter(form) {
//     form.find("input, select").keydown(function(event){
//         if(event.keyCode==jQuery.ui.keyCode.ENTER || e.which) {
//             form.submit();
//         }
//     });
// }

