/**
 * Escrito por DGmike
 * http://dgmike.com.br/cidades-estados-js
 */

/* Dom Ready */

window.onload = function() {
        new dgCidadesEstados(
            document.getElementById('estado'),
            document.getElementById('cidade'),
            true
        );
    }



window.onDomReady = function dgDomReady(fn){
	if(document.addEventListener)	//W3C
		document.addEventListener("DOMContentLoaded", fn, false);
	else //IE
		document.onreadystatechange = function(){dgReadyState(fn);}
}

function dgReadyState(fn){ //dom is ready for interaction (IE)
	if(document.readyState == "interactive") fn();
}

/* Objeto */
dgCidadesEstados = function(cidade,estado,init) {
  this.set(cidade,estado);
  if (init) this.start();
}

dgCidadesEstados.prototype = {
  estado: document.createElement('select'),
  cidade: document.createElement('select'),
  set: function(estado, cidade) {
    this.estado=estado;
    this.estado.dgCidadesEstados=this
    this.cidade=cidade;
    this.estado.onchange=function(){this.dgCidadesEstados.run()};
  },
  run: function () {
    var sel = this.estado.options.selectedIndex;
    var itens = this.cidades[sel];
    var itens_total = itens.length;
    var opts = this.cidade;
    while (opts.childNodes.length)
      opts.removeChild(opts.firstChild);
    this.addOption(opts, '', 'Selecione uma cidade');
    for (var i=0;i<itens_total;i++)
      this.addOption(opts, itens[i], itens[i]);
  },
  start: function () {
    var estado = this.estado
    while (estado.childNodes.length)
      estado.removeChild(estado.firstChild);
    for (var i=0;i<this.estados.length;i++)
      this.addOption(estado, this.estados[i][0], this.estados[i][1]);
  },
  addOption: function (elm, val, text) {
    var opt = document.createElement('option');
    opt.appendChild(document.createTextNode(text));
    opt.value = val;
    elm.appendChild(opt);
  },
  estados : [
    ['','Selecione um estado'],
	['SP','São Paulo'],
	['RJ','Rio de Janeiro'],
	['MG','Minas Gerais'],
	['PR','Paraná'],
	['DE','Demais Estados'],
  ],
  cidades : [[
    ], 
	
	
	['Araras','Araraquara','Atibaia','Bauru','Bragança Paulista','Campinas I','Campinas II','Campo Limpo','Capão Redondo','Carapicuiba','Cubatão','Ferraz de Vasconcelos','Franca','Freguesia do Ó','Guaianazes','Guaratinguetá','Guarulhos I','Guarulhos II','Guarulhos III','Guarulhos IV','Indaiatuba','Itaim Paulista','Itu','Jaçanã','Jacareí','Jundiaí','Lapa','Limeira','Mogi das Cruzes','Osasco I','Osasco II','Parque São Lucas','Piracicaba','Pirituba','Praia Grande','Presidente Prudente','Ribeirão Preto','Rio Claro','Santana','São Bernardo','Santos','São Carlos','São José do Rio Preto','São José dos Campos','SJ. dos Campos - Jd Satelite','São Mateus','São Miguel','São Vicente','Sertãozinho','Sorocaba','Suzano','Taboão da Serra','Tatuapé','Taubaté','Tucuruvi',
	'Valinhos','Vila Formosa','Vila Maria','Vila Nova Cachoeirinha','Votorantim' ], 
	
	
	
	['Bangu','Barra da Tijuca','Cabo Frio','Campo Grande','Campo de Guoytacazes','Catete','Copacabana','Duque de Caxias I','Duque de Caxias II','Jacarepaguá I','Macaé','Madureira','Niterói','Realengo','Rio de Janeiro - Centro','Petrópolis','Santa Cruz','São João do Meriti','Vila Isabel','Volta Redonda',], 
	
	
	
	['Barreiro - BH','Betim','Centro - BH','Contagem','Governador Valadares','Ipatinga','Juiz de Fora','Uberlândia','Venda Nova I','Venda Nova II',],
	
	
	
	['Araucária','Boqueirão','Curitiba I','Curitiba II','Campo Largo','Londrina','São José dos Pinhais','Maringá',],
	
	
	
	
	['Maceió - AL','Manaus - AM','Camaçari - BA','Itabuna - BA','Itapuã - BA','São Cristovão - BA','Fortaleza - Aldeota - CE','Fortaleza - Benfica - CE','Fortaleza - Centro - CE','Fortaleza - Messejana - CE','Fortaleza - Maracanau - CE','Fortaleza - Montese - CE','Fortaleza - Parangaba - CE','Fortaleza - São Geraldo - CE','Taguatinga - DF','Cariacica - ES','Vila Velha - ES','Vitória - ES','Aparecida de Goiânia - GO','Goiânia - GO','Campina de Goiânia - GO','Ananindeua - PA','Belém São Bráz - PA','Castanhal - PA','Marabá - PA','João Pessoa - PB','Caruaru - PE','Recife - Casa Amarela - PE','Recife - Ipsep - PE','Jaboatão dos Guarapes - PE','Recife - Pina - PE','Recife - PE','Teresina - PI','Canoas - RS','Porto Alegre - RS','São José - SC','São Luis - MA', ], 

  ]
};
