function weatherShowHideBoxField(sh, obj_id){
	var obj=document.getElementById(obj_id);
	if(sh=='show'){
		obj.style.display="block";
	} else if(sh=='hide'){
		hiddenboxAutoComplete();
		var wather_field_namecity=document.getElementById('weather_nomeofcity');
		wather_field_namecity.value="Digite aqui o nome da cidade";
		wather_field_namecity.className="field_inlabel";		
		obj.style.display="none";			
	}	
}

function openBoxAutoComplete(me){
	if(!document.getElementById('home_weather_boxautocomplete')){
		var boxautocomplete = document.createElement('div');
		boxautocomplete.setAttribute('id', 'home_weather_boxautocomplete'); 
		boxautocomplete.className="home_dinamicbox_today_weather_selectcity_autocompletebox";
		boxautocomplete.style.left=(findPosX(me))+"px";
		boxautocomplete.style.top=(findPosY(me)+me.offsetHeight-1)+"px";
		boxautocomplete.style.width=(me.offsetWidth-2)+"px";
		document.body.appendChild(boxautocomplete);	
		openBoxAutoComplete(me);
	} else {
		var boxautocomplete = document.getElementById('home_weather_boxautocomplete');
		boxautocomplete.innerHTML="";
		boxautocomplete.style.display="block";
	}
}

function insertDataToAutoComplete(event){
	if (getKeyCode(event) == 13) {
		getWeather();
		return false;
	}
	var cidade_field=document.getElementById('weather_nomeofcity');
	if(cidade_field.value.length<=3){
		hiddenboxAutoComplete();
		return false;
	}
	XMLaddress = '?,serv=xml_autocomplete';
	var params = "cidade="+cidade_field.value;
 	var xmlhttp=ajax();
    xmlhttp.onreadystatechange = function() { 
          if (xmlhttp.readyState==4) {
               if (xmlhttp.status==200) {
					var tags=xmlhttp.responseXML;
					var tagData=tags.getElementsByTagName('data');
              		var tagCidade=tagData[0].getElementsByTagName('cidade');
					if(getTextXML(tagData[0], 'sec')!="1"){
						return false;
					}
					if(tagCidade.length>=1){
						openBoxAutoComplete(cidade_field);
						var boxautocomplete = document.getElementById('home_weather_boxautocomplete');
						
						for(var i=0; i<tagCidade.length; i++){
							var id_cidade = getTextXML(tagCidade[i], 'id');
							var nome_cidade = getTextXML(tagCidade[i], 'nome');
							var n_div = document.createElement('div');
							n_div.className="home_dinamicbox_today_weather_selectcity_autocompletebox_contentvalue";
							n_div.innerHTML='<a onClick="makeValue(\'weather_nomeofcity\', \''+id_cidade+'\', \''+nome_cidade+'\')" href="javascript:;">'+nome_cidade+'</a>';
							boxautocomplete.appendChild(n_div);
						}
					} else {
						hiddenboxAutoComplete();
					}
               } 
          }
     };
     xmlhttp.open("POST", XMLaddress, true);
     xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
     xmlhttp.send(params);		
}

function getWeather(h){
	var cidade_field = document.getElementById('weather_nomeofcity');
	if(!cidade_field) return false;
	var post_cidade=cidade_field.value;
	if(h) post_cidade="---rand";
	
	//var rec_city=get_cookie("weatcit");
	//if(rec_city!=null) post_cidade=rec_city;

	XMLaddress = '?,serv=xml_weatherinfo';
	var params = "cidade="+post_cidade;
 	var xmlhttp=ajax();
    xmlhttp.onreadystatechange = function() { 
          if (xmlhttp.readyState==4) {
               if (xmlhttp.status==200) {
					var tags=xmlhttp.responseXML;
					var tagSec=tags.getElementsByTagName('sec');
					if(getTextXML(tagSec[0], 'auto')!="1"){
						alert(getTextXML(tagSec[0], 'message'));
						return false;
					}
					var tagCidade=tags.getElementsByTagName('cidade');	
						var cidade_nome=getTextXML(tagCidade[0], 'nome');
						var cidade_uf=getTextXML(tagCidade[0], 'uf');
						document.getElementById('home_weather_cityname').innerHTML=cidade_nome+"-"+cidade_uf;

					var tagClima=tags.getElementsByTagName('clima');

					for(var r=0; r<tagClima.length; r++){
						var wb_date=document.getElementById('watherboxinfo_'+(r+1)+'_date');
						var wb_min=document.getElementById('watherboxinfo_'+(r+1)+'_min');
						var wb_max=document.getElementById('watherboxinfo_'+(r+1)+'_max');
						var wb_picture=document.getElementById('watherboxinfo_'+(r+1)+'_picture');
						if(wb_date) wb_date.innerHTML=getTextXML(tagClima[r], 'data');
						if(wb_min) wb_min.innerHTML=getTextXML(tagClima[r], 'min');
						if(wb_max) wb_max.innerHTML=getTextXML(tagClima[r], 'max');
						var _indpicture=selectIconWeather(getTextXML(tagClima[r], 'dia'));
						if(wb_picture) {
							wb_picture.src=_indpicture[0];
							wb_picture.title=_indpicture[1];
						}	
					}			
					weatherShowHideBoxField('hide', 'home_weather_boxselectcity');
					//delete_cookie("weatcit");
					//set_cookie("weatcit", post_cidade);
               } 
          }
     };
     xmlhttp.open("POST", XMLaddress, true);
     xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
     xmlhttp.send(params);	
}

function makeValue(field_id, id, value){
	document.getElementById(field_id).value=value;
	hiddenboxAutoComplete();
}

function hiddenboxAutoComplete(){
	var boxautocomplete=document.getElementById('home_weather_boxautocomplete');
	if(boxautocomplete) boxautocomplete.style.display="none";
}

function selectIconWeather(dia){
	var path="views/client/home/img/weather/";
	var icon="dunno.png";
	var desc="Indefinido";
	switch(dia){
		case "ec": 
			icon="shower3.png"; 
			desc="Encoberto com Chuvas Isoladas";
			break;
		case "ci": 
			icon="shower3.png"; 
			desc="Chuvas Isoladas";
			break;
		case "in": 
			icon="shower1.png"; 
			desc="Instavél";
			break;
		case "pp": 
			icon="storm3.png"; 
			desc="Possibilidade de Pancadas de Chuva";
			break;
		case "cm": 
			icon="shower2.png"; 
			desc="Chuva pela Manhã";
			break;
		case "ct": 
			icon="shower2.png"; 
			desc="Chuva a Tarde";
			break;
		case "pt": 
			icon="storm2.png"; 
			desc="Pancadas de Chuva a Tarde";
			break;
		case "pm": 
			icon="storm2.png"; 
			desc="Pancadas de Chuva pela Manhã";
			break;
		case "np": 
			icon="storm3.png"; 
			desc="Nublado e Pancadas de Chuva";
			break;
		case "pc": 
			icon="storm3.png"; 
			desc="Pancadas de Chuva";
			break;
		case "pn": 
			icon="cloudy3.png";
			desc="Parcialmente Nublado"; 
			break;
		case "c": 
			icon="shower3.png"; 
			desc="Chuva";
			break;
		case "ch": 
			icon="shower3.png"; 
			desc="Chuvoso";
			break;
		case "cv": 
			icon="light_rain.png"; 
			desc="Chuvisco";
			break;
		case "t": 
			icon="storm3.png";
			desc="Tempestade";
			break;
		case "e": 
			icon="cloudy5.png"; 
			desc="Encoberto";
			break;
		case "n": 
			icon="overcast.png"; 
			desc="Nublado";
			break;	
		case "nv": 
			icon="cloudy5.png"; 
			desc="Nevoeiro";
			break;
		case "ps": 
			icon="sunny.png"; 
			desc="Predomínio de Sol";
			break;
		case "cl": 
			icon="sunny.png"; 
			desc="Céu claro";
			break;
		case "g": 
			icon="sleet.png";
			desc="Geada"; 
			break;
		case "ne": 
			icon="snow4.png"; 
			desc="Neve";
			break;
	}
	return [path+icon, desc];
}