
var formObjectFocused = false;

function submitForm(formName){
	if(validate()){
		var form = document.getElementById(formName);
		form.submit();
	}
}

function exitWithoutSave(){
	var idElement = document.getElementById("id");
	if(idElement){
		var id = idElement.value;
		if(id != ""){
			if(formIsChanged()){
				if(!confirm("Los datos que has modificado no se guardar\u00e1n. \u00BFRealmente quieres salir?")){
					return false;
				}
			}
		}
	}
	return true;
}

function cancelForm(){
	if(exitWithoutSave()){
		history.go(-1);
	}
}

function cancelFormPopUp(){
	if(exitWithoutSave()){
		self.close();
	}
}

function clearDefaultValue(formObject, defaultValue) {
	if (formObject.value == defaultValue) {
		formObject.value = "";
	}
}
	
function resetDefaultValue(formObject, defaultValue) {
	if (formObject.value == "") {
		formObject.value = defaultValue;
	}
}

function ltrim ( str, charlist ) {
    charlist = !charlist ? ' \xA0' : (charlist+'').replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
    var re = new RegExp('^[' + charlist + ']+', 'g');
    return (str+'').replace(re, '');
}

function isEmptyField(formObjectName, defaultValue){
	if(defaultValue == null) defaultValue = "";
	var empty = false;
	var formObject = document.getElementById(formObjectName);
	clearError(formObjectName);
	if(formObject && !formObject.disabled){
		formObject.value = ltrim(formObject.value);
		if(formObject.value==defaultValue){
			empty=true;
			showError(formObjectName, "Este campo es obligatorio.");
			setFocus(formObject);
		}
	}
	return empty;
}

function isEmptyAreaWysiwyg(formObjectName){
	var empty = false;
	var formObject = document.getElementById(formObjectName+"_ifr");
	var paragraphs = formObject.contentDocument.getElementById('tinymce').getElementsByTagName('p');
	var paragraph = paragraphs[0];
	clearError(formObjectName);
	if (paragraphs.length==1 && (paragraph.innerHTML=='<br>' || paragraph.innerHTML=='<br mce_bogus="1">')){
		empty=true;
		showError(formObjectName, "Este campo es obligatorio.");
		setFocus(formObject);
	}	
	return empty;
}

function isEmptyDate(formObjectName){
	var empty = false;
	var day = document.getElementById(formObjectName+"Day");
	var month = document.getElementById(formObjectName+"Month");
	var year = document.getElementById(formObjectName+"Year");
	clearError(formObjectName);
	if(day.value=="" || month.value=="" || year.value==""){
		empty=true;
		showError(formObjectName, "Este campo es obligatorio.");
		setFocus(day);		
	}
	return empty;
}

function isEmptyRadioButton(formObjectName){
	//Jorgito: Se utiliza getElementsByName y no ById !!
	//TODO: repasar el setFocus del error
	var empty = true;
	var formObject = document.getElementsByName(formObjectName);
	clearError(formObjectName);
	if(formObject && !formObject.disabled){
		var num = formObject.length;
		var i = 0;
		var checked = false;
		while ((i < num) && !checked){
			if (formObject[i].checked == true){	
				empty = false;
				checked = true;
			}else{
				i++;
			}
		}
	}
	if (empty === true ) {
		showError(formObjectName, "Este campo es obligatorio.");
		setFocus(formObject[0]);
	}
	return empty;	
}

function isEmptyURL(formObjectName){
	var empty = false;
	var formObject = document.getElementById(formObjectName);
	clearError(formObjectName);
	if(formObject && !formObject.disabled){
		if(formObject.value=="" || formObject.value=="http://"){
			empty=true;
			showError(formObjectName, "Este campo es obligatorio.");
			setFocus(formObject);
		}
	}
	return empty;
}

function isEmptyFile(formObjectName){
	var empty = false;
	var element = document.getElementById(formObjectName+"Content");	
	clearError(formObjectName);
	if(element){
		if(element.style.display=="block"){
			empty=true;
			showError(formObjectName, "Este campo es obligatorio.");
		}
	}
	return empty;
}


function isEmptySelectNtoN(formObjectName){
	var numRows = document.getElementById(formObjectName+"_numRows").value;
	var empty = true;
	clearError(formObjectName);
	for (var i=0; i<numRows; i++){
		var id = formObjectName+i;
		var select = document.getElementById(id);
		if(empty && select){
			empty = isEmptyField(id) && empty;
		}
	}
	if(empty) showError(formObjectName, "Este campo es obligatorio.");
	return empty;
}

function isEmptyYouTube(formObjectName){
	clearError(formObjectName);
	var isEmpty = document.getElementById(formObjectName+"Empty").value;
	var empty = (isEmpty=="1");
	if(empty) showError(formObjectName, "Este campo es obligatorio.");
	return empty;
}

function setFocus(formObject){
	if(!formObjectFocused){
		formObject.focus();	
		formObjectFocused = true;
	}
}

function showError(formObjectName, text){
	var formObject = document.getElementById(formObjectName+"Error");
	if(formObject) formObject.innerHTML=text;
	var formObject = document.getElementById(formObjectName+"Label");
	if(formObject){
		var className = formObject.className;
		if(text==""){
			if(className.indexOf("Error")>0){
				formObject.className = className.split("Error")[0];
			}
		}else{
			if(className.indexOf("Error")==-1){
				formObject.className = className+"Error";
			}
		}
	}
}
		
function clearError(formObjectName){
	showError(formObjectName, "");
}

function checkTelephone(formObjectName){
	var ok = true;
	var formObject = document.getElementById(formObjectName);
	if(!formObject.disabled){
		var value = formObject.value;
		if(value!=""){
			formObject.value = clearSpaces(value);
			value = formObject.value;
			if(value.indexOf("+")==0){
				value = value.substr(1);
			}
			if(isNaN(value) || value.length<9){
				showError(formObjectName, "Tel&eacute;fono incorrecto.");
				setFocus(formObject);				
				ok=false;
			}else{
				clearError(formObjectName);
			}
		}
	}
	return ok;
}

function checkEmail(formObjectName){
	var ok = true;
	var formObject = document.getElementById(formObjectName);
	if(!formObject.disabled){	
		var value = formObject.value;
		if(value!=""){
			var emailChecker=/^[A-Za-z0-9][\w-.]+[A-Za-z0-9]@[A-Za-z0-9]?([\w-.]+[A-Za-z0-9]\.)+([A-Za-z]){2,4}$/i;
			if(emailChecker.test(value)){
				//clearError(formObjectName);	
			}else{
				showError(formObjectName, "Email incorrecto.");
				setFocus(formObject);				
				ok=false;
			}
		}
	}
	return ok;
}

function checkPassword(formObjectName){
	var ok = true;
	var password1 = document.getElementById(formObjectName);
	var password2 = document.getElementById(formObjectName+"Bis");
	clearError(formObjectName+"Bis");
	if(password1.value != password2.value){
		ok=false;
		showError(formObjectName+"Bis", "Las dos contrase&ntilde;as no coinciden.");
		setFocus(password1);		
	}
	return ok;
}

function checkNumber(formObjectName){
	var ok = true;
	var formObject = document.getElementById(formObjectName);
	if(!formObject.disabled){
		var value = formObject.value;
		value = value.replace(",", ".");
		formObject.value = value;
		if(isNaN(value)){
			showError(formObjectName, "N&uacute;mero incorrecto.");
			setFocus(formObject);			
			ok=false;
		}else{
			clearError(formObjectName);
		}
	}
	return ok;
}

function checkMoney(formObjectName){
	var ok = true;
	var formObject = document.getElementById(formObjectName);
	if(!formObject.disabled){	
		var value = formObject.value;
		value = value.replace(",", ".");
		if(value.indexOf(".") >=0){
			valueSP = value.split(".");
			value = valueSP[0]+"."+valueSP[1].substr(0,2);
		}
		formObject.value = value;
		if(isNaN(value) || value < 0){
			showError(formObjectName, "Importe incorrecto");
			setFocus(formObject);			
			ok=false;
		}else{
			clearError(formObjectName);
		}
	}
	return ok;
}

function checkIGTZ(formObjectName){
	var ok = checkNumber(formObjectName);
	if(ok){
		var formObject = document.getElementById(formObjectName);
		if(!formObject.disabled){
			var value = formObject.value;
			if(value.indexOf(".") >=0){
				valueSP = value.split(".");
				value = valueSP[0];
			}
			formObject.value = value;
			if(isNaN(value) || value < 1){
				showError(formObjectName, "El n&uacute;mero ha de ser mayor de cero.");
				setFocus(formObject);				
				ok=false;
			}else{
				clearError(formObjectName);
			}
		}
	}
	return ok;
}

function checkPassword(formObjectName){
	var ok = true;
	var formObject = document.getElementById(formObjectName);
	if(!formObject.disabled){	
		var value = formObject.value;
		//TODO Codigo para SONAR. Añadir al objeto Form y hacer uso de showError
		//Poner más validaciones.
		if(value.length < 4 || value.length > 12){
			//showError(formObjectName, "Importe incorrecto");
			setFocus(formObject);			
			ok=false;
		}else{
			clearError(formObjectName);
		}
	}
	return ok;
}

//Retorna true si year es bisiesto
function isLeapYear(year) {
	if (year < 100)
		var end = year + 2000;
	else
		var end = year ;

	if (end % 4 != 0)
		return false;
	else {
		if (end % 100 == 0)	{
			if (end % 400 == 0) { return true; }
			else { return false; }
		}
		else { return true; }
	}
}

//Formato valido: dd/mm/aaaa
function checkDateText(text) {
	day=text.split("/")[0];
	month=text.split("/")[1];
	year=text.split("/")[2];
	if(isLeapYear(year)) february=29;
	else february=28;
	if (text != "") {
		if (((text.charAt(2) != "/") && (text.charAt(3) != "/")) || ((text.charAt(4) != "/") && (text.charAt(5) != "/") && (text.charAt(6) != "/"))) return false;	//Mal formado: dd/mm/aaaa
		if ((month<1) || (month>12)) return false;	//El mes introducido no es válido
		if ((month==2) && ((day<1) || (day>february))) return false;	//El día introducido no es válido
		if (((month==1) || (month==3) || (month==5) || (month==7) || (month==8) || (month==10) || (month==12)) && ((day<1) || (day>31))) return false;	//El día introducido no es válido
		if (((month==4) || (month==6) || (month==9) || (month==11)) && ((day<1) || (day>30))) return false;	//El día introducido no es válido
		if (year<0) return false; //El año introducido no es valido
	}
	return true;
}

function ucfirst( str ) {
    var f = str.charAt(0).toUpperCase();
    return f + str.substr(1, str.length-1);
}

function clearSpaces(string){
	while (string.indexOf(" ")>-1){
		string = string.replace(" ", "");
	}
	return string;
}

//PRE: UTC in seconds
function UTCtoString(UTC){
	var months = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];
	var date = new Date(UTC*1000);
	var d = date.getDate();
	var m = date.getMonth();
	var y = date.getFullYear();
	var string = d+" de "+months[m]+" del "+y;
	return string;
}

function callbackSelect(xmlhttp){
	var elements = xmlhttp.responseXML.getElementsByTagName("data");
	//Con los cambios de CHARSETs en IE hubo problemas con el XML. Por eso
	//compruebo antes la longitud
	if(elements.length > 0){
		var fieldId = elements[0].getAttribute("fieldId");
		var defaultValue = xmlhttp.responseXML.getElementsByTagName("data")[0].getAttribute("defaultValue");
		var selectElement = document.getElementById(fieldId);
		var options = xmlhttp.responseXML.getElementsByTagName("option");
		if(options.length==0){
			/* Comento �sta linia para conseguir que si un SELECT es obligatorio
			 * pero al refrescarse no tiene valores, no se valide y no se pueda continuar. 
			 */
			//selectElement.disabled = false;
		}else{
			for(i=0; i< options.length; i++){
				var id = options[i].getAttribute("id");
				var label = decodeURI(options[i].getAttribute("label"));
				var currentId = selectElement.options.length;
				selectElement.options[currentId] = new Option(label, id);
				if(defaultValue==id) {
					selectElement.selectedIndex = currentId;
				}else{
					if(options.length == 1){
						selectElement.selectedIndex = currentId;
						if(selectElement.onchange) selectElement.onchange();
					}
				}
			}
			selectElement.disabled = false;
		}
	}
}

function getSelectText(id){
	var select = document.getElementById(id);
	var option = select.options[select.selectedIndex];
	return option.text;
}



//Para Attachments
function deleteAttachAJAX(id, attributeName, isNew){
	if(confirm("\u00BFRealmente lo desea eliminar?")){
		var paramsGET = "?func=deleteAttach&id="+id+"&attributeName="+attributeName+"&isNew="+isNew;
		var urlServlet = "/common/engine/resources/servlet.php";
		callAjax(deleteAttachCallback, paramsGET, urlServlet);
	}
}

function deleteAttachCallback(xmlhttp){
	var data = xmlhttp.responseXML.getElementsByTagName("data")[0];
	var attributeName = data.getAttribute("attributeName");		
	attributeName = ucfirst(attributeName);
	eval("refresh"+attributeName+"()");
}

//Borra las filas de una tabla
function emptyTable(tableName){
	var table = document.getElementById(tableName);
	while(table.rows.length > 0){
		table.deleteRow(0);
	}
}

//tagName corresponde a lo que se genere en el engineServlet: image - documento
function refreshAttachGridTable(xmlhttp, tagName){
	var cols = 4;
	var currentCol = 0;
	
	var tableName = "attachGridTable";
	var table = document.getElementById(tableName);
	if(table){
		emptyTable(tableName);
		var oRow = null;
		var data = xmlhttp.responseXML.getElementsByTagName("data")[0];
		var isNew = data.getAttribute("isNew");		
		var attachments = xmlhttp.responseXML.getElementsByTagName(tagName);
		for(i=0; i< attachments.length; i++){
			var attach = attachments[i];
			var id = attach.getAttribute("id");
			var type = attach.getAttribute("type");		
			var name = attach.getAttribute("name");
			var preview = attach.getAttribute("preview");
			var fileSrc = attach.getAttribute("fileSrc");	
			
			currentCol++;
			if(currentCol>=cols || oRow==null){
				var oRow = table.insertRow(table.rows.length);
				currentCol = 0;
			}

			var oCell = oRow.insertCell(oRow.cells.length);
			oCell.align = "center";				
			
			var innerHTMLCode ="<a target=\"_blank\" href=\""+fileSrc+"\">";
			innerHTMLCode+="<img src=\""+preview+"\"/>";
			innerHTMLCode+="</a><br/>";
			innerHTMLCode+="<a href=\"javascript:deleteAttachAJAX("+id+", "+isNew+")\" class=\"formLink\"/>Eliminar</a>";
			
			oCell.innerHTML = innerHTMLCode;
		}
	}
}

function refreshAttachListTable(xmlhttp){
	var data = xmlhttp.responseXML.getElementsByTagName("data")[0];
	var attributeName = data.getAttribute("attributeName");
	var type = data.getAttribute("type");
	var tagName = typeToString(type);

	var tableName = attributeName+"ListTable";
	var table = document.getElementById(tableName);
	if(table){	
		emptyTable(tableName);
		var classA = true;
		var attachments = xmlhttp.responseXML.getElementsByTagName(tagName);
		for(i=0; i< attachments.length; i++){
			var attach = attachments[i];
			var id = attach.getAttribute("id");
			var type = attach.getAttribute("type");		
			var name = attach.getAttribute("name");
			var preview = attach.getAttribute("preview");
			var fileSrc = attach.getAttribute("fileSrc");	
			
			//if(myType == null || myType == type){
				var oRow = table.insertRow(table.rows.length);
				oRow.id = "trattach"+id;
				if(classA) var className = "listsRowA";
				else var className = "listsRowB";
				oRow.className = className;
				
				var oCell = oRow.insertCell(oRow.cells.length);
				oCell.className = className;				
				oCell.innerHTML = "<img src=\""+preview+"\" border=\"0\">&nbsp;";
				
				var oCell = oRow.insertCell(oRow.cells.length);
				oCell.className = className;
				oCell.width = 250;
				oCell.innerHTML = "<span class=\""+className+"\">"+name+"</span>";
				
				var oCell = oRow.insertCell(oRow.cells.length);
				oCell.className = className;
				oCell.align = "center";
				oCell.innerHTML = "<a href=\"javascript:deleteAttachAJAX("+id+", '"+attributeName+"');\" title=\"Eliminar\"><img src=\"/gestion/images/ico_del.png\" border=\"0\"></a>";
				
				classA=!classA;
			//}
		}
	}
	var thumbnail = document.getElementById(attributeName+"Thumbnail");
	thumbnail.innerHTML = "";
}

//tagName corresponde a lo que se genere en el engineServlet
function refreshAttachOne(xmlhttp, elementHTMLId, tagName, myType){
	var refreshed = false;
	if(tagName == null) tagName = "image";
	var appletSrc = document.getElementById(elementHTMLId+"AppletSrc");
	if(!appletSrc){
		appletSrc = document.getElementById("appletSrc");	
	}
	elementHTMLId = elementHTMLId+"Content";	
	var element = document.getElementById(elementHTMLId);
	if(element){
		var data = xmlhttp.responseXML.getElementsByTagName("data")[0];
		var isNew = data.getAttribute("isNew");
		if(isNew=="") isNew = 0;
		var attachments = xmlhttp.responseXML.getElementsByTagName(tagName);		
		for(i=0; i< attachments.length; i++){
			var attach = attachments[i];		
			var id = attach.getAttribute("id");
			var type = attach.getAttribute("type");		
			var name = attach.getAttribute("name");
			var preview = attach.getAttribute("preview");
			var fileSrc = attach.getAttribute("fileSrc");			
			
			if(myType == null || myType == type){
				refreshed = true;			
				var innerHTMLCode ='<table border="0" cellspacing="0" cellspadding="0" width="100%">';
				innerHTMLCode+='<tr>';
				innerHTMLCode+='<td align="center">';
			
				var fileExtension = fileSrc.split(".").pop().toUpperCase();
				if(type==1 && fileExtension == "SWF"){
					innerHTMLCode+='<embed width="250" height="250" quality="high" bgcolor="#e3e3e3" name="galeria" id="galeria" style="" src="'+fileSrc+'" type="application/x-shockwave-flash"/>';	
				}else {
					innerHTMLCode+='<a target="_blank" href="'+fileSrc+'">';
					innerHTMLCode+='<img src="'+preview+'" />';
					innerHTMLCode+='</a><br/>';
					if(type==1){
						innerHTMLCode+= '<span class="formText" id="linkLabel">'+name+'</span><br/>';
					}
				}
				
				innerHTMLCode+='<br/>';
				innerHTMLCode+='<a href="javascript:deleteAttachAJAX('+id+', \''+elementHTMLId+'\', '+isNew+')" class="formLink"/>Eliminar</a>';	
				innerHTMLCode+='</td>';
				innerHTMLCode+='</tr>';
				innerHTMLCode+='</table>';
				
				//alert(element.innerHTML);
				appletSrc.value = element.innerHTML;
				element.innerHTML = innerHTMLCode;
			}
		}
		if(!refreshed){
			if(appletSrc.value!=""){
				element.innerHTML = appletSrc.value;
			}
		}		
	}
}

function isChanged(formElementId){
	var element = document.getElementById(formElementId);
	if(element){
		var elementBack = document.getElementById(formElementId+"_bck");
		if(elementBack){
			return (element.value != elementBack.value);
		}
	}
	return false;
}

function isChangedCheckbox(formElementId){
	var element = document.getElementById(formElementId);
	if(element){
		var elementBack = document.getElementById(formElementId+"_bck");
		if(elementBack){
			return ((element.checked && elementBack.value == "0") || (!element.checked && elementBack.value == "1"));
		}
	}
	return false;
}

function isChangedDate(formElementId){
	var day = document.getElementById(formElementId+"Day");
	var month = document.getElementById(formElementId+"Month");
	var year = document.getElementById(formElementId+"Year");
	if(day && month && year){
		var elementBack = document.getElementById(formElementId+"_bck");
		if(elementBack){
			day = day.value;
			month = month.value;
			year = year.value;
			if(day < 10) day = "0"+day;
			if(month < 10) month = "0"+month;
			var value = year+"-"+month+"-"+day;
			return (elementBack.value.indexOf(value) != 0);
		}
	}
	return false;
}




function submitUpload(elementHTMLId, validateFunc){
	var valid = true;
	if(validateFunc){
		valid = validateFunc();
	}
	if(valid){
		var form = document.getElementById(elementHTMLId + "Form");
		form.submit();
		showWaitImage(elementHTMLId);	
	}
}

function showWaitImage(elementHTMLId){
	var thumbnail = document.getElementById(elementHTMLId+"Thumbnail");
	thumbnail.innerHTML = "<img src=\"/common/engine/resources/images/wait.gif\"/>";
}

function refreshInutOne(xmlhttp){
	var data = xmlhttp.responseXML.getElementsByTagName("data")[0];
	var isNew = data.getAttribute("isNew");
	var attributeName = data.getAttribute("attributeName");
	var type = data.getAttribute("type");
	if(isNew=="") isNew = 0;
	var tagName = typeToString(type);
	var element = document.getElementById(attributeName+"Content");
	//element.style.visibility = "hidden";
	element.style.display = "none";
	
	var thumbnail = document.getElementById(attributeName+"Thumbnail");
	if(thumbnail){
		var attachments = xmlhttp.responseXML.getElementsByTagName(tagName);		
		for(i=0; i< attachments.length; i++){
			var attach = attachments[i];		
			var id = attach.getAttribute("id");
			var name = attach.getAttribute("name");
			var preview = attach.getAttribute("preview");
			var fileSrc = attach.getAttribute("fileSrc");
				
			var innerHTMLCode ='<table border="0" cellpacing="0" cellpadding="0" width="100%">';
			innerHTMLCode+='<tr>';
			innerHTMLCode+='<td align="center">';
		
			var fileExtension = fileSrc.split(".").pop().toUpperCase();
			if(type==1 && fileExtension == "SWF"){
				innerHTMLCode+='<embed width="250" height="250" quality="high" bgcolor="#e3e3e3" name="galeria" id="galeria" style="" src="'+fileSrc+'" type="application/x-shockwave-flash"/>';	
			}else {
				innerHTMLCode+='<a target="_blank" href="'+fileSrc+'">';
				innerHTMLCode+="<img src=\""+preview+"\" ";
				innerHTMLCode+="/>";
				innerHTMLCode+='</a><br/>';
				if(type==1){
					innerHTMLCode+= '<span class="formText" id="linkLabel">'+name+'</span><br/>';
				}
			}
			
			innerHTMLCode+='<br/>';
			innerHTMLCode+='<a href="javascript:deleteAttachAJAX('+id+', \''+attributeName+'\', '+isNew+')" class="formLink"/>Eliminar</a>';	
			innerHTMLCode+='</td>';
			innerHTMLCode+='</tr>';
			innerHTMLCode+='</table>';

			thumbnail.innerHTML = innerHTMLCode;
		}

		if(attachments.length == 0){
			var element = document.getElementById(attributeName+"Content");
			//element.style.visibility = "visible";
			element.style.display = "block";
			thumbnail.innerHTML = "";
		}	
	}
}

function refreshInputGridTable(xmlhttp){
	var cols = 4;
	var currentCol = 0;
	
	var data = xmlhttp.responseXML.getElementsByTagName("data")[0];
	var type = data.getAttribute("type");
	var attributeName = data.getAttribute("attributeName");
	var tagName = typeToString(type);
	var tableName = attributeName+"GridTable";
	var table = document.getElementById(tableName);
	if(table){
		emptyTable(tableName);
		var oRow = null;
		var data = xmlhttp.responseXML.getElementsByTagName("data")[0];
		var isNew = data.getAttribute("isNew");		
		var attachments = xmlhttp.responseXML.getElementsByTagName(tagName);
		for(i=0; i< attachments.length; i++){
			var attach = attachments[i];
			var id = attach.getAttribute("id");	
			var name = attach.getAttribute("name");
			var preview = attach.getAttribute("preview");
			var fileSrc = attach.getAttribute("fileSrc");	
			
			currentCol++;
			if(currentCol>=cols || oRow==null){
				var oRow = table.insertRow(table.rows.length);
				currentCol = 0;
			}

			var oCell = oRow.insertCell(oRow.cells.length);
			oCell.align = "center";				
			
			var innerHTMLCode ="<a target=\"_blank\" href=\""+fileSrc+"\">";
			innerHTMLCode+="<img src=\""+preview+"\" ";
			innerHTMLCode+="/>";
			innerHTMLCode+="</a><br/>";
			innerHTMLCode+="<a href=\"javascript:deleteAttachAJAX("+id+", '"+attributeName+"', "+isNew+")\" class=\"formLink\"/>Eliminar</a>";
			
			oCell.innerHTML = innerHTMLCode;
		}
	}
	
	var thumbnail = document.getElementById(attributeName+"Thumbnail");
	thumbnail.innerHTML = "";
}

function typeToString(value){
	if(value == 2){
		return "image";
	}else if(value == 1){
		return "document";		
	}else{
		return "";
	}
}

function inputYouTubeFilled(formObjectName){
	var formObject = document.getElementById(formObjectName+"Empty");
	if(formObject){
		formObject.value = 0;
	}
}

function refreshInputOneFile(type, attributeName, object, objectOwner){
	if(objectOwner == null) objectOwner = object;	var paramsGET = "?func=refreshAttachments&type="+type+"&attributeName="+attributeName+"&object="+objectOwner;
	var myFormName = object;
	//2008-04-21 JJMR: Esto lo implemento para newsletters, se que no es muy limpo
	var pos = myFormName.indexOf("_");
	if(pos > 0){
		myFormName = myFormName.slice(0, pos);
	}
	myFormName+="Form";
	var myForm = document.getElementById(myFormName);
	//--
	var id = myForm.elements["id"].value;
	var tempId = myForm.elements["tempId"].value;
	if(id == ""){
		paramsGET+="&objectId="+tempId+"&isNew=1";
	}else{
		paramsGET+="&objectId="+id;
	}

	var urlServlet = "/common/engine/resources/servlet.php";
	callAjax(refreshInutOne, paramsGET, urlServlet);
}
