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

window.addEvent('load', function() {
	activateTinyMCE();
	equalHeights();
});

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

function activateAll() {
	activeCheckOptional();
	activateCheckSelect();
	deleteParentDiv();
	makeEventsDraggable();
	activateAutoComplete();
	cleanDescription();
	catchFormCart('cartInfo');
	sortList();
	sortListByElements();
	activateMenu();
	activateFileCheck();
}

function activateFileCheck() {
	$$('.fileCheck').each(function(ele){
		ele.addEvent('change', function(){
			if (ele.get('value')!='') {
				var accepted = ele.get('rel').split(',');
				var extension = ele.get('value').split('.');
				if (extension.length > 1) {
					var extensionFile = extension[extension.length-1];
					if (accepted.length > 0) {
						var counter = false;
						for (i=0; i<accepted.length; i++) {
							if (accepted[i]==extensionFile) {
								counter = true;
							}
						}
						if (!counter) {
							alert('El tipo de archivo es incorrecto');
							ele.set('value','');
						}
					}
				}
			}
		});
	});
}

function activateMenu() {
	if (isset($('navmenu-h'))) {
		var menu = new DropMenu('navmenu-h');
	}
}

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();
						activateTinyMCE();
					}
	}).send(); 	
}

function reloadDivSimple(urlReload, divReload) {
	var reloadRequest = new Request({
		method: 'get',
		url: urlReload,
		onSuccess: function(textResult, xmlResult){
						$(divReload).set('html',textResult);
						activateTinyMCE()
					}
	}).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();
						activateTinyMCE();
					}
	}).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 catchFormCart(idCart) {
	if (isset($(idCart))) {
		if (isset($(idCart).getElement('form'))) {
			var formCatch = $(idCart).getElement('form');
			formCatch.addEvent('submit',function(form){
				new Event(form).stop();
				var request = new Request({  
					url: formCatch.getProperty('action'),  
					method: 'post', 
					update: 'refresh-me',
					data: formCatch,
					onComplete: function(response) {
						$(idCart).set('html', response);
						activateAll();
						goUp();
					}
				}).post(formCatch);
			});
		}
	}
}

function deleteExtraPic(urlDelete, idParent) {
	var reloadRequest = new Request({
		method: 'get',
		url: urlDelete,
		onSuccess: function(textResult, xmlResult){
						$(idParent).dispose();
					}
	}).send(); 	
}

function confirmDelete() {
    return confirm("Esta seguro que quiere eliminar este registro?");
}

function selectAll(elements) {
	elements.each(function(ele){
		if (ele.get('type')=='checkbox') {
			ele.set('checked','checked');
		}
	})
}

function validateImage(ele) {
	var extFile = ele.get('value').split('.');
	if (extFile[1]!='jpg' && extFile[1]!='gif' && extFile[1]!='png' && extFile[1]!='JPG' && extFile[1]!='GIF' && extFile[1]!='PNG') {
		alert('El sistema solo acepta archivos JPG, GIF o PNG');
		ele.set('value','');
		return false;
	}
}

function unselectAll(elements) {
	elements.each(function(ele){
		if (ele.get('type')=='checkbox') {
			ele.set('checked','');
		}
	})
}


function activateTinyMCE() {

	tinyMCE.init({
	mode : "none",
//	elements : "ajaxfilemanager",
	theme : "advanced",
	relative_urls : false,
	plugins : "advimage,advlink,media,contextmenu,paste,table",
	
	theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect",
	theme_advanced_buttons2 : "code,|,pastetext,pasteword,selectall,|,undo,redo,|,link,unlink,anchor,image,|,forecolor,backcolor,|,bullist,numlist,|,tablecontrols",
	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]",
	file_browser_callback : "ajaxfilemanager",
	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	
	});



	$$('.tinyTextArea').each(function(ele) {
		var idTextArea = ele.get('id');
		tinyMCE.execCommand('mceAddControl', true, idTextArea);
	});
}


	function ajaxfilemanager(field_name, url, type, win) {
		var ajaxfilemanagerurl = "http://localhost/ribb/libjs/helpers/tinymce/plugins/ajaxfilemanager/ajaxfilemanager.php";
		switch (type) {
			case "image":
				break;
			case "media":
				break;
			case "flash": 
				break;
			case "file":
				break;
			default:
				return false;
		}
		tinyMCE.activeEditor.windowManager.open({
			url: "../../../tinymce/plugins/ajaxfilemanager/ajaxfilemanager.php",
			width: 782,
			height: 440,
			inline : "yes",
			close_previous : "no"
		},{
			window : win,
			input : field_name
		});
		
		return false;			
	}


function cleanDescription() {
	$$('.description').each(function(ele){
		ele.getChildren().each(function(eleIns){
			eleIns.removeProperty('style');
		});
	});
}

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() {
	var maxHeight = 0;
	$$('.sameHeight').each(function (ele) {
		var actHeight = ele.getStyle('height').replace('px','');
		if (actHeight > maxHeight) {
			maxHeight = actHeight;
		}
	});
	$$('.sameHeight').each(function (ele) {
		ele.setStyle('height',maxHeight+'px');
	 });
}
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 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 sortList() {
	var sb = new Sortables('sortable-list', {
			handle: '.handle',						   
			clone:true,
			revert: true,
			initialize: function() { 
				
			},
			onStart: function(el) { 
				el.setStyle('background','#add8e6');
			},
			onComplete: function(el) {
				el.setStyle('background','#ddd');
				var sort_order = '';
				$$('#sortable-list li').each(function(li) {
					sort_order = sort_order +  li.get('alt')  + '|';
				});
				
					var req = new Request({
						url:'ajax.php?type=' + $('typeObject').value + '&action=sortSave',
						method:'post',
						autoCancel:true,
						data:'sort_order=' + sort_order,
						onRequest: function() {
//							$('message-box').set('text','Updating the sort order in the database.');
						},
						onSuccess: function() {
							$('sort_order').value = sort_order;
//							$('message-box').set('text','Database has been updated.');
						}
					}).send();
			}
		});
}

function sortListbyElement(eleId) {
	var sb = new Sortables(eleId, {
			handle: '.handle',						   
			clone:true,
			revert: true,
			initialize: function() { 
				
			},
			onStart: function(el) { 
				el.setStyle('background','#E6F1F2');
			},
			onComplete: function(el) {
				el.setStyle('background','#FFFFFF');
				var sort_order = '';
				$$('#' + eleId + ' li').each(function(li) {
					sort_order = sort_order +  li.get('alt')  + '|';
				});
				
					var req = new Request({
						url:'index.php?mode=ajax&type=' + $('typeObject' + eleId).value + '&action=sortSave',
						method:'post',
						autoCancel:true,
						data:'sort_order=' + sort_order,
						onRequest: function() {
//							$('message-box').set('text','Updating the sort order in the database.');
						},
						onSuccess: function() {
							$('sort_order' + eleId).value = sort_order;
//							$('message-box').set('text','Database has been updated.');
						}
					}).send();
			}
		});
}

function sortListByElements() {
	$$('.sortable-list').each(function(ele){
		sortListbyElement(ele.getProperty('id'));
	});
}


