var $mailRegExp	= /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

function checkSearch(){
    var $form   = document.getElementById('formSearch');
    var $field  = document.getElementById('buscar');
    
    if( $form && $field ){
        if( $field.value.length > 0 ){
            location.href= '/resultados-busqueda.php?buscar=' + $field.value;
        }
    }
}

function validate_alpha_sp(e){ // Letras y Espacios
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true; //Tecla de retroceso (para poder borrar)
    patron = /([a-zA-Z\s]+)/;
    te = String.fromCharCode(tecla);
    return patron.test(te); 
}
function validate_alphanum_sp_guion(e){ // Solo acepta números, letras y guiones
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true; //Tecla de retroceso (para poder borrar)
    patron = /([a-zA-Z0-9\s-]+)/;
    te = String.fromCharCode(tecla);
    return patron.test(te); 
}
function validate_num(e){ // Solo acepta números
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true; //Tecla de retroceso (para poder borrar)
    patron = /([0-9]+)/;
    te = String.fromCharCode(tecla);
    return patron.test(te); 
}
function validate_alphanum(e){ // Solo acepta números y letras
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true; //Tecla de retroceso (para poder borrar)
    patron = /([a-zA-Z0-9]+)/;
    te = String.fromCharCode(tecla);
    return patron.test(te); 
}

function validateFormNewslett(){
    var $filter  = $mailRegExp;
	var $frm    = document.getElementById("formNewsletter")
    var $errStr = '';
	
	if (!$frm.newsletter_name.value){
		$errStr += "-Nombre \n"
		}
	if (!$frm.newsletter_subject.value){
		$errStr += "-Subject \n"
		}
	if (!$frm.newsletter_mail_from.value){
		$errStr += "-Remitente \n"
		}
	if ($frm.newsletter_mail_from.value){
			if (!$filter.test($frm.newsletter_mail_from.value)){
				$errStr += "-Remitente Invalido \n"
				}
		}
	if (!$frm.newsletter_send_date.value){
		$errStr += "-Fecha de Envio \n"
		}	

	if ($errStr){
		alert("Por favor complete los siguientes campos y vuelva a intentarlo:\n\n" + $errStr);
		return false;
	}else{
		return true;
	}
	
	}
	
function validateTemp(){
	
	var $err 	= "";
	
	var $frm 	= document.getElementById("formNewsletter");
	
	var $opt    = $frm.tmp

	var $errRadio = false;

	for(var $i = 0; $i < $opt.length; $i++){
		if($opt[$i].checked == true)
			$errRadio = $opt[$i].checked;	
	}
	if( !$errRadio ){
		$err += "-Debe elegir una de las opciones";
        }
        
	if( $err ){

		alert("Por favor complete los siguientes campos y vuelva a intentarlo:\n\n" + $err);
		
		return;
		}else{
				$frm.submit();
			}	
}

function validateForm( $frmId , $array ){
    try{
        var $filter  =$mailRegExp;
        var $frm    = document.getElementById( $frmId )
        var $errStr = '';
        
        for( var $control in $array  ){
			
            var $elem   		= document.getElementById($control);
            var $flErr  		= false;
            
            switch ( $elem.type ){
                case 'text':
                    if( !$elem.value )
                        $flErr  = true;
                    break;
				
                case 'textarea':
                    if( !$elem.value )
                        $flErr  = true;
                    break;
                case 'checkbox':
                    if( !$elem.checked )
                        $flErr  = true;
                    break;
                case 'select':
                    if( !$elem.selectedIndex )
                        $fErr   = true;
                    break;
				   
            }
            
            if( $flErr ){
                $errStr += '- ' + $array[$control] + '\n';
            }
        }
        
        if( $errStr.length > 0 ){
            alert( 'Debe completar los siguientes campos para continuar:\n' + $errStr );
        }else{
            $frm.submit();
        }
        
    }catch( err ){
        alert('Ha ocurrido un error en el armado de la pagina, intente cargarla nuevalente' + err);
    }
}

function addProdToCart( $usr_id, $box_id ){
	
	$qty	= document.getElementById('carrito_input'+$box_id).value;
	
	lightAddProdOn( $box_id, $qty );
	
	boxLoadAction(
				'carrito_header_txt',
				'boxClass',
				'ajax/addItem.php',
				'userID='+$usr_id+'&prodID='+$box_id+'&prodQty='+$qty+'&rand='+Math.random()
			);
	
    return true;
}

function addQty( $input ){
    $input  = document.getElementById( $input );
    if( $input.value < 999 ){
        return $input.value++;
    }else{
        return false;
    }
}

function removeQty( $input ){
    $input  = document.getElementById( $input );
    if( $input.value > 1 ){
        return $input.value--;
    }else{
        return false;
    }
}

function showHide( id ){
    var $obj	= document.getElementById(id);
    
    if( $obj ){
        ($obj.style.display == 'block' ) ?
            $obj.style.display	= 'none' :
            $obj.style.display  = 'block';
            return;
    }
    
    return false;
}

function showHideAll(){
    for( $i = 1 ; $i <= 16 ; $i++ ){
        var $obj	= document.getElementById('pregunta-'+$i);
        
        if( $obj ){
            ($obj.style.display == 'block' ) ?
                $obj.style.display	= 'none' :
                $obj.style.display  = 'block';
        }
    }
    
    return false;
}

function validateRegistration( form ){
    var $msg    = '';
    var filter  =$mailRegExp;
    if ( form.usr_firstname.value.length == 0 ){
        $msg += ' * Nombre.\n';
    }
    if ( form.usr_lastname.value.length == 0 ){
        $msg += ' * Apellido.\n';
    }
    if ( form.usr_dni.value.length == 0 || form.usr_dni.value.length < 7 ){
        $msg += ' * DNI.\n';
    }
    
    if ( form.usr_birthday_day.value < 1 || form.usr_birthday_day.value > 31 ){
        $msg += ' * La fecha de nacimiento no es valida.\n';
    }else if ( form.usr_birthday_month.value < 1 || form.usr_birthday_month.value >12 ){
        $msg += ' * La fecha de nacimiento no es valida.\n';
    }else if ( form.usr_birthday_year.value < 1000 || form.usr_birthday_year.value > 3000 ){
        $msg += ' * La fecha de nacimiento no es valida.\n';
    }
    
    if ( form.usr_email3.value.length == 0 ){
        $msg += ' * e-mail.\n';
    }
    if ( !filter.test(form.usr_email3.value) ){
        $msg += ' * La direccion de correo no es valida.\n';
    }
    if ( form.usr_mail2.value.length == 0 ){
        $msg += ' * Confirmacion de e-mail.\n';
    }
    if ( form.usr_email3.value.length != form.usr_mail2.value.length ){
        $msg += ' * Los e-mails no coinciden.\n';
    }
    if ( form.usr_password.value.length == 0 || form.usr_password.value.length < 6 || form.usr_password.value.length >10 ){
        $msg += ' * Clave.\n';
    }
    if ( form.usr_password2.value.length == 0 ){
        $msg += ' * Confirmacion de clave.\n';
    }
    if ( form.usr_password.value != form.usr_password2.value ){
        $msg += ' * Las claves no coinciden.\n';
    }
    if ( form.terms.checked == false ){
        $msg += ' * Debe aceptar los terminos y condiciones.\n';
    }
    
    if ( $msg != '' ){
        alert('Los siguientes campos estan vacios o son incorrectos:\n'+$msg);
        return false;
    }else{
        return true;
    }
}

function validateMyAccount( form ){
    var filter  =$mailRegExp;
    var $msg    = '';
    if ( form.usr_firstname.value.length == 0 ){
        $msg += ' * Nombre.\n';
    }
    if ( form.usr_lastname.value.length == 0 ){
        $msg += ' * Apellido.\n';
    }
    if ( form.usr_dni.value.length == 0 || form.usr_dni.value.length < 7 ){
        $msg += ' * DNI.\n';
    }
    if ( form.usr_birthday_day.value < 1 || form.usr_birthday_day.value > 31 ){
        $msg += ' * La fecha de nacimiento no es valida.\n';
    }else if ( form.usr_birthday_month.value < 1 || form.usr_birthday_month.value >12 ){
        $msg += ' * La fecha de nacimiento no es valida.\n';
    }else if ( form.usr_birthday_year.value < 1000 || form.usr_birthday_year.value > 3000 ){
        $msg += ' * La fecha de nacimiento no es valida.\n';
    }
    
    if ( form.usr_password.value.length == 0 || form.usr_password.value.length < 6 || form.usr_password.value.length >10 ){
        $msg += ' * Clave.\n';
    }
    if ( form.usr_password2.value.length == 0 ){
        $msg += ' * Confirmacion de clave.\n';
    }
    if ( form.usr_password.value != form.usr_password2.value ){
        $msg += ' * Las claves no coinciden.\n';
    }
    if ( form.terms.checked == false ){
        $msg += ' * Debe aceptar los terminos y condiciones.\n';
    }
    
    if ( $msg != '' ){
        alert('Los siguientes campos estan vacios o son incorrectos:\n'+$msg);
        return false;
    }else{
        return true;
    }
}

function validateVoucher( form ){
    var filter  =$mailRegExp;
    var $msg    = '';
    if ( form.code1.value.length == 0 ){
        $msg += ' * La primera componente del codigo no puede estar vacia.\n';
    }
    if ( form.code2.value.length < 1 ){
        $msg += ' * La segunda componente del codigo es obligatoria.\n';
    }
    
    if (form.code2.value.length != 0 && !form.code2.value.match('[0-9]+') ){
        $msg += ' * La segunda componente del codigo debe ser numerica.\n';
    }
    
    if ( form.code3.value.length < 9 || form.code3.value.length > 10  ){
        $msg += ' * El codigo de seguridad debe estar compuesto por 9 o 10 caracteres.\n';
    }
    
    if ( $msg != '' ){
        alert('Los siguientes campos estan vacios o son incorrectos:\n'+$msg);
        return false;
    }
    return true;
}




function isArray(obj) {
   if (obj.toString().indexOf("Array") == -1)
      return false;
   else
      return true;
}

function confirmReserveService()
{
    var $flag   = false;
	
	if( document.reservaServicios.service_id.type != "hidden" )
	{
		if( document.reservaServicios.service_id.length )
		{
			for( $i = 0 ; $i < document.reservaServicios.service_id.length ; $i++ )
			{
				if( document.reservaServicios.service_id[$i].checked )
				{
					$flag = true;
					break;
				}
			}
		}
		else
		{
			if( document.reservaServicios.service_id.checked )
			{
				$flag = true;
			}
		}
	}
	else
	{
		if( document.reservaServicios.service_id.value )
			$flag = true;
	}
    
    if($flag)
    {
        document.reservaServicios.action = "reservacion-servicio-confirm.php";
        document.reservaServicios.submit();
    }
    else
    {
        alert('Para continuar con el proceso de reserva debe seleccionar un servicio');
    }
    return;
}

function cancelReserve( form ){
    if( confirm('Esta seguro que desea cancelar el proceso de reserva?\nTodos los detalles ingresados hasta el momento seran borrados y debera comenzar el proceso desde el principio') )
    {
        form.action="reservacion-cancelar.php?usr=1";
        form.submit();
    }
    return;
}

function validateReserveFechas()
{
    var $form   = document.getElementById('formFechas')
    
    if( $form )
    {
        var $date1  = document.getElementById('input1')
        
        if( $date1 )
            if( $date1.value )
                return $form.submit();
    }
    
    alert( 'La fecha deseada es obligatoria, debe cargarla para continuar con el proceso de reserva' );
    return false;
}

function replicateDeliveryFields()
{
	var $fields	= new Array(	'cart_dlvy_street',
								'cart_dlvy_street_number',
								'cart_dlvy_floor',
								'cart_dlvy_apart',
								'cart_dlvy_building',
								'cart_dlvy_state',
								'cart_dlvy_county',
								'cart_dlvy_zip' );
	
	for( var $i = 0 ; $i < $fields.length ; $i++ )
	{
		var $elem	= document.getElementById( $fields[$i].replace('dlvy','bill') );
		
		if( $elem )
		{
			$elem.value	= document.getElementById($fields[$i]).value;
		}
	}
	
	var $country		= document.getElementById('cart_dlvy_country');
	var $countryBill	= document.getElementById('cart_bill_country');
	
	$countryBill.selectedIndex	= $country.selectedIndex;
	
	return;
}
		
function cleanDeliveryFields()
{
	var $fields	= new Array(	'cart_dlvy_street',
								'cart_dlvy_street_number',
								'cart_dlvy_floor',
								'cart_dlvy_apart',
								'cart_dlvy_building',
								'cart_dlvy_state',
								'cart_dlvy_county',
								'cart_dlvy_zip' );
	
	for( var $i = 0 ; $i < $fields.length ; $i++ )
	{
		var $elem	= document.getElementById( $fields[$i].replace('dlvy','bill') );
		
		if( $elem )
		{
			$elem.value	= '';
		}
	}
	
	var $country		= document.getElementById('cart_dlvy_country');
	var $countryBill	= document.getElementById('cart_bill_country');
	
	$countryBill.selectedIndex	= 0;
	
	return;
}

function lockProvincia( $countryId, $stateId )
{
	var $country	= document.getElementById($countryId);
	var $state		= document.getElementById($stateId);
	
	if( $country && $state )
	{
		if( $country.options[$country.selectedIndex].value != 14 )
		{
			$state.value = 'Otra';
		}
		else
		{
			$state.selectedIndex = 0;
		}
	}
}

function checkPaso2()
{
    var $form   = document.getElementById('formPaso2');
    
    if( $form )
    {
        var $payment    = document.getElementById('pay_method_id');
        
        if( $payment && $payment.options[$payment.selectedIndex].value )
        {
            $form.submit();
            return true;
        }
    }
    alert('Debe seleccionar un medio de pago para continuar');
    return false;
}

function checkPaso3()
{
	var $err 		= "";
	
    var $form   	= document.getElementById('formPaso3');
	var $deliveryId	=  $form.delivery_id;
	
	var $flagDeliverySelected = false;
	var $idDelivery			  = 0;
	
	if( $deliveryId.length )
	{
		for(var $i = 0; $i < $deliveryId.length; $i++)
		{
			if($deliveryId[$i].checked )
			{
				$idDelivery				= $deliveryId[$i].value;
				$flagDeliverySelected 	= true;	
			}
		}
	}
	else
	{
		$flagDeliverySelected = $deliveryId.checked ? true : false;
	}
	
	if( $flagDeliverySelected == false )
	{
		$err += '* Debe seleccionar un tipo de entrega\n\n';
	}
	
	var $deliveryExpress	= document.getElementById("delivery_express");
	
	if( $deliveryExpress )
	{
		var $deliveryExpressHour			= document.getElementById('delivery_express_range');
		var $deliveryExpressHourSelector	= document.getElementById('delivery_express_range_selector');

		if( $deliveryExpressHour && $deliveryExpressHourSelector && !$deliveryExpressHour.value )
			$deliveryExpressHour.value = $deliveryExpressHourSelector.value;
	}
    
	try
	{
		if( !document.getElementById('cart_dlvy_name').value )
			$err += '* Nombre del beneficiario\n';
		if( !document.getElementById('cart_dlvy_street').value )
			$err += '* Calle de la direccion de entrega\n';
		if( !document.getElementById('cart_dlvy_street_number').value )
			$err += '* Numero de puerta de la direccion de entrega\n';
		if( !document.getElementById('cart_dlvy_county').value )
			$err += '* Localidad de la direccion de entrega\n';
		if( !document.getElementById('cart_dlvy_zip').value )
			$err += '* Codigo postal de la direccion de entrega\n';
		
		var $dlvyCountry	= document.getElementById('cart_dlvy_country');	
		if( !$dlvyCountry.options[$dlvyCountry.selectedIndex].value )
			$err += '* Pais de la direccion de entrega\n';
			
		var $dlvyState	= document.getElementById('cart_dlvy_state');	
		if( !$dlvyState.options[$dlvyState.selectedIndex].value )
			$err += '* Provincia de la direccion de entrega\n';
			
        
		var $dlvyBill			= true;
		var $dlvyBillControls	= document.getElementsByName('cart_dlvy_bill');
        for( $i = 0 ; $i < $dlvyBillControls.length ; $i++ )
		{
			if( $dlvyBillControls[$i].checked && $dlvyBillControls[$i].value == 0)
			{
				$dlvyBill	= false;
			}
		}
		
		if( !$dlvyBill )
        {
			var $billStreet = document.getElementById('cart_bill_street');
			
            if( $billStreet.value == 0 )
                $err += '* Calle de la direccion de facturacion\n';
                
            if( !document.getElementById('cart_bill_street_number').value )
                $err += '* Numero de puerta de la direccion de facturacion\n';
            if( !document.getElementById('cart_bill_county').value )
                $err += '* Localidad de la direccion de facturacion\n';
            if( !document.getElementById('cart_bill_zip').value )
                $err += '* Codigo postal de la direccion de facturacion\n';
                
            var $billCountry	= document.getElementById('cart_bill_country');	
            if( !$billCountry.options[$billCountry.selectedIndex].value )
                $err += '* Pais de la direccion de facturacion\n';
                
            var $billState	= document.getElementById('cart_bill_state');	
            if( !$billState.options[$billState.selectedIndex].value )
                $err += '* Provincia de la direccion de facturacion\n';
        }
		
		
		
		var $consFinal	= true;
		var $consFinalCheck	= document.getElementsByName("cart_bill_consfinal");

		for( $i = 0 ; $i < $consFinalCheck.length ; $i++ )
		{
			if( $consFinalCheck[$i].checked && $consFinalCheck[$i].value == 0)
			{
				$consFinal	= false;
			}
		}
		
		if( !$consFinal )
		{
			var $razonSoc	= document.getElementById('cart_bill_razonsoc');
			
			if( !$razonSoc.value )
				$err += '* Razon Social\n';
			
			if( !document.getElementById('cart_bill_nomfant').value )
				$err += '* Nombre de fantasia\n';
				
			if( !document.getElementById('cart_bill_address_ent').value )
				$err += '* Domicilio Fiscal\n';
				
			if( !document.getElementById('cart_bill_phone').value )
				$err += '* Telefono\n';
			
			if( !document.getElementById('cart_bill_iva').value )
				$err += '* Situacion frente al IVA\n';
				
			if(	!document.getElementById('cart_cuit_1').value ||
				!document.getElementById('cart_cuit_2').value ||
				!document.getElementById('cart_cuit_3').value )
				$err += '* CUIT\n';
			
		}
		
		//showHideExpressDlvy( $idDelivery );
		validateDlvyType( $idDelivery );
			
		if( !$err )
		{
			$form.submit();
			return true;
		}
		else
		{
			alert(	'Debe completar los siguientes campos para continuar:\n\n'+$err);
			return false;
		}
		
	}
	catch( $e )
	{
		return false;
	}
}

function limitTextarea( $fieldId, $Lrows, $Lcols ) {
	var $field	= document.getElementById($fieldId);
	var $value	= $field.value;
	var $rows	= $field.value.split('\n');
	
	if( $rows.length <= $Lrows ){
		for( $i = 0 ; $i <= $rows.length ; $i++ ){
			if( !($rows[$i].length <= $Lcols) ){
				$rows[$i]	= $rows[$i].substr(0,$rows[$i].length - 1 );
			}
		}
	}else{
		var $outBuffer;
		for( $i = 0; $i < $Lrows ; $i++ ){
			if( $i == $Lrows - 1 )
				$outBuffer += $rows[$i];
			else
				$outBuffer += $rows[$i] + '\n';
		}
		$field.value	= $outBuffer;
	}
}

function fnLimitText( limitField, limit ) {
	var limitField	= document.getElementById(limitField);
	
	if (limitField.value.length > limit) {
		limitField.value = limitField.value.substring(0, limit);
	}
	
}

function backToCart() {
	return window.location="/compra-Reset.php";
}
