<?php
function actualizar_servicio_adicional($post){
	if(!is_array($post)){
		$post = JSON::json2array($post);
	}
	$rs = new xajaxResponse();
	$rs->assign('mAcierto','style.display','none');
	$rs->assign('mError','style.display','none');
	$mError = '';
	if(empty($post['nombre']) || strlen($post['nombre']) > 100){
		$mError .= '<div>Error en el nombre del servicio adicional, este campo es obligatorio.</div>';
	}
	if(!ctype_digit($post['valor']) || $post['valor'] <= 0){
		$mError .= '<div>Error en el valor, este campo es obligatorio.</div>';
	}
	if($post['estado'] != 0 && $post['estado'] != 1){
		$mError .= '<div>Debe seleccionar un estado, este campo es obligatorio.</div>';
	}
	$est = new Estacionamiento();
	$rs->script('$("html, body").animate({scrollTop:0},"slow");');
	if(empty($mError) && isset($post['id']) && ctype_digit($post['id']) && $est->actualizarServicio($post['id'],$post['nombre'],$post['valor'],$post['estado'])){
		$rs->assign('mAcierto','innerHTML','El servicio adicional ha sido actualizado correctamente.');
		$rs->script('$("#mAcierto").slideDown();');
		$rs->redirect(base.'servicios',1);
		return $rs;
	}else{
		$mError.='<div>No se pudo actualizar el servicio adiconal.</div>';
		$rs->assign('submit','disabled',false);
	}
	$rs->assign('mError','innerHTML',$mError);
	$rs->script('$("#mError").slideDown();');
	return $rs;
}

function actualizar_precio($post){
	if(!is_array($post)){
		$post = JSON::json2array($post);
	}
	$rs = new xajaxResponse();
	$rs->assign('mAcierto','style.display','none');
	$rs->assign('mError','style.display','none');
	$mError = '';
	if(!ctype_digit($post['minimo']) || $post['minimo'] <= 0){
		$mError .= '<div>Error en el valor minimo, este campo es obligatorio.</div>';
	}
	if(!ctype_digit($post['hora']) || $post['hora'] <= 0){
		$mError .= '<div>Error en el valor por hora, este campo es obligatorio.</div>';
	}
	if(($post['valor_tiempo_extra'] > 0 && $post['tiempo_extra'] <= 0) || (!ctype_digit($post['tiempo_extra']) || $post['tiempo_extra'] < 0 || $post['tiempo_extra'] >= 60)){
		$mError .= '<div>Error en el tiempo extra(debe ser menor a 60 minutos).</div>';
	}
	if(($post['tiempo_extra'] > 0 && $post['valor_tiempo_extra'] <= 0) || (!ctype_digit($post['valor_tiempo_extra']) || $post['valor_tiempo_extra'] < 0)){
		$mError .= '<div>Error en el valor por tiempo extra.</div>';
	}
	$est = new Estacionamiento();
	if($est->verificarCarroceriaPrecio($post['id'],$post['car_id'])){
		$mError .= '<div>La carrocer&iacute;a seleccionada ya se encuentra en uso.</div>';
	}
	$rs->script('$("html, body").animate({scrollTop:0},"slow");');
	if(empty($mError) && isset($post['id']) && ctype_digit($post['id']) && $est->actualizarPrecio($post['id'],$post['minimo'],$post['hora'],$post['tiempo_extra'],$post['valor_tiempo_extra'],$post['car_id'])){
		$rs->assign('mAcierto','innerHTML','El precio ha sido actualizado correctamente.');
		$rs->script('$("#mAcierto").slideDown();');
		$rs->redirect(base.'precios',1);
		return $rs;
	}else{
		$mError.='<div>No se pudo actualizar el precio.</div>';
		$rs->assign('submit','disabled',false);
	}
	$rs->assign('mError','innerHTML',$mError);
	$rs->script('$("#mError").slideDown();');
	return $rs;
}

function actualizar_estacionamiento($post){
	if(!is_array($post)){
		$post = JSON::json2array($post);
	}
	$rs = new xajaxResponse();
	$post['nombre']=trim($post['nombre']);
	$post['telefono']=trim($post['telefono']);
	$post['latitud']=trim($post['latitud']);
	$post['longitud']=trim($post['longitud']);
	$post['direccion']=trim($post['direccion']);
	$post['horario']=trim($post['horario']);
	$post['descripcion']=trim($post['descripcion']);
	$rs->assign('mAcierto','style.display','none');
	$rs->assign('mError','style.display','none');
	$mError = '';
	if(!empty($post['nombre']) && strlen($post['nombre'])>100){
		$mError .= '<div>Error en el nombre.</div>';
	}
	if(!empty($post['telefono']) && strlen($post['telefono'])>12){
		$mError .= '<div>Error en el tel&eacute;fono.</div>';
	}
	if(empty($post['latitud']) || !is_numeric($post['longitud']) || $post['longitud'] < -90 || $post['longitud'] > 90){
		$mError .= '<div>Error en el latitud.</div>';
	}
	if(empty($post['longitud']) || !is_numeric($post['longitud']) || $post['longitud'] < -180 || $post['longitud'] > 180){
		$mError .= '<div>Error en la longitud.</div>';
	}
	if(empty($post['direccion']) || strlen($post['direccion'])>200){
		$mError .= '<div>Error en la direcci&oacute;n.</div>';
	}
	if(!empty($post['horario']) && strlen($post['horario'])>300){
		$mError .= '<div>Error en el horario.</div>';
	}
	if(!empty($post['descripcion']) && strlen($post['horario'])>1000){
		$mError .= '<div>Error en la descripci&oacute;n.</div>';
	}
	$est = new Estacionamiento();
	$rs->script('$("html, body").animate({scrollTop:0},"slow");');
	if(empty($mError) && $est->actualizarDatos($post['id'],$post['nombre'],$post['telefono'],$post['latitud'],$post['longitud'],$post['direccion'],$post['horario'],$post['descripcion'])){
		$rs->assign('mAcierto','innerHTML','La informaci&oacute;n del estacionamiento se actualizo correctamente.');
		$rs->script('$("#mAcierto").slideDown();');
		$rs->redirect(base.'a-estacionamientos/'.$post['id'],1);
		return $rs;
	}else{
		$mError.='<div>No se actualizo correctamente la informaci&oacute;n del estacionamiento.</div>';
	}
	$rs->assign('mError','innerHTML',$mError);
	$rs->script('$("#mError").slideDown();');
	return $rs;
}

function actualizar_usuario($post){
	if(!is_array($post)){
		$post = JSON::json2array($post);
	}
	$rs = new xajaxResponse();
	$post['apodo']=trim($post['apodo']);
	$post['contrasena']=trim($post['contrasena']);
	$post['correo']=trim($post['correo']);
	$post['estado']=trim($post['estado']);
	$rs->assign('mAcierto','style.display','none');
	$rs->assign('mError','style.display','none');
	$mError = '';
	if(empty($post['apodo']) || strlen($post['apodo'])>20){
		$mError .= '<div>Error en el apodo.</div>';
	}
	if(empty($post['correo']) || !Validacion::correo($post['correo'])){
		$mError .= '<div>Error en el correo.</div>';
	}
	if(!ctype_digit($post['estado']) || ($post['estado']!=0 && $post['estado']!=1 )){
		$mError .= '<div>Error en el estado.</div>';
	}
	$admin = new UAdmin();
	$rs->script('$("html, body").animate({scrollTop:0},"slow");');
	if(empty($mError) && $admin->actualizarUsuario($post['id'],$post['apodo'],$post['contrasena'],$post['correo'],$post['estado'])){
		$rs->assign('mAcierto','innerHTML','El usuario se actualizo correctamente.');
		$rs->script('$("#mAcierto").slideDown();');
		$rs->redirect(base.'a-usuarios/'.$post['id'],1);
		return $rs;
	}else{
		$mError.='<div>No se actualizo correctamente la informaci&oacute;n del usuario.</div>';
	}
	$rs->assign('mError','innerHTML',$mError);
	$rs->script('$("#mError").slideDown();');
	return $rs;
}

function actualizar_ligar($post){
	if(!is_array($post)){
		$post = JSON::json2array($post);
	}
	$rs = new xajaxResponse();
	$rs->assign('mAcierto','style.display','none');
	$rs->assign('mError','style.display','none');
	$mError = '';
	if(!ctype_digit($post['usu_id']) || $post['usu_id'] <= 0){
		$mError.='<div>No se pudo actualizar la informaci&oacute;n ligada.</div>';
	}
	if(!ctype_digit($post['est_id']) || $post['est_id'] <= 0){
		$mError.='<div>No se pudo actualizar la informaci&oacute;n ligada.</div>';
	}
	if(empty($post['f_inicio']) || !Validacion::fechaMenorHoy($post['f_inicio'])){
		$mError .= '<div>Error en la fecha de inicio, este campo es obligario.</div>';
	}
	if(empty($post['f_termino']) || !Validacion::fechaMayorHoy($post['f_termino'])){
		$mError .= '<div>Error en la fecha de termino, este campo es obligario.</div>';
	}
	if($post['estado'] != 0 && $post['estado'] != 1){
		$mError .= '<div>Debe seleccionar un estado, este campo es obligatorio.</div>';
	}
	$admin = new UAdmin();
	$rs->script('$("html, body").animate({scrollTop:0},"slow");');
	if(empty($mError) && $admin->actualizarUAE($post['usu_id'],$post['est_id'],$post['f_inicio'],$post['f_termino'],$post['estado'])){
		$rs->assign('mAcierto','innerHTML','Se actualizo correctamente la informaci&oacute;n ligada.');
		$rs->script('$("#mAcierto").slideDown();');
		$rs->redirect(base.'a-usuarios/'.$post['usu_id'],1);
		return $rs;
	}else{
		$mError.='<div>No se pudo actualizar la informaci&oacute;n ligada.</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,'actualizar_servicio_adicional');
$xajax->register(XAJAX_FUNCTION,'actualizar_precio');
$xajax->register(XAJAX_FUNCTION,'actualizar_estacionamiento');
$xajax->register(XAJAX_FUNCTION,'actualizar_usuario');
$xajax->register(XAJAX_FUNCTION,'actualizar_ligar');
?>