var map;
var center;
var gicons = [];
var mediumIcon;
var nomalIcon;
var gmarkers = [];
var gpolys = [];
var categorias = [];
var buffer;

$(document).ready(function() {
	$('.menu_textbox').focus(function() {
		if ($(this).val() == 'Buscar escorts...') {
			$(this).val('');
		}
	});
	if ($('.agencia #gmaps').length > 0) {
		load_gmaps();
	}
	if ($('.agencias_ubic #gmaps').length > 0) {
		load_gmaps2();
	}
	if($('.tab_agencias').length > 0) {
		$('.tab_agencias').each(function() {
			$(this).hover(function() {
				$(this).addClass('tab_agencias_on');
			},function() {
				$(this).removeClass('tab_agencias_on');
			});
		});
	}
	if($('#hnewsticker').length > 0) {
		$('#hnewsticker').newsticker();
	}
	if($("#gallery_agencia").length > 0) {
		setupZoom();
	}
});
function write_swf(params) {
	if ($("#" + params.id).length > 0) {
		var flashDial = new FlashObject(params.file, "xmdial", params.width,
				params.height, 8, "#000000", "high",
				"http://www.adobe.com/go/getflashplayer",
				"http://www.adobe.com/go/getflashplayer");
		flashDial.addParam("wmode", "opaque");
		flashDial.addParam("allowScriptAccess", "always");
		flashDial.addParam("autoStart", "true");
		flashDial.write(params.id);
	}
}
function fix_IE_nonsence() {
	var arVersion = navigator.appVersion.split("MSIE");
	var version = parseFloat(arVersion[1]);
	if ((version >= 5.5) && (document.body.filters)) {
		for (var i = 0; i < document.images.length; i++) {
			var img = document.images[i];
			var imgName = img.src.toUpperCase();
			if (imgName.substring(imgName.length - 3, imgName.length) == "PNG") {
				var imgID = (img.id) ? "id='" + img.id + "' " : "";
				var imgClass = (img.className) ? "class='" + img.className
						+ "' " : "";
				var imgTitle = (img.title)
						? "title='" + img.title + "' "
						: "title='" + img.alt + "' ";
				var imgStyle = "display:inline-block;" + img.style.cssText;
				if (img.align == "left") {
					imgStyle = "float:left;" + imgStyle
				};
				if (img.align == "right") {
					imgStyle = "float:right;" + imgStyle
				};
				if (img.parentElement.href) {
					imgStyle = "cursor:hand;" + imgStyle
				};
				var strNewHTML = "<span "
						+ imgID
						+ imgClass
						+ imgTitle
						+ " style=\"z-index:1;"
						+ "width:"
						+ img.width
						+ "px; height:"
						+ img.height
						+ "px;"
						+ imgStyle
						+ ";"
						+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
						+ "(src=\'" + img.src
						+ "\', sizingMethod='scale');\"></span>";
				img.outerHTML = strNewHTML;
				i = i - 1;
			}
		}
	}
}
function FL_Generateobj(objAttrs, params, embedAttrs) {
	var str = '<object ';
	for (var i in objAttrs) {
		str += i + '="' + objAttrs[i] + '" ';
	}
	str += '>';
	for (var i in params) {
		str += '<param name="' + i + '" value="' + params[i] + '" /> ';
	}
	str += '<embed ';
	for (var i in embedAttrs) {
		str += i + '="' + embedAttrs[i] + '" ';
	}
	str += ' ></embed></object>';
	document.write(str);
}
function FL_RunContent() {
	var ret = FL_GetArgs(arguments, "movie",
			"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",
			"application/x-shockwave-flash");
	FL_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function FL_GetArgs(args, srcParamName, classid, mimeType) {
	var ret = new Object();
	ret.embedAttrs = new Object();
	ret.params = new Object();
	ret.objAttrs = new Object();
	for (var i = 0; i < args.length; i = i + 2) {
		var currArg = args[i].toLowerCase();
		switch (currArg) {
			case "classid" :
				break;
			case "pluginspage" :
				ret.embedAttrs[args[i]] = args[i + 1];
				break;
			case "src" :
			case "movie" :
				ret.embedAttrs["src"] = args[i + 1];
				ret.params[srcParamName] = args[i + 1];
				break;
			case "onafterupdate" :
			case "onbeforeupdate" :
			case "onblur" :
			case "oncellchange" :
			case "onclick" :
			case "ondblclick" :
			case "ondrag" :
			case "ondragend" :
			case "ondragenter" :
			case "ondragleave" :
			case "ondragover" :
			case "ondrop" :
			case "onfinish" :
			case "onfocus" :
			case "onhelp" :
			case "onmousedown" :
			case "onmouseup" :
			case "onmouseover" :
			case "onmousemove" :
			case "onmouseout" :
			case "onkeypress" :
			case "onkeydown" :
			case "onkeyup" :
			case "onload" :
			case "onlosecapture" :
			case "onpropertychange" :
			case "onreadystatechange" :
			case "onrowsdelete" :
			case "onrowenter" :
			case "onrowexit" :
			case "onrowsinserted" :
			case "onstart" :
			case "onscroll" :
			case "onbeforeeditfocus" :
			case "onactivate" :
			case "onbeforedeactivate" :
			case "ondeactivate" :
			case "type" :
			case "codebase" :
				ret.objAttrs[args[i]] = args[i + 1];
				break;
			case "width" :
			case "height" :
			case "align" :
			case "vspace" :
			case "hspace" :
			case "class" :
			case "title" :
			case "accesskey" :
			case "name" :
			case "id" :
			case "tabindex" :
				ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i + 1];
				break;
			default :
				ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i + 1];
		}
	}
	ret.objAttrs["classid"] = classid;
	if (mimeType)
		ret.embedAttrs["type"] = mimeType;
	return ret;
}
function validar_mail(t) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(t)) {
		return (true);
	} else {
		return (false);
	}
}
function validate_send(type) {
	cleanErrors();
	var nombre = document.getElementById('nombre').value;
	var email = document.getElementById('email').value;
	var mensaje = '';
	var errormsg = new Array();
	var username = document.getElementById('usr').value;
	var password = document.getElementById('pwd').value;
	var password2 = document.getElementById('pwd2').value;
	if (type == 1) {
		var mensaje = document.getElementById('mensaje').value;
	}
	if (nombre == '') {
		errormsg.push("Por favor completa tu nombre");
	}
	if (email == '') {
		errormsg.push("Por favor completa tu E-Mail");
	} else if (!validar_mail(email)) {
		errormsg.push("El E-Mail es incorrecto");
	}
	if (/^([a-zA-Z0-9_-]{4,12})$/.test(username) == false) {
		errormsg
				.push("El nombre de usuario solo puede contener letras, numeros y guiones bajos, y debe tener entre 4 y 12 caracteres");
	}
	if (password == '' || password2 == '') {
		errormsg.push("Por favor completa tu contraseņa");
	} else if (password != password2) {
		errormsg.push("Verifica las contraseņas, no son iguales");
	}
	if (errormsg.length > 0) {
		showErrors(errormsg);
		return false;
	}
	document.getElementById('fsubscribe').submit();
}
function explode(separator, str) {
	return str.split(separator);
}
function showErrors(ar) {
	var container = document.getElementById('errormsgs');
	container.style.display = 'block';
	for (c = 0; c < ar.length; c++) {
		var div = document.createElement('div');
		var li = document.createElement('li');
		div.className = 'txt_09';
		div.style.textAlign = 'left';
		div.innerHTML = ar[c];
		li.appendChild(div);
		container.appendChild(li);
	}
}
function cleanErrors() {
	var container = document.getElementById('errormsgs');
	container.style.display = 'none';
	var childs = container.childNodes.length;
	for (var c = 0; c < childs; c++) {
		container.removeChild(container.firstChild);
	}
}
function voteCara() {
	win = window.open("", "_popup", "scrolling=no,width=468px,height=300px");
	document.getElementById("form_cara").submit();
}
function set_cookie_lang(name, value, days, lang) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
		var expires = "; expires=" + date.toGMTString();
	} else {
		var expires = "";
	}
	document.cookie = name + "=" + value + expires + "; path=/";
}
function random_escort(ct, uid) {
	new Ajax.Request('/inc/random_escort.php?uid=' + uid + '&ct=' + ct, {
		'method' : 'get',
		'onSuccess' : function(response) {
			document.location.href = response.responseText;
		}
	});
}
function vote_escort(id) {
	new Ajax.Request('/inc/vote_escort.php?id=' + id, {
		'method' : 'get',
		'onSuccess' : function(response) {
			var t = response.responseText;
			document.getElementById('vote_btn').src = 'http://www.' + domain
					+ '/images/misc/es/btn_gracias.gif';
			if (t == '1') {
				var votes = parseInt(
						document.getElementById('voteDisplay').innerHTML, 10)
						+ 1;
				document.getElementById('voteDisplay').innerHTML = votes;
			}
		}
	});
}
function load_gmaps() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("gmaps"));
		map.setCenter(new GLatLng(40.111688665595956, -4.5263671875), 6);
		map.addControl(new GMapTypeControl());

		normalIcon = new GIcon();
		normalIcon.iconSize = new GSize(22,38);
		normalIcon.shadow = "/images/agencias_tools/shadow50.png";
		normalIcon.shadowSize = new GSize(44,34);
		normalIcon.iconAnchor = new GPoint(22,38);
		normalIcon.infoWindowAnchor = new GPoint(16,0);
		
		gicons["marker"] = new GIcon(normalIcon, "http://static.planetadeseo.com/images/agencias_tools/eof_minita_pointer.png");			
		
		map.enableDoubleClickZoom();
		$.ajax({
			url : '/core/webservice.php',
			data : 'w=pm&m=' + $('#agencia_id').val(),
			type : 'POST',
			dataType : "json",
			success : function(datos) {
				var coordenadas = new GLatLng(datos.data.latitud,
						datos.data.longitud);
				var marcador = new GMarker(coordenadas, {
					draggable : false,
					bouncy : true,
					icon: gicons["marker"]
				});
				GEvent.addListener(marcador, 'dblclick', function() {
					map.zoomIn();
					map.setCenter(coordenadas);
				});
				map.addOverlay(marcador);
				map.setZoom(15);
				map.panTo(coordenadas);
			}
		});
	}
	$('body').unload(function() {
		GUnload();
	});
}

function load_gmaps2() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("gmaps"));
		map.setCenter(new GLatLng(40.111688665595956, -4.5263671875), 6);
		map.addControl(new GMapTypeControl());

		normalIcon = new GIcon();
		normalIcon.iconSize = new GSize(22,38);
		normalIcon.shadow = "/images/agencias_tools/shadow50.png";
		normalIcon.shadowSize = new GSize(44,34);
		normalIcon.iconAnchor = new GPoint(22,38);
		normalIcon.infoWindowAnchor = new GPoint(16,0);
		
		gicons["marker"] = new GIcon(normalIcon, "http://static.planetadeseo.com/images/agencias_tools/eof_minita_pointer.png");	
		
		map.enableDoubleClickZoom();
		$.ajax({
			url : '/core/webservice.php',
			data : 'w=mm&c=' + $('#ciudad_id').val(),
			type : 'POST',
			dataType : "json",
			success : function(datos) {
				if (typeof datos.data != 'undefined') {
					if (datos.data.length > 0) {
						for (var i = 0; i < datos.data.length; i++) {
							/*
							 * var coordenadas = new
							 * GLatLng(datos.data[i].latitud,datos.data[i].longitud);
							 * var marcador = new GMarker(coordenadas,{
							 * draggable : false, bouncy: true });
							 */
							// GEvent.addListener(marcador, 'dblclick',
							// function() { map.zoomIn(); map.setCenter(new
							// GLatLng(datos.data[i].latitud,datos.data[i].longitud));
							// });
							var tabs = new Array();
							tabs
									.push(new GInfoWindowTab(
											datos.data[i].agencia,
											"<strong class='gmap_agencia_name'>"+datos.data[i].agencia+"</strong><br />"
													+ "<strong class='gmaps_agencia_address'>"
													+ datos.data[i].direccion
													+ "</strong><br /><a class='gmaps_agencia_url' href='http://agencias.planetadeseo.com/?agencia="
													+ datos.data[i].id
													+ "'>Ir a la agencia</a>"));
							var lugarcito = new GLatLng(datos.data[i].latitud,
									datos.data[i].longitud);
							var marcador = createTabbedMarker(lugarcito, '',
									tabs, datos.data[i].id, gicons["marker"], '',
									datos.data[i].ciudad, false);
							map.addOverlay(marcador);
							map.setZoom(15);
							if (i === 0) {
								map.panTo(new GLatLng(datos.data[i].latitud,
										datos.data[i].longitud));
							}
						}
					}
				}
				/*
				 * var coordenadas = new
				 * GLatLng(datos.data.latitud,datos.data.longitud); var marcador =
				 * new GMarker(coordenadas,{ draggable : false, bouncy: true });
				 * GEvent.addListener(marcador, 'dblclick', function() {
				 * map.zoomIn(); map.setCenter(coordenadas); });
				 * map.addOverlay(marcador); map.setZoom(15);
				 * map.panTo(coordenadas);
				 */
			}
		});
	}
	$('body').unload(function() {
		GUnload();
	});
}

function createTabbedMarker(point, label, tabs, id, icon, max, cat, drag) {

	if (typeof(drag) == 'undefined') {
		drag = true;
	}

	// var marker = new GMarker(point, gicons[icon]);
	// var marker = new GMarker(point, {icon: gicons[icon], draggable: drag});
	if(typeof icon == 'undefined') { icon = G_DEFAULT_ICON; }
	var marker = new GMarker(point, {
		draggable : drag,
		icon: icon
	});
	marker.cat = cat;
	var marker_num = gmarkers.length;
	// marker.marker_num = marker_num;
	marker.tabs = tabs;
	gmarkers[id] = marker;

	GEvent.addListener(gmarkers[id], "click", function() {

		if (max) {
			marker.openInfoWindowTabsHtml(gmarkers[id].tabs, {
				maxUrl : max
			}); // 'max.php?f='+
		} else {
			// marker.openInfoWindowTabsHtml(gmarkers[id].tabs);
			marker.openInfoWindowTabsHtml(gmarkers[id].tabs);
		}

	});

	GEvent.addListener(gmarkers[id], "infowindowopen", function() {
		// alert(id);
		// alert(this);
		if (document.getElementById(id)) {
			document.getElementById(id).style.background = "#000000";
		}
	});

	GEvent.addListener(gmarkers[id], "infowindowclose", function() {
		if (document.getElementById(id)) {
			document.getElementById(id).style.background = "none";
		}
	});

	return marker;
}
