function CheckCompra(formname, task)
{
	if(task == 'checkout')	//tag de analytics para registrar solicitud de activación
	{
		id_product = document.getElementById('iPro_id').value;	//recuperamos el producto seleccionado
				
		for (i=0;i<document.forms[formname].iPay_type.length;i++) {
			if (document.forms[formname].iPay_type[i].checked) {
				id_paymentType = document.forms[formname].iPay_type[i].value;	//recuperamos el tipo de pago seleccionado
			}
		}
		_gaq.push(['_trackPageview', '/registro/solicitudActivacion/prod_'+id_product+'/pago_'+id_paymentType]);	//lo guardamos con tag de analytics
	}

	//RL 20110304 - deshabilitamos el botón de compra
	document.getElementById('savecompra').disabled = true;
	
	var contenedor;
	var str = '';
	var responsetext = '';
	var formToCheck = document.getElementById(formname);
	var elem = formToCheck.elements;
	var errormessage = CheckFields(formToCheck);
	document.getElementById('ajaxgif').style.display='block';
	for(var i = 0; i < elem.length; i++){
		if (elem[i].type != 'radio' || ((elem[i].type == 'radio')&&(elem[i].checked)))
		str += elem[i].name + "=";
		if (elem[i].name=='task') str += task + "&";
		else str += elem[i].value + "&";
	}
	str += "errormessage=" + errormessage;
	contenedor = document.getElementById('errorbox');
	
	ajax=nuevoAjax();
	ajax.open("POST", "https://www.abaenglish.com/index2.php?option=com_abacompra&task="+task,true);
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			responsetext = ajax.responseText;
			document.getElementById('ajaxgif').style.display='none';
			if (responsetext.indexOf('checkout_ABA_OK') != -1)
			{
				document.getElementById(formname).submit();
			}
			else{
				contenedor.style.display='block';
				contenedor.innerHTML = responsetext;
				//RL 20110304 - habilitamos nuevamente el botón de compra.
				document.getElementById('savecompra').disabled = false;
			}
		}
	}
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(str);
}

function CheckFields(form)
{
	var errormessage = new String();
	
	form.sCus_email.value = form.sCus_email.value.toLowerCase();
	form.sAux_email.value = form.sAux_email.value.toLowerCase();
	
	//1
	if(WithoutContent(form.sCus_name.value))
	{ errormessage += "1"; }
	else errormessage += "0";

	//2	
	if(WithoutContent(form.sCus_surnames.value))
	{ errormessage += "1"; }
	else errormessage += "0";
	
	//3,4
	if(WithoutContent(form.sCus_email.value))
	{ errormessage += "10"; }
	else {
		var expr=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
		if (!expr.test(form.sCus_email.value))//Validem l'email mitjan�ant una expresi� regular i la funcio test que comprova que es compleix l'expresi�
		{	
			errormessage +="01";
		}
		else errormessage += "00";
	}

	//5
	if(form.sCus_email.value!=form.sAux_email.value)
	{errormessage += "1";}
	else errormessage += "0";
	
	//6
	if(WithoutContent(form.sCus_country.value))
	{errormessage += "1";}
	else errormessage += "0";
	
	//7
	if(form.sAux_privacy.checked)
	{errormessage += "0";}
	else errormessage += "1";
	
	//8
	form.sCus_phone.value = form.sCus_phone.value.replace(/ /g,"");
	form.sCus_phone.value = form.sCus_phone.value.replace(/-/g,"");
	form.sCus_phone.value = form.sCus_phone.value.replace(/\./g,"");
	form.sCus_phone.value = form.sCus_phone.value.replace(/\(/g,"");
	form.sCus_phone.value = form.sCus_phone.value.replace(/\)/g,"");
	if(WithoutContent(form.sCus_phone.value)||form.sCus_phone.value.length < 8 || isNaN(form.sCus_phone.value))
	{ errormessage += "1"; }
	else errormessage += "0";
	
	
	switch (SelectionValue(form.iPay_type)){
		case "1":
			//9
			if(WithoutContent(form.sAux_CCholder.value))
			{ errormessage += '1'; }
			else errormessage += '0';
			
			//10
			if(WithoutSelectionValue(form.sAux_CCtype))
			{ errormessage += '1'; }
			else errormessage += '0';
			
			//11
			if(WithoutContent(form.sAux_CCnumber.value))
			{ errormessage += '1'; }
			else errormessage += '0';
			
			//12
			if(WithoutSelectionValue(form.sAux_CCmonth))
			{ errormessage += '1'; }
			else errormessage += '0';
			
			//13
			if(WithoutSelectionValue(form.sAux_CCyear))
			{ errormessage += '1'; }
			else errormessage += '0';
			var hoy=new Date();
			hoy.setUTCDate(1);
			var fechaCad = new Date();
			fechaCad.setUTCDate(1);
			fechaCad.setUTCFullYear(form.sAux_CCyear.value);
			fechaCad.setUTCMonth(form.sAux_CCmonth.value);
			//14
			if(fechaCad<hoy && !(WithoutSelectionValue(form.sAux_CCmonth)) && !(WithoutSelectionValue(form.sAux_CCyear) ))
				errormessage += '1';
			else errormessage += '0';
			
			//15,16,17
			if(WithoutContent(form.sAux_CCcvc.value))
			{ errormessage += '100'; }
			else{ 
				if(form.sAux_CCcvc.value.length<3){
						errormessage += '010';
				}
				else{
					 if(isNaN(form.sAux_CCcvc.value))
						{ errormessage += '001'; }
					 else{ errormessage += '000';}
				}
			}
			form.sAux_CCnumber.value = form.sAux_CCnumber.value.replace(/ /g,"");
			form.sAux_CCnumber.value = form.sAux_CCnumber.value.replace(/-/g,"");
			
			//18
			if ( !validateCreditCard (form.sAux_CCnumber.value))
		    {
				errormessage +='1';
		    }
		 	else errormessage += '0';
		break;
		default:
			errormessage += '0000000000';
		break;
		
	}
	errormessage += '00';
			
	return errormessage;
}

function validateCreditCard(s) {
	var v = "0123456789";
	var w = "";
	
	var suma = 0;
	
	for (var i=0; i < s.length; i++) {
	x = s.charAt(i);
	if (v.indexOf(x,0) != -1)
	{
	w += x;
	suma = suma + v.indexOf(x,0);
	}
	}
	if (suma == 0 ) return 0;
	var j = w.length / 2;
	if (j < 6.5 || j > 8 || j == 7) return false;
	var k = Math.floor(j);
	var m = Math.ceil(j) - k;
	var c = 0;
	for (var i=0; i<k; i++) {
	a = w.charAt(i*2+m) * 2;
	c += a > 9 ? Math.floor(a/10 + a%10) : a;
	}
	for (var i=0; i<k+m; i++) c += w.charAt(i*2+1-m) * 1;
	return (c%10 == 0);
}

function nuevoAjax(){
	var xmlhttp=false;
 	try {
 		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 	} catch (e) {
 		try {
 			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
 		} catch (E) {
 			xmlhttp = false;
 		}
  	}

	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
 		xmlhttp = new XMLHttpRequest();
	}
return xmlhttp; 
}

function WithoutContent(ss) {
	if(ss.length > 0) { return false; }
	return true;
}

function SelectionValue(ss) {
	for(var i = 0; i < ss.length; i++) {
		if(ss[i].checked) {
			return (ss[i].value);
		}
	}
	return false;
}

function WithoutSelectionValue(ss) {
	for(var i = 0; i < ss.length; i++) {
		if(ss[i].selected) {
			if(ss[i].value.length) { return false; }
			}
		}
	return true;
}

function promoCode(code, moneda){
	var url = 'https://www.abaenglish.com/index2.php?option=com_abacompra&task=promoCode&dPri_CP='+code;
	if(code != '')
	{
		document.getElementById("ajaxgif2").style.display = "inline";
		var myAjax = new Ajax(url,
						{
							method: 'get',
							update: $('precioPromo'),
							onComplete: function()
								{
									document.getElementById("ajaxgif2").style.display = "none";
									var pricePromo = document.getElementById("precioPromo").innerHTML+moneda;
									document.getElementById("emptyCode").style.display = "none";
									document.getElementById("validCode").style.display = "block";
									document.getElementById("codPromo").innerHTML = code;
									if( !isNaN( parseInt(pricePromo) ) )
									{
										document.getElementById("precioPromo").innerHTML += moneda;
										document.getElementById("precio_final").innerHTML = pricePromo;
										document.getElementById("priceTransfer").innerHTML = pricePromo;
										document.getElementById("priceTransfer2").innerHTML = pricePromo;
									}
								}
							
						}
					);
		myAjax.request();
	}
}
