Ext.onReady(function(){
	//////////////////////////////////////
	// Tooltips
	//////////////////////////////////////
   /*
   if(typeof rolly != "undefined") {
		new Ext.ToolTip({
			target: 'rolly',
			title: '',
			width: 200,
			html: 'Unsere Ferienwohnungen I und II sind behindertenfreundlich eingerichtet.',
			trackMouse:true,
			showDelay: 10
		});
	}
	if(typeof dtv != "undefined") {
		new Ext.ToolTip({
			target: 'dtv',
			title: 'Deutscher Tourismusverband',
			width: 200,
			html: 'Für weitere Informationen zu dieser Klassifizierung klicken Sie bitte auf dieses Gütesiegel!',
			trackMouse:true,
			showDelay: 10
		});
	}
	*/

	Ext.QuickTips.init();

	//////////////////////////////////////
	// Datumfelder
	//////////////////////////////////////
	if(typeof form_contact != "undefined") {

		//var frm = Ext.form.BasicForm({});

		new Ext.form.DateField({
			id: 'visitor_holiday_start',
			applyTo: 'visitor_holiday_start',
			emptyText:'TT.MM.JJJJ',
			invalidText: 'Bitte geben Sie ein Datum im Format TT.MM.JJJJ an.',
			format: 'd.m.Y',
			width:95
		});

		new Ext.form.DateField({
			id: 'visitor_holiday_end',
			applyTo: 'visitor_holiday_end',
			emptyText:'TT.MM.JJJJ',
			invalidText: 'Bitte geben Sie ein Datum im Format TT.MM.JJJJ an.',
			format: 'd.m.Y',
			width:95
		});

	}

	if(typeof formVac != "undefined") {

		//var frm = Ext.form.BasicForm({});

		var vacStartDatefield = new Ext.form.DateField({
			id: 'vacStart',
			applyTo: 'vacStart',
			emptyText:'TT.MM.JJJJ',
			invalidText: 'Bitte geben Sie ein Datum im Format TT.MM.JJJJ an.',
			format: 'd.m.Y',
			width:95
		});

		var vacEndDatefield = new Ext.form.DateField({
			id: 'vacEnd',
			applyTo: 'vacEnd',
			emptyText:'TT.MM.JJJJ',
			invalidText: 'Bitte geben Sie ein Datum im Format TT.MM.JJJJ an.',
			format: 'd.m.Y',
			width:95
		});

	}

   //////////////////////////////////////
	// Gästebuch-Eingabeüberprüfung
	//////////////////////////////////////
	if(typeof show_entries != "undefined") {

	}

   /////////////////////////////////////
	// Menü laden
	//////////////////////////////////////
   if(typeof map24 == "undefined")Go();

	//////////////////////////////////////
	// Layout-Anpassung
	//////////////////////////////////////
   resizeME();

	//////////////////////////////////////
	// Anfahrt laden
	//////////////////////////////////////
   if(typeof map24 != "undefined")goMap24();

	//////////////////////////////////////
	// Submenü der Objektseiten laden
	//////////////////////////////////////
   var path = window.location.pathname;
   if(path.indexOf('ferienwohnungen-haus-an-der-burg') != -1 ||
      path.indexOf('ferienwohnungen-haus-andreesen') != -1 ||
      path.indexOf('ferienwohnungen-haus-sonnenriff') != -1 ||
      path.indexOf('ferienwohnung-im-gastfeld-2a') != -1 ||
      path.indexOf('ferienwohnung-schuessler') != -1 ||
      path.indexOf('zimmer-und-apartments-burg-gaststaette') != -1) {

      var horst = 'http://' + window.location.hostname;
      if(path.indexOf('ferienwohnungen-haus-an-der-burg') != -1)horst = horst + '/ferienwohnungen-haus-an-der-burg/';
      if(path.indexOf('ferienwohnungen-haus-andreesen') != -1)horst = horst + '/ferienwohnungen-haus-andreesen/';
      if(path.indexOf('ferienwohnungen-haus-sonnenriff') != -1)horst = horst + '/ferienwohnungen-haus-sonnenriff/';
      if(path.indexOf('ferienwohnung-im-gastfeld-2a') != -1)horst = horst + '/ferienwohnung-im-gastfeld-2a/';
      if(path.indexOf('ferienwohnung-schuessler') != -1)horst = horst + '/ferienwohnung-schuessler/';
      if(path.indexOf('zimmer-und-apartments-burg-gaststaette') != -1)horst = horst + '/zimmer-und-apartments-burg-gaststaette/';
      
      if(path.indexOf('ferienwohnungen-haus-an-der-burg') != -1)var titleMenu = 'Mehr zu den Ferienwohnungen im &#132;Haus an der Burg&#147;';
      if(path.indexOf('ferienwohnungen-haus-andreesen') != -1)var titleMenu = 'Mehr zu den Ferienwohnungen im &#132;Haus Andreesen&#147;';
      if(path.indexOf('ferienwohnungen-haus-sonnenriff') != -1)var titleMenu = 'Mehr zu den Ferienwohnungen im &#132;Haus Sonnenriff&#147;';
      if(path.indexOf('ferienwohnung-im-gastfeld-2a') != -1)var titleMenu = 'Mehr zu der Ferienwohnung &#132;Im Gastfeld 2 A&#147;';
      if(path.indexOf('ferienwohnung-schuessler') != -1)var titleMenu = 'Mehr zu der Ferienwohnung &#132;Sch&#252;&#223;ler&#147;';
      if(path.indexOf('zimmer-und-apartments-burg-gaststaette') != -1)var titleMenu = 'Mehr zu den Zimmern und Apartments in der &#132;Burg-Gastst&#228;tte&#147;';

      var linkIndex = horst + 'index.html';
      var linkFotos = horst + 'fotos.html';
      var linkGrundrisse = horst + 'grundrisse.html';
      var linkPreise = horst + 'preise.html';
      var linkAngebote = horst + 'angebote.html';
      var linkAusstattung = horst + 'ausstattung.html';
      var linkTermine = horst + 'freie-Termine.html';
      var linkUmzu = horst + 'lage-des-objektes.html';
      
      var styleIndex = '';
      var styleFotos = '';
      var styleGrundrisse = '';
      var stylePreise = '';
      var styleAngebote = '';
      var styleAusstattung = '';
      var styleTermine = '';
      var styleUmzu = '';

      var bgColor = 'background-color: #79A334; color:white;';
      if(path.indexOf('index') != -1)styleIndex = bgColor;
      if(path.indexOf('fotos') != -1)styleFotos = bgColor;
      if(path.indexOf('grundriss') != -1)styleGrundrisse = bgColor;
      if(path.indexOf('preise') != -1)stylePreise = bgColor;
      if(path.indexOf('angebote') != -1)styleAngebote = bgColor;
      if(path.indexOf('ausstattung') != -1)styleAusstattung = bgColor;
      if(path.indexOf('termine') != -1)styleTermine = bgColor;
      if(path.indexOf('lage') != -1)styleUmzu = bgColor;

      var subMenu = '<ul class="subMenu">' +
      '<li><a href="' + linkIndex + '" style="' + styleIndex + '">Startseite</a></li>' +
      '<li><a href="' + linkFotos + '" style="' + styleFotos + '">Fotos</a></li>' +
      '<li><a href="' + linkGrundrisse + '" style="' + styleGrundrisse + '">Grundrisse</a></li>' +
      '<li><a href="' + linkPreise + '" style="' + stylePreise + '">Preise</a></li>' +
      '<li><a href="' + linkAngebote + '" style="' + styleAngebote + '">Angebote</a></li>' +
      '<li><a href="' + linkAusstattung + '" style="' + styleAusstattung + '">Ausstattung</a></li>' +
      '<li><a href="' + linkTermine + '" style="' + styleTermine + '">freie Termine</a></li>' +
      '<li><a href="' + linkUmzu + '" style="' + styleUmzu + '">Lage des Objektes</a></li>' +
      '<li><a href="http://www.heyken-vermietung.de/html/unterkuenfte.html">zur&#252;ck zur Unterk&#252;nfte-Auswahl</a></li>' +
      '</ul>';


      var col = true;
      //if(path.indexOf('index') != -1)col = true;

      var w = maxWidth();
      var p = new Ext.Panel({
         title: '<div style=float:left;margin-right:5px;>' +titleMenu + '<br />Bitte rechts auf den kleinen Pfeil klicken!</div><img src=http://www.heyken-vermietung.de/gfx/right_arrow-white.gif style=float:right;margin-top:2px;>',
         collapsible: true,
         collapsed: col,
         x: w/2-205+75,
         y: 20,
         renderTo: Ext.getBody(),
         floating: true,
         frame: true,
         width: 410,
         autoheight: true,
         draggable: {
            //      Config option of Ext.Panel.DD class.
            //      It's a floating Panel, so do not show a placeholder proxy in the original position.
            insertProxy: false,
            //      Called for each mousemove event while dragging the DD object.
            onDrag : function(e){
               //          Record the x,y position of the drag proxy so that we can
               //          position the Panel at end of drag.
               var pel = this.proxy.getEl();
               this.x = pel.getLeft(true);
               this.y = pel.getTop(true);
               //          Keep the Shadow aligned if there is one.
               var s = this.panel.getEl().shadow;
               if (s) {
                  s.realign(this.x, this.y, pel.getWidth(), pel.getHeight());
               }
            },

            //      Called on the mouseup event.
            endDrag : function(e){
               this.panel.setPosition(this.x, this.y);
            }
         },
         //renderTo: 'objSubMenu',
         html: subMenu,
         buttonAlign: 'center',
			buttons: [{
				text     : 'dieses Fenster schließen',
				handler  : function(){p.hide();}
			}]
      });
      p.show();
   }

   //////////////////////////////////////
	// Referenzfoto bestimmen
	//////////////////////////////////////
   /*
   if(Ext.getDom('referenzfoto')) {
   	var ref = new Ext.Updater(Ext.getDom('referenzfoto'));
   	var objID = Ext.getDom('referenzfoto').getAttribute('obj');
   	ref.update({
   		url: '../inc/ajax/heyken.ajax.php',
   		params: {action: 'referenzfoto', objID: objID}
   	});
   }
   */
});

function resizeME() {
   var agent = navigator.userAgent;
	if(agent.indexOf("MSIE") != -1 || agent.indexOf("Opera") != -1) {
		var completeHeight = document.body.clientHeight;
		var newHeight = completeHeight - 156;
      if(typeof content != "undefined") {
         $('content').style.height = "" + newHeight + "px";
         //$('content').style.top = "80px";
      }
	}
   /*
	var agent = navigator.userAgent;
	if(agent.indexOf("MSIE 7.0") == -1 && (agent.indexOf("MSIE") != -1 || agent.indexOf("Opera") != -1)) {
		var completeHeight = document.body.clientHeight;
		var newHeight = completeHeight - 154;
		$('content').style.height = "" + newHeight + "px";
	}
	*/
}

//////////////////////////////////////
// Popup-Fenster
//////////////////////////////////////
var winDTV;
function showDTV(win){
	// create the window on the first click and reuse on subsequent clicks
	if(!winDTV){
		winDTV = new Ext.Window({
			autoLoad		: win,
		   indicatorText : 'test',
			layout      : 'fit',
			width       : 710,
			height      : 450,
			closeAction : 'hide',
			plain       : false,
			autoScroll 	: true,
			collapsible : true,
			maximizable : false,
			buttonAlign : 'center',
			buttons: [{
				text     : 'dieses Fenster schließen',
				handler  : function(){winDTV.hide();}
			}]	
		});
	}
	winDTV.show();
}

var winNeuharlingersielerTief;
function showNeuharlingersielerTief(){
	// create the window on the first click and reuse on subsequent clicks
	if(!winNeuharlingersielerTief){
		winNeuharlingersielerTief = new Ext.Window({
			autoLoad		: '../inc/Neuharlingersieler-Tief.html',
			layout      : 'fit',
			width       : 690,
			height      : 450,
			closeAction : 'hide',
			plain       : false,
			autoScroll 	: true,
			collapsible : true,
			//maximizable : true,
			buttonAlign : 'center',
			buttons: [{
				text     : 'dieses Fenster schließen',
				handler  : function(){winNeuharlingersielerTief.hide();}
			}]	
		});
	}
	winNeuharlingersielerTief.show();
}

//////////////////////////////////////
// Slide-Show
//////////////////////////////////////
function preloadSlideShow(obj) {
	// Array mit Bildern
	if(obj.arr == "undefined")ExtAlert('Fehler: Slideshow kann nicht gestartet werden!');

	// Preload-Bereich
	if(obj.preload == "undefined")obj.preload = 'preload1';

	// vorzuladendes Bild im Array
	if(obj.nr == "undefined")obj.nr = 1;

	var pre = new Ext.Updater(obj.preload);
	pre.update({
		url: '../inc/ajax/heyken.ajax.php',
		params: {action: 'preloadSlideShow', image: obj.arr[obj.nr]}
	});
	pre.on("update", function(){
	   obj.nr = obj.nr + 1;
	   if (obj.nr < (obj.arr.length)) {
	   	preloadSlideShow(obj);
	   } else {
	   	obj.nr = 1;
	   	runSlideShow(obj)
		}		   	
	});
}

function runSlideShow(obj) {
	// Array mit Bildern
	if(obj.arr == "undefined")ExtAlert('Fehler: Slideshow kann nicht gestartet werden!');

	// ID des Slideshow-Bildes
	if(obj.id == "undefined")ExtAlert('Fehler: Slideshow kann nicht gestartet werden!');

	// Geschwindigkeit
	if(obj.speed == "undefined")obj.speed = 2500;

	// Bilder vorladen
	if(obj.nr == "undefined"){
		preloadSlideShow(obj);
		return false;
	}
	
	// Bild ändern
	Ext.get(obj.id).update('<img src="' + obj.arr[obj.nr] + '">');

	// Ext.get(obj.id).getAttributeNS('src','src'));
   obj.nr = parseInt(obj.nr) + 1;
   if (obj.nr > (obj.arr.length-1))obj.nr = 0;

	// für setTimeout müssen Zeichenkettenverknüpfungen verwendet werden!!!!
   nr = obj.nr;
   speed = obj.speed;
   id = obj.id;

	var str = "";
	for(var x = 0; x < obj.arr.length; x++) {
		if(str != "") str = str + '","';
		str = str + obj.arr[x];
	}
	str = '"' + str + '"';
   setTimeout('runSlideShow({nr: ' + nr + ', speed: ' + speed + ', id: "' + id + '", arr: [' + str + ']})', speed);
}

//////////////////////////////////////////////
// Quick-Object für die Startseite
//////////////////////////////////////////////
function quickies() {
   quickVac();
   quickObject();
}

function quickObject(){
   var p = new Ext.Panel({
      title: 'Zum Beispiel:',
      renderTo: 'quickObject',
      frame: true,
      width: 150,
      autoLoad: {url: 'http://www.heyken-vermietung.de/inc/ajax/heyken.ajax.php', params: 'action=getQuickObject'}
   });
   /*
   var ajaxCon = new Ext.data.Connection({});
   ajaxCon.request({
   	url: 'http://www.heyken-vermietung.de/inc/ajax/heyken.ajax.php',
   	success: function(r, o){
   		eval(r.responseText);
   	},
   	failure: function(r, o)
   	{
   		alert('Fehler Quick-Objects');
   	},
   	params: {action: 'getQuickObject'}
   });
   */
}

function quickVac(){
   var p = new Ext.Panel({
      title: 'Schnellabfrage',
      renderTo: 'quickVac',
      frame: true,
      width: 150,
      autoLoad: {
         url: 'http://www.heyken-vermietung.de/inc/ajax/heyken.ajax.php',
         params: 'action=getQuickVac',
         callback: function() {
            var vacStartDatefield = new Ext.form.DateField({
      			id: 'quickVacStartX',
      			applyTo: 'quickVacStart',
      			emptyText:'TT.MM.JJJJ',
      			invalidText: 'Bitte geben Sie für den Anreisetag ein Datum im Format TT.MM.JJJJ an.',
      			format: 'd.m.Y',
      			width:85
      		});

      		var vacEndDatefield = new Ext.form.DateField({
      			id: 'quickVacEndX',
      			applyTo: 'quickVacEnd',
      			emptyText:'TT.MM.JJJJ',
      			invalidText: 'Bitte geben Sie für den Abreisetag ein Datum im Format TT.MM.JJJJ an.',
      			format: 'd.m.Y',
      			width:85
      		});
         }
      },
      buttonAlign: 'center',
		buttons: [{
         text     : 'Suchen',
			handler  : function(){
            if(!Ext.getCmp('quickVacStartX').isValid() || Ext.getDom('quickVacStart').value == "TT.MM.JJJJ"){
               alert(Ext.getCmp('quickVacStartX').invalidText);
               return false;
            }
            if(!Ext.getCmp('quickVacEndX').isValid() || Ext.getDom('quickVacEnd').value == "TT.MM.JJJJ"){
               alert(Ext.getCmp('quickVacEndX').invalidText);
               return false;
            }
            Ext.getDom('quickVacForm').submit();
         }
		}]
   });
   /*
   var p = new Ext.FormPanel({
      id: 'formQuickVac',
      width: 150,
      labelWidth: 42,
      title: 'Schnellabfrage',
      renderTo: 'quickVac',
      defaultType: 'datefield',
      defaults: {width: 90},
      frame: true,
      items: [{
         fieldLabel: 'Anreise',
         id: 'quickVacStart',
			emptyText:'TT.MM.JJJJ',
			invalidText: 'Bitte geben Sie ein Datum im Format TT.MM.JJJJ an.',
         allowBlank:false
      },{
         fieldLabel: 'Abreise',
         id: 'quickVacEnd',
			emptyText:'TT.MM.JJJJ',
			invalidText: 'Bitte geben Sie ein Datum im Format TT.MM.JJJJ an.',
         allowBlank:false
      }],
      buttonAlign: 'center',
		buttons: [{
         text     : 'Suchen',
			handler  : function(){
            alert(Ext.getCmp('formQuickVac'));
            Ext.getForm().getEl().dom.submit();
         }
		}]
   });
   */
}

////////////////////////////////////
// Vakanzabfrage
////////////////////////////////////
function vac(){
   ExtWait('Bitte haben Sie einen Moment Geduld! Ihre Anfrage wird bearbeitet.');
   var vacNights = Ext.getDom('vacNights').value;
   var vacStart = Ext.getDom('vacStart').value;
   var vacEnd = Ext.getDom('vacEnd').value;
   
   var ajaxCon = new Ext.data.Connection({});
   ajaxCon.request({
   	url: 'http://www.heyken-vermietung.de/inc/ajax/heyken.ajax.php',
   	method: 'POST',
   	success: function(r, o){
         ExtWait('');
         eval(r.responseText);
   	},
   	failure: function(r, o)
   	{
   		alert('Fehler Vakanzabfrage');
   	},
   	params: {action: 'vac', vacNights: vacNights, vacStart: vacStart, vacEnd: vacEnd}
   });
}


function maxHeight() {
  var h=0;
  if (window.document.innerHeight>h)
   h=window.document.innerHeight;
  if (window.document.documentElement.clientHeight>h)
   h=window.document.documentElement.clientHeight;
  if (window.document.body.clientHeight>h)
   h=window.document.body.clientHeight;
  return h;
 }
function maxWidth() {
  var w=0;
  if (window.document.innerWidth>w)
   w=window.document.innerWidth;
  if (window.document.documentElement.clientWidth>w)
   w=window.document.documentElement.clientWidth;
  if (window.document.body.clientWidth>w)
   w=window.document.body.clientWidth;
  return w;
 }
