
/***************************************************/
/* @author: Ricard catalan
/* Clase para Traducciones Ibidemgroup
/* Comprueba y muestra formularios y envio los resultados
FORM:  http://www.ibidemgroup.es/presupuesto-automatico.html
/***************************************************/
window.addEvent('domready', function() {
	var estado = window.location.search; //Capturamos el URL
	var ieVer=/*@cc_on function(){ switch(@_jscript_version){ case 1.0:return 3; case 3.0:return 4; case 5.0:return 5; case 5.1:return 5; case 5.5:return 5.5; case 5.6:return 6; case 5.7:return 7; case 5.8:return 8; }}()||@*/0;
	if((/^\?/).test(estado)){
		var resultado = estado.substr(1,estado.length)+'&'; //Quitamos  ? y añadimos & al final
		var variables = resultado.split(/\=\w+\&/);
		var contenido = resultado.split(/\w+\=/);
		for(var i=0; i<contenido.length; i++) contenido[i] = contenido[i].substr(0,contenido[i].length-1);
		if(!ieVer) contenido.shift(); //Quitamos el valor de la primera posición del array al estar vacio solo en caso de IE
		this.estado = new Element('div', { 'id': 'estado' });
		if(variables[0]=='estado' && contenido[0]=='ok'){
			this.estado.setProperties({ 
				'class': 'enviado', 
				'html': '<b>Se ha enviado correctamente su solicitud de presupuesto</b>. <br>En breve le haremos llegar por mail un presupuesto exacto sin compromiso, o nos pondremos en contacto con ud. si precisamos comentar algún detalle. <br>En todo caso recuerde que no daremos inicio al proyecto hasta que nos confirme su aceptación, y recibamos el Presupuesto por fax firmado y sellado. <br>Si desea ponerse en contacto con nosotros puede hacerlo en el <br />902 99 50 20.'
			});
		}else if(variables[0]=='estado' && contenido[0]=='ko'){
			this.estado.setProperties({ 
				'class': 'error', 
				'html': 'Ocurrió un error inesperado durante el envio; por favor inténtelo más tarde. <br>Si continúa teniendo problemas puede enviarnos un email a <a href="mailto:info@ibidemgroup.com">info@ibidemgroup.com</a> o ponerse en contacto con nosotros en el teléfono 902 99 50 20. '
			});
		}
		this.estado.injectTop($('text'));
	}
	new Traducciones(); //Creamos Formulario superior para seleccionar tipo de traducción e idiomas
});
//Clase que muestra el contenido del formulario una vez elegido el tipo de traduccion e idiomas
var Contactar = new Class({
	initialize: function(tipo,idiomaDe,idiomaHacia,palabras){ //Iniciamos
		var precios = {
			/***********************************************************/
			/*****************    PRECIOS A MODIFICAR    ********************/
			'Traducción de documentos': {
				//de Español a ... para TRADUCCION DE DOCUMENTOS
				min: '40',
				'español': ['inglés', 0.08 , 'francés', 0.08,'alemán', 0.09, 'italiano', 0.08, 'portugués', 0.08, 'catalán', 0.08],
				'inglés': ['español', 0.08 , 'francés', 0.1,'alemán', 0.1, 'italiano', 0.1, 'portugués', 0.1, 'catalán', 0.09],
				'francés': ['español', 0.08 , 'inglés', 0.1,'alemán', 0.14, 'italiano', 0.14, 'portugués', 0.14, 'catalán', 0.09],
				'alemán': ['español', 0.09 , 'inglés', 0.1,'francés', 0.14, 'italiano', 0.14, 'portugués', 0.14, 'catalán', 0.09],
				'italiano': ['español', 0.08 , 'inglés', 0.1,'francés', 0.14, 'alemán', 0.14, 'portugués', 0.14, 'catalán', 0.09],
				'portugués': ['español', 0.08 , 'inglés', 0.1,'francés', 0.14, 'alemán', 0.14, 'italiano', 0.14, 'catalán', 0.09],
				'catalán': ['español', 0.07 , 'inglés', 0.09, 'francés', 0.09,'alemán', 0.1, 'italiano', 0.1, 'portugués', 0.1]
			},
			'Traducción jurídica': {
				min: '40',
				'español': ['inglés', 0.09 , 'francés', 0.09,'alemán', 0.1, 'italiano', 0.09, 'portugués', 0.09, 'catalán', 0.09],
				'inglés': ['español', 0.09 , 'francés', 0.11,'alemán', 0.11, 'italiano', 0.11, 'portugués', 0.11, 'catalán', 0.1],
				'francés': ['español', 0.09 , 'inglés', 0.11,'alemán', 0.15, 'italiano', 0.15, 'portugués', 0.15, 'catalán', 0.1],
				'alemán': ['español', 0.1 , 'inglés', 0.11,'francés', 0.15, 'italiano', 0.15, 'portugués', 0.15, 'catalán', 0.1],
				'italiano': ['español', 0.09 , 'inglés', 0.11,'francés', 0.15, 'alemán', 0.15, 'portugués', 0.15, 'catalán', 0.1],
				'portugués': ['español', 0.09 , 'inglés', 0.11,'francés', 0.15, 'alemán', 0.15, 'italiano', 0.15, 'catalán', 0.1],
				'catalán': ['español', 0.08 , 'inglés', 0.1, 'francés', 0.1,'alemán', 0.11, 'italiano', 0.11, 'portugués', 0.11]
			},
			'Traducción técnica': {
				min: '42',
				info: 'Información no disponible. Por favor consulte con uno de nuestros Gestores de Proyectos.',
				'español': ['inglés', 0.12 , 'francés', 0.12,'alemán', 0.14, 'italiano', 0.12, 'portugués', 0.12, 'catalán', 0.12],
				'inglés': ['español', 0.12],
				'francés': ['español', 0.12],
				'alemán': ['español', 0.13],
				'italiano': ['español', 0.12],
				'portugués': ['español', 0.12],
				'catalán': ['español', 0.11]
			},
			'Traducción oficial jurada': {
				min: '43',
				info: 'Información no disponible. Por favor consulte con uno de nuestros Gestores de Proyectos.',
				'español': ['inglés', 0.12 , 'francés', 0.12,'alemán', 0.14, 'italiano', 0.14, 'portugués', 0.14, 'catalán', 0.12],
				'inglés': ['español', 0.12],
				'francés': ['español', 0.12],
				'alemán': ['español', 0.14],
				'italiano': ['español', 0.14],
				'portugués': ['español', 0.14],
				'catalán': ['español', 0.12]
			},
			'Localización de software': { 
				info: 'Dada la complejidad inherente a un proyecto de localización de software, no podemos facilitarle un presupuesto sin estudiar antes los archivos a traducir.'
			},
			'Subtítulos': { 
				info: 'Dada la complejidad inherente a un proyecto de subtitulado, no podemos facilitarle un presupuesto sin estudiar antes los archivos a traducir.<br/>En todo caso sí podemos indicarle que el coste del subtitulado digital viene a suponer unos 800eur/hora'
			},
			'Interpretacion': { 
				info: 'Dada la complejidad de los detalles inherentes a un proyecto de interpretación no podemos facilitarle un presupuesto sin estudiar antes los archivos a traducir.<br/>En todo caso sí podemos indicarle que el coste de un intérprete oscila entre 150 eur./hora y 800 eur/día'
			}
		}
		/********** FIN PRECIOS  *********************/
		var type = tipo.get('value'); //Tipo de traduccion
		var words = parseInt(palabras.get('value')); //palabras
		var langFrom = idiomaDe.get('value').toLowerCase(); //Idioma del documento
		var langTo = idiomaHacia.get('value').toLowerCase(); //Idioma a traducir
		//Hacemos bucle a través del Objecto PRECIOS
		var info=0; //Significa que el 1er idioma no existe y por lo tanto solo queda el valor INFO
		var precio=0;//Guarda el valor del precio, por defecto 0
		var precio_palabra=0;// Precio por palabra
		var min=''; //Valor por defecto del precio mínimo
		for(i in precios){
			//Si localizamos el valor del tipo de traducción seleccionado, pasamos al siguiente bucle
			if(i==type){
				for(j in precios[i]){
					//Si localizamos el IDIOMA del documentos, seguimos
					if(j==langFrom.substr(3)){
						for(var k=0; k<precios[i][j].length; k++){
							if(precios[i][j][k]==langTo.substr(3)){
								precio=precios[i][j][k+1]*words; //multiplicamos el precio por le número de palabras
								precio_palabra=precios[i][j][k+1]; //Asignamos el precio por palabra
								if(precios[i].min){ //Comprobamos si existe precio mínimo, si es asi, miramos si el valor es valor es inferior
									if(precio<precios[i].min){
										precio = precios[i].min; //Asignamos al precio su valor mínimo
										min = ' (Tarifa mínima )';
									}
								}
								info=1;
							}
							if(precio!=0) break; //Localizado Salimos bucle
						}
						if(info==0 && precios[i].info){ //En el caso de que no se localize y que INFO si existe, asignamos info su valor.
							info=precios[i].info;
						}
					}
				}
				if(j=='info'){
					info=precios[i].info;//Si el resultado de J es info, significa que solo tenemos diponible ese valor, lo asignamos
				}
			}
		}
		//Finalizada la búsqueda de los precios, llamamos al método formulario para que muestre el formulario a rellenar, dependiendo del resultado de la búsqueda.
		this.formulario(precio,precio_palabra,info,type,langFrom,langTo,words,min);
	},
	//Aqui mostramos el formulario según el resultado
	formulario: function(precio,precio_palabra,info,tipo,idiomaDe,idiomaHacia,palabras,min){
		if(precio!=0 && min==''){
			parseFloat(precio);
			precio=precio.toFixed(2); //Si el precio no es 0, mostramos solo los 2 últimos valores
		}
		if(precio!=0 || info!=0){ //Solo en el caso de ser los dos valores 0 significa que hemos puesto el mismo IDIOMA de ORIGEN y de DESTINO
			if($('text')) $('text').destroy();//Eliminamos el Div que contiene el texto del Inicio si Existe (en el caso de haberse eliminado)
			$('middle').empty();
			this.quickquote = new Element('div', { 'id': 'quickquote' , 'title': 'Presupuesto provisional' }); //Div Contenedor
			this.quick_h1 = new Element('h1', { 'html': 'Coste aproximado' });
			this.quick_p1 = new Element('p', { 'html': 'Gracias por contactar con IBIDEM GROUP<br/>A continuación le indicamos el coste aproximado del proyecto que nos solicita<br/><br/>' });
			this.quick_p2 = new Element('p', { 'html': 'Este es un presupuesto provisional aproximado generado automáticamente a partir de los datos indicados, para que tenga una primera estimación de coste.' });
				this.table = new Element('div',{ 'id': 'table' });
					this.caja1 = new Element('div', { 'class': 'caja' , 'html': '<p>Servicio:</p>' });
					this.caja2 = new Element('div', { 'class': 'caja2' , 'html': '<p>'+tipo+'</p>' });
					this.caja3 = new Element('div', { 'class': 'caja' , 'html': '<p>Idioma Origen:</p>' });
					this.caja4 = new Element('div', { 'class': 'caja2' , 'html': '<p>'+idiomaDe+'</p>' });
					this.caja5 = new Element('div', { 'class': 'caja' , 'html': '<p>Idioma de Destino:</p>' });
					this.caja6 = new Element('div', { 'class': 'caja2' , 'html': '<p>'+idiomaHacia+'</p>' });
					this.caja7 = new Element('div', { 'class': 'caja' , 'html': '<p>Entrega:</p>' });
					this.caja8 = new Element('div', { 'class': 'caja2' , 'html': '<p>Plazo entrega standard</p>' });
					this.caja9 = new Element('div', { 'class': 'caja' , 'html': '<p>Número de Palabras:</p>' });
					this.caja10 = new Element('div', { 'class': 'caja2' , 'html': '<p>'+palabras+' palabras</p>' });
				this.price = new Element('div',{ 'id': 'price' });
					this.caja11 = new Element('div', { 'class': 'caja3' , 'html': '<p>Tarifa:</p>' });
					this.caja12 = new Element('div', { 'class': 'caja4' , 'html': '<p>'+precio_palabra+' € / palabra</p>' });
					this.caja13 = new Element('div', { 'class': 'caja3' , 'html': '<p>Coste:</p>' });
					this.caja14 = new Element('div', { 'class': 'caja4' , 'html': '<p>'+precio+' € '+min+'</p>' });
				this.form = new Element('div',{ 'id': 'form' });
					this.form_h1 = new Element('h1', { 'html': 'Solicitar Presupuesto exacto' });
					this.form_p1 = new Element('p', { 'html': 'Para obtener un presupuesto definitivo, totalmente ajustado a sus necesidades.<br/>complete por favor el resto de detalles de su proyecto y uno de nuestros<br/>Proyects Managers le remitirá en menos de 1 hora un presupuesto presonalizado,<br/>con coste y fecha de entrega exactos e inamovibles' });
					//TAG FORM, para modificar el atributo ACTION
					this.form_tag = new Element('form', { 'id': 'formulario', 'action': 'http://www.ibidemgroup.es/includes/mail-ibidem.php', 'method': 'post', 'enctype': 'multipart/form-data'});//includes/mail-ibidem.html
						this.quote_form = new Element('div', { 'id': 'quote_form'});
							this.form_ul1 = new Element('ul');
							this.form_li1 = new Element('li', {'html': '<p>Empresa:</p><input type="text" name="empresa" id="empresa" /><input type="hidden" name="tipo" value="'+tipo+'" />'});
							this.form_li2 = new Element('li', {'html': '<p>Dirección:</p><input type="text" name="direccion" id="direccion" /><input type="hidden" name="idiomade" value="'+idiomaDe+'" />'});
							this.form_li3 = new Element('li', {'html': '<p>Persona de contacto:</p><input type="text" name="persona" id="persona" /><input type="hidden" name="idiomahacia" value="'+idiomaHacia+'" />'});
							this.form_li4 = new Element('li', {'html': '<p>Teléfono:</p><input type="text" name="telf1" id="telf1" /><input type="text" name="telf2" id="telf2" /><input type="hidden" name="palabras" value="'+palabras+'" />'});
							this.form_li5 = new Element('li', {'html': '<p>Correo electrónico:</p><input type="text" name="email" id="email" />'});
						this.uploadfile = new Element('div', { 'id': 'uploadfile'});
							this.form_ul2 = new Element('ul');
							this.form_li6 = new Element('li', {'html': '<p>Documento a traducir:</p><input type="hidden" name="MAX_FILE_SIZE" value="8000000"><input type="file" name="document" id="document" />'});// Máximo 8 MB de archivo para adjuntar
							this.form_li7 = new Element('li', {'html': '<p>Comentarios:</p><textarea name="comments" id="comments"></textarea>'});
					this.quick_p3 = new Element('p',{ 'class': 'newsp' , 'html': '<input type="submit" value="Enviar>>" id="submit_quote" />' });
					this.quick_p4 = new Element('p',{ 'class': 'ver' , 'html': '<input type="checkbox" id="priv" name="checkbox" value="checkbox" /> Acepto la política de privacidad de datos' });
			//Añadimos al documento HTML por Orden
			this.quick_h1.injectInside(this.quickquote);
			this.quick_p1.injectInside(this.quickquote);
			this.quick_p2.injectInside(this.quickquote);
				//Datos de información de la traducción
					this.caja1.injectInside(this.table);this.caja2.injectInside(this.table);this.caja3.injectInside(this.table);this.caja4.injectInside(this.table);this.caja5.injectInside(this.table);
					this.caja6.injectInside(this.table);this.caja7.injectInside(this.table);this.caja8.injectInside(this.table);this.caja9.injectInside(this.table);this.caja10.injectInside(this.table);
				this.table.injectInside(this.quickquote);
				//Tarifas y coste de la traducción
				if(info!=1){ //En el caso de ser diferente de 1 MOSTRAMOS MENSAJE INFO
					this.infoR = new Element('div',{ 'id': 'info' });
					this.sameLang = new Element('p',{ 'html': '<b>'+info+'</b>'});
					this.sameLang.injectInside(this.infoR); this.infoR.injectInside(this.quickquote);
				}else{ //En caso contrario MOSTRAMOS PRECIO
					this.caja11.injectInside(this.price);this.caja12.injectInside(this.price);this.caja13.injectInside(this.price);this.caja14.injectInside(this.price);
					this.price.injectInside(this.quickquote);
				}
				//Formulario de contacto
					this.form_h1.injectInside(this.form);this.form_p1.injectInside(this.form);
							this.form_li1.injectInside(this.form_ul1);this.form_li2.injectInside(this.form_ul1);this.form_li3.injectInside(this.form_ul1);
							this.form_li4.injectInside(this.form_ul1);this.form_li5.injectInside(this.form_ul1);
						this.form_ul1.injectInside(this.quote_form);
							this.form_li6.injectInside(this.form_ul2);this.form_li7.injectInside(this.form_ul2);
						this.form_ul2.injectInside(this.uploadfile);
						this.uploadfile.injectInside(this.quote_form);
							this.quick_p3.injectInside(this.quote_form);
							this.quick_p4.injectInside(this.quote_form);
						this.quote_form.injectInside(this.form_tag);
					this.form_tag.injectInside(this.form);
				this.form.injectInside(this.quickquote);
			this.quickquote.injectInside($('middle'));
		}else{
			$('middle').empty();
			this.quickquote = new Element('div', { 'id': 'quickquote' , 'title': 'Presupuesto provisional' }); //Div Contenedor
			this.sameLang = new Element('p',{ 'html': '<br/><b>No puede elegir el mismo idioma de origen y de destino.</b><br/><br/>'});
			this.sameLang.injectInside(this.quickquote);
			this.quickquote.injectInside($('middle'));
		}
		//Al clickar comprobamos estado de seleccion
		if($('submit_quote')!=null){
			$('submit_quote').addEvent('click', function(event) {
				new Event(event).stop(); //Paramos el evento y no enviamos hasta confirmar campos
				new checkForm($('empresa'), $('direccion'), $('persona'), $('telf1'), $('email'), $('document'), $('priv'));
			});
		}
	}
});
// COMPROBACION FORMULARIO
var checkForm = new Class({
	initialize: function(empresa, direccion, persona, telf1, email, file, privad  ){ //Iniciamos
		/* ***MODIFICABLE ****/ 
		this.nota = "Debe aceptar la política de privacidad para que podamos ponernos en contacto con ud.";
		/**   FIN MODIFICABLE   **/
		if(!empresa.get('value').match(/^([a-zA-Z0-9]){3}/)){ //
			empresa.setStyle( 'border', '1px solid #C70000' );
			empresa.setStyle( 'background-color', '#FFB6B6' );
			empresa.focus();
			direccion.setStyle( 'border', '1px solid #cccccc' ); 
			direccion.setStyle( 'background-color', '#fff' ); 
			persona.setStyle( 'border', '1px solid #cccccc' ); 
			persona.setStyle( 'background-color', '#fff' ); 
			telf1.setStyle( 'border', '1px solid #cccccc' ); 
			telf1.setStyle( 'background-color', '#fff' ); 
			email.setStyle( 'border', '1px solid #cccccc' ); 
			email.setStyle( 'background-color', '#fff' );
			file.setStyle( 'border', '1px solid #cccccc' ); 
			file.setStyle( 'background-color', '#fff' );
		}else if(!direccion.get('value').match(/^[a-zA-Z0-9\s?\/?\º?]{8}/)){ //Mínimo 8 carácteres, con espacio entre ellos "\S"
			direccion.setStyle( 'border', '1px solid #C70000' );
			direccion.setStyle( 'background-color', '#FFB6B6' );
			direccion.focus();
			empresa.setStyle( 'border', '1px solid #cccccc' ); 
			empresa.setStyle( 'background-color', '#fff' ); 
			persona.setStyle( 'border', '1px solid #cccccc' ); 
			persona.setStyle( 'background-color', '#fff' ); 
			telf1.setStyle( 'border', '1px solid #cccccc' ); 
			telf1.setStyle( 'background-color', '#fff' ); 
			email.setStyle( 'border', '1px solid #cccccc' ); 
			email.setStyle( 'background-color', '#fff' );
			file.setStyle( 'border', '1px solid #cccccc' ); 
			file.setStyle( 'background-color', '#fff' );
		}else if(!persona.get('value').match(/^([a-zA-Z]){3}/)){
			persona.setStyle( 'border', '1px solid #C70000' );
			persona.setStyle( 'background-color', '#FFB6B6' );
			persona.focus();
			empresa.setStyle( 'border', '1px solid #cccccc' ); 
			empresa.setStyle( 'background-color', '#fff' ); 
			direccion.setStyle( 'border', '1px solid #cccccc' ); 
			direccion.setStyle( 'background-color', '#fff' ); 
			telf1.setStyle( 'border', '1px solid #cccccc' ); 
			telf1.setStyle( 'background-color', '#fff' ); 
			email.setStyle( 'border', '1px solid #cccccc' ); 
			email.setStyle( 'background-color', '#fff' );
			file.setStyle( 'border', '1px solid #cccccc' ); 
			file.setStyle( 'background-color', '#fff' );
		}else if(!telf1.get('value').match(/^\+?[\d\-?\s?]{9,14}$/)){
			telf1.setStyle( 'border', '1px solid #C70000' );
			telf1.setStyle( 'background-color', '#FFB6B6' );
			telf1.focus();
			empresa.setStyle( 'border', '1px solid #cccccc' ); 
			empresa.setStyle( 'background-color', '#fff' ); 
			direccion.setStyle( 'border', '1px solid #cccccc' ); 
			direccion.setStyle( 'background-color', '#fff' ); 
			persona.setStyle( 'border', '1px solid #cccccc' ); 
			persona.setStyle( 'background-color', '#fff' ); 
			email.setStyle( 'border', '1px solid #cccccc' ); 
			email.setStyle( 'background-color', '#fff' );
			file.setStyle( 'border', '1px solid #cccccc' ); 
			file.setStyle( 'background-color', '#fff' );
		}else if(!email.get('value').match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/)){
			email.setStyle( 'border', '1px solid #C70000' );
			email.setStyle( 'background-color', '#FFB6B6' );
			email.focus();
			empresa.setStyle( 'border', '1px solid #cccccc' ); 
			empresa.setStyle( 'background-color', '#fff' ); 
			direccion.setStyle( 'border', '1px solid #cccccc' ); 
			direccion.setStyle( 'background-color', '#fff' ); 
			persona.setStyle( 'border', '1px solid #cccccc' ); 
			persona.setStyle( 'background-color', '#fff' ); 
			telf1.setStyle( 'border', '1px solid #cccccc' ); 
			telf1.setStyle( 'background-color', '#fff' );
			file.setStyle( 'border', '1px solid #cccccc' ); 
			file.setStyle( 'background-color', '#fff' );
		}else if(!file.get('value').match(/^([a-zA-Z]){3}/)){
			file.setStyle( 'border', '1px solid #C70000' );
			file.setStyle( 'background-color', '#FFB6B6' );
			file.focus();
			empresa.setStyle( 'border', '1px solid #cccccc' ); 
			empresa.setStyle( 'background-color', '#fff' ); 
			direccion.setStyle( 'border', '1px solid #cccccc' ); 
			direccion.setStyle( 'background-color', '#fff' ); 
			persona.setStyle( 'border', '1px solid #cccccc' ); 
			persona.setStyle( 'background-color', '#fff' ); 
			telf1.setStyle( 'border', '1px solid #cccccc' ); 
			telf1.setStyle( 'background-color', '#fff' );
			email.setStyle( 'border', '1px solid #cccccc' ); 
			email.setStyle( 'background-color', '#fff' );
		}else if(!privad.get('checked')){ //Si NO es correcto
			alert(this.nota);
			empresa.setStyle( 'border', '1px solid #cccccc' ); 
			empresa.setStyle( 'background-color', '#fff' ); 
			direccion.setStyle( 'border', '1px solid #cccccc' ); 
			direccion.setStyle( 'background-color', '#fff' ); 
			persona.setStyle( 'border', '1px solid #cccccc' ); 
			persona.setStyle( 'background-color', '#fff' ); 
			telf1.setStyle( 'border', '1px solid #cccccc' ); 
			telf1.setStyle( 'background-color', '#fff' ); 
			email.setStyle( 'border', '1px solid #cccccc' ); 
			email.setStyle( 'background-color', '#fff' );
			file.setStyle( 'border', '1px solid #cccccc' ); 
			file.setStyle( 'background-color', '#fff' );
		}else{
			//ENVIAMOS
			empresa.setStyle( 'border', '1px solid #cccccc' ); 
			empresa.setStyle( 'background-color', '#fff' ); 
			direccion.setStyle( 'border', '1px solid #cccccc' ); 
			direccion.setStyle( 'background-color', '#fff' ); 
			persona.setStyle( 'border', '1px solid #cccccc' ); 
			persona.setStyle( 'background-color', '#fff' ); 
			telf1.setStyle( 'border', '1px solid #cccccc' ); 
			telf1.setStyle( 'background-color', '#fff' ); 
			email.setStyle( 'border', '1px solid #cccccc' ); 
			email.setStyle( 'background-color', '#fff' );
			file.setStyle( 'border', '1px solid #cccccc' ); 
			file.setStyle( 'background-color', '#fff' );
			$('formulario').submit(); //Enviamos una vez comprobados los campos
		}
	}
});
//Clase que crea el formulario de PRESUPUESTO
var Traducciones = new Class({
	initialize: function(){ //Iniciamos
		var options = new Object(); //Objeto que contiene los arrays de los SELECTS
		/***********************************************************/
		/*************  OPCIONES a MODIFICAR  *************************/
		var select = $('selections'); //ID donde incrustaremos los SELECTS
		options['tipo'] = ['...','Traducción de documentos','Traducción jurídica','Traducción técnica','Traducción oficial jurada',
							'Localización de software','Subtítulos','Interpretacion','...ver más'];
		options['idiomaDe'] = ['de ...','de Español','de Inglés','de Francés','de Alemán','de Italiano','de Portugués','de Catalán'];
		options['idiomaHacia'] = ['hacia ...',' a Español',' a Inglés',' a Francés',' a Alemán',' a Italiano',' a portugués',' a Catalán'];
		
		this.creaFormInit(select,options);
    },
	creaFormInit: function(select,options){
		this.id_tipo = new Element('div',{ 'class': 'selection' }); //Creamos DIV contenedor de SELECTS
		select_tipo = new Element('select', {'class': 'long'}); //Creamos elemento SELECT
		for(var i=0; i<options.tipo.length; i++){
			this.tipo = new Element('option', { 'name': i, 'text':options.tipo[i] });
			this.tipo.setAttribute('value', options.tipo[i]);
			this.tipo.injectInside(select_tipo);
		}
		this.id_idioma = new Element('div',{ 'class': 'selection' }); //Creamos DIV contenedor de SELECTS
		select_idiomaDe = new Element('select');
		for(var i=0; i<options.idiomaDe.length; i++){
			this.idiomaDe = new Element('option', { 'name': i, 'text':options.idiomaDe[i] });
			this.idiomaDe.setAttribute('value', options.idiomaDe[i]);
			this.idiomaDe.injectInside(select_idiomaDe);
		}
		select_idiomaHacia = new Element('select');
		for(var i=0; i<options.idiomaHacia.length; i++){
			this.idiomaHacia = new Element('option', { 'name': i, 'text':options.idiomaHacia[i] });
			this.idiomaHacia.setAttribute('value', options.idiomaHacia[i]);
			this.idiomaHacia.injectInside(select_idiomaHacia);
		}
		//Añadimos por orden
		this.tipo_text = new Element('p', { 'html': 'Tipo de traducción:' }).injectInside(this.id_tipo); //Añadimos un parágrafo con el texto
		select_tipo.injectInside(this.id_tipo); //Insertamos el SELECT
		this.idioma_text = new Element('p', { 'html': 'Seleccione idiomas:' }).injectInside(this.id_idioma); //Añadimos un parágrafo con el texto
		select_idiomaDe.injectInside(this.id_idioma);
		select_idiomaHacia.injectInside(this.id_idioma);
		this.id_tipo.injectInside(select);
		this.id_idioma.injectInside(select);
		
		//Añadimos cantidad palabras y boton de enviar
		this.id_form = new Element('div',{ 'class': 'selection' }); //Creamos DIV contenedor de SELECTS
		this.palabras_text = new Element('p', { 'html': 'Nº palabras:' }).injectInside(this.id_tipo); //Añadimos un parágrafo con el texto
		this.presupuesto_form = new Element('form', {'id': 'traduccion', 'action': '', 'method': 'post'});
		words_input = new Element('input', {'id': 'words', 'type': 'text', 'name': 'words'});
		this.submit_input = new Element('input', {'id': 'submit', 'type': 'button', 'value': '>> Send', 'name': ''});
		this.palabras_text.injectInside(this.id_form);
		words_input.injectInside(this.presupuesto_form);
		this.submit_input.injectInside(this.presupuesto_form);
		this.presupuesto_form.injectInside(this.id_form);
		this.id_form.injectInside(select);
		//Al clickar comprobamos estado de seleccion
		this.submit_input.addEvent('click', function(event) {
			new Presupuesto(select_tipo,select_idiomaDe,select_idiomaHacia,words_input); //Creamos Formulario superior para seleccionar tipo de traducción e idiomas
			//alert(select_idiomaDe.get('value')); /* Mostramos el "idiomde de" Seleccionado */
		});
	}
});
//Clase que comprueba que los campos introducidos sean correctos
var Presupuesto = new Class({
	initialize: function(tipo,idiomaDe,idiomaHacia,words){ //Iniciamos
		//Internet Explorer no acepta get('value'), recoge valores VACIOS!!
		if(tipo.get('value')=='...'){
			tipo.setStyle( 'border', '1px solid #C70000' );
			tipo.setStyle( 'background-color', '#FFB6B6' );
			idiomaDe.setStyle( 'border', '' ); idiomaDe.setStyle( 'background-color', '' ); idiomaHacia.setStyle( 'border', '' ); idiomaHacia.setStyle( 'background-color', '' ); words.setStyle( 'border', '' ); words.setStyle( 'background-color', '' );
			tipo.focus();
		}else if(idiomaDe.get('value')=='de ...'){
			idiomaDe.setStyle( 'border', '1px solid #C70000' );
			idiomaDe.setStyle( 'background-color', '#FFB6B6' );
			tipo.setStyle( 'border', '' ); tipo.setStyle( 'background-color', '' ); idiomaHacia.setStyle( 'border', '' ); idiomaHacia.setStyle( 'background-color', '' ); words.setStyle( 'border', '' ); words.setStyle( 'background-color', '' );
			idiomaDe.focus();
		}else if(idiomaHacia.get('value')=='hacia ...'){
			idiomaHacia.setStyle( 'border', '1px solid #C70000' );
			idiomaHacia.setStyle( 'background-color', '#FFB6B6' );
			tipo.setStyle( 'border', '' ); tipo.setStyle( 'background-color', '' ); idiomaDe.setStyle( 'border', '' ); idiomaDe.setStyle( 'background-color', '' ); words.setStyle( 'border', '' ); words.setStyle( 'background-color', '' );
			idiomaHacia.focus();
		}else if(words.get('value')=='' || !words.get('value').match(/^(?!0)\d{1,6}$/)){
			//LA expresion regular solo admite de 1 a 999.999 palabras (no se admite el 0)
			words.setStyle( 'border', '1px solid #C70000' );
			words.setStyle( 'background-color', '#FFB6B6' );
			tipo.setStyle( 'border', '' ); tipo.setStyle( 'background-color', '' ); idiomaDe.setStyle( 'border', '' ); idiomaDe.setStyle( 'background-color', '' ); idiomaHacia.setStyle( 'border', '' ); idiomaHacia.setStyle( 'background-color', '' );
			words.focus();
		}else{ //Quitamos los cambios y ejecutamos el DIV de
			tipo.setStyle( 'border', '' );
			tipo.setStyle( 'background-color', '' );
			idiomaDe.setStyle( 'border', '' );
			idiomaDe.setStyle( 'background-color', '' );
			idiomaHacia.setStyle( 'border', '' );
			idiomaHacia.setStyle( 'background-color', '' );
			words.setStyle( 'border', '' );
			words.setStyle( 'background-color', '' );
			new Contactar(tipo,idiomaDe,idiomaHacia,words); //Creamos Formulario superior para seleccionar tipo de traducción e idiomas
		}
	}
});
