window.addEvent('domready', function() {
	activateAll();
});

window.addEvent('load', function() {
	equalHeights('.anuncioSimple');
	if (isset($('tinyAnuncio'))) {
		activateTinyMCE();
	}
	activateMaps();
});

window.addEvent('resize', function() {
});

function activateAll() {
	activateHovers('.hoverImage');
	activateAutocomplete();
	activateMenu();
	activateAnuncio();
	hideSearchTitle();
	activatePaisChange();
}

function activateAutocomplete() {
	if (isset($('searchText'))) {
		var idThesaurus = $('searchText').get('alt');
		new Autocompleter.Ajax.Json('searchText', '/autocomplete', {
			'postVar': 'search'
		});
	}
}

function activatePaisChange() {
	if (isset($('anuncioSelectPais'))) {
		var selParent = $('anuncioSelectPais').getElement('select');
		selParent.addEvent('change', function(eve) {
			urlReload = $('anuncioSelectPais').get('title') + '' + selParent.get('value');
			reloadDiv(urlReload, 'anuncioSelectRegion');
		});
	}
}

function toogleClassSel(selDiv) {
	$$('.seccionSel span').each(function(ele) {
		ele.set('class','');
	});
	$(selDiv).getElement('span').set('class','selSeccion');
}

function hideSearchTitle() {
	if (isset($('searchText'))) {
		$('searchText').addEvent('focus', function() {
			var strSearch = $('searchText').get('value');
			if (strSearch==$('ajaxmsjBuscar').get('text')) {
				$('searchText').set('value', '');
			}
		});
	}
}

function hideMessage() {
	$$('.mensaje').each(function(ele){
		var eleHeight = ele.getStyle('height').replace('px','');
		ele.tween('height', [eleHeight, 0]);
	});
}

function activateHovers (className) {
	$$(className).each(function(ele){
		if (ele.get('id')!=null) {
			var oldSrc = ele.getChildren('a')[0].getChildren('img')[0].get('src');
			var newSrcArray = ele.getChildren('a')[0].getChildren('img')[0].get('src').split('/');
			var lengthArray = newSrcArray.length;
			newSrcArray[lengthArray] = newSrcArray[lengthArray-1];
			newSrcArray[lengthArray-1] = 'hover';
			var newSrc = newSrcArray[0];
			for (i=1 ; i<newSrcArray.length ; i++) {
				newSrc += '/' + newSrcArray[i];
			}
			ele.addEvent('mouseover', function() {
				ele.getChildren('a')[0].getChildren('img')[0].set('src',newSrc);
			});
			ele.addEvent('mouseout', function() {
				ele.getChildren('a')[0].getChildren('img')[0].set('src',oldSrc);
			});
		}
	});
}

function reloadDiv(urlReload, divReload) {
	var reloadRequest = new Request({
		method: 'get',
		url: urlReload,
		onSuccess: function(textResult, xmlResult){
						$(divReload).set('html',textResult);
						if (isset($(divReload).getElement('form'))) {
							cathForm($(divReload).getElement('form'));
						}
						activateAll();
					}
	}).send(); 	
}

function reloadDivSimple(urlReload, divReload) {
	var reloadRequest = new Request({
		method: 'get',
		url: urlReload,
		onSuccess: function(textResult, xmlResult){
						$(divReload).set('html',textResult);
					}
	}).send(); 	
}

function injectDivSimple(urlReload, divInject) {
	var reloadRequest = new Request({
		method: 'get',
		url: urlReload,
		onSuccess: function(textResult, xmlResult){
						var newDiv = new Element('div', {'html':textResult});
						newDiv.inject($(divInject));
					}
	}).send(); 	
}

function reloadDivToogle(urlReload, divReload) {
	if ($(divReload).get('html')!='') {
		eraseContentDiv (divReload);
	} else {
		reloadDivSimple(urlReload, divReload);
	}
}

function eraseContentDiv (divErase) {
	$(divErase).set('html', '');
}

function showHide(eleId) {
	if ($(eleId).getStyle('display') == 'block' || $(eleId).getStyle('display') == '')
		$(eleId).setStyle('display', 'none');
	else
		$(eleId).setStyle('display', 'block');
	return;
}

function showHideElement(ele) {
	if (ele.getStyle('display') == 'block' || ele.getStyle('display') == '')
		ele.setStyle('display', 'none');
	else
		ele.setStyle('display', 'block');
	return;
}

function hideAll(eleClass) {
	$$(eleClass).each(function(el){
		el.setStyle('display', 'none');
	});
}

function showHideAll(eleClass, ele) {
	hideAll(eleClass);
	$(ele).setStyle('display', 'block');
}

function equalHeights(className) {
	var maxHeight = 0;
	$$(className).each(function (ele) {
		var actHeight = ele.getStyle('height').replace('px','');
		if (parseInt(actHeight) > parseInt(maxHeight)) {
			maxHeight = actHeight;
		}
	});
	$$(className).each(function (ele) {
		ele.setStyle('height',maxHeight+'px');
	 });
}

function equalWidths(className) {
	var numClasses = 0;
	var parentWidth = 0;
	$$(className).each(function(ele){
		var eleParent = ele.getParent();
		parentWidth = eleParent.getStyle('width').replace('px','');
		numClasses++;
	});
	$$(className).each(function(ele){
		ele.setStyle('width',parentWidth/numClasses-25);
	});
}

function makeEventsDraggable() {
	$$('.close').each(function(ele){
		var dragContainerOptions = {
			handle: ele
		};
		ele.parentNode.makeDraggable(dragContainerOptions);
	});
}



function deleteParentDiv() {
	$$('.deleteParent').each(function(divDel){
		divDel.addEvent('click', function(eve) {
			eve.stop();
			divDel.getParent().getParent().dispose();
		})
	});
}

function isset(variable_name) {
	try {
		if (typeof(eval(variable_name)) != 'undefined')
			if (eval(variable_name) != null)
				return true;
	} catch(e) { }
	return false;
}

function goUp() {
	window.scrollTo(0,0);	
}

function openPrinterWindow(urlPrint) {
	window.open(urlPrint,'Print','width=750,height=600,toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,copyhistory=no,resizable=yes');
}

function popUpWindow(urlWindow, height, width) {
	window.open(urlWindow,'Print','width='+width+',height='+height+',toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,copyhistory=no,resizable=yes');
}

//Menu
function activateMenu() {
	$$('.liInfo .moreChildren').each(function(ele){
		var parentHide = ele.getParent().getNext();
		parentHide.setStyle('display', 'none');
	});
	$$('.liInfo .moreChildren').each(function(eleIns){
		eleIns.addEvent('click', function(){
			var parent = eleIns.getParent().getNext();
			if (parent.getStyle('display')=='none') {
				parent.setStyle('display', 'block');
				eleIns.set('html', '-');
			} else {
				parent.setStyle('display', 'none');
				eleIns.set('html', '+');
			}
		});
	});
	//showChilds
	if (isset($('anuncioTitle'))) {
		var searchCat = '';
		$$('#anuncioTitle a').each(function(ele){
			searchCat = ele.get('html');
		})
		if (searchCat!='') {
			$$('.liInfo a').each(function (ele){
				if (ele.get('html')==searchCat) {
					ele.getParent().getParent().getParent().setStyle('display', 'block');
					ele.getParent().getParent().getParent().getParent().getParent().setStyle('display', 'block');
					if (isset(ele.getParent().getNext())) {
						ele.getParent().getNext().setStyle('display', 'block');
					}
				}
			})
		}
	}
}


//Anuncio
function confirmDelete() {
    return confirm($('ajaxmsjDelete').get('text'));
}
//stop submit firefox
function activateAnuncio() {
	if (isset($('formAnuncios'))) {
		//stopform
		$('formAnuncios').addEvent('submit',function(form){new Event(form).stop();});
		stopSubmitFirefox();
		$('btnAnunciar').addEvent('click',function(form){
			showAlert($('ajaxmsjLoading').get('text'));
			$('formAnuncios').submit();
			}
		);
		//vars
		var estado=1;
		showAnuncio(estado);
		//links
		var link1 = $('next1').getChildren('a')[0]
		var link2 = $('next2').getChildren('a')[0]
		var last2 = $('last2').getChildren('a')[0]
		var last3 = $('last3').getChildren('a')[0]
		link1.addEvent('click', function(){showAnuncio(2);});
		link2.addEvent('click', function(){showAnuncio(3);});
		last2.addEvent('click', function(){showAnuncio(1);});
		last3.addEvent('click', function(){showAnuncio(2);});
		//NewOldUser
		if (isset($('oldUser')) && isset($('newUser'))) {
			$('oldUser').setStyle('display', 'none');
			$('newUserChange').addEvent('click', function(){
				$('newUser').setStyle('display', 'none');
				$('oldUser').setStyle('display', 'block');
			});
			$('oldUserChange').addEvent('click', function(){
				$('newUser').setStyle('display', 'block');
				$('oldUser').setStyle('display', 'none');
			});
		}
	}	
}

function stopSubmitFirefox() {
	var inputs = $$('input.hijack');
		$each(inputs,function(el,i) {
			el.addEvent('keypress',function(e) {
				if(e.key == 'enter') {e.stop();}
		});
	});
}

function checkAnunciante(urlReload, divReload) {
	//showAnuncioFinal();
	var reloadRequest = new Request({
		method: 'get',
		url: urlReload,
		onSuccess: function(textResult, xmlResult){
						var htmlResponse = textResult.split(':');
						if (htmlResponse[0]=='confirmacion') {
							showAnuncioFinal();
						} else {
							showMessage(htmlResponse[1]);
						}
					}
	}).send(); 	
}

function showAnuncio(estado) {
	var filterEmail=/^.+@.+\..{2,3}$/;
	switch (estado) {
		default:
		case 1:
			$('formMiAnuncio').setStyle('display', 'block');
			$('formMisDatos').setStyle('display', 'none');
			$('formAnunciar').setStyle('display', 'none');
		break;
		case 2:
			var messageHtml = '';
			if ($('frmtitulo').get('value').length == 0) {
				messageHtml = $('ajaxmsjTitleError').get('text');
			}
			if (messageHtml!="") {
				showMessage(messageHtml);
			} else {
				$('formMiAnuncio').setStyle('display', 'none');
				$('formMisDatos').setStyle('display', 'block');
				$('formAnunciar').setStyle('display', 'none');
			}
		break;
		case 3:
			var messageHtml = '';
			if (isset($('newUser')) && isset($('oldUser'))) {
				if ($('newUser').getStyle('display')=='block') {
					if ($('frmnewNombre').get('value').length == 0) {
						messageHtml += '<span>' + $('ajaxmsjNameError').get('text') + '</span>';
					}
					if (!filterEmail.test($('frmnewEmail').get('value'))) {
						messageHtml += '<span>' + $('ajaxmsjEmailError').get('text') + '</span>';
					}
					if ($('frmciudad').get('value').length == 0) {
						messageHtml += '<span>' + $('ajaxmsjCiudadError').get('text') + '</span>';
					}
					if (messageHtml=="") {
						checkAnunciante('index.php?mode=ajax&type=Anunciantes&action=checkEmail&email='+$('frmnewEmail').get('value'),'oldUserDesc');
					} else {
						showMessage(messageHtml);
					}
				}
				if ($('oldUser').getStyle('display')=='block') {
					if ($('frmoldEmail').get('value').length == 0) {
						messageHtml += '<span>' + $('ajaxmsjEmailError').get('text') + '</span>';
					}
					if ($('frmoldPassword').get('value').length == 0) {
						messageHtml += '<span>' + $('ajaxmsjPasswordError').get('text') + '</span>';
					}
					if (messageHtml=="") {
						checkAnunciante('index.php?mode=ajax&type=Anunciantes&action=login&email='+$('frmoldEmail').get('value')+'&password='+$('frmoldPassword').get('value'),'oldUserDesc');
					} else {
						showMessage(messageHtml);
					}
				}
			} else {
				showAnuncioFinal();
			}
		break;
	}
}
function showAnuncioFinal() {
	//anuncio
	$('anuncioPrevTitulo').set('html', htmlTags($('frmtitulo').get('value')));
	$('anuncioPrev').set('html', tinyMCE.editors.tinyAnuncio.getContent());
	var categoriaLabel = $('ajaxmsjCategoria').get('text');
	var categoriaHtml = $('selCategoriasSel').getElement('select').getSelected()[0].text;
	var paisLabel = $('ajaxmsjPais').get('text');
	var paisHtml = $('anuncioSelectPais').getElement('select').getSelected()[0].text;
	paisHtml = htmlTags(paisHtml);
	var regionLabel = $('ajaxmsjRegion').get('text');
	if (isset($('anuncioSelectRegion').getElement('select').getSelected())) {
		var regionHtml = '';
	} else {
		var regionHtml = $('anuncioSelectRegion').getElement('select').getSelected()[0].text;
	}
	regionHtml = htmlTags(regionHtml);
	var claveLabel = $('ajaxmsjClave').get('text');
	var claveHtml = $('clave').get('value');
	claveHtml = htmlTags(claveHtml);
	var videoLabel = $('ajaxmsjVideo').get('text');
	var videoHtml = $('videoAnuncio').get('value');
	videoHtml = htmlTags(videoHtml);
	$('anuncioPrevInfo').set('html', '<span><strong>'+categoriaLabel+':</strong> '+categoriaHtml+'</span><span><strong>'+paisLabel+':</strong> '+paisHtml+'</span><span><strong>'+regionLabel+':</strong> '+regionHtml+'</span><span><strong>'+videoLabel+':</strong> '+videoHtml+'</span><span><strong>'+claveLabel+':</strong> '+claveHtml+'</span>');
	//view
	$('formMiAnuncio').setStyle('display', 'none');
	$('formMisDatos').setStyle('display', 'none');
	$('formAnunciar').setStyle('display', 'block');
	
}

//messages
function showMessage(messageHtml) {
	if (isset($('message'))) {
		$('message').dispose();
	}
	var size = window.getSize();
	var posX = size.x/2 - 200;
	var posY = size.y/2 - 100;
	var divBackgroundBlack = new Element ('div', {'id':'backgroundBlack',
											'styles': {'opacity': '0'}});	
	var divMessage = new Element ('div', {'id':'message',
											'styles': {'left': posX,'top': posY}
						  		});	
	var divClose = new Element ('div', {'id':'closeMessage',
										'html':'<div class="cerrarMensaje"><span>' + $('ajaxmsjCerrar').get('text') + '</span><div class="clearer"></div></div>'
						  		});	
	var divContent = new Element ('p', {'html':messageHtml});
	divClose.inject(divMessage);
	divContent.inject(divMessage);
	$('wrapper').setStyle('position','relative');
	if (!isset($('backgroundBlack'))) {divBackgroundBlack.inject($(document.body), 'top');}
	divMessage.inject($('wrapper'));
	new Fx.Tween(divBackgroundBlack).start('opacity', 0, .9);
	$(document.body).setStyle('overflow','hidden');
	$('closeMessage').addEvent('click', function(){
		closeMessage();
	});
	$('backgroundBlack').addEvent('click', function(){
		closeMessage();
	});
}

//messages
function showAlert(messageHtml) {
	if (isset($('alert'))) {
		$('alert').dispose();
	}
	scroll(0,0);
	var size = window.getSize();
	var posX = size.x/2 - 200;
	var posY = size.y/2 - 100;
	var divBackgroundBlack = new Element ('div', {'id':'backgroundBlack',
											'styles': {'opacity': '0'}});	
	var divMessage = new Element ('div', {'id':'alert',
											'styles': {'left': posX,'top': posY}});	
	var divClose = new Element ('div', {'id':'closeMessage',
										'html':'<div class="cerrarMensaje"><span>' + $('ajaxmsjCerrar').get('text') + '</span><div class="clearer"></div></div>'
						  		});	
	var divContent = new Element ('p', {'html':messageHtml});
	divClose.inject(divMessage);
	divContent.inject(divMessage);
	$('wrapper').setStyle('position','relative');
	if (!isset($('backgroundBlack'))) {divBackgroundBlack.inject($(document.body), 'top');}
	divMessage.inject($('wrapper'), 'top');
	new Fx.Tween(divBackgroundBlack).start('opacity', 0, .9);
	$(document.body).setStyle('overflow','hidden');
	$('closeMessage').addEvent('click', function(){
		closeMessage();
	});
	$('backgroundBlack').addEvent('click', function(){
		closeMessage();
	});	
}

function closeMessage() {
		$(document.body).setStyle('overflow','auto');
		if (isset($('message'))) {
			$('message').dispose();
		}
		if (isset($('alert'))) {
			$('alert').dispose();
		}
		if (isset($('backgroundBlack'))) {
			$('backgroundBlack').dispose();
		}
}

function htmlTags(text) {
	return text.replace(/</g,"&lt;").replace(/>/g,"&gt;");
}
//tiny
function activateTinyMCE() {
	if (isset(tinyMCE)) {
		tinyMCE.init({
		mode : "none",
		theme : "advanced",
		relative_urls : false,
		plugins : "safari,advlink,paste",
		
		theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect,|,undo,redo,|,link,unlink,anchor,image,|,forecolor,backcolor",
		theme_advanced_buttons2 : "",
		theme_advanced_buttons3 : "",
		theme_advanced_buttons4 : "",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		theme_advanced_statusbar_location : "bottom",
		extended_valid_elements : "hr[class|width|size|noshade]",
		paste_use_dialog : false,
		theme_advanced_resizing : true,
		theme_advanced_resize_horizontal : true,
		apply_source_formatting : true,
		force_br_newlines : true,
		force_p_newlines : false	
		});
	
		tinyMCE.execCommand('mceAddControl', true, 'tinyAnuncio');
	}
}

function hideMap(idDiv, inputLat, inputLng) {
	$('anuncioMapaLink').setStyle('display', 'block');
	$('anuncioMapaHide').setStyle('display', 'none');
	//map
	$(idDiv).set('html', '');
	$(idDiv).setStyle('width', '0px');
	$(idDiv).setStyle('height', '0px');
	$(inputLat).set('value', '');
	$(inputLng).set('value', '');
}

function showMapForm(idDiv, divWidth, divHeight, inputLat, inputLng) {
	if (isset($('anuncioSelectRegion').getElement('select').getSelected()[0])) {
		var regionId = $('anuncioSelectRegion').getElement('select').getSelected()[0].value;
	} else {
		var regionId = '1';
	}
	var reloadRequest = new Request({
		method: 'get',
		url: '/getlocation/'+regionId,
		onSuccess: function(textResult, xmlResult){
						var htmlResponse = textResult.split(':');
							//INIACTION
							$('anuncioMapaLink').setStyle('display', 'none');
							$('anuncioMapaHide').setStyle('display', 'block');
							//map
							$(idDiv).setStyle('width', divWidth+'px');
							$(idDiv).setStyle('height', divHeight+'px');
							iniLat = htmlResponse[0];
							iniLng = htmlResponse[1];
							var latlng = new google.maps.LatLng(iniLat, iniLng);
							var myOptions = {
											zoom: 15,
											center: latlng,
											mapTypeId: google.maps.MapTypeId.ROADMAP
											};
							map = new google.maps.Map($(idDiv), myOptions);
						
							marker = new google.maps.Marker({
																position: new google.maps.LatLng(iniLat, iniLng),
																map: map
																});
						
							google.maps.event.addListener(map, 'click', function(eve) {
								marker.setPosition(eve.latLng);
								$(inputLat).set('value', marker.getPosition().lat());
								$(inputLng).set('value', marker.getPosition().lng());
							});
							//FINACTION
						}
	}).send(); 
}

function activateMaps() {
	$$('.googleMap').each(function(ele){
		ele.setStyle('width', '600px');
		ele.setStyle('height', '550px');
		var info = ele.get('rel').split(':');
		var iniLat = info[0];
		var iniLng = info[1];
		var labelMarker = info[2];
		var latlng = new google.maps.LatLng(iniLat, iniLng);
		var myOptions = {
						zoom: 15,
						center: latlng,
						mapTypeId: google.maps.MapTypeId.ROADMAP
						};
		map = new google.maps.Map(ele, myOptions);
		var infowindow = new google.maps.InfoWindow({
												    content: labelMarker
													});

		marker = new google.maps.Marker({
											position: new google.maps.LatLng(iniLat, iniLng),
											map: map,
											title: labelMarker
											});
		infowindow.open(map,marker);
	});
}
