var divCreated = false;
$(document).ready(function () {
var value = "";
$("select").each(function (i) {
$(this).click(function () {
//alert(($(this).is(":focus")));
if (!($(this).is(":focus"))) {
if (!divCreated) {
$("body").append('<div class="for_select"></div>');
divCreated = true;
}
$(this).clone().appendTo(".for_select");
open($(this));
}
});
});
function open(obj) {
var pos = $(obj).offset();
$(".for_select select").css("position", "absolute");
$(".for_select select").css("zIndex", "9999999999999");
var toAdd = $(obj).innerHeight();
$(".for_select select").offset({
top: pos.top + toAdd,
left: pos.left
});
$(".for_select select").attr("size", ($(obj).children("option").length > 10 ? 10 : $(obj).children("option").length));
$(".for_select select").change(function () {
value = $(".for_select select").val();
$(obj).val(value);
$(obj).children("option").each(function () {
if ($(this).text() == value)
$(this).attr("selected", "selected");
else if ($(this).attr("selected")) {
$(this).removeAttr("selected");
}
});
var parentHeight = $(obj).parent().innerHeight();
$(obj).parent().css("height", parentHeight + "px");
$(obj).parent().css("position", "relative");
$(obj).css("position", "absolute");
$(obj).css("left", "0px");
var prevElementsHeight = 0;
var isSelect = false;
$(obj).parent().children("*").each(function () {
if ($(this) == $(obj))
isSelect = true;
if (!isSelect)
prevElementsHeight += $(this).innerHeight();
});
$(obj).css("top", (prevElementsHeight / 2) + "px");
$(obj).css("zIndex", "9999");
close($(".for_select select"));
});
}
function close(obj) {
$(obj).css("position", "static");
$(obj).attr("size", "1");
$(".for_select").empty();
}
});