var undef = /^\undefined$/;
var dig = /^\d+$/;
var lastZipSearch = [];
lastZipSearch = '';

var lang = new Array();
lang['cep_only_numbers'] = 'Utilize apenas n&uacute;meros, para informar o Cep.';
lang['cep_not_found'] = 'Cep n&atilde;o localizado, informe os campos Estado, Cidade, Bairro e Logradouro.';


function fPostAjax(tForm, target, event)
{
        var myAjax = new Ajax.Request( target, { method: 'post', parameters: Form.serialize(tForm), onComplete: showResponse });
        if (event.preventDefault) event.preventDefault(); else event.returnValue = false;
}

function ajaxSubmit(tForm, event)
{
        if (event.preventDefault) event.preventDefault(); else event.returnValue = false;

	tForm.send({
		onComplete: ajaxSubmitResponse 
	});
}

function ajaxSubmitResponse(request)
{
	myTabs.refresh();
}

function idPostAjax(id, target, event)
{
	var pars = id.name + '=' + id.value; 
        var myAjax = new Ajax.Request( target, { method: 'post', parameters: pars, onComplete: showResponse });

	try {
                load();
        }
        catch(e) { }

}

function simplePostAjax(pars, target, event)
{
        var myAjax = new Ajax.Request( target, { method: 'post', parameters: pars, onComplete: showResponse });

	try {
                load();
        }
        catch(e) { }
}

function showResponse(originalRequest)
{
	if(originalRequest.responseText.indexOf('<body>')>0)
		document.getElementById('col-two').innerHTML = originalRequest.responseText.substring(originalRequest.responseText.indexOf('<!-- * MARK XML HTTP REQUEST - START * -->'), originalRequest.responseText.indexOf('<!-- * MARK XML HTTP REQUEST - END * -->'));
	else
		document.getElementById('col-two').innerHTML = originalRequest.responseText;

	try {
        	load();
	}
	catch(e) { }
}

function showTip(msg, near)
{
        Tip(msg, FIX, getCoordinate(near), ABOVE, false, WIDTH, 160, TEXTALIGN, 'justify', FADEIN, 600, FADEOUT, 600, PADDING, 8, DURATION, 4000);
}


function searchZip()
{
        if($('country').value=='BR')
        {
                if(($F('cep').length>0) && (!dig.test($F('cep'))))
                {
                        setAddressFields('', '', '', '', false);
                        showTip(lang['cep_only_numbers'], 'cep');
                }
                else
                {
                        if($F('cep').length==8 && (lastZipSearch!=$('cep').value || $('city').value==''))
                        {
                                var myAjax = new Ajax.Request( 'zip_search.do' , { method: 'post', parameters: 'zip=' + $F('cep'), onComplete: showResponseZip });
                        }
                        else
                        {
                                if($F('cep').length!=8)
                                        setAddressFields('', '', '', '', false);
                        }
                }
        }
}

function showResponseZip(originalRequest)
{
        lastZipSearch = $('cep').value;

        if(originalRequest.responseText.length>0)
        {
                var adr = originalRequest.responseText.split(";");
                setAddressFields(adr[3], adr[2], adr[1], adr[0], true);
        }
        else
        {
                setAddressFields('', '', '', '', false);
                showTip(lang['cep_not_found'], 'cep')
        }
}


function setAddressFields(address, neighborhood, city, state, readFields)
{
        $('address').value =  address;
        $('neighborhood').value = neighborhood;
        $('city').value = city;
	$('istate').value = state;
	$('sstate').value = state;

        $('address').readOnly =  readFields;
        $('neighborhood').readOnly =  readFields;
        $('city').readOnly =  readFields;
        $('istate').readOnly =  readFields;
        $('sstate').readOnly =  readFields;
}

function updateZip()
{
	setAddressFields('', '', '', '', false);

	$('cep').value = '';
        $('cep').readOnly =  false;

	$('dv_input_state').style.display = $('country').value=='BR' ? 'none': 'block';
	$('dv_select_state').style.display = $('country').value!='BR' ? 'none': 'block';
	$('cep').maxLength = $('country').value=='BR' ? 8 : 12;

	if($('country').value=='BR')
	{
		$('dv_input_state').style.display = 'none';
	        $('dv_select_state').style.display = 'block';
        	$('cep').maxLength = 8;
		$('dv_doc_federal').style.display = 'block';
		$('dv_doc_state').style.display = 'block';
		if($('ptype').value=='PJ')
			$('dv_doc_municipal').style.display = 'block';
	}
	else
	{
		$('dv_input_state').style.display = 'block';
                $('dv_select_state').style.display = 'none';
                $('cep').maxLength = 12;
                $('dv_doc_federal').style.display = 'none';
                $('dv_doc_state').style.display = 'none';
                $('dv_doc_municipal').style.display = 'none';
	}
}

function pTypeModify()
{
	if($('country').value!='BR')
	{                
		$('dv_doc_federal').style.display = 'none';
		$('dv_doc_state').style.display = 'none';
		$('dv_doc_municipal').style.display = 'none';
	}

	if($('ptype').value=='PF')
	{
		$('lname').innerHTML = 'Nome *';
		$('ldocFederal').innerHTML = 'CPF *';	
		$('ldocState').innerHTML = 'RG';
		$('lpnumberWork').innerHTML = 'Telefone Comercial';

		if($('country').value=='BR')
	        {
			$('dv_doc_federal').style.display = 'block';
	                $('dv_doc_state').style.display = 'block';
			$('dv_doc_municipal').style.display = 'none';
		}

		$('dv_gender').style.display = 'block';
		$('dv_birth_date').style.display = 'block';

		$('dv_pnumber_home').style.display = 'block';
		$('dv_pnumber_mobile').style.display = 'block';
	}
	else
	{
                $('lname').innerHTML = 'Raz&atilde;o Social *';
                $('ldocFederal').innerHTML = 'CNPJ *';   
                $('ldocState').innerHTML = 'Inscri&ccedil;&atilde;o Estadual *';
                $('lpnumberWork').innerHTML = 'Telefone de Contato *';

		if($('country').value=='BR')
                {
                        $('dv_doc_federal').style.display = 'block';
                        $('dv_doc_state').style.display = 'block';
                        $('dv_doc_municipal').style.display = 'block';
                }

                $('dv_gender').style.display = 'none';
                $('dv_birth_date').style.display = 'none';

                $('dv_pnumber_home').style.display = 'none';
                $('dv_pnumber_mobile').style.display = 'none';
        }
}

