function addOffsets(array1, offset){
	var soma = new Array();
	for (i in array1){
		String(soma.push(array1[i]+offset));
	}
	return soma;
}

function createCoords(element, i, options){
	if(typeof(coords)=="undefined") coords = new Array();
	coords[i] = new Object();
	coords[i] = {
		x: addOffsets(options.x, element.offset()['left']),
		y: addOffsets(options.y, element.offset()['top'])
	}
	var output = new String();
	for(n in coords[i]['x']){
		output += Number(coords[i]['x'][n])+","+Number(coords[i]['y'][n]);
		if(n < coords[i]['x'].length-1) output += ",";
	} return output;
}

$.fn.maximize = function(options){
	$(this).width(options.overlayWidth);
	$(this).height(options.overlayHeight);
}

$.fn.advancedMapping = function(options){
	elements = $(this);
	$("<img id='overlay-image' style='position:absolute;z-index:100;left:-10px;top:-3px' src='images/spacer.gif' useMap='#overlay'/><map name='overlay'></map>")
	.prependTo(".tela").maximize(options);
	$("area").remove();
	$(elements).each(function(i){
		var area = $('<area shape="poly" coords="'+createCoords($(this), i, options)+'"/>');
		area.appendTo("map");	
	});
}
