var browser = navigator.userAgent;
var is_safari = /(safari|webkit)/i.test(browser);
var is_opera = /opera/i.test(browser);
var is_msie = /msie/i.test(browser);
var is_mozilla = /mozilla/i.test(browser) && !/(compatible|webkit)/i.test(browser);

var DOMReady = {
    onDOMReadyHandler: function () { },
    listenDOMReady: function () {

        var browser = navigator.userAgent;
        var is_safari = /(safari|webkit)/i.test(browser);
        var is_opera = /opera/i.test(browser);
        var is_msie = /msie/i.test(browser);
        var is_mozilla = /mozilla/i.test(browser) && !/(compatible|webkit)/i.test(browser);

        if (is_opera || is_mozilla) {
            this.attachEvent(document, "DOMContentLoaded", this.onDOMReadyHandler);
            return true;
        }

        if (is_msie) {
            document.write('<script id="dr_ie_script" defer="true" src="https://javascript:false;"><\/script>');
            document.getElementById("dr_ie_script").onreadystatechange = function () {
                if (this.readyState == "complete") DOMReady.onDOMReadyHandler();
            };
            return true;
        }
        if (is_safari) {
            this.domReadyTimer = window.setInterval(function () {
                if (document.readyState == "loaded" ||
				document.readyState == "complete") {
                    window.clearInterval(DOMReady.domReadyTimer);
                    DOMReady.onDOMReadyHandler();
                }
            }, 10);

            return true;
        }
        // use onload event otherwise
        this.attachEvent(window, "load", DOMReady.onDOMReadyHandler);

        return false;
    },
    // timer (used with Safari)
    domReadyTimer: null,
    // set event handler
    attachEvent: function (obj, event, handler) {

        if (obj.addEventListener) {
            obj.addEventListener(event, handler, false);
        } else {
            if (obj.attachEvent) {obj.attachEvent('on' + event, handler);}
        }
    },
    // remove event handler
    detachEvent: function (obj, event, handler) {

        if (obj.removeEventListener) {
            obj.removeEvSentListener(event, handler, false);
        } else {
            if (obj.detachEvent) {
                obj.detachEvent('on' + event, handler);
            }
        }
    }

};
function Calendar(Obj) {
    show_cal(Obj);  //Others
}
// user defined onchange handler
function cal_on_change_dummy(cal, object_code) {
    if (object_code == 'day') {
        alert('Date selected: ' + cal.get_formatted_date());
        cal.show_date();
    }
}
var cal_obj2 = null;
var format = '%j-%M-%Y';
var text_field;
// show calendar 
function show_cal(el) {
    if (cal_obj2) return;
    text_field = document.getElementById(el.id.split("_img")[0]);
    //alert(text_field.id);
    //text_field = document.getElementById(ctrlID);
    cal_obj2 = new RichCalendar();
    cal_obj2.start_week_day = 2;
    cal_obj2.show_time = false;
    //cal_obj2.language = 'en';
    cal_obj2.user_onchange_handler = cal2_on_change;
    cal_obj2.user_onclose_handler = cal2_on_close;
    cal_obj2.user_onautoclose_handler = cal2_on_autoclose;

    cal_obj2.parse_date(text_field.value, format);
    cal_obj2.show_at_element(text_field, "adj_right-top");
    cal_obj2.change_skin('alt');
}
// user defined onchange handler
function cal2_on_change(cal, object_code) {
    if (object_code == 'day') {
        document.getElementById(text_field.id).value = cal.get_formatted_date(format);
        cal.hide();
        cal_obj2 = null;
    }
}
// user defined onclose handler
function cal2_on_close(cal) {
    if (window.confirm('Are you sure to close the calendar?')) {
        cal.hide();
        cal_obj2 = null;
    }
}
// user defined onclose handler (used in pop-up mode - when auto_close is true)
function cal2_on_autoclose(cal) {
    cal_obj2 = null;
}
// user defined onclose handler
function cal3_on_close(cal) {
}
DOMReady.listenDOMReady();
