;
var L99Bless = {};L99Bless.LOAD_BLESS_URL = "http://www.l99.com/EditBless_findQhBless.action";L99Bless.LOAD_HOT_BLESS_URL = "http://www.l99.com/EditBless_findQhDistinct.action";L99Bless.SUPPORT_URL = "http://www.l99.com/EditBless_supportQhBless.action";L99Bless.BLESS_URL = "http://www.l99.com/EditBless_saveQhBless.action";L99Bless.IMAGE_URL = "http://static.l99.com/skin/default/images/bluess/icons/";L99Bless.MAX_BLESS_TIMES = 1;L99Bless.BLESS_LEVLES = [{id:1, support:0, image:"10.png", size:16}, {id:2, support:10, image:"100.png", size:32}, {id:3, support:100, image:"1000.png", size:46}, {id:3, support:1000, image:"10000.png", size:64}];L99Bless.TEMP_MARKER_IMAGE = {image:"10.png", size:16};L99Bless.TEMP_MARKER_RANDOM_OFFSET = 2;L99Bless.IS_SUPPORT = false;L99Bless.IS_BLESS = false;L99Bless.DEFAULT_CHINA_LOCATION = {latitude:33.1, longitude:96.7};L99Bless.DEFAULT_WORLD_LOCATION = {latitude:38.627785, longitude:-98.241891};L99Bless.DEFAULT_LOCATION = L99Bless.DEFAULT_CHINA_LOCATION;L99Bless.DEFAULT_MAP_LEVEL = 4;L99Bless.ADD_BLESS_MAP_LEVEL = 7;L99Bless.COOKIE_EXPIRES = new Date(2009, 0, 1);L99Bless.map = null;L99Bless.tempMarker = null;L99Bless.myMarkers = [];L99Bless.markers = [];L99Bless.hotMarkers = [];L99Bless.blessData = null;L99Bless.clientLocation = L99Bless.DEFAULT_LOCATION;L99Bless.infoSupport = null;L99Bless.infoBless = null;L99Bless.instance = null;L99Bless.EN = 1;L99Bless.CN = 0;L99Bless.I18N = [{wait:"\u8BF7\u7A0D\u540E...", noMoreSupport:"\u60A8\u5DF2\u7ECF\u70B9\u4EAE\u8FC7\u8BE5\u795D\u798F\u4E00\u6B21\u4E86\uFF0C\u4F46\u60A8\u53EF\u4EE5\u7EE7\u7EED\u70B9\u4EAE\u5176\u5B83\u795D\u798F\uFF01", noMoreBless:"\u6BCF\u4EBA\u6700\u591A\u53D1\u8868\u795D\u798F\u4E00\u6B21", dragable:"\u53EF\u4EE5\u62D6\u52A8", choosePosition:"\u62D6\u52A8\u8721\u70DB\uFF0C\u4E3A\u60A8\u7684\u795D\u798F\u9009\u62E9\u4E00\u4E2A\u5408\u9002\u7684\u4F4D\u7F6E", bless:"\u771F\u8BDA\u7948\u798F\uFF1A", name:"\u59D3\u540D\uFF1A", time:"\u65F6\u95F4\uFF1A", location:"\u56FD\u5BB6/\u5730\u533A\uFF1A", support:"\u70B9\u4EAE\u4EBA\u6570\uFF1A", igniteIt:"\u70B9\u4EAE\u6B64\u795D\u798F", igniteTitle:"\u8D8A\u70B9\u8D8A\u4EAE", loadError:"\u6570\u636E\u52A0\u8F7D\u5931\u8D25", supportSuccess:"\u8C22\u8C22\uFF0C\u8BE5\u795D\u798F\u73B0\u5728\u66F4\u4EAE\u4E86\uFF01", serverRunError:"\u670D\u52A1\u5668\u6267\u884C\u5931\u8D25", serverConnectError:"\u8FDE\u63A5\u670D\u52A1\u5668\u5931\u8D25", blessSuccess:"\u795D\u798F\u53D1\u8868\u6210\u529F\uFF0C\u8C22\u8C22\uFF01"}, {wait:"Please wait a moment...", noMoreSupport:"You can't ignite this bless for second time!", noMoreBless:"1 person, 1 bless, thanks!", dragable:"Dragable", choosePosition:"Drag it, choose a position for your bless!", bless:"Bless:", name:"Name:", time:"Time:", location:"Location:", support:"Support:", igniteIt:"Ignite it", igniteTitle:"More click, more bright!", loadError:"Data Load Error", supportSuccess:"Thanks, the bless is more bright\uFF01", serverRunError:"Server Running Error", serverConnectError:"Server Connecting Error", blessSuccess:"Thanks for your bless!"}];L99Bless.currentLanguage = L99Bless.CN;L99Bless.getInstance = function (la) {if (L99Bless.instance) {return L99Bless.instance;}L99Bless.instance = this;if (la) {L99Bless.currentLanguage = la;L99Bless.DEFAULT_LOCATION = la == 0 ? L99Bless.DEFAULT_CHINA_LOCATION : L99Bless.DEFAULT_WORLD_LOCATION;}this.start = function () {getClientLocation();getClientInfo();L99Bless.map = initMap();initMapEvent();loadHotBlessData();};this.addBless = function () {if (L99Bless.IS_BLESS) {alert(L99Bless.I18N[L99Bless.currentLanguage].wait);return;}L99Bless.IS_BLESS = true;sendBless();};this.supportBless = function (blessId) {if (L99Bless.IS_SUPPORT) {alert(L99Bless.I18N[L99Bless.currentLanguage].wait);return;}L99Bless.IS_SUPPORT = true;sendSupport(blessId);};this.startAddBless = function () {var times = L99Bless.infoBless.length;document.getElementById("placard").style.display = "none";document.getElementById("inputKaddish").style.display = "block";flush();L99Bless.tempMarker = addTempMarker();L99Bless.map.setCenter(L99Bless.tempMarker.getLatLng(), L99Bless.ADD_BLESS_MAP_LEVEL);function addTempMarker() {var map = L99Bless.map;var latLng = new GLatLng(L99Bless.clientLocation.latitude + (Math.random() - 0.5) * L99Bless.TEMP_MARKER_RANDOM_OFFSET, L99Bless.clientLocation.longitude + (Math.random() - 0.5) * L99Bless.TEMP_MARKER_RANDOM_OFFSET);var icon = new GIcon;icon.image = L99Bless.IMAGE_URL + L99Bless.TEMP_MARKER_IMAGE.image;var size = L99Bless.TEMP_MARKER_IMAGE.size;icon.iconSize = new GSize(size, size);icon.iconAnchor = new GPoint(size / 2, size / 2);icon.infoWindowAnchor = new GPoint(size / 2, size / 2);var markerOptions = {icon:icon, draggable:true, title:L99Bless.I18N[L99Bless.currentLanguage].dragable};var marker = new GMarker(latLng, markerOptions);GEvent.addListener(marker, "click", function () {marker.openInfoWindow(L99Bless.I18N[L99Bless.currentLanguage].choosePosition);});GEvent.addListener(marker, "drag", function () {var latLng = marker.getLatLng();var point = {latitude:latLng.lat(), longitude:latLng.lng()};initFormPosition(point);});map.addOverlay(marker);marker.openInfoWindow(L99Bless.I18N[L99Bless.currentLanguage].choosePosition);initFormPosition({latitude:latLng.lat(), longitude:latLng.lng()});return marker;function initFormPosition(point) {document.getElementById("bless.latitude").value = point.latitude;document.getElementById("bless.longitude").value = point.longitude;}}};this.cancelAddBless = function () {document.getElementById("placard").style.display = "block";document.getElementById("inputKaddish").style.display = "none";L99Bless.map.removeOverlay(L99Bless.tempMarker);L99Bless.tempMarker = null;};function addClientInfoSupport(blessId) {L99Bless.infoSupport.push(blessId);setClientInfo();}function addClientInfoBless(blessId) {L99Bless.infoBless.push(blessId);setClientInfo();}function getClientInfo() {var infoSupport = YAHOO.util.Cookie.get("infoSupport");var infoBless = YAHOO.util.Cookie.get("infoBless");if (infoBless == null || infoBless == "") {L99Bless.infoBless = [];} else {L99Bless.infoBless = infoBless.split(",");}if (infoSupport == null || infoSupport == "") {L99Bless.infoSupport = [];} else {L99Bless.infoSupport = infoSupport.split(",");}}function setClientInfo() {YAHOO.util.Cookie.set("infoSupport", L99Bless.infoSupport.join(","), {expires:L99Bless.COOKIE_EXPIRES});YAHOO.util.Cookie.set("infoBless", L99Bless.infoBless.join(","), {expires:L99Bless.COOKIE_EXPIRES});}function getClientLocation() {L99Bless.clientLocation = L99Bless.DEFAULT_LOCATION;var successHandler = function (location) {L99Bless.clientLocation = location;};var errorHandler = function () {L99Bless.clientLocation = L99Bless.DEFAULT_LOCATION;};IPDecoder.getLatLngByAuto(successHandler, errorHandler);}function initMap() {if (GBrowserIsCompatible()) {var map = new GMap2(document.getElementById("mapCanvas"));map.enableDoubleClickZoom();map.enableContinuousZoom();map.addControl(new GLargeMapControl);map.addControl(new GOverviewMapControl);map.addControl(new GHierarchicalMapTypeControl);map.setCenter(new GLatLng(L99Bless.DEFAULT_LOCATION.latitude, L99Bless.DEFAULT_LOCATION.longitude), L99Bless.DEFAULT_MAP_LEVEL);map.setMapType(G_HYBRID_MAP);var iconMark = new GIcon;iconMark.image = "http://static.l99.com/skin/default/images/bluess/thePoint.gif";iconMark.iconSize = new GSize(50, 50);iconMark.iconAnchor = new GPoint(0, 30);var pMarker = new GMarker(new GLatLng(L99Bless.DEFAULT_LOCATION.latitude, L99Bless.DEFAULT_LOCATION.longitude), {icon:iconMark});map.addOverlay(pMarker);return map;}}function initMapEvent() {var map = L99Bless.map;GEvent.addListener(map, "dragend", function () {refreshData();});GEvent.addListener(map, "zoomend", function (oldLevel, newLevel) {});}function refreshData() {var map = L99Bless.map;var latLngBounds = map.getBounds();var sw = latLngBounds.getSouthWest();var ne = latLngBounds.getNorthEast();var latitude2 = ne.lat();var longitude1 = sw.lng();var latitude1 = sw.lat();var longitude2 = ne.lng();var bound = {latitude1:latitude1, latitude2:latitude2, longitude1:longitude1, longitude2:longitude2};loadBlessData(bound);}function getBlessImageLevel(support) {var length = L99Bless.BLESS_LEVLES.length;var level;for (var i = 0; i < length; i++) {level = L99Bless.BLESS_LEVLES[i];if (support <= level.support) {return level;}}return level;}function addMarker(markerData) {var map = L99Bless.map;var latLng = new GLatLng(markerData.latitude, markerData.longitude);var icon = new GIcon;var level = getBlessImageLevel(markerData.support);icon.image = L99Bless.IMAGE_URL + level.image;var size = level.size;icon.iconSize = new GSize(size, size);icon.iconAnchor = new GPoint(size / 2, size / 2);icon.infoWindowAnchor = new GPoint(size / 2, size / 2);var markerOptions = {icon:icon, draggable:false, title:markerData.author + ":" + markerData.content};var marker = new GMarker(latLng, markerOptions);GEvent.addListener(marker, "click", function () {marker.openInfoWindow(createHtmlContentForMarker(markerData));});GEvent.addListener(marker, "mouseover", function () {});GEvent.addListener(marker, "mouseout", function () {});map.addOverlay(marker);marker.data = markerData;return marker;function createHtmlContentForMarker(markerData) {var content = "";var bless = L99Bless.I18N[L99Bless.currentLanguage].bless;var name = L99Bless.I18N[L99Bless.currentLanguage].name;var time = L99Bless.I18N[L99Bless.currentLanguage].time;var location = L99Bless.I18N[L99Bless.currentLanguage].location;var support = L99Bless.I18N[L99Bless.currentLanguage].support;var igniteTitle = L99Bless.I18N[L99Bless.currentLanguage].igniteTitle;var igniteIt = L99Bless.I18N[L99Bless.currentLanguage].igniteIt;content += "<div style=\"width:300px;height:auto;font-size:12px;color:#333333;\">";content += "<div class=\"list_bar\" style=\"height:60px;\"><span class=\"list_title\">" + bless + "</span><span class=\"list_content_1\">" + markerData.content + "</span></div>";content += "<div class=\"list_bar\"><span class=\"list_title\">" + name + "</span><span class=\"list_content\">" + markerData.author + "</span></div>";content += "<div class=\"list_bar\"><span class=\"list_title\">" + time + "</span><span class=\"list_content\">" + markerData.createTime + "</span></div>";content += "<div class=\"list_bar\"><span class=\"list_title\">" + location + "</span><span class=\"list_content\">" + markerData.locationName + "</span></div>";content += "<div class=\"list_bar\"><span class=\"list_title\">" + support + "</span><span class=\"list_count\">" + markerData.support + "\u4EBA</span><a title=\"" + igniteTitle + "\" class=\"list_operation\" href=\"javascript:void(0);\" onclick=\"" + "L99Bless.instance.supportBless(" + markerData.id + ");\">" + igniteIt + "</a></div>";content += "</div>";return content;}}function addMarkers(markersData) {var length = markersData.length;for (var i = 0; i < length; i++) {var markerData = markersData[i];L99Bless.markers.push(addMarker(markerData));}}function addHotMarkers(markersData) {var length = markersData.length;for (var i = 0; i < length; i++) {var markerData = markersData[i];L99Bless.hotMarkers.push(addMarker(markerData));}}function clearMarkers() {var map = L99Bless.map;if (L99Bless.markers.length == 0) {return;}var length = L99Bless.markers.length;for (var i = 0; i < length; i++) {map.removeOverlay(L99Bless.markers[i]);}L99Bless.markers = [];}function loadBlessData(bound) {var url = L99Bless.LOAD_BLESS_URL + "?latitude1=" + bound.latitude1 + "&latitude2=" + bound.latitude2 + "&longitude1=" + bound.longitude1 + "&longitude2=" + bound.longitude2;var successHandler = function (o) {clearMarkers();L99Bless.blessData = YAHOO.lang.JSON.parse(o.responseText);addMarkers(L99Bless.blessData);};var errorHandler = function (status, statusText) {alert(L99Bless.I18N[L99Bless.currentLanguage].loadError);};var callback = {success:successHandler, failure:errorHandler};var request = YAHOO.util.Connect.asyncRequest("GET", url, callback);}function loadHotBlessData(bound) {var url = L99Bless.LOAD_HOT_BLESS_URL;var successHandler = function (o) {L99Bless.hotBlessData = YAHOO.lang.JSON.parse(o.responseText);addHotMarkers(L99Bless.hotBlessData);refreshData();};var errorHandler = function (status, statusText) {alert(L99Bless.I18N[L99Bless.currentLanguage].loadError);};var callback = {success:successHandler, failure:errorHandler};var request = YAHOO.util.Connect.asyncRequest("GET", url, callback);}function sendSupport(blessId) {var url = L99Bless.SUPPORT_URL + "?blessId=" + blessId;var successHandler = function (o) {var result = o.responseText;if (result == "ok") {alert(L99Bless.I18N[L99Bless.currentLanguage].supportSuccess);refreshData();addClientInfoSupport(blessId);window.frames[0].location.href = window.frames[0].location.href;L99Bless.IS_SUPPORT = false;} else {alert(L99Bless.I18N[L99Bless.currentLanguage].serverRunError);L99Bless.IS_SUPPORT = false;}};var errorHandler = function (status, statusText) {alert(L99Bless.I18N[L99Bless.currentLanguage].serverConnectError);};var callback = {success:successHandler, failure:errorHandler};var request = YAHOO.util.Connect.asyncRequest("GET", url, callback);}function sendBless() {var formObject = document.aForm;YAHOO.util.Connect.setForm(formObject);var url = L99Bless.BLESS_URL;var successHandler = function (o) {var result = YAHOO.lang.JSON.parse(o.responseText);alert(L99Bless.I18N[L99Bless.currentLanguage].blessSuccess);addClientInfoBless(result.id);L99Bless.instance.cancelAddBless();refreshData();L99Bless.IS_BLESS = false;};var errorHandler = function (status, statusText) {alert(L99Bless.I18N[L99Bless.currentLanguage].serverConnectError);L99Bless.instance.cancelAddBless();L99Bless.IS_BLESS = false;};var callback = {success:successHandler, failure:errorHandler};var request = YAHOO.util.Connect.asyncRequest("POST", url, callback);}};
