<?php
	require 'config/constants';
	require 'error/Error';
	require 'error/Advise';
	require 'model/MNative';
	require 'form.php';

	if(isset($_POST['form'])){
		$model=new MNative('TourMap');
		$query='';
		if($_POST['id']=='-sin'){
			$id='Sin T&iacute;tulo';
			//if no previous info for the city,
			$query='insert into Info (color_if,)';	

		}
		else{
			
		}
		
	}
	else{
		$json=$_GET['json'];
		$json=json_decode($json);

		$error=new Error(' ');
		if($json->action==='init_main'){
			$model=new MNative('TourMap');
			$types='';
			$states='';
			$state='';
			$marks=$model->select('select distinct titular,id_marca from Marca');
			$colors=$model->select('select * from Color_marca');
			$color='';
			$i=0;
			$y=0;
			$length=count($marks);
			$length2=count($colors);
			for($i=0;$i<$length;$i++){
				$types.=($i==0?'':',').'"'.$marks[$i]->titular.'":';
				for($y=0;$y<$length2;$y++){
					if($marks[$i]->id_marca===$colors[$y]->id_marca_cmf){
						$color=explode('.',$colors[$y]->ruta_color);
						$types.='"'.$color[0].'"';
					}
				}
			}
			$marks=NULL;
			$colors=NULL;
			$color=NULL;
			$maps=$model->select('select ruta_mapa from Provincia');
			$length=count($maps);
			for($i=0;$i<$length;$i++){
				$state=explode('.',$maps[$i]->ruta_mapa);
				$states.=($i==0?'':',').'"'.ucfirst($state[0]).'"';
			}
			echo '{"success":"init","types":{'.$types.'},"states":['.$states.']}';
		}
		else if($json->action==='map'){
			$error->add('No color selected Error','Message -> It should be a type of information selected before you select a map to show');	
			die('{"error":"'.$error->__toString().'"'.',"parameter":"advise1.png"}');
		}
		else if($json->action==='type'){
			$error->add('No map selected Error','Message -> It should be a state selected before you select a type of information to show');		
			die('{"error":"'.$error->__toString().'"'.',"parameter":"advise2.png"}');
		}
		else if(($json->action==='map_type') OR ($json->action==='type_map')){
			$type='';
			$map='';
			$model=new MNative('TourMap');
			$action=explode('_',$json->action);
			$info=explode(',',$json->info);
			if($action[0]=='map'){
				$map=$info[0];
				$type=$info[1];
			}
			else{
				$map=$info[1];
				$type=$info[0];
			}
			$map=strtolower($map);
			$coords='';
			$path='';
			$cities=array();
			$desc='';
			//-------------
			$query=$model->select("Select ruta_mapa from Provincia where provincia='".ucfirst($map)."';");
			if(($query!==NULL) && (count($query)>0)){
				$path=$query[0]->ruta_mapa;
				//-------------
				$query=$model->select("select * from Coordenada where municipio_caf in (select municipio from Municipio where comarca_mf in (select comarca from Comarca where provincia_cf='".ucfirst($map)."'));");
				if(($query!==NULL) && (count($query)>0)){
					$i=0;
					$y=0;
					$length=count($query);
					$city='';
					$flag=FALSE;
					for($i=0;$i<$length;$i++){
						if($city!=$query[$i]->municipio_caf){
							$city=$query[$i]->municipio_caf;
							$coords.=($i!=0?'],':'').'"'.$city.'":[';
							$flag=FALSE;
							//--
							$cities[$y]=$city;
							$y++;
						}
						else{
							$coords.=($flag?',':'').$query[$i]->x.','.$query[$i]->y;
							$flag=TRUE;
						}
					}
					$coords.=']';
					//-------------
					$length=count($cities);
					$flag=FALSE;
					$imgPath='noimage.png';
					$titular='';
					for($i=0;$i<$length;$i++){
						$query=$model->select ("select * from Municipio where municipio='".$cities[$i]."';");
						if(($query!==NULL) && (count($query)>0)){
							$imgPath=(($query[0]->ruta_foto!='')?$query[0]->ruta_foto:'');
							$titular=$cities[$i].' (Comarca de \''.$query[0]->comarca_mf.'\')';
							if(($query!==NULL) && (count($query)>0)){
								$desc.=($i==0?'':',').'"'.$cities[$i].'":{';
								$desc.='"imgPath":"'.$imgPath.'","tipString":"'.$query[0]->descripcion.'","nextLink":"'.($query[0]->vinculo?$query[0]->vinculo:'state.php').'","titular":"'.$titular.'","bgColor":"'.$type.'"';
								$desc.='}';
							}
							else if($query===NULL)//if  $query is null
								die('{"error":"'.$model->get_error().'","parameter":"error.png"}');
							else// if query length is 0: count($query)==0
								die('{"advise":"'.$model->get_advise().'","parameter":"error.png"}');
						}
						else if($query===NULL)//if  $query is null
							die('{"error":"'.$model->get_error().'","parameter":"error.png"}');
						else// if query length is 0: count($query)==0
							die('{"advise":"'.$model->get_advise().'","parameter":"error.png"}');
					}
				}
				else if($query===NULL)//if  $query is null
					die('{"error":"'.$model->get_error().'","parameter":"error.png"}');
				else// if query length is 0: count($query)==0
					die('{"advise":"'.$model->get_advise().'","parameter":"error.png"}');
			}
			else if($query===NULL)//if  $query is null
				die('{"error":"'.$model->get_error().'","parameter":"error.png"}');
			else// if query length is 0: count($query)==0
				die('{"advise":"'.$model->get_advise().'","parameter":"error.png"}');

		

			echo '{"success":"map","coords":{'.$coords.'},"path":"'.$path.'","desc":{'.$desc.'}}';
		
		}
		else if($json->action==='init_state'){
			$type=explode(',',$json->info);
			$type=$type[0];
			$state=explode(',',$json->info);
			$state=$state[1];
			$entered=0;
			$model=new MNative('TourMap');
			$query=$model->select("select * from Municipio where comarca_mf in (select comarca from Comarca where provincia_cf='".$state."')");

			if(($query!==NULL) && (count($query)>0)){
				if($model->action("update Municipio set numero_entradas=".($entered=$query[0]->numero_entradas+1).";")>0){
					$i=0;
					$y=0;
					$x=0;
					$length=count($query);
					$length2=0;
					$length3=0;
					$city='';
					$info='';
					$infos='';
					$accepted=false;
					$imgPath='';
					$tipString='';
					$nextLink='';
					$titular='';
					$dir='';
					$date='';
					$alias='';
					$concept='';
					$out='';
					$comment='';
					$out='{"success":"info","form":"'.$form.'","info":{';
					for($i=0;$i<$length;$i++){
						$city=$query[$i]->municipio;
						$info=$model->select("select * from Info where color_if in (select ruta_color from Color_marca where id_marca_cmf in (select id_marca from Marca where municipio_mf='".$city."') and ruta_color='".$type.".png');");
						$infos.=($infos==''?'':',').'"'.$city.'":{';
						if(($info!==NULL) && (count($info)>0)){
							$length2=count($info);
							for($y=0;$y<$length2;$y++){
								$accepted=$model->select("select aceptado from Contacto where id_contacto=".$info[$y]->id_contacto_if);
								if($accepted[0]->aceptado==1){
									$imgPath=$info[0]->ruta_imagen;
									$tipString=$info[0]->contenido;	
									$dir=$info[0]->direccion;					
									$date=$info[0]->fecha_info;
									$titular=$info[0]->concepto.'( Comarca de \''.$query[$i]->comarca_mf.'\' )';
									$alias=$info[0]->alias;
									$nextLink=$info[0]->link;
									$concept=$info[0]->concepto;
									$info=$model->select("select * from Comentario where id_info_cf=".$info[0]->id_info);
									if(($info!==NULL) && (count($info)>0)){
										$length3=count($info);
										$comment='{"';
										for($x=0;$x<$length3;$x++)
											$comment.=($x==0?'':',').$x.'"'.':{"apodo":"'.$info[$x]->apodo.'","date":"'.$info[$x]->fecha_comentario.'","content":"'.$info[$x]->comentario.'"}';
										$comment.='}';
									}
									else
										$comment='{"apodo":"Sin apodo","date":"'.date('Y-m-d').'","content":"No disponible"}';
									$infos.='"'.$concept.'":{"imgPath":"'.$imgPath.'","nextLink":"'.$nextLink.'","titular":"'.$titular.'","bgColor":"'.$type.'","dir":"'.$dir.'","date":"'.$date.'","nick":"'.$alias.'","tipString":"'.$tipString.'","comments":'.$comment.'},';
								}
							}
							$infos=substr($infos,0,strlen($infos)-1);
						}
						else if($info===NULL)//if  $query is null
							die('{"error":"'.$model->get_error().'","parameter":"error.png"}');
						else{
							$imgPath='noimage.png';
							$tipString='Sin informaci&oacute;n';
							$nextLink='noimage.html';				
							$titular="Sin foto de '".$city."'";
							$dir='Sin localizaci&oacute;n';
							$date=date('Y-m-d');
							$alias='Sin apodo';
							$concept="-Sin T&iacute;tulo-";
							$comment='{"apodo":"Sin apodo","date":"Sin fecha","content":"No disponible"}';
							$infos.='"'.$concept.'":{"imgPath":"'.$imgPath.'","nextLink":"'.$nextLink.'","titular":"'.$titular.'","bgColor":"'.$type.'","dir":"'.$dir.'","date":"'.$date.'","nick":"'.$alias.'","tipString":"'.$tipString.'","comments":'.$comment.'}';
							
						}
						$out.=$infos.'},';
						$infos='';
					
					}
					echo substr($out,0,strlen($out)-1).'}}';

				}
				else
					die('{"advise":" No uptaded \"numero de entradas\" field, '.$model->get_error().'","parameter":"error.png"}');
			
			}
			else if($query===NULL)//if  $query is null
				die('{"error":"'.$model->get_error().'","parameter":"error.png"}');
			else// if query length is 0: count($query)==0
				die('{"advise":"'.$model->get_advise().'","parameter":"error.png"}');
		}
	
	}
//End of file TourMap.php
//Path of the file: /TourMap.php	
