jQueryUI DatePicker on DIVs

by raad

HTML

<script src="http://code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<div id='LPdate1' class='calendar' data-dp="datepicker1"></div>
<input id='datepicker1' class='datepicker' data-isshown="false" />
<div id='LPdate2' class='calendar' data-dp="datepicker2"></div>
<input id='datepicker2' class='datepicker' data-isshown="false" />

CSS

.calendar {
    background-image: url('http://s15.postimg.org/6rhzg16if/icon_datepicker_128x128.png');
    background-size: contain;
    height: 40px;
    width: 40px;
    float: left;
    margin-top: -6px;
    margin-right: 6px;
    opacity: 0.5;
}
.calendar:hover {
    opacity:1;
}
input.datepicker {
    width: 0 !important;
    border: 0;
    background-color: transparent;
}
.datepicker {
    float: right;
    margin-right: 50px;
    position: relative;
}
.ui-corner-all {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
.ui-datepicker {
    width: 216px;
    margin: 5px auto 0;
    font: 9pt Arial, sans-serif;
    -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5);
    -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5);
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5);
}
.ui-datepicker a {
    text-decoration: none;
}
.ui-datepicker table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
.ui-datepicker-header {
    background-color: #333333;
    color: #33CCFF;
    font-size: 18px;
    font-family: calibri;
    font-style: italic;
    -webkit-box-shadow: inset 0px 1px 1px 0px rgba(250, 250, 250, 2);
    -moz-box-shadow: inset 0px 1px 1px 0px rgba(250, 250, 250, .2);
    box-shadow: inset 0px 1px 1px 0px rgba(250, 250, 250, .2);
    text-shadow: #2E8DEF 0px 0px 5px;
    filter: dropshadow(color=#000, offx=1, offy=-1);
    line-height: 30px;
    border-radius: 5px 5px 0 0;
}
.ui-datepicker-title {
    text-align: center;
}
.ui-datepicker-prev, .ui-datepicker-next {
    /*background-color: #efefef;*/
    display: inline-block;
    margin-top: 8px;
    width: 30px;
    height: 30px;
    text-align: center;
    cursor: pointer;
    line-height: 600%;
    overflow: hidden;
    opacity: 0.5;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.ui-datepicker-prev:hover, .ui-datepicker-next:hover {
    opacity: 1;
    -webkit-filter: drop-shadow(0 0 1px #2E8DEF);
    -moz-filter: drop-shadow(0 0 1px...

JavaScript

$.datepicker.setDefaults({
    showAnim: 'drop',
    showOtherMonths: true,
    dateFormat: 'dd MM yy',
    dayNamesMin: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
    minDate: 0,
    maxDate: '+1y',
    onSelect: function (dateText) {
        selectedDate = dateText;
        console.log(selectedDate);
    }
});

$(function () {
    $('#datepicker1, #datepicker2').datepicker({});
});

$('#LPdate1, #LPdate2').click(function () {
    var dpField = '#'+$(this).attr("data-dp");
    var isShown = ($(dpField).attr("data-isshown") == 'true');
    (isShown == false ? $(dpField).triggerHandler("focus") : $(dpField).trigger("blur"));
    $(dpField).attr("data-isshown", !isShown);
});