function Ctry(n,c,p,s,a) {this.name=n;this.code=c;this.pref=p;this.subd=s;this.prov=a;this.maxprov=a.length}
function Prov(n,c,p,z) {this.name=n;this.code=c;this.pref=p;this.zip=z}
function Subdivision(c,n,p,g) {this.code=c;this.nam=n;this.plural=p;this.genre=g}

function getCtryPref(c) {return (c<0 || c>=maxctry) ? "" : "(+"+ctry[c].pref+") "}
function getProvPref(c,p) {return (c<0 || c>=maxctry || p<0 || p>=ctry[c].maxprov || ctry[c].prov[p].pref=="0" || ctry[c].prov[p].pref==0) ? "" : ctry[c].prov[p].pref}
function getPrefix(c,p,l) {return getCtryPref(c)+getProvPref(c,p)}
function getZip(c,p) {return (c<0 || c>=maxctry || p<0 || p>=ctry[c].maxprov) ? "" : ctry[c].prov[p].zip}

function srchCtry(c) {
  var res=-1
  if (c!="") {
    for (var i=0; i<maxctry; i++) {
      if (ctry[i].code==c) {
        res=i
        break
      }
    }
  }
  return res
}

function srchProv(c,p) {
  var res=-1
  if (c>=0 && c<=maxctry && p!="") {
    with (ctry[c]) {
      for (var i=0; i<maxprov; i++) {
        if (prov[i].code==p) {
          res=i
          break
        }
      }
    }
  }
  return res
}

function convCtry(c) {
  var i=srchCtry(c)
  return (i>-1) ? ctry[i].name : ""
}

function convProv(c,p) {
  var i=srchProv(c,p)
  return (i>-1) ? res=ctry[c].prov[i].name : ""
}

var subdiv=new Array(
new Subdivision("can","Cant&oacute;n","cantones","m"),
new Subdivision("con","Condado","condados","m"),
new Subdivision("dep","Departamento","departamentos","m"),
new Subdivision("dis","Distrito","distritos","m"),
new Subdivision("est","Estado","estados","m"),
new Subdivision("mun","Municipio","municipios","m"),
new Subdivision("par","Parr&oacutequia","parr&oacute;quias","f"),
new Subdivision("pre","Prefectura","prefecturas","f"),
new Subdivision("pro","Provincia","provincias","f"),
new Subdivision("reg","Regi&oacute;n","regiones","f")
)
function srchSubdiv(c){
	for (var i in subdiv) if (subdiv[i].code==c) return i
	return -1
}
