var _NO_SELECTION = -1;
var selectedDistrictId = _NO_SELECTION;
var selectedRegionId = _NO_SELECTION;
var selectedLocalityId = _NO_SELECTION;
var selectedCompanyCategoryId = _NO_SELECTION;
var selectedCompanySubCategoryId = _NO_SELECTION;
var windowMapUrl = '../rota3/mapa.html';
var rota3 = false;
var rota4 = true;
var position = 0;
var lastPosition = 0;
var roll = 60;
var bottomRoll = 0;
var teste = 0;
var bodyFrameElem = null;
var bodyTDElem = null;
var autoScroll = true;
var localizacaoElem = null;
var categoriaElem = null;
var screenW = screen.width, screenH = screen.height;
var crazyOne = 5;

var browser=navigator.appName;
var browser_version=navigator.appVersion;
var internetExplorer = false;
var mozilla = false;
var netscape = false;

var districtTable = new Array();
districtTable[districtTable.length] = new Array(3, 4);
districtTable[districtTable.length] = new Array(4, 3);
districtTable[districtTable.length] = new Array(24, 14);
districtTable[districtTable.length] = new Array(9, 10);
districtTable[districtTable.length] = new Array(6, 6);
districtTable[districtTable.length] = new Array(5, 5);
districtTable[districtTable.length] = new Array(23, 15);
districtTable[districtTable.length] = new Array(25, 18);
districtTable[districtTable.length] = new Array(22, 12);
districtTable[districtTable.length] = new Array(2, 2);
districtTable[districtTable.length] = new Array(8, 8);
districtTable[districtTable.length] = new Array(11, 9);
districtTable[districtTable.length] = new Array(10, 26);

function getCorrespondigDistrict(idxVal) {
  var retVal = -1;
  for (var it=0; it < districtTable.length; it++) {
    if (districtTable[it][0]==idxVal) {
      retVal=districtTable[it][1];
      break;
    }
  }
  return retVal;
}


if (browser=="Microsoft Internet Explorer") {
    internetExplorer = true;
} else if (browser=="Netscape") {
    netscape = true;
} else if (browser=="Mozilla") {
    mozilla = true;
}

function startPolling() {
  localizacaoElem = document.getElementsByName("localizacao")[0];
  categoriaElem = document.getElementsByName("categoria")[0];

  bodyFrameElem = document.getElementsByName('body')[0];
  if (internetExplorer) {
    bodyTDElem = document.getElementById('bodyTD');
  } else {
    bodyTDElem = document.getElementsByName('bodyTD')[0];
  }

  setInterval("poll()",125);
  getNationalWeather();
}

function getNationalWeather() {
  getWeather(-1);
}

function getWeather(idxVal) {
  if (idxVal==-1)
    makeRequest("webservices/weather.php?cityId=12");
  else {
    makeRequest("webservices/weather.php?cityId="+idxVal);
  }
}

if (internetExplorer) { // IE Measures
  if (screenW >= 800 && screenW < 1024) {
    bottomRoll = 20.0;
    crazyOne = 4.5;
  } else if (screenW >= 1024 && screenW < 1280) {
    bottomRoll = 19.7;
    crazyOne = 5.5;
  } else if (screenW >= 1280) {
    bottomRoll = 20.0;
    crazyOne = 3.0;
  }
} else {               // Others Measures
  if (screenW >= 800 && screenW < 1024) {
    bottomRoll = 18.8;
    crazyOne = 4.5;
  } else if (screenW >= 1024 && screenW < 1280) {
    bottomRoll = 20.5;
    crazyOne = 4.0;
  } else if (screenW >= 1280) {
    bottomRoll = 20.0;
    crazyOne = 2.5;
  }
}

function poll(){
  if (autoScroll) {
    lastPosition = position;
    if (internetExplorer) {
      if (document.documentElement && document.documentElement.scrollTop) {
        position = document.documentElement['scrollTop'];
      } else if (document.body && document.body.scrollTop) {
        position = document.body['scrollTop'];
      }
    } else {
      position = window.pageYOffset;
    }
    if ((position > (5*roll)) && (position < (bottomRoll*roll)) ) {
      bodyTDElem.style.paddingTop = (position - (crazyOne*roll));
    } else if ((lastPosition > position) && (position < (6*roll))) {
//    } else {
      bodyTDElem.style.paddingTop = 0;
    }
  }

  return true;
}

function scrollTop() {
  lastPosition = 6*roll;
  scrollTo(0,(0.5*roll));
}

function processWeatherInfo(txt) {
  var texto = "";
  var tMax = "";
  var tMin = "";
  var idx = -1;
  var wCond = document.getElementsByName("wCond")[0];
  var tMx = document.getElementsByName("maxT")[0];
  var tMn = document.getElementsByName("minT")[0];

  if (languageId != "pt") {
    idx = txt.indexOf(":");
    texto = txt.substring(0, idx);
    idx = txt.indexOf("|");
    wCond.innerHTML = texto;
  } else {
    idx = txt.indexOf("|");
    texto = txt.substring(0, idx);
    idd = texto.indexOf(":");
    texto = texto.substring(0, idd) + "<br/>" + texto.substring(idd+1, texto.length);
    wCond.innerHTML = texto;
  }
  var temps = txt.substring(idx+1, txt.length);
  tMax = temps.substring(0, temps.indexOf("|"));
  tMin = temps.substring(temps.indexOf("|")+1, temps.length);

  tMx.innerHTML = "&nbsp;" + tMax + "&ordm;C";
  tMn.innerHTML = "&nbsp;" + tMin + "&ordm;C";

}

function NF_setMenuItem(objecto, menuType) { //v0.1
  if (objecto != lastMenuSelected) {
    objecto.className='menuHover'+menuType;
  }
}

function NF_unsetMenuItem(objecto, origClass) { //v0.1
  if (objecto != lastMenuSelected) {
    objecto.className=origClass;
  }
}

function NF_setNewMenuItem(objecto, menuType, menuTypeCode) {
  if ((lastMenuClass != null) && (lastMenuSelected != null)) {
    lastMenuSelected.className=lastMenuClass;
  }
  lastMenuSelected = objecto;
  lastMenuClass = menuType;
  NF_setMenuItem(objecto, menuTypeCode);
}

function NF_setBCLocalization(local) {
  if (localizacaoElem != null) {
    localizacaoElem.innerHTML = local;
  }
}

function NF_setBCCatetogy(category) {
  if (categoriaElem != null) {
    categoriaElem.innerHTML = category;
  }
}

function NF_setBCSubCatetogy(idx, subCategory) {
  if (categoriaElem != null) {
    var catName = categorias[idx][1];
    categoriaElem.innerHTML = catName + " / " + subCategory;
  }
}

function search() {
  var menuSel = (selectedCompanyCategoryId > -1 || selectedCompanySubCategoryId > -1);
  var mapSel = (selectedDistrictId > -1 || selectedRegionId > -1);
  if (menuSel && mapSel) {
      getButtonElement("body").src = "../rota3/search.php?districtId="+selectedDistrictId+"&regionId="+selectedRegionId+"&localityId="+selectedLocalityId+"&companyCategoryId="+selectedCompanyCategoryId+"&companySubCategoryId="+selectedCompanySubCategoryId+"&lId="+languageId;
  } else {
    if (!menuSel) {
      alert(selectCategoryMessage);
    } else if (!mapSel) {
      alert(selectLocalMessage);
    }
  }
}