

 var productes={"pr":[
                	 
                     
                     
                              
                  {"Nom":"Model d Elevacions del Terreny de Catalunya 15 x 15 metres (MET-15) v2.0",
                	 "Nick":"MET-15","Org": "Institut Cartogrāfic de Catalunya",
                	 "Estat":"Registrada Oficial","Classi":"Cartografia topogrāfica","Subclassi":"Cartografia bāsica",
                	 "Esc":"1:50.000","Total":"90","Filtre":"SI","Capa":"SI"}, 
                     
                 {"Nom":"Cartografia topogrāfica 1:1.000 (CT-1M) v2.1",
                	 "Nick":"CT-1M","Org": "Administraciķ Local  de Catalunya (Ajuntaments, Diputacions, Mancomunitats de municipis)  Administraciķ Generalitat de Catalunya (Institut Cartogrāfic de Catalunya)",
                	 "Estat":"Registrada Oficial","Classi":"Cartografia topogrāfica","Subclassi":"Cartografia bāsica",
                	 "Esc":"1:1.000","Total":"2098","Filtre":"SI","Capa":"SI"},
                	 
                 {"Nom":"Ortofoto de Catalunya 1:2 500 (OF-25C) v3.3",
                		"Nick":"OF-25C","Org": "Institut Cartogrāfic de Catalunya",
                		"Estat":"Registrada Oficial","Classi":"Ortoimatge","Subclassi":"",
                		"Esc":"1:2.500","Total":"4275","Filtre":"SI","Capa":"SI"},
                        
                        
                {"Nom":"Ortofoto infraroja de Catalunya 1:2 500 (OI-25C) v1.1",
                		"Nick":"OI-25C","Org": "Institut Cartogrāfic de Catalunya",
                		"Estat":"Registrada Oficial","Classi":"Ortoimatge","Subclassi":"",
                		"Esc":"1:5.000","Total":"1468","Filtre":"SI","Capa":"SI"},     
               
               
               
                 {"Nom":"Base topogrāfica de Catalunya 1:5 000 (BT-5M) v2.0",
                		 "Nick":"BT-5M","Org": "Institut Cartogrāfic de Catalunya",
                		 "Estat":"Registrada Oficial","Classi":"Cartografia topogrāfica","Subclassi":"Cartografia bāsica",
                		 "Esc":"1:5.000","Total":"4275","Filtre":"SI","Capa":"SI"},
                		 
                 {"Nom":"Ortofotomapa de Catalunya 1:5 000 (OF-5M) v5.0",
                		"Nick":"OF-5M","Org": "Institut Cartogrāfic de Catalunya",
                		"Estat":"Registrada Oficial","Classi":"Ortoimatge","Subclassi":"",
                		"Esc":"1:5.000","Total":"4275","Filtre":"SI","Capa":"SI"},
                			 
                 {"Nom":"Ortofoto infraroja de Catalunya 1:5 000 (OI-5M) v1.0",
                		"Nick":"OI-5M","Org": "Institut Cartogrāfic de Catalunya",
                		"Estat":"Registrada Oficial","Classi":"Ortoimatge","Subclassi":"",
                		"Esc":"1:5.000","Total":"4275","Filtre":"SI","Capa":"SI"},
                				 
                 {"Nom":"Base topogrāfica de Catalunya 1:25 000 (BT-25M) v1.0",
                		"Nick":"BT-25M","Org": "Institut Cartogrāfic de Catalunya",
                		 "Estat":"Registrada Oficial","Classi":"Cartografia topogrāfica","Subclassi":"Cartografia derivada",
                		"Esc":"1:25.000","Total":"258","Filtre":"SI","Capa":"SI"},
                					 
                 {"Nom":"Ortofotomapa de Catalunya 1:25 000 (OF-25M) v6.0",
                		"Nick":"OF-25M","Org": "Institut Cartogrāfic de Catalunya",
                		"Estat":"Registrada Oficial","Classi":"Ortoimatge","Subclassi":"",
                		"Esc":"1:25.000","Total":"305","Filtre":"SI","Capa":"SI"},
                						 
                 {"Nom":"Ortofoto infraroja de Catalunya 1:25 000 (OI-25M) v2.0",
                 		"Nick":"OI-25M","Org": "Institut Cartogrāfic de Catalunya",
                 		"Estat":"Registrada Oficial","Classi":"Ortoimatge","Subclassi":"",
                 		"Esc":"1:25.000","Total":"305","Filtre":"SI","Capa":"SI"},
                     
                 		
                 {"Nom":"Base topogrāfica de Catalunya 1:50 000 (BT-50M) v3.1",
                	 "Nick":"BT-50M","Org": "Institut Cartogrāfic de Catalunya",
                	 "Estat":"Registrada Oficial","Classi":"Cartografia topogrāfica","Subclassi":"Cartografia bāsica",
                	 "Esc":"1:50.000","Total":"89","Filtre":"SI","Capa":"SI"}
                	 
            
                	 ]};
 
 
 
 function initCerques(valor,bbox,origen,productes){
	 $('pres_div').style.display='none';
	 $('lEstadistica').style.display='none';
	 
	 escriuProductes();
	 escriuFlow(valor,bbox,origen,productes);
	 if(document.all){
	 //$('example_length').style.top='25px';
	 // $('example_paginate').style.top='25px';
	 }
	 
 }
 
 function obteNomProducte(nick){
 var tmp=null;
  for(i=0;i < productes.pr.length;i++){
				
	var nom=productes.pr[i].Nom;
	
		 if(nom.indexOf(nick)!=-1){tmp=nom;	}
		 
		}
		return tmp
 }
 
 function escriuEstadistiques(){
	 
	 $('pres_div').style.display='block';
	 $('lEstadistica').style.display='block';
	 
	 $('pr_div').style.display='none';
	 $('lResultats').style.display='none';
	 $('dynamic').style.display='none';
	 $('cc_div').style.display='none';
	 
	 var htmlString=new Array();
	 var presString=new Array();
	 var total=0;
	 var j=0;
	 htmlString.push('<div>');
	 htmlString.push('<b> Llista de productes:');
	 htmlString.push('<table width="100%" cellpadding="3" cellspacing="3"  border="0" class="N_labelPro">');
	 presString.push('<div>');
	 presString.push('<table width="100%" cellpadding="3" cellspacing="0"  border="0" class="N_label">');
	
	 for(i=0;i < productes.pr.length;i++){
				 
		 if(productes.pr[i].Filtre=="SI"){
		 var cc="#FFFFFF";
		j++;
		 total +=parseInt(productes.pr[i].Total);
		 
		 if(i%2!=0 ){cc="#F2F2F2";} 
		htmlString.push("<tr>");
		htmlString.push('<td bgcolor='+cc+' width="90%"><b><font class="N_label" color="#6B80BF">'+productes.pr[i].Nom+'</font></b><b>  (Total metadades: </b>'+productes.pr[i].Total+')<br>');
		
		htmlString.push('<b>Organisme: </b>'+productes.pr[i].Org+' <b>  Escala: </b>'+productes.pr[i].Esc);
		htmlString.push('<b> Estat: </b>'+productes.pr[i].Estat+'<br>');
		htmlString.push('<b>  Classificacio: </b>'+productes.pr[i].Classi+'<b>  Subclassificaciķ: </b>'+productes.pr[i].Subclassi+'</td>');    
		htmlString.push('<td  bgcolor='+cc+'>');
		if(productes.pr[i].Capa=="SI"){
		htmlString.push('<a  class="mdtextlink" onClick="activaCapesMapa(\''+productes.pr[i].Nick+'\')" href="javascript:void(0);">Veure en el mapa </a>');
		}
		htmlString.push('</td>'); 
		htmlString.push("</tr>");
 			}
	 }
	 
	presString.push("<tr>");
	presString.push('<td  width="90%"><h2>Estat  Registre Cartogrāfic de Catalunya</h2>');
	presString.push('<b>Total metadades: </b>'+total+'<br>');
	presString.push('<b> Registrades oficials: </b>'+total+'<br>');
	presString.push('<b> Productes registrats: </b>'+j+'<br>');
	//presString.push('<b> Llista de productes:');
	presString.push('</td>'); 
	presString.push("</tr>");
	
	 presString.push("</table>");
	 presString.push("</div>");
	 htmlString.push("</table>");
	 htmlString.push("</div>");
	 
	 
	 $('pres_div').innerHTML=presString.join(' ');
	 $('lEstadistica').innerHTML=htmlString.join(' ');
 }
 
 
 
 
 function  escriuProductes(){
	
	 var htmlString=new Array();
	 htmlString.push('<h3 style="background: #F2D057;"><b>Filtrar resultats per producte i/o data de vol</b></h3>');
	 htmlString.push('<div class="olLayerGroup" >');
	 htmlString.push('<table width="100%" cellpadding="2" cellspacing="2"  border="0" class="N_labelPro">');
	 
	
	 for(i=0;i < productes.pr.length;i++){
     
		var prod=productes.pr[i].Nom;
        
            if(prod.indexOf('\'')!=-1){
           // prod=prod.substring(prod.indexOf('\'')+1,prod.length);
           prod=prod.replace("'","%27");
            }
        var prodN=productes.pr[i].Nom;    
            prodN=prodN.replace("d Elevacions","d´Elevacions");
          
        if(i==0){
        htmlString.push('<tr><td colspan="2"><a  class="mdtextlink7" onClick="filtreProducte(\''+prod+'\')" href="javascript:void(0);">'+prodN+'</a></td></tr>'); 
        }else{        
        if(i%2!=0){htmlString.push("<tr>")};
		htmlString.push('<td><a  class="mdtextlink7" onClick="filtreProducte(\''+prod+'\')" href="javascript:void(0);">'+prodN+'</a></td>'); 
		if(i%2==0){htmlString.push("</tr>")};
	}	
	 }
     var dis='none';
     if (document.all){dis='none';}
	 htmlString.push("</table>");
	 var calen1='<img src="images/calendar.png" id="f_trigger_e" style="cursor: pointer; border: 0px solid red;" title="Calendari"  />';
	 var calen2='<img src="images/calendar.png" id="f_trigger_d" style="cursor: pointer; border: 0px solid red;" title="Calendari"  />';
	 htmlString.push('<table border="0" width="100%" cellpadding="2" class="N_labelPro tdT"><tr>');
	 htmlString.push('<td>Data de vol <input type="radio" CHECKED onclick="vis(0);$(\'dt3\').value=\'\';filtreXData (0,0)" name="op2" id="opP"  value="op1">Posterior a <input type="radio" onclick="vis();" name="op2" id="opD"  value="op2">Entre dates</td>'); 
	 htmlString.push('<td width="30%" >'+calen1+'<input style="width:85px;" class="N_text N_label" onChange="filtreXData (0,0)"  type="text" id="dt1" name="dt1"></td>');
	 htmlString.push('<td width="30%"><div id="eD12" style="display:'+dis+'">'+calen2+'<input  type="text" style="width:85px;" onChange="filtreXData (0,0)"  class="N_text N_label" id="dt3" name="dt3"></div></td>'); 
	 htmlString.push("</tr></table>");
	 htmlString.push('</div> ');
	 
	 
	 $('pr_div').innerHTML=htmlString.join(' ');
	 $('pr_div').style.display='block';
 
	 
	 activaCalendaris();
	 fetSubmit=true;
 }
 
 function vis(valor){
 
 //if(!document.all){
 
     if (valor==0){
     
     document.getElementById('eD12').style.display='none';
     }else{
     document.getElementById('eD12').style.display='block';
     }
 //}
 }
 
 var CAL1;
 var CAL2;
 function activaCalendaris(){
	 
	CAL1=  new Calendar.setup({
	        inputField     :    "dt1",     // id of the input field
	        ifFormat       :    "%Y-%m-%d",     // format of the input field (even if hidden, this format will be honored)        
	        daFormat       :    "%A, %B %d, %Y",// format of the displayed date
	        button         :    "f_trigger_e",  // trigger button (well, IMG in our case)
	        align          :    "Tl",           // alignment (defaults to "Bl")
	        singleClick    :    true
	       // onSelect:function() {
		  //this.date.print(this.dateFormat)
	  		//}

	    });
	
	
	CAL2=  new Calendar.setup({
        inputField     :    "dt3",     // id of the input field
        ifFormat       :    "%Y-%m-%d",     // format of the input field (even if hidden, this format will be honored)        
        daFormat       :    "%A, %B %d, %Y",// format of the displayed date
        button         :    "f_trigger_d",  // trigger button (well, IMG in our case)
        align          :    "Tl",           // alignment (defaults to "Bl")
        singleClick    :    true
        // onSelect:function() {
        //this.date.print(this.dateFormat)
  		//}

    });
	 
	 
 }
 
 
 
 function filtreXData (data,opcio){
 
	var mm="";
 /*
 
	 if(!$('opP').checked){
		 mm=document.getElementById("dt3").value;
		
		 mm=mm.replace(/-/g,'');	
        
	 }else{
		mm=document.getElementById("dt3").value;
       
	 }//data posterior
		*/ 
		
		 jQuery.fn.dataTableExt.afnFiltering.push(
				 	function( oSettings, aData, iDataIndex,opcio ) {
                  
				 		var iMax =$("dt3").value;
                       
				 		iMax=iMax.replace(/-/g,'');
                        iMax=trim(iMax);
				 		//var iMax = document.getElementById(opcio).value * 1;
				 		var iMin = $("dt1").value ;
				 		
				 		
				 		iMin=iMin.replace(/-/g,'');
                       iMin=trim(iMin);
				 		//var iVersion = aData[1] == "-" ? 0 : aData[1]*1;
				 		var dd=aData[1];
				 		dd=dd.replace('<span class="mdsubtitol1">','');
				 		dd=dd.replace('</span>','');
				 		dd=trim(dd);
				 		dd=dd.replace(/-/g,'');
				 			//<span class="mdsubtitol1">2007-06-01</span>
				 		
				 		var iVersion = dd;
                        
				 		if ( iMin == "" && iMax == "" )
				 		{
				 			return true;
				 		}
				 		else if ( iMin == "" && iVersion < iMax )
				 		{
				 			return true;
				 		}
				 		else if ( iMin < iVersion && "" == iMax )
				 		{
				 			return true;
				 		}
				 		else if ( iMin < iVersion && iVersion < iMax )
				 		{
                      
				 			return true;
				 		}
				 		return false;
				 	}
				 );
          
    if(opcio !=-1){
          
		if($("dt1").value!=""){
		 escriuHistorial($("dt1").value+" >> "+$("dt3").value,3,'','');
		}
     }   
		 oTable.fnDraw();
		 
		 
		 
		
	 
 }
 
 
 function escriuFlow(valor,bbox,origen,productes){
	 
	 var htmlString=new Array();
     if(histo.length==0){
        htmlString.push('<h3>Historial cerca de la sessiķ:</h3>');
        htmlString.push('<div class="olLayerGroup" style="height:45px;overflow:auto" id="flow_div" ></div>');
        $('cc_div').innerHTML=htmlString.join(' ');
     }
     
	 $('cc_div').style.display='block';
     
     if(origen==0){
	 escriuHistorial(valor,1,bbox,productes);
     }
 }
 
 function cercaAcEstil(){
 var f = $$('li');
	var s = '';
	var n='li_'+cercaActiva;
	
	
	for(var i=0; i<f.length; i++){
		if( f[i].id ==n){
       
		f[i].addClassName('liac');
		f[i].removeClassName('lide');
		}else{
		f[i].addClassName('lide');
		f[i].removeClassName('liac');
		}
		
	}

 
 
 }
 
var histo=new Array();
var cercaActiva=1;
 function escriuHistorial(valor,pos,bbox,productes){
	 var htmlString=new Array();
    
	if(histo.length==0){
    htmlString.push('<a class="mdtextlink"  href="javascript:void(0);" onClick="escriuEstadistiques();netejaMapa();">Tornar Inici</a>');
    }
   
	
		var inH=parseInt(histo.length); 
        
      
		 if(pos==1){//primer cop
         histo.push("cerca");
          var inH=parseInt(histo.length);
          cercaActiva=inH;
           
          
			 if(valor=="bbox"){valor="Selecciķ mapa";}
			htmlString.push('<li id="li_'+inH+'" class="liac"><span id="hs1'+inH+'"></span><span id="hs2'+inH+'"></span><span id="hs3'+inH+'"></span></li>'); 
			
            if(histo.length ==1){$('flow_div').innerHTML=htmlString.join(' ');}
            
              if(histo.length > 1){
               var tHist=$('flow_div').innerHTML;
              
              $('flow_div').innerHTML= tHist + htmlString.join(' ');
              }
            var hisBBOX=bbox.left+","+bbox.bottom+","+bbox.right+","+bbox.top+"#"+productes;
            
            var  tempPos1='<span><input type="hidden" id="hs1bbox'+inH+'" value="'+hisBBOX+'">'+
            '<a class="mdtextlink"  href="javascript:void(0);" onClick="enviaHistoPeticio(1,\'hs1bbox'+inH+'\',-1,-1,-1,'+inH+')">Lloc:'+valor+'</a></span>';
			 		
               var h1= 'hs1'+inH;    
                    
			 $(h1).innerHTML=tempPos1;
			 //$('hs2').innerHTML="";
			 //$('hs3').innerHTML="";
			 if(document.all){
                setTimeout("cercaAcEstil()",500);
             }else{
                cercaAcEstil();
             }
             
		 }else if(pos==2) {
		  var inH=parseInt(histo.length);
          
          if(cercaActiva!=inH){inH=cercaActiva;}
          
			 var  tempPos2='+ <span><input type="hidden" id="hs2filtre'+inH+'" value="'+valor+'">'+
            '<a class="mdtextlink" href="javascript:void(0);" onClick="enviaHistoPeticio(1,\'hs1bbox'+inH+'\',\'hs2filtre'+inH+'\',-1,-1,'+inH+');">Producte:'+valor+'</a></span>';
		
            var h2= 'hs2'+inH;    
        
            $(h2).innerHTML=tempPos2
			
		 }else if(pos==3){
			
              var inH=parseInt(histo.length);
             if(cercaActiva!=inH){inH=cercaActiva;}
            var tempPos3='+ <span><input type="hidden" id="hs3dates'+inH+'" value="'+valor+'">'+
            '<a class="mdtextlink" href="javascript:void(0);" onClick="enviaHistoPeticio(1,\'hs1bbox'+inH+'\',\'hs2filtre'+inH+'\',\'hs3dates'+inH+'\',-1,'+inH+');">Data:'+valor+'</a></span>';
			
             var h3= 'hs3'+inH;    
            
            
            
			 $(h3).innerHTML=tempPos3; 
		 }
		 
		 
 }
 
 function filtreProducteHis(valor){
	 
	 oTable.fnFilter(valor);
	 
	
	
 }
 
 
 function filtreProducte(valor){
	
     jQuery(oTable.fnSettings().aoData).each(function (){
		jQuery(this.nTr).removeClass('row_selected');
	});
    
     
	 oTable.fnFilter(valor );
	 
	 escriuHistorial(valor,2,'','');
	 
 }
 
 function esborraFiltres(val){
	 oTable.fnFilter(''); 
	 netejaFiltreDates();
	histo.length = 0;
	 oTable.fnDraw();
 }
 
 function netejaFF(){
 if(oTable){
 oTable.fnFilter(''); 
  netejaFiltreDates();
  }
 }
 
 function netejaFiltreDates(){
	 
	if($('dt1')){$('dt1').value="";}
	if($('dt3')){$('dt3').value="";}
    //alert(1);
   // 
 }
 
 function retornaValorsFiltresDates(){
 
         var yy=$('dt1').value;
         
         if($('dt3')){
         yy +="#"+$('dt3').value;
         }
         
         return yy;
 }
 
	
	function insertaFiltreDates(valor){
		
		if(valor.indexOf(">>")!=-1){
			
			var dd=valor.split(">>");
            
			 $('dt1').value=dd[0];	
             
            
             
             if(dd[1].length > 2){
           
            
             $('eD12').style.display='block';
           
                 $('dt3').value=dd[1];                
                 $('opD').checked=true;
                 $('opP').checked=false;
                 
             }else{ //no conte valor
              $('opP').checked=true;
              $('opD').checked=false;
             $('eD12').style.display='none';
             
             }
			
		}else{
		 $('dt1').value=valor;	
		}
		
        //alert(1);
        
       // filtreXData (0,-1);
	
	}
	
 
 
 function proColor(producte){
 var clase="MET-15";
     for(i=0;i < productes.pr.length;i++){
            
            var prod=productes.pr[i].Nom;
        
            if(producte.indexOf(prod) != -1){ 
                clase=productes.pr[i].Nick;                
                return clase;
                
            }
                 
     }
 }