var submits = new Array();
var loads = new Array();
window.onload = myOnLoad;

loads[loads.length] = 'so_init()';
/*loads[loads.length] = 'flir_init()';*/


function myOnSubmit()
{
	for (submitsI = 0; submitsI < submits.length; submitsI++) {
		eval(submits[submitsI]);
	}
}

function myOnLoad()
{
	for (loadsI = 0; loadsI < loads.length; loadsI++) {
		eval(loads[loadsI]);
	}
}

String.prototype.rot13 = function(){ //v1.0
	return this.replace(/[a-zA-Z]/g, function(c){
		return String.fromCharCode((c <= "Z" ? 90 : 122) >= (c = c.charCodeAt(0) + 13) ? c : c - 26);
	});
};

function changeStyle(polygon, color, opacity)
{
	polygon.setFillStyle({color:color,opacity:opacity});
}

function var_dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;

	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";

	if(typeof(arr) == 'object') { //Array/Hashes/Objects
 		for(var item in arr) {
  			var value = arr[item];

  			if(typeof(value) == 'object') { //If it is an array,
   				dumped_text += level_padding + "'" + item + "' ...\n";
   				dumped_text += dump(value,level+1);
  			} else {
   				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
  			}
 		}
	} else { //Stings/Chars/Numbers etc.
 		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}

function createPolygon(name, object, fill, opacity, fill_hover, opacity_hover, url)
{
	var pp = Array();
	var fp = undefined;
	var dd = object;
	for (var sk in dd){
		var sh = dd[sk];
		for (var pk in sh){
			if(!fp)
				fp = sh[pk];
			pp.push(new GLatLng(parseFloat(sh[pk].lt),parseFloat(sh[pk].lg)));
		}
	}
	pp.push(new GLatLng(parseFloat(sh[pk].lt),parseFloat(sh[pk].lg)));
   	polygons[name+'Polygon'] = new GPolygon(pp, fill, 1, 1, fill, opacity);

   	GEvent.addListener(polygons[name+'Polygon'], "mouseover", function() {
		changeStyle(polygons[name+'Polygon'], fill_hover, opacity_hover);
   	});
   	GEvent.addListener(polygons[name+'Polygon'], "mouseout", function() {
		changeStyle(polygons[name+'Polygon'], fill, opacity);
   	});
   	GEvent.addListener(polygons[name+'Polygon'], "click", function() {location.href = url;});

	map.addOverlay(polygons[name+'Polygon']);
	return polygons[name+'Polygon'];
}