var IE = (document.all ? 1 : 0);var map = null;var baseUrl = 'http://msec.imatrix.co.jp/msecif';var baseImg = baseUrl + '/images';var monitor_json = null;function Markers(){this.elements= null;this.index= 0;this.length= 0;this.offset= 0;this.interval= 1000;this.init= function(){markers.elements= monitor.items;markers.length= markers.elements.length;setTimeout('redraw();', 100);};this.load= function(){var url = baseUrl + '/monitor.json?offset=' + this.offset;var error = 0;monitor_json = load(url, monitor_json);wait('monitor.items', function(){markers.init();}, error);};this.get= function(){return this.elements[this.index];};this.next= function(){var result = true;this.index++;if(this.index >= this.length){this.index = 0;setTimeout('markers.load();', 100);result = false;this.offset += 30;if(this.offset > 300){this.offset = 0;}}return result;};}var markers = new Markers();var objs_count = 15;var objs_index = 0;objs = new Array(objs_count);var view_rows= 10;var view_columns= 3;var table = null;function Meter(){this.count = 5;this.images = new Array(this.count);this.init = function(){for( var i = 0 ; i < this.count ; i++){this.images[i]= document.createElement('img');this.images[i].src= baseImg + '/meter' + (i + 1) + '.png';this.images[i].style.border= '0px';}};this.clone = function(volume){var index;if(volume <= 2){index = 0;}else if(volume <= 4){index = 1;}else if(volume <= 6){index = 2;}else if(volume <= 8){index = 3;}else{index = 4;}return this.images[index].cloneNode(true);};}function Warning(){this.count= 4;this.images= new Array(this.count);this.init = function(){for( var i = 0 ; i < this.count ; i++){this.images[i]= document.createElement('img');this.images[i].src= baseImg + '/warning' + (i + 1) + '.png';this.images[i].width= '12';this.images[i].height= '12';this.images[i].style.border= '0px';}};this.clone = function(risk){var index;if(risk <= 25){index = 0;}else if(risk <= 50){index = 1;}else if(risk <= 75){index = 2;}else{index = 3;}return this.images[index].cloneNode(true);};}function Ripple(){this.index= 0;this.count= 3;this.urls= new Array(this.count);this.init = function(){for( var i = 0 ; i < this.count ; i++){this.urls[i] = baseImg + '/ripple' + (i + 1) + '.gif';}};this.get = function(){var url = this.urls[this.index];this.index++;if(this.index >= this.count){this.index = 0;}return url;};}var meter= new Meter();var warning= new Warning();var ripple= new Ripple();var latitude  = 36;var longitude = 138;var icon = new GIcon();function drawmap(mapid){if(GBrowserIsCompatible()){var obj = document.getElementById(mapid);map = new GMap2(obj);var point = new GLatLng(latitude, longitude);map.setCenter(point, 1);var icon_width  = 32;var icon_height = 32;icon.iconSize   = new GSize(icon_width, icon_height);icon.iconAnchor = new GPoint(icon_width / 2, icon_height / 2);}}function addmarker(point){icon.image = ripple.get();var marker = new GMarker(point, icon);map.addOverlay(marker);longitude = map.getCenter().lng() - 1;if(longitude < -180){longitude = 180;}map.panTo( new GLatLng(latitude, longitude));return marker;}function removemarker(m){map.removeOverlay(m);}function drawview(viewid){var view = document.getElementById(viewid);table = document.createElement('table');var row;var cell;table.style.width= '122px';table.cellSpacing= '0';table.cellPadding= '1';table.bgColor = '#639ace';view.appendChild(table);row= table.insertRow(0);cell= row.insertCell(0);cell.style.fontSize= 'x-small';cell.style.color= 'white';cell.align= 'left';cell.innerHTML= '位置情報';cell.width= '70%';cell.bgColor = '#639ace';cell= row.insertCell(1);cell.style.fontSize= 'x-small';cell.style.color= 'white';cell.innerHTML= '<img src="' + baseImg + '/metertitle.png" alt="発生量">';cell.width= '20%';cell.align= 'center';cell.bgColor = '#639ace';cell= row.insertCell(2);cell.style.fontSize= 'x-small';cell.style.color= 'white';cell.innerHTML= '<img src="' + baseImg + '/warningtitle.png" alt="危険度">';cell.width= '20%';cell.align= 'center';cell.bgColor = '#639ace';for( var i = 0 ; i < view_rows ; i++){row= table.insertRow(i + 1);cell= row.insertCell(0);cell.style.color= '#003063';cell.style.fontSize= 'x-small';cell.bgColor= 'white';cell.innerHTML= '&nbsp;';cell= row.insertCell(1);cell.bgColor= 'white';cell.align= 'center';cell= row.insertCell(2);cell.bgColor= 'white';cell.align= 'center';}meter.init();warning.init();ripple.init();}function updateview(obj){var location= obj.country;var volume= obj.volume;var risk= obj.risk;for( var row = view_rows ; row != 1 ; row--){var current= table.rows[row];var prev= table.rows[row - 1];for( var column = 0 ; column < view_columns ; column++){if(current.cells[column].firstChild){current.cells[column].removeChild(current.cells[column].firstChild);}if(prev.cells[column].firstChild){current.cells[column].appendChild(prev.cells[column].firstChild);}}}var current = table.rows[1];for( var column = 0 ; column < view_columns ; column++){if(current.cells[column].firstChild){current.cells[column].removeChild(current.cells[column].firstChild);}}current.cells[0].appendChild(document.createTextNode(location));current.cells[1].appendChild(meter.clone(volume));current.cells[2].appendChild(warning.clone(risk));}function redraw(){var marker = markers.get();updateview(marker);if(objs[objs_index] != null){removemarker(objs[objs_index]);}objs[objs_index] = addmarker( new GLatLng(parseFloat(marker.latitude), parseFloat(marker.longitude)));objs_index++;if(objs_index >= objs_count){objs_index = 0;}if(markers.next()){setTimeout('redraw();', markers.interval);}}function initmonitor(mapid, viewid){drawmap(mapid);drawview(viewid);markers.load();}
