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

window.addEvent('load', function() {
	equalHeights('.elePublic');
	equalHeights('.videoPublic');
	activateCarrousel('.bannerIntroEle');
	$$('.introBtn p span a').each(function(ele){
		ele.setStyle('opacity', '0.6');
	});
});

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

function activateTrans(ele) {
	$$(ele).each(function(ele){
		ele.setStyle('opacity', '0.9');
		ele.addEvent('mouseenter', function(evt){
			ele.setStyle('opacity', '1');
		});
		ele.addEvent('mouseleave', function(evt){
			ele.setStyle('opacity', '0.9');
		});
	});
}

function activateCarrousel(className) {
	if (isset($$(className)[0])) {
		var contentDiv = $$(className)[0].getParent();
		var contentMask = new Element('div', {'id': contentDiv.get('id')+'Mask'});
		var widthEle = $$(className)[0].getStyle('width').replace('px','')*1;
		var heightEle = $$(className)[0].getStyle('height').replace('px','')*1;
		contentMask.wraps(contentDiv);
		contentMask.setStyle('height',heightEle);
		contentMask.setStyle('width',widthEle);
		contentMask.setStyle('overflow','hidden');
		contentMask.setStyle('position','relative');
		contentDiv.setStyle('position','absolute');
		contentDiv.setStyle('width',$$(className).length*widthEle);
		$$(className).each(function(ele){ele.setStyle('float','left')});
		setInterval("carrousel('"+contentDiv.get('id')+"', '"+contentMask.get('id')+"')", 5000 );
	}
}

function carrousel(idEleDiv, idEleMask) {
	var eleDiv = $(idEleDiv);
	var eleMask = $(idEleMask);
	var widthTotal = eleDiv.getStyle('width').replace('px','')*1;
	var widthEle = eleMask.getStyle('width').replace('px','')*1;
	var newPos = eleDiv.getStyle('margin-left').replace('px','')*1 - widthEle;
	var myFx = new Fx.Tween(eleDiv);
	if (newPos*(-1) >= widthTotal){
		myFx.start('margin-left', 0);
	} else {
		myFx.start('margin-left', newPos);
	}
}


function normalBox(className) {
	equalHeights(className);
	$$(className).each(function(ele){
		var normalBoxTop = new Element('div', {'class': 'normalBoxTop'});
		var normalBoxBottom = new Element('div', {'class': 'normalBoxBottom'});
		normalBoxTop.inject(ele, 'top');
	});
}
function activateAll() {
	activateMenu();
	activateSearch();
	activateCarrousel('.introArt');
}

function activateSearch() {
	if (isset($('searchTop'))) {
		var formSearch = $('searchTop').getElements('form')[0];
		var formBtn = $('searchTop').getElements('.submitBtn')[0];
		formBtn.addEvent('click', function(evt){
			formSearch.submit();
		});
	}
}

function activateMenu() {
	$$('.modal a').each(function(ele){
		ele.addEvent('click', function(evt){
			evt.stop();
			showMessageAjax(ele.get('href')+'Modal');
		});
	});
}

function activateRotate(eleClass) {
	var rotater = new Rotater(eleClass,{
		slideInterval:5000,
		transitionDuration:1000
	});
}


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);
						activateAll();
					}
	}).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));
						activateAll();
					}
	}).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 = parseInt(ele.getStyle('height').replace('px',''));
		if (actHeight > 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');
}


function showMessageAjax(urlPage) {
	var reloadRequest = new Request({
		method: 'get',
		url: urlPage,
		onSuccess: function(textResult, xmlResult){
						showMessage(textResult+"");
					}
	}).send(); 	
}

function showMessageForm(urlForm, idDivResult) {
	var reloadRequest = new Request({
		method: 'get',
		url: urlForm,
		onSuccess: function(textResult, xmlResult){
						showMessage(textResult);
						activateReload();
						var form = $('message').getElement('form');
						form.addEvent('submit',function(formEvent){
							new Event(formEvent).stop();
							if (checkForm()==false) {
								var request = new Request({  
									url: form.getProperty('action'),  
									method: 'post', 
									update: 'refresh-me',
									data: form,
									onComplete: function(response) {
										if (isset(idDivResult)) {
											$(idDivResult).set('html', response);
										}
										$('message').dispose();
										activateReload();
									}
								}).post(form);
							} else {
								var htmlError = 'Tiene que completar todos los campos';
								if (isset($('messageError'))) {
									$('messageError').set('html',htmlError);
								} else {
									var divErrorMessage = new Element ('div', {'id':'messageError',
																				'html':htmlError
									});	
									divErrorMessage.inject($('closeMessage'), 'after');
								}
							}
						});
					}
	}).send();
}

function checkForm() {
	var error = false;
	$$('.checkjsRequired').each(function(ele){
		if (ele.get('value')=='') {
			error = true;
		}
	});
	return error;
}

function showMessage(messageHtml) {
	if (isset($('message'))) {
		$('message').dispose();
	}
	var size = window.getSize();
	var posX = size.x/2 - 275;
	var posY = size.y/2 - 200 + window.pageYOffset;
	var divMessage = new Element ('div', {'id':'message',
											'styles': {
												'position':'absolute',
												'z-index':'99999',
												'width':'550px',
												'left': posX+'px',
												'top': '50'
											}
						  		});	
	var divClose = new Element ('div', {'id':'closeMessage',
										'html':'[X]'
						  		});	
	var divContent = new Element ('div', {'html':messageHtml,
										'styles': {
											'padding': '30px 10px'
										}
									});

	//divblack
//	var divBackgroundBlack = new Element ('div', {'id':'backgroundBlack', 'styles': {'opacity': '0'}});	
//	if (!isset($('backgroundBlack'))) {divBackgroundBlack.inject($(document.body), 'top');}
//	new Fx.Tween(divBackgroundBlack).start('opacity', 0, .9);
//	$('backgroundBlack').addEvent('click', function(){closeMessage();});
	//divblack
	divClose.inject(divMessage);
	divContent.inject(divMessage);
	$('wrapper').setStyle('position','relative');
	divMessage.inject($('wrapper'), 'top');
	$('closeMessage').addEvent('click', function(){closeMessage();});
	window.scroll(0,0);
}

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

/*MAPS*/
function activateMaps() {
	activateMapMultiple($('mapaIntro'));
}

function activateMapMultiple(ele) {
	var info = ele.get('rel').split(':');
	var iniLat = info[0];
	var iniLng = info[1];
	var zoomMap = info[2];
	showMapMultiple(ele, iniLat, iniLng, zoomMap);
}

function showMapMultiple(ele, iniLat, iniLng, zoomMap) {
	ele.setStyle('width', '1000px');
	ele.setStyle('height', '400px');
	var latlng = new google.maps.LatLng(iniLat, iniLng);
	var myOptions = {
					zoom: parseInt(zoomMap),
					center: latlng,
					mapTypeId: google.maps.MapTypeId.ROADMAP
					};
	map = new google.maps.Map(ele, myOptions);
	$$('.mapaIntro').each(function(ele){
		var marker_info = ele.get('rel').split(':');
		console.log(marker_info);
		var marker_iniLat = marker_info[0];
		var marker_iniLng = marker_info[1];
		var marker_zoomMap = marker_info[2];
		var marker_image = marker_info[4];
		var marker_latlng = new google.maps.LatLng(marker_iniLat, marker_iniLng);
		marker = new google.maps.Marker({
											position: new google.maps.LatLng(marker_iniLat, marker_iniLng),
											map: map,
											icon: marker_image
											});
	});
}


function activateMap(ele) {
	var info = ele.get('rel').split(':');
	var iniLat = info[0];
	var iniLng = info[1];
	var zoomMap = info[2];
	var description = info[3];
	activateMapSimple(ele, iniLat, iniLng, zoomMap, description);
}

function activateMapSimple(ele, iniLat, iniLng, zoomMap, description) {
	ele.setStyle('width', '470px');
	ele.setStyle('height', '300px');
	var latlng = new google.maps.LatLng(iniLat, iniLng);
	var myOptions = {
					zoom: parseInt(zoomMap),
					center: latlng,
					mapTypeId: google.maps.MapTypeId.ROADMAP
					};
	map = new google.maps.Map(ele, 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);
									$('lat_'+ele.get('id')).set('value', marker.getPosition().lat());
									$('lng_'+ele.get('id')).set('value', marker.getPosition().lng());
									$('zoom_'+ele.get('id')).set('value', marker.getMap().getZoom());
								});										
}

function viewMapSingle(ele, iniLat, iniLng, zoomMap, description) {
	ele.setStyle('width', '470px');
	ele.setStyle('height', '300px');
	var latlng = new google.maps.LatLng(iniLat, iniLng);
	var myOptions = {
					zoom: parseInt(zoomMap),
					center: latlng,
					mapTypeId: google.maps.MapTypeId.ROADMAP
					};
	map = new google.maps.Map(ele, myOptions);
	marker = new google.maps.Marker({
										position: new google.maps.LatLng(iniLat, iniLng),
										map: map
										});
}

function activateMapForm(idEle, idEleHide) {
	if (isset($(idEle))) {
		if ($('lat_'+$(idEle).get('id')).get('value')=='') {
			var latMap = '-17.15512980119525';
		} else {
			var latMap = $('lat_'+$(idEle).get('id')).get('value');
		}
		if ($('lng_'+$(idEle).get('id')).get('value')=='') {
			var lngMap = '-66.58169555664062';
		} else {
			var lngMap = $('lng_'+$(idEle).get('id')).get('value');
		}
		if ($('zoom_'+$(idEle).get('id')).get('value')=='') {
			if ($('lat_'+$(idEle).get('id')).get('value')=='') {
				var zoomMap = '3';			
			} else {
				var zoomMap = '13';			
			}
		} else {
			var zoomMap = $('zoom_'+$(idEle).get('id')).get('value');
		}
		activateMapSimple($(idEle), latMap, lngMap, zoomMap, '');
		if (isset($(idEleHide))) {
			$(idEleHide).dispose();
		}
	}
}

var map;
function activateMapIntroSimple(ele, iniLat, iniLng, zoomMap, description) {
	ele.setStyle('width', '660px');
	ele.setStyle('height', '550px');
	var latlng = new google.maps.LatLng(iniLat, iniLng);
	var myOptions = {
					zoom: parseInt(zoomMap),
					center: latlng,
					mapTypeId: google.maps.MapTypeId.ROADMAP
					};
	map = new google.maps.Map(ele, myOptions);
	var fluster = new Fluster2(map);
	$$('.mapInfo').each(function(ele){
		var latMap = ele.getChildren('.mapInfo_lat')[0].get('title');
		var lngMap = ele.getChildren('.mapInfo_lng')[0].get('title');
		var htmlMap = ele.getChildren('.mapInfo_html')[0].get('html');
		var infowindow = new google.maps.InfoWindow({
												    content: htmlMap
													});
		var marker = new google.maps.Marker({
											position: new google.maps.LatLng(latMap, lngMap)
											});
		google.maps.event.addListener(marker, 'click', function() {
			infowindow.open(map,marker);
		});
		fluster.addMarker(marker);
	});
	fluster.initialize();
}

function moveMapIntroSimple(iniLat, iniLng, zoomMap) {
	var latlng = new google.maps.LatLng(iniLat, iniLng);
	map.panTo(latlng);
	map.setZoom(zoomMap*1);
}

SVGAnimatedString.prototype.contains = function(value) {
    return false;
};

function mapShowOnly(tagName) {
	var myOptions = {
					zoom: map.getZoom(),
					center: map.getCenter(),
					mapTypeId: google.maps.MapTypeId.ROADMAP
					};
	map = new google.maps.Map($('googleIntro'), myOptions);
	var fluster = new Fluster2(map);
	$$('.'+tagName).each(function(ele){
		var latMap = ele.getChildren('.mapInfo_lat')[0].get('title');
		var lngMap = ele.getChildren('.mapInfo_lng')[0].get('title');
		var htmlMap = ele.getChildren('.mapInfo_html')[0].get('html');
		var infowindow = new google.maps.InfoWindow({
												    content: htmlMap
													});
		var marker = new google.maps.Marker({
											position: new google.maps.LatLng(latMap, lngMap)
											});
		google.maps.event.addListener(marker, 'click', function() {
			infowindow.open(map,marker);
		});
		fluster.addMarker(marker);
	});
	fluster.initialize();
}

function activateMapIntro() {
	var latMap = '-17.15512980119525';
	var lngMap = '-66.58169555664062';
	var zoomMap = '5';			
	if (isset($('googleIntro'))) {
		activateMapIntroSimple($('googleIntro'), latMap, lngMap, zoomMap, '');
	}
}

function activateMapSingle () {
	if (isset($('google'))) {
		var iniLat = $('lat_google').get('rel');
		var iniLng = $('lng_google').get('rel');
		var zoomMap = $('zoom_google').get('rel');
		viewMapSingle($('google'), iniLat, iniLng, zoomMap, '');
	}
}

