// show callback
function showLayer(url) {
  // show shader
  var shader  = Ext.get('shader');
  var height  = getWindowHeight();
  //shader.setVisibilityMode(Ext.Element.DISPLAY);
  shader.setHeight(height);
  shader.setVisible(true);
  shader.on('click', closeLayer, this, {
    single: true,
    delay: 100
  });
  loadLayerContent(url);
} 

// load data
function loadLayerContent(url) {
  // shaderContent
  var el = Ext.get('shader-content');
  // request
  Ext.Ajax.request({
    url: url,
    success: function(o, s, r) {
      el.update(o.responseText);
      el.setVisible(true);
      Ext.get('close-layer-btn').on('click', closeLayer, this, {
        single: true,
        delay: 200
      });
      try {
        var inputs = Ext.select('div#shader-content input');
        if(inputs) {
          var i = inputs.item(0);
          i.focus();
          //console.log(i);
        }
      } catch(e) {}
    },
    failure: function() {
      alert('Es ist ein Fehler aufgetreten. Bitte füllen Sie alle Felder aus!');
    }
  });
} 

// post data
function postLayerContent(url, formId) {
  // shaderContent
  var el = Ext.get('shader-content');
  // request
  Ext.Ajax.request({
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded; charset=iso-8859-1'
    },
    //form: formId,
		params: Ext.Ajax.serializeForm(formId),
    url: url,
    success: function(o, s, r) {
	    el.update(o.responseText);
      Ext.get('close-layer-btn').on('click', closeLayer, this, {
        single: true,
        delay: 200
      });
    },
    failure: function() {
      alert('Es ist ein Fehler aufgetreten. Bitte füllen Sie alle Felder aus!');
    }
  });
} 

function closeLayer(e) {
  //e.preventDefault();
  var shader = Ext.get('shader');
  shader.hide();
  var shaderContent = Ext.get('shader-content');
  shaderContent.hide();
  shaderContent.update('');
  // reset focus
  try {
    Ext.get('input-focus').focus();
  } catch(e) {}
} 


function loadModels(m) {
  Ext.Ajax.request({
    params: {m: m, action: 'getModels'},
    url: 'search.agent.php',
    success: function(response, opts) {
      var cont = Ext.get('models-container');
      cont.update(response.responseText);
    },
    failure: function(response, opts) {
      console.log('server-side failure with status code ' + response.status);
    }
  });
}


function openWindow(name, url, breite, hoehe, menue, status, urlbar, tool, scroll, resize, left, top) {
	var name =  window.open (url, "name", "menubar="+menue+",status="+status+",location="+urlbar+",width="+breite+",height="+hoehe+",toolbar="+tool+",scrollbars="+scroll+",resizable="+resize+",left="+left+",top="+top+"");
  name.focus();
}
  
function gotoUrl(url) {
  document.location.href = url;
}

function bookmark() {
  if(navigator.appName == 'Microsoft Internet Explorer')
    window.external.AddFavorite('http://www.gute-rate.de','gute-rate.de');
  else if(navigator.appCodeName == "Mozilla")
    window.sidebar.addPanel('gute-rate.de','http://www.gute-rate.de','');
 	else if(window.opera && window.print)
		return true;
  else
    alert('wrong browser');
}

function submit(f) {
  document.forms[f].submit();
}

function ALLChoice(field, i) {
  var checkcount = 0;
  var loop;

  for (loop = 1; loop < field.length; loop++) {
    if (i == 0) {
      field[loop].checked = field[0].checked;
    } else {
      if (field[loop].checked) {
        checkcount++;
      }
      field[0].checked = (checkcount == field.length-1);
    }
  }
}

function compare() {
  var form  = document.forms['parkingForm'];
  var field = form.elements['v[]'];
  var check = false;
  var count = 0;
  // keine Fahrzeuge geparkt
  if(field.length == 0) {
    alert('Keine geparkten Fahrzeuge gefunden!');
    return;
  }
  // Fahrzeuge ausgewï¿½hlt?
  for(var loop = 0; loop < field.length; loop++) {
    if(field[loop].checked) {
      check = true; count++;
    }
  }
  if(!check) {
    alert('Keine Fahrzeuge ausgewählt!');
    return;
  }
  if(count != 2) {
    alert('Bitte wï¿½hlen Sie 2 Fahrzeuge aus!');
    return;
  }
  form.elements['action'].value = "compare";
  form.elements['layout'].value = "17";
  form.submit();
}

function drop() {
  conf = confirm("Wollen Sie diese(s) Fahrzeug(e) wirklich löschen?");
  if (conf == false) {
    return;
  }
  var form  = document.forms['parkingForm'];
  var field = form.elements['v[]'];
  var check = false;
  // keine Fahrzeuge geparkt
  if(field.length == 0) {
    alert('Keine geparkten Fahrzeuge gefunden!');
    return;
  }
  // Fahrzeuge ausgewählt?
  for(var loop = 0; loop < field.length; loop++) {
    if(field[loop].checked) {
      check = true; break;
    }
  }
  if(!check) {
    alert('Keine Fahrzeuge ausgewählt!');
    return;
  }
  form.elements['action'].value = "drop";
  form.submit();
}


function logout() {
  conf = confirm("Wollen Sie sich wirklich abmelden?");
  if (conf == false) {
    return;
  }
  gotoUrl('http://www.gute-rate.de/auth.php?action=Logout');
}

// get window height
function getWindowHeight() {  
  var yScroll;
  if (window.innerHeight && window.scrollMaxY) {
    yScroll = window.innerHeight + window.scrollMaxY + 1;
  } else if (document.body.scrollHeight > document.body.offsetHeight){
    yScroll = document.body.scrollHeight;
  } else {
    yScroll = document.getElementsByTagName("html").item(0).offsetHeight;
    yScroll = (yScroll < document.body.offsetHeight) ? document.body.offsetHeight : yScroll;
  }
  return yScroll;
}
