
function updateStateSelection() {
  var statname = document.getElementById("state").options[document.getElementById("state").selectedIndex].value.toLowerCase();
  var filename = absolute_path+"img/states/"+statname+".jpg";
  document.getElementById("stateimg").src = filename;
  
  asel = "<br/><select name=\"area\" size=\"1\" style=\"width: 250px\">";
  this["cities_"+statname][0] = "- valitse alue -";
  for(i=0;i<this["cities_"+statname].length;i++){
    if(i==0){
      asel = asel + "<option value=\""+i+"\" disabled=\"disabled\" selected=\"selected\">"+this["cities_"+statname][i]+"</option>";
    } else {
      asel = asel + "<option value=\""+i+"\">"+this["cities_"+statname][i]+"</option>";
    }
  }
  asel = asel + "</select>";
  
  document.getElementById("areatd").innerHTML = asel; 
}

function updateTenantStateSelection() {
  var statname = document.getElementById("state").options[document.getElementById("state").selectedIndex].value.toLowerCase();
  var filename = absolute_path+"img/states/"+statname+".jpg";
  document.getElementById("stateimg").src = filename;
  
  asel = "<br/><select name=\"list\" size=\"6\" style=\"width: 250px\" onchange=\"moveSelectedOptions(this.form['list'],this.form['area[]'])\">";
  asel = asel + "  <option value=\"0\">- kaikki alueet -</option>";
  if(statname != ""){
    for(i=1;i<this["cities_"+statname].length;i++){
      asel = asel + "  <option value=\""+i+"\">"+this["cities_"+statname][i]+"</option>";
    }
  }
  asel = asel + "</select>";
  
  asel2 = "<small>Valitut alueet:</small><br/><select name=\"area[]\" size=\"6\" multiple=\"multiple\" style=\"width: 250px\" onchange=\"deleteSelectedOptions(this.form['area[]']);  selectAll(this.form['area[]']);\" onclick=\"deleteLastOption(this.form['area[]'])\">";
  asel2 = asel2 + "  <option value=\"0\" selected=\"selected\">- kaikki alueet -</option>";
  asel2 = asel2 + "</select>";
  
  document.getElementById("areatd").innerHTML = asel; 
  document.getElementById("area2td").innerHTML = asel2; 
}

function tenantSearchLoad(){ //deprecated
  updateTenantStateSelection();
}

function selectAll(selectBox,selectAll) {
  if (typeof selectBox == "string") {
    selectBox = document.getElementById(selectBox);
  }
  if (selectBox.type == "select-multiple") {
    for (var i = 0; i < selectBox.options.length; i++) {
      selectBox.options[i].selected = selectAll;
    }
  }
}

function textCounter(field,cntfield,maxlimit) {
  if (field.value.length > maxlimit) {
    field.value = field.value.substring(0, maxlimit);
  } else {
    document.getElementById(cntfield).innerHTML = maxlimit - field.value.length;
  }
}

function toggleStateMenu(divn, linkn){
  document.getElementById(divn).className = (document.getElementById(divn).className != "hide") ? "hide" : "statemenu";
  document.getElementById(linkn).className = (document.getElementById(linkn).className != "tlon") ? "tlon" : "tl";
}

function toggleLotSize(){
  var selectedtype = document.getElementById("unittype").options[document.getElementById("unittype").selectedIndex].value;
  if(selectedtype == "3" || selectedtype == "4" || selectedtype == "5" || selectedtype == "6"){
    document.getElementById("lotsize").className = "";
  } else {
    document.getElementById("lotsize").className = "hide";
  }
}


// Select box options swapper
// Original by Matt Kruse // www.mattkruse.com

function hasOptions(obj) {
  if (obj!=null && obj.options!=null) {
    return true;
  }
  return false;
}

function hasMovedOption(to, mtext){
  for (var i=(to.options.length-1); i>=0; i--) {
    if(to.options[i].text == mtext){
      return true;
    }
  }
  return false;
}
	
function selectUnselectMatchingOptions(obj,regex,which,only) {
  if (window.RegExp) {
    if (which == "select") {
      var selected1 = true;
      var selected2 = false;
    } else if (which == "unselect") {
      var selected1 = false;
      var selected2 = true;
    } else {
      return;
    }
    var re = new RegExp(regex);
    if (!hasOptions(obj)) {
      return;
    }
    for (var i=0; i<obj.options.length; i++) {
      if (re.test(obj.options[i].text)) {
        obj.options[i].selected = selected1;
      } else {
        if (only == true) {
          obj.options[i].selected = selected2;
        }
      }
    }
  }
}
		
function selectMatchingOptions(obj,regex) {
  selectUnselectMatchingOptions(obj,regex,"select",false);
}

function selectOnlyMatchingOptions(obj,regex) {
  selectUnselectMatchingOptions(obj,regex,"select",true);
}
function unSelectMatchingOptions(obj,regex) {
  selectUnselectMatchingOptions(obj,regex,"unselect",false);
}

function selectAll(from){
  for (var i=(from.options.length-1); i>=0; i--) {
    from.options[i].selected = "1";
  }
}


function moveSelectedOptions(from,to) {
  if (arguments.length>3) {
    var regex = arguments[3];
    if (regex != "") {
      unSelectMatchingOptions(from,regex);
    }
  }
 
  if (!hasOptions(from)) {
    return;
  }
  
  if(to.options.length){
    if(to.options[0].text == "- kaikki alueet -"){
      deleteAllOptions(to);
    }
  }
  for (var i=0; i<from.options.length; i++) {
    var o = from.options[i];
    if (o.selected) {
      // If we have selected "All areas", clear the selected areas
      if(o.text == "- kaikki alueet -"){
        deleteAllOptions(to);
      }

      if (!hasOptions(to)) {
        var index = 0;
      } else {
        var index=to.options.length;
      }
      if(!hasMovedOption(to, o.text)){
        to.options[index] = new Option( o.text, o.value, false, false);
      }
    }
  }
  from.selectedIndex = -1;
  to.selectedIndex = -1;
  selectAll(to);
}

function deleteSelectedOptions(from){
  for (var i=(from.options.length-1); i>=0; i--) {
    var o = from.options[i];
    if (o.selected) {
      from.options[i] = null;
    }
  }
}

function deleteLastOption(from){
  if(from.options.length == 1){
    from.options[0] = null;
  }
}

function deleteAllOptions(from){
  for (var i=(from.options.length-1); i>=0; i--) {
    from.options[i] = null;
  }
}

function openUploader(istenant){
  if(!istenant){
    uploadWindow = window.open(absolute_path+"uploader.php", "uploaderWindow", "status = 1, height = 505, width = 500, resizable = 0" );
    document.getElementById("uploaderwarning").innerHTML = '<small>Varmista, että latauksesi ovat<br/>valmiit ennen kuin lähetät lomakkeen!</small>';
  } else {
    uploadWindow = window.open(absolute_path+"tuploader.php", "uploaderWindow", "status = 1, height = 350, width = 500, resizable = 0" );
    document.getElementById("uploaderwarning").innerHTML = '<small>Varmista, että kuvasi on<br/>ladattu ennen kuin lähetät lomakkeen!</small>';
  }
}

function openUploads(id){
  imageWindow = window.open(absolute_path+"imagewindow.php?id="+id, "imageWindow", "status = 0, location = 0, height = 300, width = 500, resizable = 1, scrollbars = 1" );
}

function checkTnC() {
  if(document.sform.tnc.checked == true){
    document.sform.submit();
  } else {
    alert("Sinun tulee hyväksyä Käyttöehdot ennen kuin voit jatkaa!");
    return false;
  }
  return true;
}

function isNumeric(sText) {
  var ValidChars = "123";
  var IsNumber = true;
  var Char;
  
  for(i=0; i<sText.length && IsNumber == true; i++){ 
    Char = sText.charAt(i); 
    if(ValidChars.indexOf(Char) == -1){
      IsNumber = false;
    }
  }
  if(sText == ""){
    IsNumber = false;
  }
  return IsNumber;
}

function number_format( number, decimals, dec_point, thousands_sep ) {
  var n = number, prec = decimals;
  n = !isFinite(+n) ? 0 : +n;
  prec = !isFinite(+prec) ? 0 : Math.abs(prec);
  var sep = (typeof thousands_sep == "undefined") ? ',' : thousands_sep;
  var dec = (typeof dec_point == "undefined") ? '.' : dec_point;
 
  var s = (prec > 0) ? n.toFixed(prec) : Math.round(n).toFixed(prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
 
  var abs = Math.abs(n).toFixed(prec);
  var _, i;
 
  if (abs >= 1000) {
    _ = abs.split(/\D/);
    i = _[0].length % 3 || 3;
 
    _[0] = s.slice(0,i + (n < 0)) +
      _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
 
    s = _.join(dec);
  } else {
    s = s.replace('.', dec);
  }
 
  return s;
}

function swapActiveImage(imgnum){
  imagesource = document.getElementById("pic"+imgnum).src.replace(/h=50/, "h=160");
  imagesource = imagesource.replace(/fw=50/, "fw=160");
  document.getElementById("mainpic").src = imagesource;
}
