window.addEvent('domready', function() {
	activateAll();
});

window.addEvent('load', function() {
	sameHeight('.photoSquare');
	sameHeight('.userList');
});

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'));
						}
						calendarDayScroll();
					}
	}).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 cathForm(formCatch) {
	var formLabel = $(formCatch).getParent().getParent().getElements('a')[2];
	var formContainer = $(formCatch).getParent();
	var formModif = $(formCatch);
	formModif.addEvent('submit',function(form){
		new Event(form).stop();
		var request = new Request({  
			url: formModif.getProperty('action'),  
			method: 'post', 
			update: 'refresh-me',
			data: formModif,
			onComplete: function(response) {
				if (response.split(':')[0]!='Error') {
					formModif.dispose();
					formContainer.set('html', '');
					formLabel.set('html', response);
					window.scrollTo(0,0);
				} else {
					alert ('Error!');
				}
			}
		}).post(formModif);
	});
}

function confirmDelete() {
    return confirm("Realmente quieres borrar?");
}

function selectAll(elements) {
	elements.each(function(ele){
		if (ele.get('type')=='checkbox') {
			ele.set('checked','checked');
		}
	})
}

function unselectAll(elements) {
	elements.each(function(ele){
		if (ele.get('type')=='checkbox') {
			ele.set('checked','');
		}
	})
}

function activateAll() {
	activeCheckOptional();
	activateCheckSelect();
	deleteParentDiv();
	calendarDayScroll();
	makeEventsDraggable();
	activateCalendarSmall();
	activateAutoComplete();
}

function sameHeight(nameDiv) {
     var maxHeight = 0;
     $$(nameDiv).each(function(el) {
            if (el.getStyle('height').toInt() > maxHeight) {
                    maxHeight = el.getStyle('height').toInt();
            }
     });
     $$(nameDiv).each(function(el) {
            el.setStyle('height', maxHeight);
     });
}

function activateAutoComplete() {
	$$('.autocompleteConference').each( function(ele) {
		new Autocompleter.Ajax.Json(ele, 'ajax.php?type=Guest&action=autocomplete', {'postVar': 'q'});
	});
}

function activateCalendarSmall() {
	$$('.calendarSmallDiv').each(function(calDiv) {
		var linkCal = calDiv.getPrevious();
		linkCal.removeEvents();
		linkCal.addEvent('click', function(eve) {
			showHideElement(calDiv);
		});
	});
}

function changeDate(idDiv, day, month, year) {
	var divCal = $(idDiv);
	var daySel = divCal.getPrevious().getPrevious().getPrevious().getPrevious();
	var monthSel = divCal.getPrevious().getPrevious().getPrevious();
	var yearSel = divCal.getPrevious().getPrevious();
	var daySelOptions = daySel.getChildren('option');
	var monthSelOptions = monthSel.getChildren('option');
	var yearSelOptions = yearSel.getChildren('option');
	daySelOptions.each(function(optDate) {
		if (optDate.get('value')!=day) {
			optDate.set('selected',false);
		} else {
			optDate.set('selected',true);
		}
	});
	monthSelOptions.each(function(optDate) {
		if (optDate.get('value')!=month) {
			optDate.set('selected',false);
		} else {
			optDate.set('selected',true);
		}
	});
	yearSelOptions.each(function(optDate) {
		if (optDate.get('value')!=year) {
			optDate.set('selected',false);
		} else {
			optDate.set('selected',true);
		}
	});
	divCal.setStyle('display','none');
}

function equalHeights() {
	if (isset($('menu')) && isset($('content'))) {
		var sizeMenu = parseInt($('menu').getStyle('height').replace('px',''));
		var sizeContent = parseInt($('content').getStyle('height').replace('px',''));
		if (sizeMenu>sizeContent) {
			$('content').setStyle('min-height', sizeMenu);
		} else {
			$('menu').setStyle('min-height', sizeContent);
		}
	}
}
function makeEventsDraggable() {
	$$('.close').each(function(ele){
		var dragContainerOptions = {
			handle: ele
		};
		ele.parentNode.makeDraggable(dragContainerOptions);
	});
}

function activateCheckSelect() {
	$$('.selectAll').each(function(chk){
		var formChecks = chk.getNext().getNext();
		chk.addEvent('click', function(eve) {
			selectAll(formChecks.getElements('input'));
		});
	});

	$$('.unselectAll').each(function(chk){
		var formChecks = chk.getNext();
		chk.addEvent('click', function(eve) {
			unselectAll(formChecks.getElements('input'));
		});
	});
}

function activeCheckOptional() {
	$$('.checkOptional').each(function(chk){
		chk.addEvent('change', function(eve) {
			var selectChk = chk.getNext();
			if (chk.get('checked')) {
				selectChk.set('disabled','');
			} else {
				selectChk.set('disabled','disabled');
			}
		});
	});
}

function deleteParentDiv() {
	$$('.deleteParent').each(function(divDel){
		divDel.addEvent('click', function(eve) {
			eve.stop();
			divDel.getParent().getParent().dispose();
		})
	});
}
function calendarDayScroll() {
	$$('.calendarDay').each(function(divDay){
		divDay.setStyle('height',window.innerHeight-100);
		divDay.scrollTo(0,500);
	});
}

function isset(variable_name) {
	try {
		if (typeof(eval(variable_name)) != 'undefined')
			if (eval(variable_name) != null)
				return true;
	} catch(e) { }
	return false;
}

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');
}
