/**
 * @author gelson
 */
jQuery.noConflict();

jQuery(function(){
    jQuery("#tabs").tabs();
});
//<![CDATA[
function janela(){
    //** Create windows on page load
    
    //** Window 1: posicionado janela com conteúdos adotados a partir de elementos existentes DOM
    var line1 = $('line1');
    container1 = line1.getParent();
    line1.remove();
    
    var panel = new Element('div', {
        'styles': {
            'padding-top': 10,
            'text-align': 'right'
        }
    });
    
    new Windoo({
        width: 510,
        height: 300,
        left: 150,
        top: 50,
        title: 'Gráficos do Sistema de Alerta',
        container: container1,
        theme: Windoo.Themes.aero,
        position: true
    }).addPanel(panel).adopt(line1).show();
    
}

// fim do mootools



function tipoDado(cdTipo){
    if (cdTipo == "vlr_nivel") {
        return "Gráfico de Nível do Rio";
    }
    else 
        if (cdTipo == "vlr_precipitacao") {
            return "Gráfico de Precipitação";
        }
}

function exibeGrafico(dados, cdTipo){

	var line = new Element('div', {
		'id': 'line1'
	});
	line.inject($("map").getParent());
	
	if (cdTipo == "vlr_nivel") {
		var opt = {
			//  axis_step: 1,
			
			axis_range: 1,
			title: tipoDado(cdTipo),
			size: '480x235',
			colors: ['0077CC'],
			fillarea: ['B',['E6F2FA'],0,10,0],
			fillbottom: true,
			grid: true,
			grid_x: 30,
			grid_y: 10,
			grid_line: 10,
			grid_blank: 0,
			type: 'lc'
		};
	}
	else {
		var opt = {
			//  axis_step: 1,
			axis_range: 1,
			title: tipoDado(cdTipo),
			size: '480x235',
			colors: ['61a3fd'],
			fillarea: true,
			fillbottom: true,
			grid: true,
			grid_x: 30,
			grid_y: 10,
			grid_line: 10,
			grid_blank: 0,
			bar_width: 18,
			type: 'bvs'
		};
	}
	
	opt.axis_labels = new Array();
	var str = '';
	for (var i = 0; i < dados.length; i++) {
		opt.axis_labels[i] = dados[i][0] + 'h ';
	}
	
	opt.data = new Array();
	for (var i = 0; i < dados.length; i++) {
		opt.data[i] = dados[i][1];
	}
	
    var api = new jGCharts.Api();
    jQuery('<img>').attr('src', api.make(opt)).appendTo("#line1");
    jQuery("#line1").css('display', 'block');
    
}


function carregaGrafico(cdEstacao, cdTipo){

    jQuery.getJSON("../controllers/consultaJSON.php?" +
    "tipo=uma_estacao&tipo_dado=" +
    cdTipo +
    "&cd_estacao=" +
    cdEstacao, function(grafico){
        var dados = new Array();
        //oop através de todos os itens dos objetos JSON 
        for (var i = 0; i < grafico.length; i++) {
            //criar a div
            var div = jQuery(" <div>").appendTo("#line1");
            //adiciona dados 
            if (cdTipo == "vlr_nivel") {
				dados[i] = new Array(grafico[i].hora, grafico[i].vlr_nivel);
			} else {
				dados[i] = new Array(grafico[i].hora, grafico[i].vlr_precipitacao);
			}
        }
        exibeGrafico(dados, cdTipo);
        janela();
    });
}

/**
 * @author Administrador
 */
var map;
function loadData(){
    if (window.XMLHttpRequest) { // Object of the current windows
        xhr = new XMLHttpRequest(); // Firefox, Safari, ...
    }
    else 
        if (window.ActiveXObject) { // ActiveX version 
            xhr = new ActiveXObject("Microsoft.XMLHTTP"); // Internet Explorer 
        }
    xhr.onreadystatechange = showData;
    xhr.open('POST', '../json/ultimas.json', true);
   //xhr.open('POST', '../controllers/consultaJSON.php?tipo=ultimas', true);
  
    //Linhas necessárias para passar via POST
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.setRequestHeader("Connection", "close");
    // Linhas POST, para GET não é necessária estas 2 linhas
    xhr.send(null);
}

function showData(){
    if (xhr.readyState == 4) {
        dados = eval('(' + xhr.responseText + ')');
        if (GBrowserIsCompatible()) {
            map = new GMap2(document.getElementById("map"));
            map.setCenter(new GLatLng(-27.124017, -49.450344), 9);
            map.addControl(new GLargeMapControl());
            map.addControl(new GMapTypeControl());
            map.setMapType(G_PHYSICAL_MAP); //G_SATELLITE_MAP
            //map.setUIToDefault(); 
            //map.disableDragging(); 
            kml_bacia = new GGeoXml('http://www.comiteitajai.org.br/kml/baciaItajai.kml');
            map.addOverlay(kml_bacia);
            // adiciona legenda
            gpObj = new GPoint(-50.335489, -27.69407);
            iconObj = new GIcon();
            iconObj.image = "img/regra.jpg";
            iconObj.iconSize = new GSize(250, 45);
            iconObj.iconAnchor = new GPoint(0, 0);
            legenda = new GMarker(gpObj, iconObj);
            
            map.addOverlay(legenda);
            
            
        }
        var estacao = Array(dados.length);
        for (i = 0; i < dados.length; i++) {
            estacao[i] = new GPoint(dados[i].nr_longitude, dados[i].nr_latitude);
            var icone = new GIcon(G_DEFAULT_ICON);
            icone.iconSize = new GSize(35, 34);
            icone.iconAnchor = new GPoint(15, 35);
            switch (dados[i].status) {
                case 'OFF':
                icone.image = "img/off.png";
                break;
                case 'normal':
                    icone.image = "img/verde.png";
                    break;
                case 'atencao':
                    icone.image = "img/amarela.png";
                    break;
                case 'alerta':
                    icone.image = "img/laranja.png";
                    break;
                case 'emergencia':
                    icone.image = "img/vermelha_esc.png";
                    break;
				case 'semregra':
                    icone.image = "img/cinza.png";
                    break;	
                default:
                    icone.image = "img/cinza.png";
            }
            var leitura = "Cidade: " + dados[i].ds_estacao + " <br>" +
            "Data:  " +
            dados[i].dt_leitura +
            "<br> " +
            "Nível: " +
            dados[i].vlr_nivel +
            "<br>" +
            "Chuva: " +
            dados[i].vlr_precipitacao +
            ' <br> <input id="grafico" value="Grafico Chuva 24 Hrs" type="button" onclick="carregaGrafico(' +
            dados[i].cd_estacao +
            ',\'vlr_precipitacao\')">' +
            '<br><input id="grafico" value="Grafico Nível 24 Hrs" type="button" onclick="carregaGrafico(' +
            dados[i].cd_estacao +
            ',\'vlr_nivel\')">';
            addMarker(dados[i].nr_latitude, dados[i].nr_longitude, leitura, icone);
            
        }
    }
}

function addMarker(latitude, longitude, description, icone){
    var marker = new GMarker(new GLatLng(latitude, longitude), icone);
    GEvent.addListener(marker, 'click', function(){
        marker.openInfoWindowHtml(description);
    });
    map.addOverlay(marker);
}

//------------INICIO JSON CONSTROI TABELA-------------------

jQuery(document).ready(function(){
    
	 jQuery.getJSON('../json/tabela.json',
	//jQuery.getJSON('../controllers/consultaJSON.php?tipo=tabela',
	 function(data){
        jQuery.each(data, function(i, estacoes){
            jQuery('#tabela tbody').append
			('<tr class='+estacoes.status+'> <td>'+
			estacoes.ds_estacao+           '</td><td>' +
            estacoes.dt_leitura+           '</td><td>' +
            estacoes.vlr_nivel+            '</td><td>' +
            estacoes.vlr_precipitacao +		'</td><td>' +
            estacoes.vlr_precipitacao_2hr +	'</td><td>' +
            estacoes.vlr_precipitacao_4hr +	'</td><td>' +
            estacoes.vlr_precipitacao_6hr +	'</td><td>' +
            estacoes.vlr_precipitacao_8hr + '</td><td>' +
            estacoes.vlr_precipitacao_12hr+ '</td><td>' +
            estacoes.vlr_precipitacao_24hr+ '</td><td>' +
			estacoes.vlr_precipitacao_48hr+ '</td><td>' +
            estacoes.status +               '</td> </tr>');            
        });
        jQuery("#myTable").tablesorter();
    });    
});

//------------FIM JSON CONSTROI TABELA-----------------------   

//----------- Table sortable-----------------------

jQuery(document).ready(function(){
    jQuery("#sort").tablesorter();
	 jQuery("#tabelaRegra").tablesorter();
	
});

//-------------- Fim table sortable ----------------------------

function onLoad(){
    loadData();
    showData();
    
    setInterval('loadData()', 900000);
    
    
}

window.onload = onLoad;
window.onunload = GUnload;

