<?php
function salida($post){
	if(!is_array($post)){
		$post = JSON::json2array($post);
	}
	$post['ahora'] = str_replace('=>',':',$post['ahora']);
	$post['monto'] = (int)$post['monto'];
	$rs = new xajaxResponse();
	$rs->assign('mAcierto','style.display','none');
	$rs->assign('mError','style.display','none');
	$mError = '';
	if(!ctype_digit($post['cliente']) || $post['cliente'] <= 0){
		$mError .= '<div>Error en el cliente.</div>';
	}
	if(isset($post['monto_recomendado']) && (!ctype_digit($post['monto_recomendado']) || $post['monto_recomendado'] <= 0)){
		$mError .= '<div>Error en el monto recomendado.</div>';
	}
	if(!is_int($post['monto']) || $post['monto'] < -1 || ($post['monto'] == 0 && !isset($post['monto_recomendado']))){
		$mError .= '<div>Error en el monto.</div>';
	}elseif($post['monto'] == 0 && isset($post['monto_recomendado']) && ctype_digit($post['monto_recomendado']) && $post['monto_recomendado'] >= 0){
		$monto = $post['monto_recomendado'];
	}elseif($post['monto'] == -1){
		$monto = 0;
	}else{
		$monto = $post['monto'];
	}
	$est = new Estacionamiento();
	$rs->script('$("html, body").animate({scrollTop:0},"slow");');
	if(empty($mError) && $est->salida($post['cliente'],$post['ahora'],($post['monto_cancelar']+$monto),$post['observacion'])){
		$rs->assign('mAcierto','innerHTML','La salida ha sido registrada correctamente.');
		$rs->script('$("#mAcierto").slideDown();');
		$rs->redirect(base.'clientes/'.$post['cliente'],1);
		return $rs;
	}else{
		$mError.='<div>No se pudo registrar la salida.</div>';
	}
	$rs->assign('mError','innerHTML',$mError);
	$rs->script('$("#mError").slideDown();');
	return $rs;
}

// $xajax->configure('debug',true);
// $xajax->configure('errorHandler',true);
// $xajax->configure('logFile','xajax_error_log.log');
$xajax->register(XAJAX_FUNCTION,'salida');
?>