/*
* Configuracion de los paquetes extras predefinidos
* predeterminados_X, X: Id del paquete = array( id's de los predefinidos )
*
*/
var suma = 0;
var precio_0 = 0;
var precio_z = 0;
var predeterminados_z = new Array();
var predeterminados_0 = new Array();
var predeterminados_1 = new Array();
var predeterminados_2 = new Array("12");
var predeterminados_3 = new Array("12","6");
var predeterminados_4 = new Array("12","8","13","14", "6");
var predeterminados_5 = new Array("12","8","13","14","9","7","11", "6");
var paquetes_extras = new Array("6","8","9");
/*
************
************
************
*/
function validaForm(form)
{
	var requeridos = new Array("nombre", "apellido", "direccion", "ciudad", "zip", "estado", "pais", "mail", "nos_conocio", "nombre_logo", "descripcion_negocio");
	var descriptivos = new Array("FIRST NAME", "LAST NAME", "ADDRESS", "CITY", "ZIP/POSTAL CODE", "STATE", "COUNTRY", "E-MAIL", "WHERE DID YOU HEAR ABOUT US?", "NAME TO BE USED IN YOUR LOGO", "FIELD OF BUSINESS");
	var c;
	if(form.pack.value == "z")
	{
		alert("You must select a pack from the list.");
		form.pack.focus();
		return false;
	}
	for(c = 0; c < requeridos.length; c++)
	{
		if(eval("form." + requeridos[c] + ".value") == "" || eval("form." + requeridos[c] + ".value") == "Please select")
		{
			alert("Field '" + descriptivos[c] + "' cannot be Empty.");
			eval("resaltaCampos(form, requeridos, form." + requeridos[c] + ")");
			return false;
		}
	}
	if(! validar_mail(form.mail.value))
	{
		alert("Field 'EMAIL' looks misspelled.");
		resaltaCampos(form, requeridos, form.mail);
		return false;
	}
	var cantExtras = countExtras();
	if(form.pack.value == 0 && cantExtras < 1)
	{
		alert("If you select the option \"Additional services only\" you must select at least one of this options.\nStationery Design\nBrochure Design\nAnimated Logo Design");
		reestablecer(form, requeridos);
		return false;
	}
		
    if (! form.terminos.checked )
	{
		alert("You must AGREE the Terms and Conditions before Submit this form.");
		reestablecer(form, requeridos);
		form.terminos.focus();
		return false;
	}
	
	return true;
}

/*
* Resalta campos
*
*/
function resaltaCampos(form, cuales, cual)
{
	var c;
	reestablecer(form, cuales);
	cual.style.border = "1px solid #CC0000";
	cual.focus();
}

function reestablecer(form, cuales)
{
	for(c=0; c<cuales.length; c++)
	{
		eval("form." + cuales[c] + ".style.border = '1px solid #999899'");
	}
}

/*
* Valida mail
*
*/
function validar_mail(valor) 
{
  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor))
  { 
	return true;
  }else{
	return false;
  }
}
/**
* Abre pop comun
*
*/
function abrir(direccion, pantallacompleta, herramientas, direcciones, estado, barramenu, barrascroll, cambiatamano, ancho, alto, izquierda, arriba, sustituir){
     var opciones = "fullscreen=" + pantallacompleta +
                 ",toolbar=" + herramientas +
                 ",location=" + direcciones +
                 ",status=" + estado +
                 ",menubar=" + barramenu +
                 ",scrollbars=" + barrascroll +
                 ",resizable=" + cambiatamano +
                 ",width=" + ancho +
                 ",height=" + alto +
                 ",left=" + izquierda +
                 ",top=" + arriba;
     var ventana = window.open(direccion,"venta",opciones,sustituir);

}

/**
* Cambiamos de paquete desde el combo. 
* Marcamos los productos extras predeterminados del paquete elegido
*/
function cambiaPaquete(paquete)
{
	marcaPredeterminados(paquete);
	suma = eval("precio_" + paquete);
	document.getElementById("total").value = suma;
}

/**
* Cada vez que se agrega o se quita un extra
* sumamos o restamos segun corresponda y lo mostramos.
*/
function cambiaExtra(item, importe)
{
	if(item.checked == true)
	{
		suma = suma + importe;
	}else{
		suma = suma - importe;
	}
	document.getElementById("total").value = suma;
}
/**
* Contamos la cantidad de extras marcados
*
*/
function countExtras()
{
	var extras = document.getElementsByName("extras[]");
	var cant = 0;
	for(c=0; c < extras.length; c++)
	{
		if(extras[c].checked == true && in_array(extras[c].value, paquetes_extras))
		{
			cant++;
		}
	}
	return cant;
}
/**
* Marcamos los productos extras predeterminados de un paquete
* 
*/
function marcaPredeterminados(paquete)
{
	var extras = document.getElementsByName("extras[]");
	var predeterminados = eval("predeterminados_" + paquete);
	for(c=0; c < extras.length; c++)
	{
		extras[c].checked = false;
		extras[c].disabled = false;
		if(in_array(extras[c].value, predeterminados))
		{
			extras[c].checked = true;
			extras[c].disabled = true;
		}
	}
}
/**
* Encendemos / apagamos los popups
* 
*/
function toggleBlocks(pid)
{
	var demo1effect = $(pid).effect('opacity');
	if(document.getElementById(pid).style.visibility == 'hidden' || document.getElementById(pid).style.visibility == '')
	{
		demo1effect.custom(0,1);
	}else{
		demo1effect.custom(1,0);
	}
}

/**
* Busca elemento en un array
* 
*/
function in_array(valor, vector)
{
	var d;
	for(d=0; d < vector.length; d++)
	{
		if( vector[d] == valor)
		{
			return true;
		}
	}
	return false;
}