$(document).ready(function(){
    $("select").each(function(){
        $(this).css({
            "visibility":"hidden"
        });
        $(this).before('<ul class="select2"></ul>');
        var height = $(this).height();
        var width = $(this).outerWidth();
        var position = $("select").position();
        var ex = $("select").length;
        var index = $("select").index(this);
		
        var leftmarijn = Math.round(position.left)-1;
		
        $(".select2").css({
            "height":+height+"px",
            "width":+width+"px",
            "position":"absolute"
        }).css("left",leftmarijn);
        $(this).prev(".select2").css({
            "z-index": (ex - index)
        });
    });
    $("option:selected").each(function(){
        var select = $(this).text();
        $(this).parent("select").prev(".select2").prepend('<div class="selectdiv">' + select + '</div><div class="listdiv"></div>');
    })
    $("option").each(function(){
        var option = $(this).text();
        $(this).parent("select").prev(".select2").children(".listdiv").append('<li class="option">' + option + '</li>');
    });
    $(".select2").toggle(function(){
        $(this).children(".listdiv").slideDown(200);
    },function(){
        $(this).children(".listdiv").slideUp(200);
    });
    $(".select2").click(function(){
        var list = $(this).children(".listdiv");
        if((list).css("display","block")){
            $(".select2").children(".listdiv").not(list).slideUp(200);
        }
    });
    $("*").not(".select2, .select2 > .selectdiv").click(function(){
        $(".select2").children(".listdiv").slideUp(200);
    });
    $(".option").hover(function(){
        $(this).addClass("hover");
    },function(){
        $(this).removeClass("hover");
    });
    $(".option").click(function(){
        var con = $(this).index();
        var select = $(this).text();
        $(this).parent(".listdiv").parent(".select2").find(".selectdiv").replaceWith('<div class="selectdiv">' + select + '</div>');
        $(this).parent(".listdiv").parent(".select2").next("select").children("option").eq(con).attr('selected','selected');
    });
    $("input:radio").css({
        "visibility":"hidden"
    }).each(function(){
        var radiopos = $(this).position();
        var name = $(this).attr("name");
        var $elm = $('<span class="radiobutton"></span>');
        $(this).before($elm);
        $(this).data("chain", $elm);
        $elm.data("chain", $(this));
        $(this).prev("span").css({
            "position":"absolute",
            "left": + (radiopos.left) + "px"
        }).addClass("name-" + name +"");
    });
    $("input:radio:checked").each(function(){
        $(this).prev("span").css({
            "background-position":"bottom"
        });
    });
    $(".radiobutton").click(function(){
        var nameclass = $(this).attr("class");
        $(".radiobutton[class$='" + nameclass + "']").css({
            "background-position":"top"
        });
        $(this).css({
            "background-position":"bottom"
        });
		//alert($(this).data("chain").parent().html());
        $(this).data("chain").attr('checked','checked');
    });
    $(":checkbox").css({
        "visibility":"hidden"
    }).each(function(){
        var checkpos = $(this).position();
        $(this).before('<span class="checkboxbutton"></span>');
        $(this).prev("span").css({
            "position":"absolute",
            "left": "0",
            "clear": "both"
        });
    });
    $(":checkbox:checked").each(function(){
        $(this).prev("span").css({
            "background-position":"bottom"
        });
    });
    $(".checkboxbutton").toggle(function(){
		
        $(this).css({
            "background-position":"bottom"
        });
        $(this).next(":checkbox").attr('checked', true);
		//myValidator.controle("", $(this).next());
    }, function(){
        $(this).css({
            "background-position":"top"
        });
        $(this).next(":checkbox").attr('checked', false);
		//myValidator.controle("", $(this).next());
    });
    $("input:file").css("opacity","0");
});
