/*************************************************************************
 * Main JS Functions
 *
 * @package CarPresenter Web
 * @author  Alexander Schmidt <a.schmidt@anschluss80.de>
 * @version 1.0, 2006-11-12 Alexander Schmidt
 * @version 1.1, 2007-03-06 Andreas Percher
 * @version 1.2, 2007-03-08 Andreas Percher
 */

/*************************************************************************
 * Status des Weiterleiten-Formulars (true: anzeigen, false: verstecken)
 */
var weiterleitenStatus = false;

/*************************************************************************
 * (AP) Icon global definieren
 */
var icon = null;

/*************************************************************************
 * Detailsuche ein- und ausschalten
 */
function toggleSearchForm(typ)
{
  if(document.getElementById)
  {
    document.getElementById("suche-einfach").style.display   = (typ == "einfach" ? "block" : "none");
    document.getElementById("suche-erweitert").style.display = (typ == "einfach" ? "none"  : "block");
    document.getElementById("suchtyp").value = typ;
  }
}

/*************************************************************************
 * Weiterleiten-Formular ein-/ausschalten
 */
function toggleWeiterleitenForm()
{
  if(document.getElementById)
  {
    document.getElementById("daten").style.display        = (weiterleitenStatus ? "block" : "none");
    document.getElementById("weiterleiten").style.display = (weiterleitenStatus ? "none"  : "block");

    weiterleitenStatus = !weiterleitenStatus;
  }
}

/*************************************************************************
 * Erweiteres Kontaktformular (Menuspalte) ein- und ausschalten
 * (AP) optionaler zusatz
 */
function toggleMenuErweitertForm(typ,optname)
{
  if (optname==null)
    optname="";
  else
    optname="-"+optname;
  if(document.getElementById)
  {
    var einf = document.getElementById("kontakt-einfach"+optname);
    var erw = document.getElementById("kontakt-erweitert"+optname);
    einf.style.display   = (typ == "einfach" ? "block" : "none");
    erw.style.display = (typ == "einfach" ? "none"  : "block");
  }
}

/*************************************************************************
 * Erweiteres Kontaktformular (Menuspalte) ein- und ausschalten
 */
function toggleMenuKontaktFormAlt(typ)
{
  if(document.getElementById)
  {
    document.getElementById("kontakt-einfach").style.display   = (typ == "einfach" ? "block" : "none");
    document.getElementById("kontakt-erweitert").style.display = (typ == "einfach" ? "none"  : "block");
  }
}

/*************************************************************************
 * Kontaktformular (Menuspalte) umschalten
 */
function toggleMenuKontaktForm(typ)
{
  if(document.getElementById)
  {
    if(typ == "kontakt")
    {
        document.getElementById("kontakt-kontakt").style.display = "block";
        document.getElementById("kontakt-partner").style.display = "none";
        document.getElementById("link-kontakt").className = "link-kontakt-aktiv";
        document.getElementById("link-partner").className = "link-partner-inaktiv";
    }
    else
    {
        document.getElementById("kontakt-kontakt").style.display = "none";
        document.getElementById("kontakt-partner").style.display = "block";
        document.getElementById("link-kontakt").className = "link-kontakt-inaktiv";
        document.getElementById("link-partner").className = "link-partner-aktiv";
    }

    document.getElementById("link-kontakt").blur();
    document.getElementById("link-partner").blur();
  }
}

/*************************************************************************
 * Niederlassung Kontaktformular (Menuspalte) waehlen
 */
function toggleNiederlassung(nl)
{
  if(document.getElementById)
  {
    document.getElementById("niederlassung-inhalt").innerHTML = nliste[nl];
  }
}

/*************************************************************************
 * Bilder tauschen bei onmouseover
 */
function swapImg(elem, img)
{
  if(document.images)
    elem.src = img;
}

/*************************************************************************
 * Grossbild in Detailansicht laden
 */
function detailBild(img)
{
  if(document.images && document.getElementById)
  {
    document.getElementById("grossbild").src = img;
  }
}

/*************************************************************************
 * Bilder vorladen
 */
function preloadImages(baseURI, imgArray)
{
  if(document.images && (imgArray.length > 0))
  {
    for(var i = 0; i < imgArray.length; i++)
    {
      temp     = new Image();
      temp.src = baseURI + imgArray[i];
    }
  }
}

/*************************************************************************
 * Flash-Check und Aktionsangebote schreiben
 *
 * @param string    mandant     URL der einzubindenden Inhalte (ggfs. incl. Parametern)
 */
function writeAktionsangebote(url)
{
  if(DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision))
  {
    var aaTags = '<div id="aktionsangebote">' + "\n"
               + ' <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"  width="720" height="283" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">' + "\n"
               + '  <param name="movie" value="' + url + '" \/>' + "\n"
               + '  <param name="quality" value="high" \/>' + "\n"
               + '  <param name="bgcolor" value="#ffffff" \/>' + "\n"
               + '  <!--[if !IE]> <-->' + "\n"
               + '   <object data="' + url + '" width="720" height="283" type="application/x-shockwave-flash">' + "\n"
               + '    <param name="quality" value="high" \/>' + "\n"
               + '    <param name="bgcolor" value="#ffffff" \/>' + "\n"
               + '    <param name="pluginurl" value="http://www.macromedia.com/go/getflashplayer" \/>' + "\n"
               + '   <\/object>' + "\n"
               + '  <!--> <![endif]-->' + "\n"
               + ' <\/object>' + "\n"
               + '<\/div>' + "\n";

  }
  else
  {
    var aaTags = '<div id="aktionsangebote-trenner">&nbsp;</div>' + "\n"
  }
  document.write(aaTags);
}

/*************************************************************************
 * (AP) Icon definieren
 */
function getIcon() {
  icon = new GIcon();
  icon.image = "/media/ai/img/marker.png";
  icon.mozPrintImage = "/media/ai/img/marker.png";
  icon.printImage = "/media/ai/img/marker_print.gif";
  icon.iconSize = new GSize(36, 41);
  icon.iconAnchor = new GPoint(2, 37);
  icon.infoWindowAnchor = new GPoint(2, 39);

  return icon;
}
/*************************************************************************
 * (AP) Marker setzen
 */
function setMarker(laenge,breite,funk) {
  var marker = new GMarker(new GLatLng(laenge,breite), getIcon());
  GEvent.addListener(marker, "click",
       function() {
         marker.openInfoWindowHtml(funk);
     } );
  map.addOverlay(marker);
 }

/*************************************************************************
 * onLoad-Handler
 */

function mainLoad(latitude, longitude, zoom)
{
  if(typeof(G_INCOMPAT) != "undefined")
  {
    if(GBrowserIsCompatible())
    {
      map = new GMap2(document.getElementById("karte"));
      map.setCenter(new GLatLng(latitude, longitude), zoom);
      map.addControl(new GLargeMapControl());
      map.addControl(new GOverviewMapControl());

      //getIcon();
      setMarker(50.1109, 8.679);
    }
  }
}

/*************************************************************************
 * onUnLoad-Handler
 */
function mainUnload()
{
  if(typeof(G_INCOMPAT) != "undefined")
  {
    GUnload();
  }
}

/*************************************************************************
 * Kartentyp waehlen
 */
function mainSetMapType(typ)
{
  if(typeof(G_INCOMPAT) != "undefined")
  {
    switch(typ)
    {
      case "satellit":
        map.setMapType(G_SATELLITE_MAP);
      break;

      case "hybrid":
        map.setMapType(G_HYBRID_MAP);
      break;

      default:
        map.setMapType(G_NORMAL_MAP);
      break;
    }
  }
}

/*************************************************************************
 * Marker-Zoom
 */
function mainZoomMarker(zMarker)
{
  if(typeof(G_INCOMPAT) != "undefined")
  {
    map.setCenter(zMarker.getPoint(), 17, G_HYBRID_MAP);
  }
}

/*************************************************************************
 * [AP] allgemeines Zoom
 */

function zoom(lat,lng,faktor,maptype)   {
  map.setCenter(new GLatLng(lat,lng),faktor);
  map.setMapType(maptype);
}

/*AP**********************************************************************
 * Checken, ob Pflichfelder im Formular angegeben wurden
 * Führt das Formular aus, wenn OK
 */
function checkKontaktform(formid) {
	var bOK=true;
  var text1 = "";
  var text2 = "";
  var formular = document.forms.kontaktform;
  if (formid!=null) {
    formular = document.getElementById("kontakt-"+formid);
    if (formular==null)
      formular = document.getElementById(formid);
    formid = "-"+formid;
  }
  else
    formid="";

  var telefon = formular.telefon;
  var kontakterror = document.getElementById("kontakterror");
  var txtname= document.getElementById("txtname"+formid);
  var txtemail= document.getElementById("txtemail"+formid);
  // var txttelefon= document.getElementById("txttelefon"+formid);
  var colorOk = "000";
  if (formular.telefon!=null)
    colorOK = formular.telefon.style.borderColor;
  else
  if (formular.anfrage!=null)
    colorOK = formular.anfrage.style.borderColor;

  if (kontakterror==null)
    kontakterror = document.getElementById("kontakterror"+formid);

  if (kontakterror!=null) {
    kontakterror.style.display="none";
    kontakterror.style.color="#ff0000";
  }
  if (txtemail!=null)
    txtemail.style.color="#000000";
  if (formular.email!=null)
    formular.email.style.borderColor=colorOk;
  if (txtname!=null)
    txtname.style.color="#000000";
  if (formular.name!=null)
    formular.name.style.borderColor=colorOk;

  if (formular.name) {
    text1 = ""+formular.name.value;
    if (text1.length<1)  {
      bOK=false;
      txtname.style.color="#ff0000";
      formular.name.style.borderColor="#f00";
      kontakterror.style.display="block";
    }
  }

  if (formular.email!=null) {
    text1 = ""+formular.email.value;
    if ( text1.length<6 ) {
      bOK=false;
      txtemail.style.color="#ff0000";
      formular.email.style.borderColor="#ff0000";
      kontakterror.style.display="block";
    }
  }

	if (bOK)  {
	  formular.submit();
	  //toggleWeiterleitenForm();
	}
}
/*AP**********************************************************************
 * Checken, ob Pflichfelder im Formular angegeben wurden
 * Führt das Formular aus, wenn OK
 */
function checkKontaktform2() {
	var bOK=true;
  var txt = "";
  var formular = document.forms.kontaktform2;
  var kontakterror = document.getElementById("kontakterror2");
  var txtemail1= document.getElementById("txtemail1");
  var txtemail2= document.getElementById("txtemail2");

  var colorOk = formular.abs_name.style.borderColor;

  kontakterror.style.display="none";
  kontakterror.style.color="#ff0000";
  txtemail1.style.color="#000000";
  formular.abs_email.style.borderColor=colorOk;
  txtemail2.style.color="#000000";
  formular.empf_email.style.borderColor=colorOk;

  txt = ""+formular.abs_email.value;
	if (txt.length<6)  {
	  bOK=false;
	  txtemail1.style.color="#ff0000";
	  formular.abs_email.style.borderColor="#f00";
    kontakterror.style.display="block";
	}

  txt = ""+formular.empf_email.value;
	if (txt.length<6)  {
	  bOK=false;
	  txtemail2.style.color="#ff0000";
	  formular.empf_email.style.borderColor="#f00";
    kontakterror.style.display="block";
	}

	if (bOK)  {
	  formular.submit();
	  toggleWeiterleitenForm();
	}
}
/************************************************************************/
function AddToFavorite(href,title)
{
    if ( (navigator.appName == "Microsoft Internet Explorer")
      && (parseInt(navigator.appVersion) >= 4))  {
        window.external.AddFavorite(href,title)
    } else {
      window.sidebar.addPanel(title,href, '');
    }
}

/*************************************************************************
 * Bookmarks
 */
function openBookmark(page, url, titel, notice, taglist) {
    var ospace  = encodeURIComponent(taglist.replace(/,/, ' '));
    var t80     = encodeURIComponent(titel.substring(0,80));
    var t75     = encodeURIComponent(titel.substring(0,75));
    var url     = encodeURIComponent(url);
    var titel   = encodeURIComponent(titel);
    var notice  = encodeURIComponent(notice);
    var taglist = encodeURIComponent(taglist);

    switch(page) {
        case 'delicious':
            window.open('http://del.icio.us/post?url='+ url + '&title=' + t80+ '&notes=' +notice+ '&tags='+ospace);
        break;

        case 'mrwong':
            window.open('http://www.mister-wong.de/index.php?action=addurl&bm_url='+ url + '&bm_description=' + titel+ '&bm_notice=' +notice+ '&bm_tags='+taglist);
        break;

        case 'linkarena':
            window.open('http://linkarena.com/bookmarks/addlink/?url='+ url + '&title=' + titel+'&desc='+notice+'&tags='+ospace);
        break;

        case 'webnews':
            window.open('http://www.webnews.de/einstellen?url='+ url + '&title=' + t75+'&desc='+notice+'&usertag='+taglist);
        break;

        case 'yigg':
            window.open('http://yigg.de/neu?exturl='+ url + '&exttitle=' + titel);
        break;

        case 'google':
            window.open('http://www.google.com/bookmarks/mark?op=add&hl=de&bkmk='+ url + '&title=' + titel+'&annotation='+notice+'&labels='+taglist);
        break;
    }
}
/************************************************************************/
// AP
// Cookies
// immer 30 Tage gültig !
function setCookie(name, wert){
   var ablauf = new Date();
   var in30Tagen = ablauf.getTime() + (30 * 24 * 60 * 60 * 1000);
   ablauf.setTime(in30Tagen);

   var cook = name+"="+unescape(wert)
            + "; expires="
            +  ablauf.toGMTString()
            +"; path=/";
   // alert(cook);
   document.cookie = cook;
}
/************************************************************************/
function eraseCookie(name, domain, path){
   document.cookie = name+"=; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/";
}
/************************************************************************/
function getCookie(name){
   var i=0  //Suchposition im Cookie
   var suche = name+"=";
   while (i<document.cookie.length){
      if (document.cookie.substring(i, i+suche.length)==suche){
         var ende = document.cookie.indexOf(";", i+suche.length);
         ende = (ende>-1) ? ende : document.cookie.length;
         var cook = document.cookie.substring(i+suche.length, ende);
         return unescape(cook);
      }
      i++
   }
   return "";
}
/************************************************************************/
function addCar(carid) {
  if (!document.cookie) {
    alert("Aktivieren Sie Cookies in Ihrem Browser!");
    return;
  }
  var cook = getCookie("geparkt");
  if ((cook+"-").indexOf("-"+carid+"-")<0)  {
    cook +="-"+carid;
    setCookie("geparkt",cook);
  }
  var pp = document.getElementById("pp_"+carid);
  pp.innerHTML = "<a class=\"geparkt\" href=\"javascript:removeCar('"+carid+"')\">geparkt</a>";

  var mpp = document.getElementById("meinparkplatz");
  mpp.style.display = "inline";
}
/************************************************************************/
function removeCar(carid) {
  var cook = getCookie("geparkt");
  var idx = (cook+"-").indexOf("-"+carid+"-");
  if (idx>=0) {
    cook = cook.substring(0,idx)
         + cook.substring(idx+carid.length+1);
    setCookie("geparkt",cook);
    // alert("ausgeparkt: "+carid+" : "+cook);
  }
  var pp = document.getElementById("pp_"+carid);
  pp.innerHTML = "<a class=\"blocklink\" href=\"javascript:addCar('"+carid+"')\">parken</a>";

  if (cook.length<3) {
    var mpp = document.getElementById("meinparkplatz");
    mpp.style.display = "none";
  }
}
/************************************************************************/
// AP 13.08.2007
function sayProb(msg) {
  var obj = document.getElementById("meldung");
  if (obj==null)
    obj = document.getElementById("sucheok");
  if (obj!=null)
    obj.innerHTML = msg;

  obj = document.getElementById("sucheok");
  if (obj!=null)
    obj.style.display   = "none";
  obj = document.getElementById("sucheko");
  if (obj!=null)
    obj.style.display   = "block";
}
/************************************************************************/
function sayMsg(msg) {
  var obj = document.getElementById("meldung");
  var btn = document.getElementById("sucheok");
  if (obj==null || (btn!=null && btn.tagName=='A'))
    obj = btn;
  if (obj!=null)
    obj.innerHTML = msg;
}
/************************************************************************/
// AP 13.08.2007
function infoWindowOn(msg) {
  var obj = document.getElementById("meldung");
  //if (obj==null)
  //  obj = document.getElementById("sucheok");
  if (obj!=null)
    obj.innerHTML = msg;
}
/************************************************************************/
// AP 13.08.2007
function infoWindowOff() {
  var obj = document.getElementById("meldung");
  if (obj!=null)
    obj.innerHTML = " &nbsp; ";
}
/************************************************************************/
