и подобным образом писать не стоит:
$("#idP").html("");
$("#idP").append('<select id="idPastleDoctors" class="styled nonEnter" name="doctor">' + sel + '</select>');
пишите так:
$("#idP").html('<select id="idPastleDoctors" class="styled nonEnter" name="doctor">' + sel + '</select>');
У вас много написано совершенно не думая о скорости работы, запросы к элементам не нужно делать так:
$("#idError").css("top",$(window).scrollTop());
$("#idError").html(text);
$("#idError").show(500);
нужно писать так:
$("#idError").css("top",$(window).scrollTop()).html(text).show(500);
ну или на крайняк так:
var elem = $("#idError");
elem.css("top",$(window).scrollTop());
elem.html(text);
elem.show(500);
Это увеличит скорость работы JavaScript в разы