$(document).ready(function(){

    $("#changeaddress").click(function(event){
        $("#addressform").show();
    });

    $(".summaryform").submit(function(event){

        control = $(".summaryform :input[name=control]").val();
        notes = $(".summaryform :input[name=notes]").val();

        $.ajax({
            type: "POST",
            url: "/basket/savenotes",
            data: 'control=' + control + '&notes=' + notes,
            cache: false,
            async: false
        });
    });


    $(".zamowienia_szczegoly_zamknij").click(function(event){
        if($(this).text()=="zobacz szczegóły"){
            $(this).text("zamknij szczegóły");
            $(this).parent().parent().children(".details").show();
        }else{
            $(this).text("zobacz szczegóły");
            $(this).parent().parent().children(".details").hide();
        }
    });


    $("#medic").click(function(event){
        $("#foreign").removeClass("foreign_on");
        $("#medic").addClass("medic_on");
        $("#medic_list").show();
        $("#foreign_list").hide();
    });

    $("#foreign").click(function(event){
        $("#medic").removeClass("medic_on");
        $("#foreign").addClass("foreign_on");
        $("#medic_list").hide();
        $("#foreign_list").show();
    });

    $("#invoicebox").click(function(event){
        $("#invoiceinfo").toggle();
        if($("#invoiceinfo").is(":visible")){
            $("#nip").attr("class", "req");
        }else{
             $("#nip").removeAttr("class");
        }
    });


    $("#loginform_large").submit(function(event){
        correct = validate_form(this);
        if(!correct){
            $("#main_error p").text("Wype\u0142nij wszystkie wymagane pola.");
            $("#main_error").show();
            scroll(0,0);
            event.preventDefault();
        }else if($("#password").val() != $("#password_repeat").val() || ($("#password_repeat").val() != "" && $("#password").val()=="")){
            $("#main_error p").text("Podane has\u0142a nie zgadzają się.");
            $("#main_error").show();
            scroll(0,0);
            event.preventDefault();
        }
    });

    $("input").change(function(event){
        this.style.backgroundColor = "#ffffff";
    });

    var onc = function(){
        if(isNaN($(this).val()) || $(this).val() == 0){
            $(this).val("1");
        }
    };

    $("#ilosc").keyup(onc);
    $("#ilosc").change(onc)
});


function echeck(str) {
    var at="@";
    var dot=".";
    var lat=str.indexOf(at);
    var lstr=str.length;
    var ldot=str.indexOf(dot);
    if (str.indexOf(at)==-1){
        return false
    }
    if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
        return false
    }
    if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
        return false
    }
    if (str.indexOf(at,(lat+1))!=-1){
        return false
    }
    if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
        return false
    }
    if (str.indexOf(dot,(lat+2))==-1){
        return false
    }
    if (str.indexOf(" ")!=-1){
        return false
    }
    return true
}

function validate_form(frm){
    with(frm){
        errors = document.getElementsByTagName("span");
        for(i=errors.length-1;i>=0;i--){
            if(errors[i].className=="error"){
                errors[i].parentNode.removeChild(errors[i]);
            }
        }

        var firstError = null;
        var lastParent = null;

        for(i=0;i<elements.length;i++){
            if(elements[i].className.indexOf("req")>=0 && elements[i].parentNode.parentNode.style.display!="none"){
                elements[i].style.backgroundColor = "#FFFFFF";
                if( elements[i].value==null ||
                    elements[i].value=="" ||
                    (elements[i].className.indexOf("mail")>=0 && !echeck(elements[i].value)) ||
                    (elements[i].className.indexOf("checked")>=0 && !elements[i].checked)
                    ){

                    var p = document.createElement("span");
                    p.innerHTML = elements[i].getAttribute('alt');
                    p.className = "error";
                    p.setAttribute("name", "err");
                    p.style.marginLeft = "2px";

                    if(elements[i].parentNode!=lastParent){
                        elements[i].parentNode.appendChild(p);
                    }
                    elements[i].style.backgroundColor = "#FFBABA";
                    if(firstError==null)firstError = elements[i];
                    lastParent = elements[i].parentNode;
                }
            }
        }
        if(firstError!=null){
            return false;
        }else{
            return true;
        }
        }
}