$(document).ready(function(){

    $(".select").click(function(){
        
        var ul = $(this).find("ul");
        
        if(ul.css('display') == "none")
            ul.css({'display': 'list-item', 'width': $(this).width(), 'left': $(this).offset().left, 'top': ($(this).offset().top + $(this).height()) });
        else
            ul.css('display', 'none');
        
    }).each(function(){
        
        var label = $(this).find("label");
        var ul = $(this).find("ul");
        ul.text('');

        $(this).find("option").each(function(){

            if( $(this).attr("selected") == true ) label.text( $(this).text() );

            ul.append("<li>" + $(this).text() + "</li>")

        });
    });

    $(".select li").click(function(){

        var select = $(this).parent().parent();
        var text = $(this).text();

        select.find("label").text(text);

        select.find("option").each(function(){
           
           if($(this).text() == text){
               $(this).attr("selected", "selected")
           } else
               $(this).removeAttr("selected")
           
        });
   });

   $(".form").submit(function(){

        if( $("div.error:visible").length ) $("div.error").css("display", "none");

        var inputs = new Array("name", "email", "company", "phone");
        var error;

        for (i = 0; i < inputs.length; i++) {

            if( $("[name=" + inputs[ i ] + "]" ).val() == "" ){

                $("[name=" + inputs[ i ] + "]" ).parent().addClass("black");

                var error = true;
            }
        }

        if( $("[name=policy]:checked").length == 0 || !isValidEmail( $("[name=email]").val()) ){
            var error = true;
        }

        if(error){
            if( $("div.error:visible").length ) $("div.error").fadeOut();
            $("div.error").fadeIn(1000);
            return false;
        }

        $("input").parent().removeClass("black");
        $("div.submit").css("display", "block");
        
    });

});

function isValidEmail (email){
    return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email);
}
