
var map;
var whichBetaTester = 0;

function cBetaTester(inLatitude, inLongitude, inOrganizationName) {
	this.mLatitude = inLatitude;
	this.mLongitude = inLongitude;
	this.mOrganizationName = inOrganizationName;
}

var betaTestersArray =
	new Array(
		new cBetaTester(12.971773, 77.594376, 'Acharya Institute of Technology'),
		new cBetaTester(37.323195,-121.997681, 'Agilent'),
		new cBetaTester(39.95176, 116.33808, 'Beijing Jiaotong University'),
		new cBetaTester(-22.904008, -43.209229, 'Catholic University of Rio De Janeiro'),
		new cBetaTester(50.102703, 14.389086, 'CESNET'),
		new cBetaTester(30.2733,120.171204, 'China Zhejiang University'),
		new cBetaTester(24.976722, 121.209154, 'Chung Yuan Christan University (CYCU), Taiwan'),
		new cBetaTester(51.720582,0.450042, 'Emerson Network Power '),
		new cBetaTester(45.503317,-73.61872, '&Eacute;cole Polytechnique de Montr&eacute;al'),
		new cBetaTester(33.771304,-84.393964, 'Georgia Institute of Technology'),
		new cBetaTester(60.187772,24.805219, 'HIIT Helsinki Institute for Information Technology'),
		new cBetaTester(1.29161,103.776249, 'Institute for Infocomm Research'),
		new cBetaTester(37.409855,-122.026649, 'Juniper Networks Inc'),
		new cBetaTester(13.822828,100.548935, 'Kasetsart University'),
		new cBetaTester(37.55593,127.009408, 'Kookmin University'),
		new cBetaTester(40.607168,-75.378957, 'Lehigh University'),
		new cBetaTester(25.026594,121.543803, 'National Taiwan University'),
		new cBetaTester(24.558834,120.811758, 'National United University'),
		new cBetaTester(35.786279,-78.681883, 'North Carolina State University'),
		new cBetaTester(40.694371,-73.98718, 'Polytechnic university'),
		new cBetaTester(40.348351,-74.66432, 'Princeton University'),
		new cBetaTester(25.085288,121.561661, 'Quanta Computer Inc'),
		new cBetaTester(29.720502,-95.394073, 'Rice University'),
		new cBetaTester(40.49901,-74.447597, 'Rutgers'),
		new cBetaTester(37.426439,-122.17115, 'Stanford University'),
		new cBetaTester(42.094822,-75.967014, 'State University of New York (SUNY), Binghamton'),
		new cBetaTester(42.970076,-78.820682, 'State University of New York (SUNY), Buffalo'),
		new cBetaTester(42.7957,-77.819273, 'SUNY - Geneseo, NY'),
		new cBetaTester(22.26789,114.131684, 'The University of Hong Kong'),
		new cBetaTester(52.156505,4.486338, 'University Leiden (The Netherlands)'),
		new cBetaTester(45.513369,-73.560441, 'Universit&eacute; du Qu&eacute;bec &agrave; Montr&eacute;al (UQAM)'),
		new cBetaTester(52.36899,4.894602, 'University of Amsterdam'),
		new cBetaTester(47.79782,16.216679, 'University of Applied Sciences'),
		new cBetaTester(44.492154,11.349374, 'University of Bologna'),
		new cBetaTester(34.072364,-118.442166, 'University of California Los Angeles Extension'),
		new cBetaTester(32.87874,-117.23647, 'University of California at San Diego (UCSD)'),
		new cBetaTester(52.200926,0.116322, 'Cambridge University'),
		new cBetaTester(41.808205,-72.249591, 'University of Connecticut'),
		new cBetaTester(29.642446,-82.355361, 'University of Florida'),
		new cBetaTester(46.724965,-117.006792, 'University of Idaho'),
		new cBetaTester(36.668419,117.004395, 'University of Jinan'),
		new cBetaTester(42.312878,-71.036739, 'University of Massachusetts Lowell'),
		new cBetaTester(40.845997,14.257046, 'University of Naples'),
		new cBetaTester(-33.917544,151.231055, 'University of New South Wales'),
		new cBetaTester(39.954343,-75.191792, 'University of Pennsylvania (UPenn)'),
		new cBetaTester(43.716636,10.39856, 'University of Pisa, Italy'),
		new cBetaTester(-33.88782,151.186767, 'University of Sydney'),
		new cBetaTester(43.667608,-79.399266, 'University of Toronto'),
		new cBetaTester(40.765006,-111.852351, 'University of Utah '),
		new cBetaTester(48.46691,-123.307596, 'University of Victoria'),
		new cBetaTester(43.468727,-80.539205, 'University of Waterloo'),
		new cBetaTester(43.188626,-89.22099, 'University of Wisconsin'),
		new cBetaTester(49.414833,2.817553, 'Universit&eacute; de Technologie de Compi&egrave;gne'),
		new cBetaTester(38.647294,-90.309463, 'Washington University - St. Louis, MO'),
		new cBetaTester(42.48005,-71.15173, 'Western New England College'),
		new cBetaTester(37.252749,-121.934091, 'Xilinx Inc - San Jose, CA'),
		new cBetaTester(13.030231,77.567511, 'India Institute of Science (IISc), Bangalore'),
		new cBetaTester(37.869907,-122.271116, 'ICSI'),
                new cBetaTester(48.884134,2.367897, 'C.V.F (Orange FTGroup)'),
		new cBetaTester(37.408576,-121.953875, 'Cisco'),
                new cBetaTester(34.179714,-118.127403, 'Jet Propulsion Lab'),
                new cBetaTester(30.812629,120.437622,'ZheJiang University'),
                new cBetaTester(40.449429,-86.905289,'Purdue University'),
                new cBetaTester(60.141505,24.514704,'Ericsson Research Nomadic Lab'),
                new cBetaTester(13.14234,80.283279,'Anna University'),
                new cBetaTester(42.074654,-87.67828,'Northwestern University'),
                new cBetaTester(26.665562,-80.26165,'Saint Technology Corporation'),
                new cBetaTester(40.480381,-3.669434,'Universidad Carlos III de Madrid'),
                new cBetaTester(36.041882,129.369164,'Handong Global University'),
		new cBetaTester( 39.254622,-84.49147,'B.R.'),
		new cBetaTester(35.285094,126.918161,'Chungnam National University'),
		new cBetaTester(51.29911,1.07148,'University of Kent'),
		new cBetaTester(52.996762,6.53613,'TNO Information and Communication'),
		new cBetaTester(42.103642,-76.262298,'Lockheed Martin'),
		new cBetaTester(36.37638,128.982458,'YeungNam University'),
		new cBetaTester(35.132214,126.889596,'Gwangju Institute of Science & Technology'),
		new cBetaTester(35.285094,126.918161,'Information and Communication University'),
		new cBetaTester(36.007355,129.333594,'Pohang University of Science & Technology'),
		new cBetaTester(37.91882,126.914341,'Kyung Hee University'),
		new cBetaTester(47.460878,19.05103,'Budapest University of Technology'),
		new cBetaTester(37.617548,127.054819,'Korea University'),
		new cBetaTester(36.371435,127.368032,'KAIST'),
		new cBetaTester(37.5989,126.8185,'KOREA AEROSPACE UNIVERSITY'),
		new cBetaTester(35.79548,128.527031,'Kyungpook National University'),
		new cBetaTester(31.526047,120.31968,'Jiangnan University'),
		new cBetaTester(40.565043,-3.713049,'Universidad Autonoma de Madrid'),
		new cBetaTester(37.664497,127.063792,'Kwangwoon University'),
		new cBetaTester(31.526047,120.31968,'Jiangnan University'),
		new cBetaTester(36.353982,127.425444,'Electronics and Telecomm. Research Inst.'),
		new cBetaTester(35.943811,128.930273,'YeungNam University'),
		new cBetaTester(37.422222,-122.084444,'Google'),
		new cBetaTester(52.48537,-1.895877,'Aston University'),
		new cBetaTester(40.113548,-88.223992,'Siebel Center for Computer Science'),
		new cBetaTester(43.785133,10.365732,'Partita'),
		new cBetaTester(32.87603,-117.219854,'University of California, San Diego'),
		new cBetaTester(38.849728,-104.791012,'SemQuest Inc.'),
		new cBetaTester(53.344434,-6.261238,'CTVR, Lloyd institute'),
		new cBetaTester(40.668089,-8.605074,'Ubiwhere'),
		new cBetaTester(35.69384,139.703549,'Waseda University'),
		new cBetaTester(43.562949,-75.425973,'Binhamton University'),
		new cBetaTester(36.006379,-78.941028,'Duke University'),
		new cBetaTester(34.002723,-117.872289,'ATTOP'),
		new cBetaTester(53.3445,-6.26125,'CTVR - Lloyd Institute'),
		new cBetaTester(12.937163,77.61638,'CG-CoreEL Programmable Solutions'),
		new cBetaTester(22.4137,114.2101,'Southeast University'),
		new cBetaTester(34.261684,108.949028,'Xian Jiaotong University'),
		new cBetaTester(37.557121,126.977379,'Hanyang University'),
		new cBetaTester(37.647072,127.079376,'Kwangwoon University'),
		new cBetaTester(47.397599,8.546739,'University of Zurich'),
		new cBetaTester(32.045101,34.769711,'Tel Aviv University'),
		new cBetaTester(51.522625,-0.132184,'University College London'),
		new cBetaTester(47.929311,-0.799232,'Alcatel-Lucent Bell Labs France'),
		new cBetaTester(50.929874,5.396948,'Universiteit Hasselt'),
		new cBetaTester(40.742809,-74.176346,'New Jersey Institute of Technology'),
		new cBetaTester(39.909988,116.452393,'Beijing University of Chemical Technology'),
		new cBetaTester(43.823443,125.281048,'Jilin University'),
		new cBetaTester(39.961687,116.318371,'Beijing Institute of Technology'),
		new cBetaTester(30.647784,104.064302,'Chengdu University of Information Technology'),
		new cBetaTester(24.45252,118.079117,'Xiamen University')
	);

var betaTestersLatLngArray = new Array();

function load() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
		
		for(var i = 0; i < betaTestersArray.length; ++i)
			betaTestersLatLngArray.push(new GLatLng(betaTestersArray[i].mLatitude, betaTestersArray[i].mLongitude));
			
		showMap();
	}
}

function showMap() {
	var llBounds = new GLatLngBounds();

	// Google says that you have to call setCenter() before you do anything, and sure enough,
	// stuff just doesn't seem to work well if I don't do this ahead of time. I set the actual
	// center that I want after I've added all of the tutorial objects.
	map.setCenter(betaTestersLatLngArray[0], 1);

	for (var i = 0; i < betaTestersLatLngArray.length; i++) {
		var marker = new GMarker(betaTestersLatLngArray[i]);
		var html = getHTMLForBetaTester(i);
		map.addOverlay(marker);
		marker.bindInfoWindowHtml(html);
		
		// Extend the bounds object to contain this marker
		llBounds.extend(betaTestersLatLngArray[i]);
	}

	var zoomLevel = map.getBoundsZoomLevel(llBounds);
	map.setZoom(zoomLevel);

	var southWest = llBounds.getSouthWest();
	var northEast = llBounds.getNorthEast();
	var lngCenter = Math.min(northEast.lng(), southWest.lng()) + ((northEast.lng() - southWest.lng()) / 2);
	var latCenter = Math.min(northEast.lat(), southWest.lat()) + ((northEast.lat() - southWest.lat()) / 2);
	var center = new GLatLng(latCenter, lngCenter);
	map.setCenter(center);

	map.addControl(new GLargeMapControl());
	map.addControl(new GScaleControl());
}

function getHTMLForBetaTester(whichLocation) {
	var html = '';

	html += '<p class="betaOrganizationName">';
	html += betaTestersArray[whichLocation].mOrganizationName;
	html += '</p>';
	return html;
}
