"use strict"; var ajax; var infos_popup = false; var inputs_popup = false; var liste_popup = false; var my_dyn = false; var views = {}; var book_popup; function index_init() { ajax = new xmlhttp("ajax"); ajax.method("POST"); ajax.server("index_server.php"); ajax.mode("sync"); $GLOBALS["tour"] = null; $GLOBALS["cols"] = 0; $GLOBALS["views"] = ["","",""]; $GLOBALS["zmax"] = 1; main_menu('index'); main_menu('languages'); if ($GLOBALS["system_key"] == "ipad") { } document.body.onclick = hide_info; views["view_infos"] = view_infos; views["view_list"] = view_list; views["pictures"] = pictures; views["inputs"] = inputs; } function agentur_init() { ajax = new xmlhttp("ajax"); ajax.method("POST"); ajax.server("index_server.php"); ajax.mode("sync"); $GLOBALS["tour"] = null; $GLOBALS["cols"] = 0; $GLOBALS["views"] = ["","",""]; $GLOBALS["zmax"] = 1; infos_popup = false; inputs_popup = false; liste_popup = false; var q = main_menu("agentur_index"); if (q) { var pc = document.getElementById("container"); var div = document.createElement("div"); div.className = "agency"; var text = document.createTextNode(q.remark); div.appendChild(text); pc.appendChild(div); } main_menu('languages'); document.body.onclick = hide_info; views["view_infos"] = view_infos; views["view_list"] = view_list; views["pictures"] = pictures; views["inputs"] = inputs; } function main_menu(ctrl) { var pc = document.getElementById("container"); var erg = ajax.send({todo:"view_list",list:ctrl}); if (typeof(erg) == "object") { if (erg.node) { var node = makenode(erg.node); pc.appendChild(node); } if (erg.qmuser) { return erg.qmuser; } else { return; } } else { alert("index.js [100]\n"+view(erg)); } } function menue_extends(e) { var arg; var divId = null; if (typeof(e) != "undefined") { arg = e.name; var divId = "divId_"+arg; } if (typeof($GLOBALS['button:activ']) != "undefined") { $GLOBALS['button:activ'].className = ""; } if (typeof($GLOBALS['extends']) != "undefined") { var exId = $GLOBALS['extends'].id; var pc = document.getElementById("container"); pc.removeChild($GLOBALS['extends']); delete ($GLOBALS['extends']); delete ($GLOBALS['button:activ']); if (divId == null || exId == divId) { display_control(31,false); return; } } display_control(31,false); var erg = ajax.send({todo:"view_list",list:arg}); var extends_frame = document.createElement("div"); var back_plane = document.createElement("div"); back_plane.className = "back_plane"; extends_frame.appendChild(back_plane); var div = makenode(erg.node); extends_frame.appendChild(div); extends_frame.id = divId; extends_frame.style.display = "block"; extends_frame.style.position="absolute"; div.id = "menue_frame"; var z = $GLOBALS["zmax"] + 100; extends_frame.style.zIndex = z; extends_frame.style.top = "220px"; extends_frame.style.left = "120px"; var cc = document.getElementById("container"); cc.appendChild(extends_frame); var parentDim = cc.getBoundingClientRect(); var myDim = div.getBoundingClientRect(); extends_frame.style.left = (parentDim.width - myDim.width) + "px"; $GLOBALS['extends'] = extends_frame; $GLOBALS['button:activ'] = arguments[0]; $GLOBALS['button:activ'].className = "active"; if (erg.action) { eval (erg.action); } extends_frame.style.width = myDim.width + "px"; extends_frame.style.height = myDim.height + "px"; back_plane.style.width = myDim.width + "px"; back_plane.style.height = myDim.height + "px"; if (typeof(make_slow) != "undefined") { extends_frame.style.overflow = "hidden"; my_dyn = new make_slow(); my_dyn.myName(); my_dyn.object(back_plane); my_dyn.object(extends_frame); my_dyn.height_start(1); my_dyn.height_end(myDim.height); my_dyn.step(29); my_dyn.wait(30); my_dyn.wait(); } } function ipad_test() { var cc = document.getElementById("container"); cc.addEventListener ("touchstart", ipadlog, false); cc.addEventListener ("touchmove", ipadlog, false); cc.addEventListener ("touchend", ipadlog, false); } function ipadlog(evt) { var my_event = ( evt ) ? evt : window.event; if (ddw) { ddw.echo("timeStamp=" + evt["timeStamp"]); ddw.echo(" type=" + evt["type"]); ddw.echo(" target=" + evt["target"]); ddw.echo(" pageY=" + evt["pageY"]); ddw.echo(" pageX=" + evt["pageX"]); } } function hide_info(evt) { if (!evt) evt = windows.event; var target = null; target = (evt.target) ? evt.target : target; target = (evt.originalTarget) ? evt.originalTarget : target; if (target !== null) { try { if (target.tagName) { if (target.tagName == "DIV") { if (target.id && target.id == "container") { display_control(7,false); } } else if (target.tagName == "IMG") { } } } catch(e){} } } function display_control() { var nr = arguments[0]; var key = ""; var sep = ""; if ((nr & 4) > 0 && typeof($GLOBALS['extends']) != "undefined") { var pc = document.getElementById("container"); pc.removeChild($GLOBALS['extends']); delete ($GLOBALS['extends']); } if (document.getElementById("calendar_root")) { var cr = document.getElementById("calendar_root"); var pn = cr.parentNode; pn.removeChild(cr); } if (arguments.length > 1) { if (arguments[1] === false) { key = false; } else { for (var i=1; i < arguments.length; i++) { if (typeof(arguments[i]) == 'object') { for (var j in arguments[i]) { key += sep + arguments[i][j]; sep = ":" } } else { key += sep + arguments[i]; sep = ":"; } } } } var a = [1,2,4]; var ret = ((nr&32)>0) ? true:false; for (var d in a) { if ((nr & a[d]) > 0) { if ($GLOBALS["views"][d] != "" && $GLOBALS["views"][d] != key) { var pgm = $GLOBALS["views"][d].split(":")[0]; var button_name = $GLOBALS["views"][d].split(":")[2]; $GLOBALS["views"][d] = ""; if (key !== "") { if (typeof(views[pgm]) == "function") { views[pgm](false); } else { var cmd = pgm+"("+false+");"; ok = eval(cmd); } } var b = document.getElementsByName(button_name); if (b && b[0]) { b[0].className = ""; if (typeof($GLOBALS['button:activ']) != "undefined") { $GLOBALS['button:activ'].className = ""; delete($GLOBALS['button:activ']); } } } if ($GLOBALS["views"][d] != key && key !== false) { $GLOBALS["views"][d] = (key !== false) ? key :""; ret = true; } } } if (key == '' || key == false) ret = true; return ret; } function display_location(ctrl) { var width,left; var top = 230; var height = 450; switch(ctrl) { case 1: left = 12; width = 200; break; case 2: left = 220; width = 400; break; case 3: left = 12; width = 640; break; case 4: left = 723; width = 292; break; case 6: left = 270; width = 730; break; case 8: left = 200; top = 180; width = 640; break; case 11: left = 190; width = 640; break; case 14: left = 190; top = 180; width = 640; break; case 15: left = 190; width = 640; break; default: left = 12; width = 1000; } return {left:left,top:top,width:width,height:height}; } function view_list() { if (arguments[0] === false) { if (liste_popup && liste_popup.closed() == false) { liste_popup.close(); } return; } else { var pos = (arguments.length > 1) ? arguments[1] : 1; var ok = display_control(pos,"view_list:"+arguments[0]); var loc = display_location(arguments[1]); if (ok) { var erg = ajax.send({todo:"view_list",list:arguments[0]}); if (typeof(erg.node) == "object") { if (typeof(erg['node']) == "object") { var div = makenode(erg['node']); var pc = document.getElementById("container"); liste_popup = popup_open({ top:loc.top, left:loc.left, width:loc.width, exclusive:false, boxClassName:"infobox", titleClassName:"infohead", contentsClassName:"popup", closeClassName:"hidden", parent:pc, onclose:Function("parent.display_control("+pos+")") }); var p = liste_popup.contents(); p.appendChild(div); div.style.width = "200px"; div.style.height = "100px"; var needheight = div.scrollHeight; if (needheight > 420) { div.style.height = "420px"; div.style.overflowY = "scroll"; } else { div.style.height = needheight + "px"; } liste_popup.title(erg["title"]); liste_popup.display(); } if (erg.action) { eval (erg.action); } for (var a in erg) { } } else { var txt; if (typeof(erg) == "object") { txt = view(erg); } else { txt = erg; } txt = txt.replace(/
/g,"\n"); txt = txt.replace(//g,""); txt = txt.replace(/<\/b>/g,""); alert(txt); } } } } function inputs() { if (arguments.length > 0 && arguments[0] === false) { if (inputs_popup && inputs_popup.closed() == false) { inputs_popup.close(); } return; } var text = (arguments.length > 0) ? arguments[0] : ""; var pos = (arguments.length > 1) ? arguments[1] : 4; var ok = display_control(pos,"inputs:",arguments); if (ok) { var div; var loc = display_location(pos); var erg = ajax.send({todo:"inputs",page:text,list:"page"}); if (typeof(erg.node) == "object") { div = makenode(erg.node); div.style.width = loc.width+"px"; } else if (typeof(erg) == "object") { alert("index.js [489] createform for "+text+" abgekündigt\n" + view(erg) ); } else { alert(erg); } var pc = document.getElementById("container"); inputs_popup = popup_open({ id:"reservation", top:loc.top, left:loc.left, width:loc.width, height:loc.height, exclusive:false, boxClassName:"infobox", titleClassName:"infohead", closeClassName:"hidden", contentsClassName:"popup", title:"reservation", parent:pc, onclose:Function("display_control("+pos+")") }); var p = inputs_popup.contents(); p.appendChild(div); inputs_popup.title(erg.title); inputs_popup.display(); if (typeof(erg.user) == "object" && erg.user.length > 0 && document.forms[text]) { for (var key in erg.user[0]) { var e = document.forms[text].elements[key]; if (e) { document.forms[text].elements[key].value = erg.user[0][key]; document.forms[text].elements[key].className = ""; } } } if (text == "reservation" && typeof(erg.qmuser) == "object") // for agencias { if ( erg.qmuser.agency == 128 && document.forms[text]) { inputs_popup.title(erg.title +" - "+erg.qmuser.remark); document.forms[text].elements['license'].checked = "checked"; document.forms[text].elements['agb_read'].checked = "checked"; document.forms[text].elements['savedata'].checked = ""; document.forms[text].elements['savedata'].disabled = "disabled"; document.forms[text].elements['capcha'].type = "hidden"; document.forms[text].elements['capcha'].value = erg.qmuser.remark; document.getElementById('capcha_div').style.visibility = "hidden"; } } } } function view_infos() { if (typeof($GLOBALS['button:activ']) != "undefined") { if (typeof(arguments[0]) == "object" ) { if($GLOBALS['button:activ'] == arguments[0]) { if (infos_popup && infos_popup.closed() == false) { infos_popup.close(); $GLOBALS['button:activ'].className = ""; delete($GLOBALS['button:activ']); return; } } } $GLOBALS['button:activ'].className = ""; delete($GLOBALS['button:activ']); } if (arguments[0] === false) { if (infos_popup && infos_popup.closed() == false) { infos_popup.close(); } return; } var arguments0 = arguments[0]; if (arguments.length > 0) { if (typeof(arguments[0]) == "object" ) { arguments0 = arguments[0].name; } var pp = []; pp[0] = arguments0; for (var i=1; i 1) ? arguments[1] : 3; var ok = display_control(pos,"view_infos:",pp); if (ok) { var loc = display_location(arguments[1]); var tour_id = "view_infos.html?info=" + arguments0; if (arguments.length > 2) { for (var i=2; i < arguments.length; i++) { tour_id += "&" + arguments[i]; } } var pc = document.getElementById("container"); var exc = ((pos & 32) > 0) ? true : false; infos_popup = popup_open({ url:tour_id, top:loc.top, left:loc.left, width:loc.width, height:loc.height, exclusive:exc, boxClassName:"infobox", titleClassName:"infohead", closeClassName:"hidden", contentsClassName:"popup", parent:pc, onclose:Function("parent.display_control("+pos+")") }); $GLOBALS["tour"] = arguments0; if (typeof(arguments[0]) == "object" ) { $GLOBALS['button:activ'] = arguments[0]; $GLOBALS['button:activ'].className = "active"; } } } } function dynamic_infos(e) { if (arguments[0] === false) { if (infos_popup && infos_popup.closed() == false) { infos_popup.close(); } return; } var pos = (arguments.length > 1) ? arguments[1] : 3; var uni = Math.floor(Math.random()*10000 + 100000); var ok = display_control(pos,"view_infos:"+uni,arguments); var loc = display_location(pos); if (e.node) { var frame = makenode(erg.node,2); frame.className = "input_box"; frame.style.width = loc.width+"px"; } else { alert("index.js [656] \nuse of createform depriciated") var frame = document.createElement("div"); if (e.data || e.node) { var form = createform(erg,loc); form.style.position="absolute"; frame.appendChild(form); } } delete e.node; var msg = "
"+view(e)+"
";
  var div = document.createElement("div");
  div.style.position="absolute";
  div.style.top = "400px";
  div.innerHTML = msg;
  frame.appendChild(div);
  if (ok)
      var pc = document.getElementById("container");
      infos_popup = popup_open(
      {
        top:loc.top,
        left:loc.left,
        width:loc.width,
        height:loc.height,
        exclusive:false,
        boxClassName:"infobox",
        titleClassName:"infohead",
        closeClassName:"hidden",
        contentsClassName:"popup",
        title:e.title,
        parent:pc,
        onclose:Function("parent.display_control("+pos+")")
      });
  var x = infos_popup.contents();
  x.appendChild(frame);
  infos_popup.display();
}
function guestbook()
{
  var page = (arguments.length > 0) ? arguments[0] : "new";
  erg = ajax.send({todo:"guestbook",page:page});
}
function new_guestbook_entry(e)
{
  var form = e;
  var iterator = 10;
  while (form.tagName != "FORM" && iterator > 0)
  {
    form = form.parentNode;
    iterator--;
  }
  if (form.tagName == "FORM")
  {
    erg = ajax.send(form);
    if (typeof(erg) == "object")
    {
      if (erg.return)
      {
        if (erg.return == "ok")
        {
          inputs(false);
          dynamic_infos(false);
          alert(erg.info);
        }
        else
        {
          dynamic_infos(erg);
        }
      }
    }
  }
}
function change_language(lang)
{
  var url = window.location.href;
  var search = "/"+$GLOBALS["language"]+"/";
  var p1 = url.indexOf(search);
  if (p1 > 0)
  {
    var newurl = url.substr(0,p1+1) + lang + url.substr(p1+3);
    window.location.href = newurl;
  }
}
function pictures()
{
  if (arguments[0] === false)
  {
    if (infos_popup && infos_popup.closed() == false)
    {
      infos_popup.close();
    }
    return;
  }
  if (arguments.length > 0)
  {
    var pos = 14;
    var ok = display_control(pos,"pictures:",arguments);
    var loc = display_location(14);
    if (ok)
    {
      var tour_id = "pictures.html?tour_id=" + arguments[0];
      var pc = document.getElementById("container");
      infos_popup = popup_open(
      {
        url:tour_id,
        top:loc.top,
        left:loc.left,
        width:loc.width,
        height:480,
        exclusive:false,
        boxClassName:"pictbox",
        contentsClassName:"popup",
        iframeClassName:"pictiframe",
        titleClassName:"infohead",
        title:arguments[0],
        parent:pc,
        onclose:Function("parent.display_control("+pos+")")
      });
    }
  }
}
function films()
{
  if (arguments[0] === false)
  {
    if (infos_popup && infos_popup.closed() == false)
    {
      infos_popup.close();
    }
    return;
  }
  if (arguments.length > 0)
  {
    var pos = 15;
    var ok = display_control(pos,"films:",arguments);
    var loc = display_location(15);
    if (ok)
    {
      var tour_id = "http://www.youtube.com/embed/"+arguments[0]+"?feature=player_detailpage";


      var pc = document.getElementById("container");
      infos_popup = popup_open(
      {
        url:tour_id,
        top:200,
        left:loc.left,
        width:loc.width,
        height:480,
        exclusive:false,
        contentsClassName:"popup",
        titleClassName:"infohead",
        boxClassName:"filmbox",
        closeClassName:"hidden",
        parent:pc,
        onclose:Function("parent.display_control("+pos+")")
      });
    }
  }
}
function showCalendar(e)
{
  var z = $GLOBALS["zmax"] + 100;
  var position = "center";
  if ($GLOBALS["system_key"] == "ipad")
  {
  }
  calendar({position:position,zindex:z,closed:"remove",exit:true,datecontrol:"future"}); // {elements:e]


  viewCalendar(e);
}
function newpict()
{
  var erg = ajax.send({todo:"newpict"});
  if (erg.src)
  {
    document.getElementsByName("as")[0].src = erg.src;
  }
}
function tourbuchen()
{
  var erg;
  if (arguments.length >0)
  {
    var form = arguments[0];
    if (typeof(form) == "object")
    {
      var n = 20;
      var $alert = "";
      while (form.tagName != "FORM" && n > 0)
      {
        form = form.parentNode;
        n--;
      }
    }
    else if (typeof(form) == "boolean")
    {
      window.setTimeout("delete(book_popup)",100);
      return;
    }
    else
    {
      if (document.forms[form])
      {
        form = document.forms[form];
        form.elements["list"].value = "booking";
      }
    }
    if (form.tagName == "FORM")
    {
      var depo = document.getElementsByName("in_deposit");
      if (depo.length > 0)
      {
        var v = depo[0].value;
        form.elements["deposit"].value = v;
      }
      delete ($GLOBALS["booking"]);
      erg = ajax.send(form);
      if (typeof(erg) == "object")
      {
        if (erg.node)
        {
          var div = makenode(erg.node,2);
          div.className = "input_box";
          var pc = document.getElementById("container");
          var loc = display_location(15);
          if (typeof(book_popup) != "undefined")
          {
            book_popup.close();
          }
          book_popup = popup_open(
          {
            top:loc.top,
            left:loc.left,
            width:loc.width,
            height:loc.height,
            exclusive:true,
            inhibitClassName:"infoplane",
            boxClassName:"infobox1",
            titleClassName:"infohead",
            closeClassName:"hidden",
            contentsClassName:"popup",
            title:erg.title,
            parent:pc,
            onclose:Function("parent.tourbuchen(false)")
          });
          var x = book_popup.contents();
          x.appendChild(div);
          book_popup.display();
        }
        if (erg['error'])
        {
          $alert = erg['error'] + "\n";
        }
        if (erg["return"] == "fail")
        {
          if (erg.params)
          {
            $alert += "index.js [936]\n";
            $alert += "--- params ---\n";
            for (var tag in erg.params)
            {
              $alert += tag + "=" + erg.params[tag] + "\n";
            }
            for (var tag in erg)
            {
              $alert += tag + "=" + erg[tag] + "\n";
            }
          }
          if (erg.request)
          {
            $alert += "--- request ---\n";
            for (var tag in erg.request)
            {
              $alert += tag + "=" + erg.request[tag] + "\n";
            }
          }
          if (erg.errors)
          {
            for (var tag in erg.errors)
            {
              $alert += erg.errors[tag] + "\n";
            }
          }
        }
        if ($alert && $alert != "")
        {
          alert("Meldung 965 :"+$alert);
        }
      }
      else
      {
        alert(erg);
      }
    }
  }
  else
  {
    if (typeof(document.forms["reservation"]) == "undefined")
    {
      inputs("reservation",15);
      if (typeof($GLOBALS['button:activ']) != "undefined")
      {
        $GLOBALS['button:activ'].className = "";
      }
      var b = document.getElementsByName("tourbuchen")[0];
      if (b)
      {
        $GLOBALS['button:activ'] = b;
        b.className = "active";
      }
    }
    else
    {
      display_control(15,false);
    }
    if (document.forms["reservation"] && $GLOBALS["tour"])
    {
      document.forms["reservation"].elements["tour"].value = $GLOBALS["tour"];
    }
  }
}
function tourprint(ctrl)
{
  var pw = window.open("tourprint.html",ctrl,"width=200,height=200");
  pw.blur();
  pw.focus();
}
function enquiry(e)
{
  var p = e.parentNode;
  var form = document.createElement("form");
  form.action = "mailto:info@quad-mallorca.com";
  p.appendChild(form);
  form.submit();
}
function change_reservation_value(o)
{
  if (typeof(o) == "undefined")
  {
    document.forms["reservation"].elements["list"].value="submit";
    $GLOBALS["booking"] = false;
  }
  else if (typeof(o) == "object")
  {
    book_popup.close();
    var e;
    for (e in o)
    {
      document.forms["reservation"].elements[e].value = o[e];
    }
    if (typeof($GLOBALS["booking"]) == "undefined")
    {
      $GLOBALS["booking"] = true;
    }
    else
    {
      document.forms["reservation"].elements["list"].value="submit";
      $GLOBALS["booking"] = false;
    }
  }
}
function set_co_drivers()
{
  var v = document.forms["reservation"].elements["drivers"].value;
  var e = document.forms["reservation"].elements["co_drivers"];
  for (var i=0; i<11; i++)
  {
    if (i>v)
    {
      if (e.options.length > i)
      {
        while(e.options.length > i)
        {
          e.options[i].remove();
        }
      }
    }
    else
    {
      if (e.options.length <= i)
      {
        var o = new Option(i, i, false, false);
        e.options[e.options.length] = o;
      }
    }
  }
}
function checktrans(e)
{
  if (e.value == "")
  {
    e.className = "input_empty";
  }
  else
  {
    e.className = "input_used";
  }
}
function checkemail(e)
{
  checktrans(e);
  erg = ajax.send({todo:"checkemail",email:e.value});
  if (typeof(erg) == "object")
  {
    if (erg.return)
    {
      var n = 20;
      var form = e;
      while (form.tagName != "FORM" && n > 0)
      {
        form = form.parentNode;
        n--;
      }
      if (form.tagName == "FORM")
      {
        if (erg.return == "ok")
        {
          if (form.elements["last_name"])
          {
            form.elements["last_name"].value = erg.data.last_name;
            form.elements["last_name"].className = "input_used";
          }
          if (form.elements["first_name"])
          {
            form.elements["first_name"].value = erg.data.first_name;
            form.elements["first_name"].className = "input_used";
          }
        }
        else if (erg.return == "fail")
        {
          alert(erg.message);
        }
      }
    }
  }
}
function checkcount(e,c)
{
  if (e.value.length > c)
  {
    e.value = e.value.substr(0,c);
  }
}
function show_popups()
{
  $alert = "index.js [1168]";
  if (typeof($GLOBALS["popup"]) != "undefined")
  {
    if ($GLOBALS["popup"].length > 0)
    {
      for (var i=0; i<$GLOBALS["popup"].length; i++ )
      {
        if ($GLOBALS["popup"][i] === null)
        {
          $alert += "\n"+i + ": NULL";
        }
        else
        {
          $alert += "\n"+i + ": "+typeof($GLOBALS["popup"][i]);
        }
      }
    }
  }
  alert($alert);
}
function open_window()
{
  var url = arguments[0];
  var win = "quad_"+Math.floor(Math.random()*10000);
  var w = (arguments.length > 1) ? arguments[1]:800;
  var h = (arguments.length > 2) ? arguments[2]:600;
  var nw = window.open(url,win,"resizable=yes,width="+w+",height="+h+",scrollbars=yes");
  nw.blur();
  nw.focus();
}