// JavaScript Document
function preloadImage(imagePath) {
	var table = document.createElement('table');
	var tr = document.createElement('tr');
	var td = document.createElement('td');
	var img = new Image(imagePath);
	loading(td, image);
	tr.appendChild(td);
	table.appendChild(tr);
	parent.appendChild(td);
}

function loaderLoaded() {;
	image.setAttribute('onLoad', 'removeLoader()');
}

function loading(parent, img) {
	image = img; 
	var parentName = parent.getAttribute('id');
	parent.setAttribute('align', 'center');	
	var att = { data:'loader.swf', width:'800', height:'600', id: 'loader'};
	var par = { wmode: "transparent" };
	var id = parentName;
	var loader = swfobject.createSWF(att, par, id);
}

function removeLoader() {
	var imageParent = document.getElementById('imageA');
	swfobject.removeSWF('loader');	
	imageParent.appendChild(image);
}

//Title es el nombre de la ventana y NO el título por lo que no debe contener espacios en blanco.
function openPop(path, title, ancho, alto) {
	if ((ancho != 0) && (alto != 0)) 
		window.open(path, title, 'height=' + alto + ', status=no, toolbar=no, menubar=no, resizable=no, scrollbars=no, width=' + ancho);	
	else {
		window.open(path,title,'status=0, toolbar=0, menubar=0, resizable=0, scrollbars=0');
	}
}

function openAddCabana() {
	openPop('../backoffice/cabanas.php?action=addCabana', 'Agregar cabana', 490, 550);	
}

function openAddSection() {
	openPop('../backoffice/cabanas.php?action=addSection', 'Agregar seccion', 400, 350);	
}

function openAddImage(cabName) {
	openPop('../backoffice/cabanas.php?action=addImage&cab=' + cabName, 'Agregar imagen', 400, 100);	
}

function openDelCab(formName, cabanaName) {
	if (confirm('¿Está seguro que desea eliminar esta cabana?')) {
		var form = document.getElementsByName(formName)[0];
		var cabToDelete = document.getElementsByName('currentCab')[0];
		cabToDelete.value = cabanaName;
		form.action = 'cabanas.php?action=delCab';
		return true;
	} else 
		return false;
}

function updDescription(formName, cabName) {
	var form = document.getElementsByName(formName)[0];
	var cabToUpdate = document.getElementsByName('currentCab')[0];
	cabToUpdate.value = cabName;
	form.action = 'cabanas.php?action=updDesc';
	return true;
}

function saveFirstImage() {
	var image = document.getElementsByName('image')[0];
	if(image.value != '') {
		var form = document.getElementsByName('addCab')[0];
		form.action = 'cabanas.php?action=uploadFirstImage';
		form.target = 'iFrameUpload';
		return true;
	} else 
		alert('Debe seleccionar una imagen para cargar');
	return false;
}


function closeAddCabana() {
	if(confirm('¿Desea cancelar la creación de la cabana? Los nuevos datos se perderán')) {
		closePop();	
	}
}

function closePop() {
	window.close();	
}

function noAction() {
	alert('No se ha especificado una acción');	
}

function checkForm(formName) {
	var form = document.getElementsByName(formName)[0];
	for (var i=0; i < form.elements.length; i++) {
		var field = form.elements[i];
		if (field.value == "") {
			alert('Debe completar el campo ' + field.name);
			field.style.background = "#FFFFCC";
			return false;
		}
	}
	return true;	
}


//Comprueba que un input de texto posea una fecha de la forma dd/mm/aaaa y q no haya fechas no validas como 31 de Febrero.
function checkDate(dateFieldName) {
	var dateField = document.getElementsByName(dateFieldName)[0];
	var dateRegExp = new RegExp('\b(0?[1-9]|[12][0-9]|3[01])[- /.](0?[1-9]|1[012])[- /.](19|20)?[0-9]{2}\b');
	if (dateField.value.match(dateRegExp))
		return true;
	else {
		alert('La fecha ingresada no es válida');
		return false;
	}
}

function addNewsField(parent) {
	var title = document.createElement('input');
	var saveButton = document.createElement('input');
	var undoButton = document.createElement('input');
	var tabla = document.createElement('table');
	var buttonsTable = document.createElement('table');
	var trTitle = document.createElement('tr');
	var trDescription = document.createElement('tr');
	var trButtons = document.createElement('tr');
	var tdSave = document.createElement('td');	
	var tdUndo = document.createElement('td');	
	var tdTitle = document.createElement('td');	
	var tdTitleText = document.createElement('td');
	var tdActive = document.createElement('td');
	var tdActiveText = document.createElement('td');
	var tdDescription = document.createElement('td');
	var tdDescriptionText = document.createElement('td');
	var titulo = document.createTextNode('Titulo');	
	var activeText = document.createTextNode('Activa');	
	var descripcion = document.createTextNode('Descripcion');
	var active = document.createElement('input');
	var addForm = document.createElement('form');
	addForm.setAttribute('action', 'news.php?action=addNews');
	addForm.setAttribute('method', 'post');
	addForm.setAttribute('target', 'center');
	//addForm.setAttribute('target', 'operations');
	addForm.setAttribute('name', 'aNewsForm');
	saveButton.setAttribute('type', 'submit');
	saveButton.setAttribute('value', 'Guardar');
	saveButton.setAttribute('onClick', "return checkForm('aNewsForm')");
	saveButton.setAttribute('title', 'Guardar');
	undoButton.setAttribute('type', 'submit');
	undoButton.setAttribute('value', 'Deshacer');
	undoButton.setAttribute('title', 'Deshacer');
	active.type = 'checkbox';
	tabla.setAttribute('width', '100%');
	tabla.setAttribute('border', '0');
	
	
	buttonsTable.setAttribute('align', 'center');
	tdSave.appendChild(saveButton);
	tdUndo.appendChild(undoButton);
	trButtons.appendChild(tdSave);
	trButtons.appendChild(tdUndo);
	buttonsTable.appendChild(trButtons);
	tdTitle.setAttribute('width', '100%');
	
	tdTitle.setAttribute('align', 'left');
	tdDescription.setAttribute('width', '100%');	
	tdDescription.setAttribute('align', 'center');	
	tdDescription.setAttribute('colspan', '3');	
	title.setAttribute('type', 'text');
	title.setAttribute('name', 'titulo');
	title.style.width = '95%';	
	var description = document.createElement('textarea');
	description.style.width = '100%';
	description.setAttribute('name', 'descripcion');
	active.setAttribute('name', 'activa');
	tdActiveText.appendChild(activeText);
	tdActive.appendChild(active);
	tdTitleText.appendChild(titulo);
	tdTitle.appendChild(title);	
	tdDescriptionText.appendChild(descripcion);
	tdDescription.appendChild(description);
	trTitle.appendChild(tdTitleText);
	trTitle.appendChild(tdTitle);
	trTitle.appendChild(tdActiveText);
	trTitle.appendChild(tdActive);
	trDescription.appendChild(tdDescriptionText);
	trDescription.appendChild(tdDescription);
	tabla.appendChild(trTitle);
	tabla.appendChild(trDescription);
	parent = document.getElementsByName(parent)[0];
	addForm.appendChild(tabla);
	addForm.appendChild(buttonsTable);
	parent.appendChild(addForm);	
}

function addForm(name, action, method, fieldArray) { //El fieldArray debe ser un arreglo compuesto como (field, nombre) para cada campo.
	var form = document.createElement('form');
	form.setAttribute('name', name);
	form.setAttribute('action', action);
	form.setAttribute('method', method);
	var i = 0;
	while (i < fieldArray.length) {
		var newField = document.createElement(fieldArray[i]);
		i++;
		newField.setAttribute('name', fieldArray[i]);
		i++;
		form.appendChild(newField);
	}	
}

function shadowOnTheWall(msg) {
	var tablaSombra = window.document.createElement('table');
	var trSombra = document.createElement('tr');
	var tdSombra = document.createElement('td');
	var trTexto = document.createElement('tr');
	var tdTexto = document.createElement('td');
	tdSombra.style.backgroundColor = "#000000";		
	tdSombra.setAttribute('bgcolor', '#000000');
	document.getElementById('sombraTable').style.backgroundColor = '#000000';
	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	if(isIE) {
		document.getElementById('sombraTable').style.filter="alpha(opacity=80)";			
	} else {
		document.getElementById('sombraTable').style.opacity="0.8";
	}
	document.getElementById('principal').style.zIndex = 4;	
}

function confirmDelete(elemento, formName, formAction) {
	if(confirm('¿Está seguro que desea eliminar ' + elemento +'?')) {		
		if ((typeof formName != 'undefined') && (typeof formAction != 'undefined')) {			
			var form = document.getElementsByName(formName)[0];
			form.action = formAction;
			return true;
		} else
			alert('Form o Action no definidos');
	} else 
		return false;	
}

function changeFormAction(formName, newAction) {
	var form = document.getElementsByName(formName)[0];
	form.setAttribute('action', newAction);
}

function removeNews(formName) {
	var form = window.parent.document.getElementsByName(formName)[0];
	while(form.hasChildNodes()) 
		form.removeChild(form.lastChild);
	//window.parent.document.removeChild(form);
}


