var ICON_CALENDAR = "/cms/gfx/icons/calendar.png";

function init()
{
    var delete_links = document.getElementsByClassName('delete-button');
    for (i = 0; i < delete_links.length; i++) {
        delete_links[i].onclick = function() {
            new Ajax.Request( this.href, { method: 'get', parameters: '', onSuccess: confirmDelete });
            return false;
        }
    }
    
    var form_verzekering = $('verzekering');
    if (form_verzekering) {
        form_verzekering.onchange = updateVerzekering;
    }

    var form_verzekering_type = $('verzekering_type');
    if (form_verzekering_type) {
        form_verzekering_type.onchange = updateVerzekering;
    }
    
    var date_fields = document.getElementsByClassName('loadcalendar');
    for (var i = 0; i < date_fields.length; i++) {
    
        var element_id = date_fields[i].getAttribute('id');
        
        var button = new Element('img', {'src': ICON_CALENDAR, 'alt': 'kalender'});
        button.setAttribute('id', "calendar_" + element_id);
        button.addClassName('calendarbutton');
        date_fields[i].parentNode.appendChild(button);
        
    	/* calender init */
	    Calendar.setup({
	        inputField     :    element_id,      // id of the input field
	        ifFormat       :    "%d-%m-%Y",       // format of the input field
	        showsTime      :    true,            // will display a time selector
	        button         :    "calendar_" + element_id,   // trigger for the calendar (button ID)
	        singleClick    :    true,           // double-click mode
	        step           :    1                // show all years in drop-down boxes (instead of every other year as default)
	    });
    }
}

function updateVerzekering()
{
	var url = $('form-bestellen').getAttribute('action');
	url += "&fietsbon=" + $('fietsbon').value;
	url += "&verzekering=" + $('verzekering').value;
	url += "&verzekering_type=" + encodeURIComponent($('verzekering_type').value);
	window.location.href = url;
}

function confirmDelete(transport, json)
{
    var data = transport.responseText.evalJSON();
    var archive = data.archive;
    
    var box = new Element('div');
    box.addClassName('box-confirm');
    box.update("<h4>"+ data.resourcename + " verwijderen</h4>");
    
    var message = data.message;
    message = message.replace("\n", "<br />");
    var p = new Element('p').update(message);
    
    box.appendChild(p);

    var del_button = new Element('input');
    del_button.setAttribute('type', 'button');
    
    if (archive) var button_msg = "Ja, archiveren";
    else var button_msg = "Ja, verwijderen";
    
    del_button.setAttribute('value', button_msg);
    
    del_button.onclick = function() {
        this.parentNode.parentNode.remove();
        window.location.href = data.del_url;
    }
    
    var cancel_button = new Element('input');
    cancel_button.setAttribute('type', 'button');
    cancel_button.setAttribute('value', 'Annuleren');
    cancel_button.onclick = function() {
        this.parentNode.parentNode.remove();
    }
    
    var p = new Element('p');
    
    p.appendChild(del_button);
    p.appendChild(document.createTextNode(' '));
    p.appendChild(cancel_button);
    
    box.appendChild(p);
    
    // eerst hiden en in de DOM hangen, zodat de width/height geset worden
    box.hide();
    document.body.appendChild(box);

    // calculated height/width bepalen
    var vp_height = document.viewport.getHeight();
    var vp_width = document.viewport.getWidth();
    
    // top offset = scroll top offset + helft viewport hoogte - helft box hoogte
    var offset_top = document.viewport.getScrollOffsets().top + ((vp_height / 2) - (box.getHeight() / 2));
    // left offset = scroll left offset + helft viewport breedte - helft box breedte
    var offset_left = document.viewport.getScrollOffsets().left + ((vp_width / 2) - (box.getWidth() / 2));
    
    box.style.top = offset_top + "px";
    box.style.left = offset_left + "px";
    
    // nu echt tonen
    box.show();
    
    return false;
}

Event.observe(window, 'load', init, false);

