// depends on common.js and log4javascript.js

function ajax_init(_startPage, _dealerPerPage) {
	log.info("Initializing Ajax Listener");	
	ajax_initSiteListener();
}

function ajax_initSiteListener() {
	siteListenerForAjaxRequests = new DefaultListener;
	siteListenerForAjaxRequests.actionPerformed = function (site, parameter) {
	    log.info("SiteListenerForAjaxRequests - performing action: site=" + site + " parameter=" + parameter);
	    
		if (site == "site_dealerdetails") {
			ajax_request_save_dealer (parameter);
		} else if (site == "do_route_planning"){
			ajax_request_save_address(parameter);
		}else {
			log.debug("SiteListenerForAjaxRequests: Request not implemented: " + site);
		}
		log.debug("SiteListenerForAjaxRequests: action performed");
	} 

	if (siteController) {
		siteController.addListener("SiteListenerForAjaxRequests", siteListenerForAjaxRequests);
		log.info("SiteListenerForAjaxRequests : siteListenerForAjaxRequests has been added");
	} else {
		log.warn("SiteListenerForAjaxRequests : could not add siteListenerForAjaxRequests. Cause: pageController does not exist.");
	}
}

function ajax_request_save_dealer(_dealerId) {
    log.info("Ajax -	Sending Ajax_request_save_dealer");
	mrm.$.getJSON(getDlActionUrl("AjaxActionSaveDealer"), {dealerId:_dealerId}, getData); 	        
} 

function ajax_request_save_address(_address) {
    log.info("Ajax -	Sending Ajax_request_save_address");
	mrm.$.getJSON(getDlActionUrl("AjaxActionSaveAddress"), {address:_address}, getData); 	        
} 

function getData(json) { 
	log.info("Ajax -	callback successful");
}

function getDlActionUrl(action, context) {
	var baseUrl = _bypass;
	if (!baseUrl) baseUrl = _bypass;
	if (context) {
		baseUrl += context;
	}
	else {
		baseUrl += _context;
	}
	if (baseUrl) {
		action = baseUrl + action;
	}
	return action;
}
