/**
 * List reloader for bonanza20 
 * 
 * == Senarios ==
 * Start - init({date: '2008-03-20'});
 * - Set params from query. paging fra side 1 og default sortering
 * 
 * Kalender søg dato: load({date: '2008-03-20'});
 * Custom søg - load({text: 'asdf'})
 * - Clears all params and searches. paging fra side 1 og default sortering
 * 
 * next / prev / specific page - next(), prev(), page(3)
 * - Keeps all params just changes offset
 * 
 * sort
 * - Keeps search params. Change paging to 1 and new sort
 * 
 * 
 * @author msan
 */

if ('undefined' == typeof(dr)) dr = {};
if ('undefined' == typeof(dr.bonanza)) dr.bonanza = {};

dr.bonanza.list = function () {
	// Debug
	function kadeb(msg) {
		return;
		if ( ! $('dr_bonanza_debug')) {
			document.body.innerHTML += '<div id="dr_bonanza_debug"><strong>dr_bonanza_debug</strong><br /></div>';
		}
		$('dr_bonanza_debug').innerHTML += msg+'<br />';
	}
	
	// Private vars
	var containerId = 'dr_bonanza_list';
	var url         = '/bonanza20_assets/medialist.drxml';
	
	// Private update list with passed data
	function update (params) {
		
		// Styling of preloader div dont work. Now being done using a single gif.
		
		var preloader = '<img src="http://dr.dk/Bonanza20_assets/images/loading.gif" style="margin: 20px" />';
		
		$(containerId).innerHTML = preloader; // '<div id="dr_bonanza_list_loading></div>';
		
		params.ajaxCall = 'true';
		var myAjax = new Request.HTML({url: url, method: 'get', update: containerId, data: params, onFailure: function () {
			alert('Fejl ved hentning af bonanza listen.');
		}}).send();
		kadeb('List update - url: '+url+' - data: '+combi(params));
	}
	
	// Private Combine obj to string
	function combi(obj) {
		var res = '';
		$H(obj).each(function (val, key) {res += '&'+key+'='+val});
		return res;
	}
	
	// Public
	return {
		// Initialize
		init: function () {
			kadeb('List init');
		},
		load: function (params) {
			kadeb('List load '+combi(params));
			update(params);
		}
	}
}();

window.addEvent( 'domready', dr.bonanza.list.init.bind(dr.bonanza.list) );



 

function emulateButtonClickIfIsEnter(evt, buttonElementId)
{
    var keyCode = evt?
    evt.keyCode :
    event.keyCode;

    var isEnter = (keyCode == 13);

    if (isEnter)
    {
        var isIE = (navigator.userAgent.indexOf("MSIE") >= 0);
        var buttonElement = document.getElementById(buttonElementId);

        if (isIE)
            buttonElement.click();
        else
        {
            var e = document.createEvent('MouseEvents');
            e.initMouseEvent('click',true,true,document.defaultView,1,0,0,0,0,false,false,false,false,0,null);
            buttonElement.dispatchEvent(e);
        }
    }

    return !isEnter;
}

