/* classe Previsio */
function Previsio(activitat, ciutat, data, video, foto, text, audio) {	
	this.activitat = activitat;
	this.ciutat = ciutat;
	this.data = data;
	this.video = video;
	this.foto = foto;
	this.text = text;
	this.audio = audio;
}

/* classe Previsions */
function Previsions() {
    
	/* definim els atributs */
	this.actual = 0;			
	this.numPrevisions = 0;	
	this.comptador = 0;	
	this.previsions = new Array();		
	
	/* definim els metodes */
	this.add = add;						
	this.getActual = getActual;
	this.getSeguent = getSeguent;
	this.getAnterior = getAnterior;
	this.imprimir = imprimir;
	this.mostrarPrevisions = mostrarPrevisions;
	this.mostrar = mostrar;
}

/*** implementació dels metodes ***/

/* afegeix una previsio */
function add(previsio) {	
	this.previsions[this.numPrevisions++] = previsio;	
}

/* retorna la previsio actual */
function getActual() {		
	this.imprimir(this.actual);
}

/* retorna la previsio seg?ent */
function getSeguent() {		
	if(this.actual + 1 < this.numPrevisions) this.actual++;	
	this.imprimir(this.actual);
}

/* retorna la previsio anterior */
function getAnterior() { 			
	if(this.actual - 1 >= 0) this.actual--;
	this.imprimir(this.actual);
}

/* mostra la previsio actual per pantalla */
function imprimir(num) {	
	
	previsio = document.getElementById("previsioActual"); html = '';

	if (this.numPrevisions == 0) { 
		html += 
			'<div style="color:red;">Previsions del dia:</div>' + 
			'No hi ha previsions';	
	} else {		
		html += 
			'<table style="margin-top:0px;" width="100%" cellpadding="0" cellspacing="0">' + 
				'<tr>' +		
					'<td style="cursor:pointer; color:red; padding:3px 0 3px 0" onClick="novaFinestra(\'previsionsAcn.do\',\'home\', 885, 475, \'scrollbars=yes\')" width="20%">Previsions del dia (' + (this.actual + 1) + '):</td>' +
					'<td style="cursor:pointer; font-weight:bold; padding:3px 0 3px 0" onClick="novaFinestra(\'previsionsAcn.do\',\'home\', 885, 475, \'scrollbars=yes\')" width="65%">' + this.previsions[num].data + ' - ' + this.previsions[num].ciutat + '</td>' +
					'<td style="padding:3px 0 3px 0" width="15%" rowspan="2" align="right">';		
								
					if(this.actual > 0) {
						html += '<img style="margin-left:20px; cursor:pointer;" onClick="previsions.getAnterior();" src="img/notis/anterior.gif" />&nbsp;';
					}		
					if(this.actual < this.numPrevisions - 1) { 
						if(this.actual > 0)	{
							html += '<img style="cursor:pointer;" onClick="previsions.getSeguent();" src="img/notis/seguent.gif" />';	
						} else {
							html += '<img style="margin-left:65px; cursor:pointer;" onClick="previsions.getSeguent();" src="img/notis/seguent.gif" />';	
						}
					}						
		html += 
					'</td>' + 
				'</tr>' + 
				'<tr>' + 
					'<td style="cursor:pointer; padding:3px 0 3px 0" onClick="novaFinestra(\'previsionsAcn.do\',\'home\', 885, 475, \'scrollbars=yes\')" colspan="2">' + this.previsions[num].activitat + '</td>' + 
				'</tr>' + 
			'</table>';
	}
	
	previsio.innerHTML = html;
}

function mostrarPrevisions() {	
	//alert("mostrarem - comptador: "+this.comptador+" - numPrevisions: "+this.numPrevisions);
	this.mostrar(this.comptador);	
	if(this.comptador + 1 < this.numPrevisions) {
		this.comptador++;
	}
	else {
		this.comptador=0;
	}
}

function mostrar(num) {
	
	previsio = document.getElementById("previsioActual"); html = '';

	if (this.numPrevisions == 0) { 
              //alert("NOOO n'hi haaaaaa");
		html += '';	
		previsio.innerHTML = html;
			
	} else {
              //alert("SIIII n'hi haaaaaa");
		
		var aux1 = this.previsions[0].data.split(" ");
		var aux2 = aux1[0].split("-");
				
		var date  = aux2[2];
		var month = aux2[1];
		var year  = aux2[0];
		
		var fecha = new Date(year, month-1, date);
		
		var hoy = new Date();
		var hoy = new Date(hoy.getFullYear(), hoy.getMonth(), hoy.getDate());
				
		html +=
			'<table width="832" border="0" cellpadding="0" cellspacing="0">' +
			  '<tr>';
			  if(/*fecha.getFullYear() == hoy.getFullYear() && fecha.getMonth() == hoy.getMonth() && fecha.getDate() == hoy.getDate()*/false) {
			    html += '<td height="20" align="center" valign="middle" width="150px">' +
			    	'<div align="left">' +
			    		'<a href="javascript:novaFinestra(\'/webACN/previsionsAcn.do\',\'home\', 885, 475, \'scrollbars=yes\');">' +
							'<span class="lloc">PREVISIONS DEL DIA &gt;&nbsp;</span>';
			  }
			  else {
				html += '<td height="20" align="center" valign="middle" width="185px">' +
			    	'<div align="left">' +
			    		'<a href="javascript:novaFinestra(\'/webACN/previsionsAcn.do\',\'home\', 885, 475, \'scrollbars=yes\');">' +
							'<span class="lloc">PREVISIONS'+" "+"DEL"+" "+date+"."+month+"."+year+" "+'&gt;&nbsp;</span>';
			  }
				html += '</a>' +
			    	'</div>' +
			    '</td>' +
			    '<td height="20" valign="middle" class="previsio">' +
			    	'<a href="javascript:novaFinestra(\'/webACN/previsionsAcn.do\',\'home\', 885, 475, \'scrollbars=yes\');">' +
			    		'<span class="hora" id="hora">' + trim(this.previsions[num].data.substring(11, 16).replace(':', '.')) + '&nbsp;h</span>' +
			    		'<span class="lloc"> | </span> <span class="lloc" id="lloc">' + trim(this.previsions[num].ciutat) + '</span>' +
			    		'<span class="lloc"> | </span> <span class="data" id="data">' + trim(this.previsions[num].activitat) + '</span>' +
			    	'</a>' +
			    '</td>' +
			    '<td width="10%" height="20" valign="middle" class="previsio">' +
			    	'<div align="center">' +
			    		'<span class="data">';
			    						    										
							if(this.previsions[num].text == "S") { 
								html += 
									'<img class="media" src="imatge/i_text_2.jpg" width="11" height="20">'; 
							}
							else { 
								html += 
									'<img class="media" src="imatge/i_text_2b.jpg" width="11" height="20">';
							}
							
							if(this.previsions[num].foto == "S") { 
								html += 
									'<img class="media" src="imatge/i_foto_2.jpg" width="13" height="20">'; 
							}
							else { 
								html += 
									'<img class="media" src="imatge/i_foto_2b.jpg" width="13" height="20">';
							}
							
							if(this.previsions[num].audio == "S") { 
								html += 
									'<img class="media" src="imatge/i_audio_2.jpg" width="11" height="20">'; 
							}
							else { 
								html += 
									'<img class="media" src="imatge/i_audio_2b.jpg" width="11" height="20">';
							}
							
							if(this.previsions[num].video == "S") { 
								html += 
									'<img class="media" src="imatge/i_video_2.jpg" width="17" height="20">'; 
							}
							else { 
								html += 
									'<img class="media" src="imatge/i_video_2b.jpg" width="17" height="20">';
							}
											
					html +=
			    		'</span>' +
			    	'</div>' +
			    '</td>' +
			    '<td width="2%" height="20" valign="middle" class="previsio">' +
			    	'<div align="center" class="lloc">' +
			    		'<a href="javascript:novaFinestra(\'/webACN/previsionsAcn.do\',\'home\', 885, 475, \'scrollbars=yes\');">' +
			    			'[+]' +
			    		'</a>' +
			    	'</div>' +
			    '</td>' +
			  '</tr>' +
			'</table>';
			
		previsio.innerHTML = html;
		truncar();
	}
}

/********************* utilidades *********************/

function truncar() {

	total = 118;
	fija = 21+3+3+3;
	
	variable = total - fija;
	
	if(navigator.appName == "Microsoft Internet Explorer") {
		txt1 = trim(document.getElementById("hora").innerText).length;
		txt2 = trim(document.getElementById("lloc").innerText).length;
		txt3 = trim(document.getElementById("data").innerText).length;
	}
	else {
		txt1 = trim(document.getElementById("hora").textContent).length;
		txt2 = trim(document.getElementById("lloc").textContent).length;
		txt3 = trim(document.getElementById("data").textContent).length;
	}
	
	if(txt1+txt2+txt3 > variable)
	{
		restante = variable - (txt1+txt2);
		
		if(navigator.appName == "Microsoft Internet Explorer") {
			document.getElementById("data").innerText = document.getElementById("data").innerText.substring(0, restante) + "...";
		}
		else {
			document.getElementById("data").textContent = document.getElementById("data").textContent.substring(0, restante) + "...";
		}
	}
}

function trim(str) {
	var trim = str.replace(/^\s*|\s*$/g, "");
	return trim;
}

