// Create scrolling variable if it doesn't exist
if (!Scrolling) var Scrolling = {};

//ScrollTween constructor
Scrolling.ScrollTween = function () {
	//private variables
	var self    = this;
	var _steps  = [0,25,50,70,85,95,97,99,100];
	var _values = [];
	var _idle   = true;
	var o, _inc, _timer;
	
	//private functions
	function tweenTo (y) {
		if (!_idle) return false;
		
		var d = o.getDimensions();
		if (y < 0) y = 0;
		if (y > d.theight - d.vheight)
			y = d.theight - d.vheight;
			
		var dist = y - d.y;
		_inc     = 0;
		_timer   = null;
		_values  = [];
		_idle    = false;
		
		for (var i = 0; i < _steps.length; i++) {
			_values[i] = Math.round(d.y + dist * (_steps[i] / 100));
		}

		_timer = window.setInterval(function () {
			o.scrollTo(_values[_inc]); 
			if (_inc == _steps.length - 1) {
				window.clearInterval(_timer);
				_idle = true;
			} else _inc++;
		}, o.stepSpeed);
	};
	
	function tweenBy (y) {
		o.tweenTo(o.getDimensions().y + y);
	};
	
	function setSteps (s) {
		_steps = s;
	};
	
	//public functions
	this.apply = function (p) {
		o = p;
		o.tweenTo   = tweenTo;
		o.tweenBy   = tweenBy;
		o.setSteps  = setSteps;
		o.stepSpeed = 30;
	};
};

	var map;
	var gmarkers = [];
	var gpoints = [];
	// A function to create the marker and set up the event window
	function createMarker(point,name,html) {
		var marker = new GMarker(point);
		GEvent.addListener(marker, "click", function() {
		  marker.openInfoWindowHtml(html);
		});
		gpoints.push(point);
		gmarkers.push(marker);
		return marker;
	}
	// This function picks up the click and opens the corresponding info window
	function myclick(i) {
		map.setCenter(gpoints[i-1], 16);
		GEvent.trigger(gmarkers[i-1], "click");
	}
	function initialize_sz() {
		if (GBrowserIsCompatible()) {
			map = new GMap2(document.getElementById("map"));
			map.setCenter(new GLatLng(22.543447, 114.057818), 11);
			map.setUIToDefault();
			map.setMapType(G_NORMAL_MAP)
			GDownloadUrl("shenzhen_n.xml", function(doc) {
			var xmlDoc = GXml.parse(doc);
			var markers = xmlDoc.documentElement.getElementsByTagName("marker");
			  
			for (var i = 0; i < markers.length; i++) {
			  // obtain the attribues of each marker
			  var lat = parseFloat(markers[i].getAttribute("lat"));
			  var lng = parseFloat(markers[i].getAttribute("lng"));
			  var point = new GLatLng(lat,lng);
			  var html = markers[i].getAttribute("html");
			  var label = markers[i].getAttribute("label");
			  // create the marker
			  html = "<div class='map_lable'><div class='lable'>" + label + "</div><hr class='hr1' />" + "<div>" + html + "</div></div>"
			  var marker = createMarker(point,label,html);
			  map.addOverlay(marker);
			}
		  });
		}
		else {
		  alert("Sorry, the Google Maps API is not compatible with this browser");
		}
	}
	
	function initialize_cd() {
		if (GBrowserIsCompatible()) {
			map = new GMap2(document.getElementById("map"));
			map.setCenter(new GLatLng(30.557923445707754, 104.07423734664917), 10);
			map.setUIToDefault();
			map.setMapType(G_NORMAL_MAP)
			GDownloadUrl("chengdu_n.xml", function(doc) {
			var xmlDoc = GXml.parse(doc);
			var markers = xmlDoc.documentElement.getElementsByTagName("marker");
			  
			for (var i = 0; i < markers.length; i++) {
			  // obtain the attribues of each marker
			  var lat = parseFloat(markers[i].getAttribute("lat"));
			  var lng = parseFloat(markers[i].getAttribute("lng"));
			  var point = new GLatLng(lat,lng);
			  var html = markers[i].getAttribute("html");
			  var label = markers[i].getAttribute("label");
			  // create the marker
			  html = "<div class='map_lable'><div class='lable'>" + label + "</div><hr class='hr1' />" + "<div>" + html + "</div></div>"
			  var marker = createMarker(point,label,html);
			  map.addOverlay(marker);
			}
		  });
		}
		else {
		  alert("Sorry, the Google Maps API is not compatible with this browser");
		}
	}

	function initialize_fs() {
		if (GBrowserIsCompatible()) {
			map = new GMap2(document.getElementById("map"));
			map.setCenter(new GLatLng(23.021721, 113.121316), 13);
			map.setUIToDefault();
			map.setMapType(G_NORMAL_MAP)
			GDownloadUrl("foshan_n.xml", function(doc) {
			var xmlDoc = GXml.parse(doc);
			var markers = xmlDoc.documentElement.getElementsByTagName("marker");
			  
			for (var i = 0; i < markers.length; i++) {
			  // obtain the attribues of each marker
			  var lat = parseFloat(markers[i].getAttribute("lat"));
			  var lng = parseFloat(markers[i].getAttribute("lng"));
			  var point = new GLatLng(lat,lng);
			  var html = markers[i].getAttribute("html");
			  var label = markers[i].getAttribute("label");
			  // create the marker
			  html = "<div class='map_lable'><div class='lable'>" + label + "</div><hr class='hr1' />" + "<div>" + html + "</div></div>"
			  var marker = createMarker(point,label,html);
			  map.addOverlay(marker);
			}
		  });
		}
		else {
		  alert("Sorry, the Google Maps API is not compatible with this browser");
		}
	}

	function initialize_hz() {
		if (GBrowserIsCompatible()) {
			map = new GMap2(document.getElementById("map"));
			map.setCenter(new GLatLng(30.273071, 120.161388), 10);
			map.setUIToDefault();
			map.setMapType(G_NORMAL_MAP)
			GDownloadUrl("hangzhou_n.xml", function(doc) {
			var xmlDoc = GXml.parse(doc);
			var markers = xmlDoc.documentElement.getElementsByTagName("marker");
			  
			for (var i = 0; i < markers.length; i++) {
			  // obtain the attribues of each marker
			  var lat = parseFloat(markers[i].getAttribute("lat"));
			  var lng = parseFloat(markers[i].getAttribute("lng"));
			  var point = new GLatLng(lat,lng);
			  var html = markers[i].getAttribute("html");
			  var label = markers[i].getAttribute("label");
			  // create the marker
			  html = "<div class='map_lable'><div class='lable'>" + label + "</div><hr class='hr1' />" + "<div>" + html + "</div></div>"
			  var marker = createMarker(point,label,html);
			  map.addOverlay(marker);
			}
		  });
		}
		else {
		  alert("Sorry, the Google Maps API is not compatible with this browser");
		}
	}

	function initialize_zh() {
		if (GBrowserIsCompatible()) {
			map = new GMap2(document.getElementById("map"));
			map.setCenter(new GLatLng(22.25427, 113.580339), 13);
			map.setUIToDefault();
			map.setMapType(G_NORMAL_MAP)
			GDownloadUrl("zhuhai.xml", function(doc) {
			var xmlDoc = GXml.parse(doc);
			var markers = xmlDoc.documentElement.getElementsByTagName("marker");
			  
			for (var i = 0; i < markers.length; i++) {
			  // obtain the attribues of each marker
			  var lat = parseFloat(markers[i].getAttribute("lat"));
			  var lng = parseFloat(markers[i].getAttribute("lng"));
			  var point = new GLatLng(lat,lng);
			  var html = markers[i].getAttribute("html");
			  var label = markers[i].getAttribute("label");
			  // create the marker
			  html = "<div class='map_lable'><div class='lable'>" + label + "</div><hr class='hr1' />" + "<div>" + html + "</div></div>"
			  var marker = createMarker(point,label,html);
			  map.addOverlay(marker);
			}
		  });
		}
		else {
		  alert("Sorry, the Google Maps API is not compatible with this browser");
		}
	}

	function initialize_gz() {
		if (GBrowserIsCompatible()) {
			map = new GMap2(document.getElementById("map"));
			map.setCenter(new GLatLng(23.142412026651744, 113.2913589477539), 13);
			map.setUIToDefault();
			map.setMapType(G_NORMAL_MAP)
			GDownloadUrl("guangzhou_n.xml", function(doc) {
			var xmlDoc = GXml.parse(doc);
			var markers = xmlDoc.documentElement.getElementsByTagName("marker");
			  
			for (var i = 0; i < markers.length; i++) {
			  // obtain the attribues of each marker
			  var lat = parseFloat(markers[i].getAttribute("lat"));
			  var lng = parseFloat(markers[i].getAttribute("lng"));
			  var point = new GLatLng(lat,lng);
			  var html = markers[i].getAttribute("html");
			  var label = markers[i].getAttribute("label");
			  // create the marker
			  html = "<div class='map_lable'><div class='lable'>" + label + "</div><hr class='hr1' />" + "<div>" + html + "</div></div>"
			  var marker = createMarker(point,label,html);
			  map.addOverlay(marker);
			}
		  });
		}
		else {
		  alert("Sorry, the Google Maps API is not compatible with this browser");
		}
	}

