var theMapDiv='';
var currentW=0;
var weatherDiv='nfp_wpwuw';
var weatherNrLocations=3;

var nfp_wpwuw_myGlobalHandlers = {
    onCreate: function(){
            Element.show('systemWorking');
            //new Effect.Opacity('page', { from: 1.0, to: 0.3, duration: 0.7 });
            //new Effect.toggle('systemWorking', 'appear');
    },
    onComplete: function() {
	    if(Ajax.activeRequestCount == 0){
	        Element.hide('systemWorking');
                // new Effect.Opacity('page', { from: 0.3, to: 1, duration: 0.7 });
                // new Effect.toggle('systemWorking', 'appear');
	    }
    }
};

Ajax.Responders.register(nfp_wpwuw_myGlobalHandlers);

function nfp_wpwuw_createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function nfp_wpwuw_readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function nfp_wpwuw_eraseCookie(name) {
	nfp_wpwuw_createCookie(name,"",-1);
}

function nfp_wpwuw_getWeather(objName) {
    if (!objName) objName=weatherDiv;
    else weatherDiv=objName;
    if (objName) {
        var url = '/w.php?count='+weatherNrLocations;
        $(objName).update('<center><img src="wp-admin/images/wpspin_light.gif"><br>A actualizar...</center>');
	new Ajax.Updater(objName, url, { method: 'get' });
//new Ajax.Request(url, {
//  method: 'get',
//  onSuccess: function(transport) {
//        $(objName).update(transport.responseText);
//alert(transport.responseText);
//  }
//});

    }
}

function loadPopUpMap(objName,wId) {
    if (!$(objName)) {
        var attrs = {
            id   : objName
        };
        var loading = new Element('div', attrs);
        $('content').insert(loading);
        loading.setStyle({
                width:'240px',
		height: '240px',
		position: 'absolute',
		top: '50%',
		left: '20%',
		'text-align':'center',
		padding:'5px',
		font:'normal 12px Tahoma, Geneva, sans-serif',
		'font-weight': 'bold',
		border:'1px solid #666',
		'margin-left': '-120px',
		'margin-top': '-120px',
		'z-index':2,
		overflow: 'auto'
		});
    }
    Element.show(objName);
    theMapDiv=objName;
    currentW=wId;
    map = new GMap2(document.getElementById(objName));
    var centerLat=nfp_wpwuw_readCookie('wlat'+currentW);
    var centerLon=nfp_wpwuw_readCookie('wlon'+currentW);
    if (!centerLat || !centerLon) {
        centerLat=nfp_wpwuw_readCookie('lat');
        centerLon=nfp_wpwuw_readCookie('lon');
    }
    if (!centerLat || !centerLon || (centerLat==-29.829066 && centerLon==31.030197)) {
        // centerLat=-29.829066; centerLon=31.030197; // Durbai
        centerLat=38.730519;centerLon=-9.129639;
    }
    var zoom=9;
    
    map.setCenter(new GLatLng(centerLat,centerLon),zoom,G_NORMAL_MAP);
    map.addControl(new GSmallMapControl());
    map.enableScrollWheelZoom();

    //map.setMapType(mapType);
    GEvent.addListener(map, "click", nfp_wpwuw_mapClick);
}

function nfp_wpwuw_mapClick(overlay, latlng) {
    var shortLat=Math.round(latlng.lat()*10000)/10000;
    var shortLon=Math.round(latlng.lng()*10000)/10000;
    nfp_wpwuw_createCookie('wlat'+currentW,shortLat,90);
    nfp_wpwuw_createCookie('wlon'+currentW,shortLon,90);
    //alert('Oi! '+shortLat+' , '+shortLon);
    if (theMapDiv) Element.hide(theMapDiv);
    nfp_wpwuw_getWeather();
}


function nfp_wpwuw_initAll () {
    Element.hide('systemWorking');
    Element.hide('mappopup');
}

