
/* var params = {
	formName: 'form1',
	httpSend: 'form_mail.php',
	typeForm: 'srl',
	fieldTotal: 'divTotal'};*/

// chekeos generales
if(!document.forms[params.formName]) window.alert('formName invalido: '+params.formName);
if(!document.getElementById(params.fieldTotal)) window.alert('fieldTotal invalido: '+params.fieldTotal);

//var ajax
var miAjax = new hAjax(params.httpSend);

//regexp de los inputs
var rx1 = /^chk_([\sa-z_A-Z\d]{1,})$/ // el checkbox
var rx2 = /^opt_([\sa-z_A-Z\d]{1,})$/ // el option
var rx3 = /^slc_([\sa-z_A-Z\d]{1,})$/ // el select multiple
var rx4 = /^frm_([\sa-z_A-Z\d]{1,})$/ // los datos de formulario

/* actualiza el div que contiene el precio final */
function updateTotal()
{
	var acumTotal = 0;
	
	// recorremos los elementos del formulario buscando los que nos interesan
	for(var i = 0; i < document.forms[params.formName].length; i++)
	{
		
		var input = document.forms[params.formName][i];
		
		if(rx1.test(input.name))
		{
			//window.alert('es un check');
			if(input.checked) acumTotal += parseFloat(input.value);
		}
		
		if(rx2.test(input.name))
		{
			if(input.checked) acumTotal += parseFloat(input.value);
		}
			
		if(rx3.test(input.name))
		{
			//window.alert('es un select');
			//tomamos el valor del option seleccinado
			var elValue = input[input.selectedIndex].value;
			
			//lo separamos por punto y coma para tomar el valor correspondiente
			var nDatos = elValue.split(";");
			
			if(nDatos[1]){
				acumTotal += parseFloat(nDatos[1]);
			}
		}
	}
	
	//tenemos el total, lo mostramos en el div
	document.getElementById(params.fieldTotal).innerHTML = acumTotal;
	document.getElementById(params.fieldAmount).value = acumTotal;
}

/* envia por ajax los datos al mailer */
function sendForm()
{
	if(!miAjax.isWorking)
	{
		//preparamos los datos
		miAjax.setVar('formType',params.typeForm);
		updateTotal();
		miAjax.setVar('Total',document.getElementById(params.fieldTotal).innerHTML);
		
		for(var i = 0; i < document.forms[params.formName].length; i++)
		{
			
			var arr;
			var input = document.forms[params.formName][i];
			
			if(arr = rx1.exec(input.name)) //un checkbox
			{
				miAjax.setVar(arr[1],'si');
			}
			
			if(arr = rx2.exec(input.id))
			{
				if(input.checked) miAjax.setVar(arr[1],'si');
			}
				
			if(arr = rx3.exec(input.name))
			{
				//window.alert('es un select');
				//tomamos el valor del option seleccinado
				var elValue = input[input.selectedIndex].value;
				
				//lo separamos por punto y coma para tomar el valor correspondiente
				var nDatos = elValue.split(";");
				
				if(nDatos[0]){
					miAjax.setVar(arr[1],nDatos[0]);
				}
			}
			
			if(arr = rx4.exec(input.name)) //un checkbox
			{
				miAjax.setVar(arr[1],input.value);
			}
		}
			
		miAjax.sendData(hSend);
	}else{
		window.alert('Por favor espere');
	}
}

/* si se pudo enviar el email sin problemas, esta funcion 
hara el submit del formulario para paypal */
function hSend()
{
	if (miAjax.http.readyState == 4)
  	{
		if (miAjax.http.responseText.indexOf('invalid') == -1) 
		{
			var data = miAjax.http.responseText.split("|");
		
			if(data[0] == 'err'){
				window.alert('Error: '+unescape(data[1]));	
			}else{ //enviamos el form
				if(document.forms[params.formName].frm_Numero_de_Cuenta && document.forms[params.formName].frm_Numero_de_Cuenta.value != '')
				{
					location.href = params.urlNoPayPal;
				}else{
					document.forms[params.formName].submit();
				}
			}

			miAjax.isWorking = false;
    	}
  	}			
}


//setea los opts, los ckhs y los slc con el valor directo para ser impreso
function printForm()
{
	for(var i = 0; i < document.forms[params.formName].length; i++)
	{	
		var arr;
		var input = document.forms[params.formName][i];
			
		if(arr = rx2.exec(input.id))
		{
			input.value = input.id
		}
				
		if(arr = rx3.exec(input.name))
		{
			//tomamos el valor del option seleccinado
			var elValue = input[input.selectedIndex].value;
				
			//lo separamos por punto y coma para tomar el valor correspondiente
			var nDatos = elValue.split(";");
			
			input[input.selectedIndex].value = nDatos[0];
		}
	}
	
	//cambios el action
	document.forms[params.formName].action = 'form_print.php?template='+params.templatePrint;
	document.forms[params.formName].target = '_blank';
	document.forms[params.formName].submit();
}