function el(elementID) {
	return document.getElementById(elementID);
}

function es(elementID) {
	return document.getElementById(elementID).style;
}

/* Google Map API */
var map;
var mgr;
function setupMap() {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("map_canvas"));
		map.addControl(new GSmallMapControl());
		map.setCenter(new GLatLng(50, -98), 3);
        map.enableDoubleClickZoom();
		
		return map;
	}
}

function initialize(lat,long,address) {
	if (GBrowserIsCompatible()) {
		map = setupMap();
		map.setCenter(new GLatLng(lat, long), 13);
		
		var bounds = map.getBounds();
		var southWest = bounds.getSouthWest();
		var northEast = bounds.getNorthEast();
		var lngSpan = northEast.lng() - southWest.lng();
		var latSpan = northEast.lat() - southWest.lat();
		var point = new GLatLng(lat,long);
		var marker = new GMarker(point);
		GEvent.addListener(marker,"click", function() {
			map.openInfoWindowHtml(point, address);
		  });
		map.addOverlay(marker);
		map.openInfoWindowHtml(point, address);
	}
}

function setMultiMap(lat, long) {
	if (GBrowserIsCompatible()) {
		map = setupMap();
		map.setCenter(new GLatLng(lat, long), 8);
		
		setTimeout("setupMultiMarkers()", 0);
	}
}

function setupMultiMarkers() {
	var mgr = new MarkerManager(map, {trackMarkers:true});
	var markers = [];

	for(i=0;i < cords.length;i++) {
		var c = cords[i].split(",");
		var lat = c[0];
		var long = c[1];

		var posn = new GLatLng(lat, long);
		var marker = createMarker(posn, adIndex[i], address[i]);
		markers.push(marker);

	}
	mgr.addMarkers(markers, 0);

	mgr.refresh();
}

function createMarker(p, adIndex, address) {
	var marker = new GMarker(p);
	GEvent.addListener(marker,"click", function() {
		map.openInfoWindowHtml(p, "<p><strong>Ad Number:</strong> "+adIndex+"</p><p><strong>Address:</strong><br /><br />"+address+"</p><p><a href=\"buyer_search_details.php?adIndex="+adIndex+"\">View Ad Details</a></p>");
	});
	
	return marker;
}

var gsd = function () {
	
	return {

		addLoadEvent : function (loadFunc) {
			var currentOnLoad = window.onload;
			
			if (typeof window.onload != 'function') {
				window.onload = loadFunc;
			} else {
				window.onload = function() {
					currentOnLoad();
					loadFunc();
				} 
			}
		},
		
		addUnLoadEvent : function (unloadFunc) {
			window.onunload = unloadFunc;
		}
		
	};
		
}();

// Admin Change Password: Verify and Crypt
function verifyPass(pw) {
	
	var pass1 = pw.currentpassword.value;
	var pass2 = pw.verifypassword.value;
	
	if (pass1 != pass2) {
		alert("Sorry the passwords do not match!");
		return false;
	} else if (pass1 == pass2 && pass1 != '') {
		var hash = hex_md5(pass1);
	
		pw.cryptPass.value = hash;
		pw.currentpassword.value = '';
		pw.verifypassword.value = '';
	}
	
	return true;
}

// Login Box Crypt Password
function crypt_pass(obj) {
	var hash = hex_md5(obj.password.value);

	obj.hashpassword.value = hash;
	obj.password.value = "";
}

function limitText(limitNum) {
	if (document.frmAdRegister.description.value.length > limitNum) {
		document.frmAdRegister.description.value = document.frmAdRegister.description.value.substring(0, limitNum);
	} else {
		document.getElementById('count').innerHTML = limitNum - document.frmAdRegister.description.value.length;
	}
}

function verifyRemove(url) {
	if (confirm('Are you sure you want to remove this item?')) {
		document.location.replace(url);
	}
}
