
hi=290;
wi=350;
var mtype;
var gmarkers = [];
var gotopoint;
var magsize = 1;
var magnumber = 1;
var map;
var beenhere;
var setzoom;
var setlat;
var setlng;
var tooltip;
var newsload = 1;
var newsitem = 0;
var adload = 1;
var aditem = 0;
var message = 'News Items';
url = "http://www.robogear.biz/earthquake/quake8X.php";

//setInterval ( "reload()", 600000 );
//setInterval ( "news()", 4000 );
//setInterval ( "adverts()", 6000 );
function reload(){
map.clearOverlays();	
dlcLoad(url);	
}
function createMarker(pnt, number, mag, date, location,link) {
    magy = mag;
	iconsize = parseInt(5+ magy*5);
    if (mag < 2) { 	
    	var newIcon = MapIconMaker.createMarkerIcon({width: iconsize, height: iconsize, primaryColor: "#888888"});
        var marker = new GMarker(pnt, newIcon);       
    }
    if ((mag >= 2) && (mag < 3)) {
        var newIcon = MapIconMaker.createMarkerIcon({width: iconsize, height: iconsize, primaryColor: "#0000ff"});
        var marker = new GMarker(pnt, newIcon);       
    }
    if ((mag >= 3) && (mag < 4)) {
        var newIcon = MapIconMaker.createMarkerIcon({width: iconsize, height: iconsize, primaryColor: "#00ff00"});
        var marker = new GMarker(pnt, newIcon);        
    }
    if ((mag >= 4) && (mag < 5)) {
        var newIcon = MapIconMaker.createMarkerIcon({width: iconsize, height: iconsize, primaryColor: "#972477"});
        var marker = new GMarker(pnt, newIcon); 
		    
    }
    if ((mag >= 5) && (mag < 6)) {
        var newIcon = MapIconMaker.createMarkerIcon({width: iconsize, height: iconsize, primaryColor: "#EFF32E"});
        var marker = new GMarker(pnt, newIcon);      
    }
    if ((mag >= 6) && (mag < 7)) {
       var newIcon = MapIconMaker.createMarkerIcon({width: iconsize, height: iconsize, primaryColor: "#FF8A00"});
        var marker = new GMarker(pnt, newIcon);       
    }
    if ((mag >= 7) && (mag < 8)) {
       var newIcon = MapIconMaker.createMarkerIcon({width: iconsize, height: iconsize, primaryColor: "#FF0000"});
        var marker = new GMarker(pnt, newIcon);       
    }
    if ((mag >= 8) && (mag < 20)) {
         var newIcon = MapIconMaker.createMarkerIcon({width: iconsize, height: iconsize, primaryColor: "#000000"});
        var marker = new GMarker(pnt, newIcon);       
    }
  if(mag > magsize){
	magsize = mag;
	magnumber = number;
}  
//  document.getElementById("message").innerHTML = '<a href="javascript:myclick(1)">Latest </a>&nbsp;&nbsp;<a href="javascript:myclick('+magnumber+')"> Largest</a>&nbsp;&nbsp;<a href="javascript:setView()">Set View </a><br>';

     var toolinfo = "<p>"+mag + " "+location+"</p>";
    if(number == 1){
   gotopoint = pnt;  
  }
lat=pnt.x;
lng=pnt.y;
  GEvent.addListener(marker, 'click', function() {
          var maxContentDiv = document.createElement('div');
          maxContentDiv.innerHTML = 'Loading...'        
          marker.openInfoWindowHtml("<div style=\"border:1px;width:180px;font-size:small;\">"+date+"<br><b> Mag: "+mag+" "+location+"</b><a href=\""+link+"\" target=\"blank\"> More</a></div>",
		    {maxContent: maxContentDiv, 
             maxTitle: location+" M"+mag});   
          var iw = map.getInfoWindow();         
          GEvent.addListener(iw, "maximizeclick", function() {
            GDownloadUrl("quake8info.php?link="+link+"&mag="+mag+"&date="+date+"&location="+location+"&lat="+pnt.x+"&lng="+pnt.y, function(data) {
              maxContentDiv.innerHTML = data;
            });
          });      
        });	
	GEvent.addListener(marker,"mouseover", function() {showTooltip(marker);});        
GEvent.addListener(marker,"mouseout", function() {tooltip.style.visibility="hidden"}); 
marker.tooltip = '<div class="tooltip"> '+mag+' '+location+' </div>';
gmarkers[number] = marker;
return marker;
}
function myclick(i) {
        GEvent.trigger(gmarkers[i], "click");
      }
function onLoad() {
	setzoom = 1;
	setlat = 37.4419;
	setlng = -122.1419;	
	settype = 'G_NORMAL_MAP';
beenhere = Cookie.get('quake2');
if(beenhere){
	
beenherepieces = beenhere.split("|");
setzoom = parseFloat(beenherepieces[0]);
setlat = parseFloat(beenherepieces[1]);
setlng = parseFloat(beenherepieces[2]);
settype = beenherepieces[3];
//alert("TYPE:"+settype);
if(settype == "Satellite"){
	mt = 2;
}
if(settype == "Hybrid"){
	mt = 3;
}
if(settype == "Map"){
	mt = 1;
} 
}
//alert(settype);

var kvpArray = new Array(); 
  var query = window.location.search.substring(1);
  var params = query.split('&');
  for (var i=0; i < params.length; i++) {
    var ix = params[i].indexOf('=');
    if (ix > 0) {
      var key = params[i].substring(0,ix);
      var value = params[i].substring(ix+1);
      kvpArray[key] = value;
    }
  }
  if(!beenhere){
var mt = kvpArray['up_mymaptype'];
}
 if (GBrowserIsCompatible()) {
         map = new GMap2(document.getElementById("map8"));      
   if(mt ==1){
              map.setCenter(new GLatLng(setlat, setlng), setzoom,G_NORMAL_MAP);
             }else{
                 if(mt ==2){
                  map.setCenter(new GLatLng(setlat, setlng), setzoom,G_SATELLITE_MAP);
                 }else{
                      if(mt ==3){
                         map.setCenter(new GLatLng(setlat, setlng), setzoom,G_HYBRID_MAP);
                        }else{
                        map.setCenter(new GLatLng(setlat, setlng), setzoom,G_NORMAL_MAP);
                         }
                }
           }
}
var mapControl = new GMenuMapTypeControl();
        map.addControl(mapControl);
     
gotopoint = new GLatLng(setlat, setlng);
 map.addControl(new GSmallZoomControl());
  tooltip = document.createElement("div");
      map.getPane(G_MAP_FLOAT_PANE).appendChild(tooltip);
      tooltip.style.visibility="hidden";
    url = "http://www.robogear.biz/earthquake/quake8X.php";  
    dlcLoad(url);
}
function showTooltip(marker) {
      	tooltip.innerHTML = marker.tooltip;
	var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.fromDivPixelToLatLng(new GPoint(0,0),true),map.getZoom());
	var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),map.getZoom());
	var anchor=marker.getIcon().iconAnchor;
	var width=marker.getIcon().iconSize.width;
	var height=tooltip.clientHeight;
	var pos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(offset.x - point.x - anchor.x + width, offset.y - point.y -anchor.y -height)); 
	pos.apply(tooltip);
	tooltip.style.visibility="visible";
      }
function news(){
	if(newsload){
		var	 request = new Ajax.Request('news.txt', {
         method:'get',
         onSuccess: function(transport){
		 	var message = transport.responseText;
		 	messages = message.split("|");
		 	//alert(messages[0]);	 	
			 $('message2').update(messages[newsitem]);		 	 
			newsload =0;				 
	     },
          onFailure: function(){ alert('Something went wrong...') }
    });
    }else{
   	
	$('message2').update(messages[newsitem]);
	if (newsitem < 4){
				newsitem = newsitem +1;
				
			//	if(newsitem == 0){
			//	$('message2').morph('background:#7f9900; color:#fff;',{duration:3.5});	
			//	}
			//	if(newsitem == 1){
			//	$('message2').morph('background:#1478b7; color:#fff;',{duration:3.5});	
			//	}
			//	if(newsitem == 2){
			//	$('message2').morph('background:#7f5124; color:#fff;',{duration:3.5});	
			//	}
			//	if(newsitem == 3){
			//	$('message2').morph('background:#cc0000; color:#fff;',{duration:3.5});	
			//	}
			//	if(newsitem == 4){
			//	$('message2').morph('background:#1478b7; color:#fff;',{duration:3.5});	
			//	}
				

			}else{
				newsitem = 0;
				//	$('message2').morph('background:#990080; color:#000;');
			}	
	}
	}
function adverts(){
	if(adload){
		var	 request = new Ajax.Request('ads.txt', {
         method:'get',
         onSuccess: function(transport){
		 	var ad = transport.responseText;
		 	ads = ad.split("|");
		 	//alert(messages[0]);	 	
			 $('ad').update(ads[aditem]);		 	 
			adload =0;				 
	     },
          onFailure: function(){ alert('Something went wrong...') }
    });
    }else{
   	
	$('ad').update(ads[aditem]);
	if (aditem < (ads.length)-1){
		        aditem = aditem + 1;
				adcolor =Math.floor(Math.random()*4)+1;				
				if(adcolor == 0){
				$('ad').morph('background:#fff; color:#7f9900;',{duration:1.5});	
				}
				if(adcolor == 1){
				$('ad').morph('background:#fff; color:#1478b7;',{duration:1.5});	
				}
				if(adcolor == 2){
				$('ad').morph('background:#fff; color:#7f5124;',{duration:1.5});	
				}
				if(adcolor == 3){
				$('ad').morph('background:#fff; color:#cc0000;',{duration:1.5});	
				}								
			}else{
				aditem = 0;
					$('ad').morph('background:#fff; color:#990080;');
			}	
	}
	}
function dlcLoad(url) {   
	//alert("Hello");
	var	 request = new Ajax.Request('quake8X.txt', {
         method:'get',
         onSuccess: function(transport){
         var markers = evalResponse(transport);
        // alert("MARKS:"+marks.length);
              for (var i = 0; i < markers.length; i++) {
               var pnt = new GLatLng(parseFloat(markers[i][4]),parseFloat(markers[i][5]));
               //if(i==0){alert("PNT"+pnt.x+":"+pnt.y)}
                var marker = createMarker(pnt, i + 1, parseFloat(markers[i][1]),markers[i][2], markers[i][0],markers[i][3]);
                map.addOverlay(marker);
             }
             if(!beenhere){
             	map.panTo(gotopoint);
             	}             	
             $("message2").update('Click markers for details. <a href="http://apps.facebook.com/earthquakewatch/" target="_blank" ><span style="color:#cc0000">&nbsp;Now on Facebook</span></a>'); 
			//	 alert("MAGNUM:"+magnumber); 
if(beenhere){
document.getElementById("message").innerHTML = '<a href="javascript:myclick(1)">Latest </a>&nbsp;&nbsp;<a href="javascript:myclick('+magnumber+')"> Largest</a>&nbsp;&nbsp;<a href="javascript:unSetView()">Clear View </a>Click markers for details.<br>';		  
}else{
  document.getElementById("message").innerHTML = '<a href="javascript:myclick(1)">Latest </a>&nbsp;&nbsp;<a href="javascript:myclick('+magnumber+')"> Largest</a>&nbsp;&nbsp;<a href="javascript:setView()">Set View </a>Click markers for details.<br>';	
}		             	             	
         },
          onFailure: function(){ alert('Something went wrong...') }
    });
	

	
	
	if(!beenhere){
             	map.panTo(gotopoint);
             	}
             	
$('message2').update(message);	
//adverts();      
}  


evalResponse = function(request) {
    try {
        return eval('('+request.responseText+')');
    } catch (e) {}
}

function setView(){
ctype = map.getCurrentMapType().getName();	
czoom = map.getZoom();
ccenter = map.getCenter();
saveString = czoom+"|"+ccenter.lat()+"|"+ccenter.lng()+"|"+ctype;
//alert(saveString);	
Cookie.set("quake2",saveString,1000);	
  document.getElementById("message").innerHTML = '<a href="javascript:myclick(1)">Latest </a>&nbsp;&nbsp;<a href="javascript:myclick('+magnumber+')"> Largest</a>&nbsp;&nbsp;<a href="javascript:unSetView()">Clear View </a><br>';	
alert("View has been saved. This will be the position of the map when you return. Select Clear View to return to normal map. Cookies must be on and allowed.");	
}
 function unSetView(){
	Cookie.erase('quake2');
	 document.getElementById("message").innerHTML = '<a href="javascript:myclick(1)">Latest </a>&nbsp;&nbsp;<a href="javascript:myclick('+magnumber+')"> Largest</a>&nbsp;&nbsp;<a href="javascript:setView()">Set View </a><br>';	
}
var Cookie = {
  set: function(name, value, daysToExpire) {
    var expire = '';
    if (daysToExpire != undefined) {
      var d = new Date();
      d.setTime(d.getTime() + (86400000 * parseFloat(daysToExpire)));
      expire = '; expires=' + d.toGMTString();
    }
    return (document.cookie = escape(name) + '=' + escape(value || '') + expire);
  },
  get: function(name) {
    var cookie = document.cookie.match(new RegExp('(^|;)\\s*' + escape(name) + '=([^;\\s]*)'));
    return (cookie ? unescape(cookie[2]) : null);
  },
  erase: function(name) {
    var cookie = Cookie.get(name) || true;
    Cookie.set(name, '', -1);
    return cookie;
  },
  accept: function() {
    if (typeof navigator.cookieEnabled == 'boolean') {
      return navigator.cookieEnabled;
    }
    Cookie.set('_test', '1');
    return (Cookie.erase('_test') === '1');
  }
};

var MapIconMaker={};
MapIconMaker.createMarkerIcon=function(a){var b=a.width||32;var c=a.height||32;var d=a.primaryColor||"#ff0000";var e=a.strokeColor||"#000000";var f=a.cornerColor||"#ffffff";var g="http://chart.apis.google.com/chart?cht=mm";var h=g+"&chs="+b+"x"+c+"&chco="+f.replace("#","")+","+d.replace("#","")+","+e.replace("#","")+"&ext=.png";var j=new GIcon(G_DEFAULT_ICON);j.image=h;j.iconSize=new GSize(b,c);j.shadowSize=new GSize(Math.floor(b*1.6),c);j.iconAnchor=new GPoint(b/2,c);j.infoWindowAnchor=new GPoint(b/2,Math.floor(c/12));j.printImage=h+"&chof=gif";j.mozPrintImage=h+"&chf=bg,s,ECECD8"+"&chof=gif";var h=g+"&chs="+b+"x"+c+"&chco="+f.replace("#","")+","+d.replace("#","")+","+e.replace("#","");j.transparent=h+"&chf=a,s,ffffff11&ext=.png";j.imageMap=[b/2,c,(7/16)*b,(5/8)*c,(5/16)*b,(7/16)*c,(7/32)*b,(5/16)*c,(5/16)*b,(1/8)*c,(1/2)*b,0,(11/16)*b,(1/8)*c,(25/32)*b,(5/16)*c,(11/16)*b,(7/16)*c,(9/16)*b,(5/8)*c];for(var i=0;i<j.imageMap.length;i++){j.imageMap[i]=parseInt(j.imageMap[i])}return j}


