/* - - - - - - - - - - - - - - - - - - - - -

 * Gmaps.js - UCF website
 * @created: 08/16/2009
 * @modified: 01/30/2010
 * @version: 3.01

- - - - - - - - - - - - - - - - - - - - - */

var map = null;
var geocoder = null;

function setGmapsCompany() {
	var params = location.href.split('?').slice(1).toString();
	if (params) {
		var arr = params.split('&');
		if (arr[0] || arr[1]) {
			selectOptionByValue(document.getElementById('sel1'), unescape(arr[0]));
			selectOptionByValue(document.getElementById('sel2'), unescape(arr[1]));
			gmaps_change_location_company();
		}
	}
}

function setGmapsPresident(db) {
	var params = location.href.split('?').slice(1).toString();
	if (params) {
		var arr = params.split('&');
		if (arr[0]) { selectOptionByValue(document.getElementById('sel1'), unescape(arr[0])); gmaps_change_location_president('sel1','area'); }
		if (arr[1]) { selectOptionByValue(document.getElementById('sel2'), unescape(arr[1])); gmaps_change_location_president('sel2','department'); }
	}
}

function setGmapsFederation(db) {
	var params = location.href.split('?').slice(1).toString();
	if (params) {
		var arr = params.split('&');
		if (arr[0]) { selectOptionByValue(document.getElementById('sel1'), unescape(arr[0])); gmaps_change_location_federation(); }
	}
}

function getMapDatas(db,loc,value) {
	var database = 'gmaps_' + db;
	var sid = loc.split('|').slice(1).toString();
	var data = 'db=' +database+ '&sid=' +sid+ '&elid=' + value;
	$j.ajax({
		type: "POST",
		url: "request_gmaps.php",
		data: data,
		success: function(msg) {
			//alert(msg);
			jQuery("#gmaps").html(msg);
			makeAddressTip();
		}
	});
}

function gmaps_change_location_company() {
	var db = 'company';
	var obj = document.getElementById('sel1');
	var loc = obj.options[obj.selectedIndex].value;
	var obj = document.getElementById('sel2');
	var value = obj.options[obj.selectedIndex].value;
	getMapDatas(db,loc,value);
}

function gmaps_change_location_president(id,type) {
	var value = id;
	var db = 'president_' + type;
	var obj = document.getElementById(id);
	var loc = obj.options[obj.selectedIndex].value;
	getMapDatas(db,loc,value);
}

function gmaps_change_location_federation() {
	var value = '';
	var db = 'federation';
	var obj = document.getElementById('sel1');
	var loc = obj.options[obj.selectedIndex].value;
	getMapDatas(db,loc,value);
}

function openGoogleMaps(url, target, id1, id2) {
	var value1=''; var value2=''; var params='';
	if (id1) {
		var obj1 = document.getElementById(id1);
		value1 = obj1.options[obj1.selectedIndex].value;
	}
	if (id2) {
		var obj2 = document.getElementById(id2);	
		value2 = obj2.options[obj2.selectedIndex].value;
	}
	if (value1 || value2) { params = '?' +value1+ '&' +value2; }
	var url = 'gmaps_' + url + '.php' + params;
	if (target == 'popup') { lightviewSmallURL(url); }
	if (target == 'self')  { location.href = url; }
}

function makeAddressTip() {
	try { 
	var obj = document.getElementById('gmaps').getElementsByTagName('h4');
	} catch(e) { return false; }
	for (var i=0; i < obj.length; i++) {
		el = obj[i];
		if (el.className.match('address')) {
			var arr = el.getAttribute("rel").split(',');
			var db = 'gmaps_'+arr[0];
			var sid2 = arr[1];
			var param1 = arr[2];
			var param2 = arr[3];
			$j.ajax({
				type: "GET",
				url: "request_gmaps.php",
				data: { db: db, sid2: sid2, sid: param1, elid: param2 },
				success: function(msg) {
						//alert(msg);
						var arr = msg.split('|');
						var tip = 'tip'+arr[0];
						var html = unescape(arr[1]);
						new Tip(tip, html, {
							hideOthers: 'true',
							width: 680,
							showOn: 'click',
							fixed: true,
							closeButton: true,
							hideOn: { element: 'closeButton', event: 'click' },
							target: 'gmaps_tip'
						});
				}
			});
		}
	}
}
