/* -----------------------------------------------------------------------------
   GLOBAL VARS
----------------------------------------------------------------------------- */
var d = document;
var w = window;
var s = new CXMLHttpRequest2();

/* -----------------------------------------------------------------------------
   VARS & ARRAYS
----------------------------------------------------------------------------- */
var http = 'http://';
var sameWindowURLs = new Array('192.168.','81.3.4.172','81.3.4.173','opelrent.local','opelrent.de','mailto:','google.com','gstatic.com');
var sbm = new Array();
sbm['twitter|Twitter|en'] = 'http://twitter.com/home?status=Currently reading {url}';
sbm['facebook|Facebook|en'] = 'http://www.facebook.com/share.php?u={url}';
sbm['wong|Mister Wong|de'] = 'http://www.mister-wong.de/index.php?action=addurl&bm_url={url}&bm_notice=&bm_description={title}&bm_tags=';
sbm['folkd|folkd.com|de'] = 'http://www.folkd.com/submit/{url}';
sbm['delicious|del.icio.us|en'] = 'http://del.icio.us/post?v=2&url={url}&notes=&tags=&title={title}';
sbm['technorati|Technorati|en'] = 'http://technorati.com/faves?add={url}&tag=';
sbm['google|Google|de'] = 'http://www.google.com/bookmarks/mark?op=add&hl=de&bkmk={url}&annotation=&labels=&title={title}';
//sbm['digg|Digg|en'] = 'http://digg.com/submit?phase=2&url={url}&title={title}';
//sbm['yahoo|Yahoo MyWeb|en'] = 'http://myweb2.search.yahoo.com/myresults/bookmarklet?t={title}&d=&tag=&u={url}';
//sbm['linkarena|linkARENA|de'] = 'http://linkarena.com/bookmarks/addlink/?url={url}&title={title}';
//sbm['yigg|y!gg.de|de'] = 'http://yigg.de/neu?exturl={url}';
//sbm['blinklist|blinklist|en'] = 'http://www.blinklist.com/index.php?Action=Blink/addblink.php&Url={url}&Title={title}&Tag=&Description=';
//sbm['icio|icio.de|de'] = 'http://www.icio.de/add.php?url={url}&title={title}';
//sbm['alltagz|alltagz|de'] = 'http://www.alltagz.de/bookmarks/?action=add&address={url}&title={title}';
//sbm['spurl|SPURL.NET|en'] = 'http://www.spurl.net/spurl.php?v=3&tags=&title={title}&url={url}';
//sbm['furl|FURL|en'] = 'http://www.furl.net/storeIt.jsp?u={url}&keywords=&t={title}';
//sbm['netvouz|netvouz|en'] = 'http://www.netvouz.com/action/submitBookmark?url={url}&description=&tags=&title={title}&popup=yes"';
//sbm['oneview|oneview|de'] = 'http://beta.oneview.de:80/quickadd/neu/addBookmark.jsf?URL={url}&title={title}';
//sbm['simpy|simpy|en'] = 'http://www.simpy.com/simpy/LinkAdd.do?title={title}&tags=&note=&href={url}';
//sbm['blogmarks|BlogMarks.net|en'] = 'http://blogmarks.net/my/new.php?mini=1&simple=1&url={url}&content=&public-tags=&title={title}';
var pLayers = 11;
var pLayerHistory = [];
var pLayerScroll = [];
var pg_id;
if (typeof(page_id)!='undefined') pg_id = page_id; else pg_id = '';

/* -----------------------------------------------------------------------------
   WINDOW.NAME STORAGE
----------------------------------------------------------------------------- */
var storage = new function () {

	var dataContainer = {};

	function linearize () {
		var string = "", name, value;
		for (name in dataContainer) {
			name = encodeURIComponent(name);
			value = encodeURIComponent(dataContainer[name]);
			string += name + "=" + value + "&";
		}
		if (string != "") {
			string = string.substring(0, string.length - 1);
		}
		return string;
	}

	function read () {
		if (window.name == '' || window.name.indexOf("=") == -1) {
			return;
		}
		var pairs = window.name.split("&");
		var pair, name, value;
		for (var i = 0; i < pairs.length; i++) {
			if (pairs[i] == "") {
				continue;
			}
			pair = pairs[i].split("=");
			name = decodeURIComponent(pair[0]);
			value = decodeURIComponent(pair[1]);
			dataContainer[name] = value;
		}
	}

	function write () {
		window.name = linearize();
	}
	this.set = function (name, value) {
		dataContainer[name] = value;
		write();
	};
	this.get = function (name) {
		var returnValue = dataContainer[name];
		return returnValue;
	};
	this.getAll = function () {
		return dataContainer;
	};
	this.remove = function (name) {
		if (typeof(dataContainer[name]) != undefined) {
			delete dataContainer[name];
		}
		write();
	};
	this.removeAll = function () {
		dataContainer = {};
		write();
	};

	read();
};

/* -----------------------------------------------------------------------------
   INIT
----------------------------------------------------------------------------- */
var inition = 0;
var statusModellauswahl = storage.get('statusModellauswahl');
function init() {
  if (!inition) {
    if ($.browser.name=='firefox'&&$.browser.versionNumber<3.5) {
      $('body',document).append('<link rel="stylesheet" href="/css/css_init_mod.css" />'); 
    }
    else {
      if ($.browser.name!='msie') {
        // 
      }
    }
    if (!storage.get('ref')) {
      var ref = document.referrer;
      ref = ref.replace(/\&/g, "|");
      if(ref&&ref.indexOf('www.opelrent.de')<0) storage.set('ref',ref);
    }
    
    //windowResize();
	  //window.onresize=windowResize;
    for (var i=0; i < d.links.length; i++) {
      var link = d.links[i];
      link.ondragstart = rf;
      if (link.href == d.location + '#' && !link.onclick) { link.onclick = rf; link.onmousedown = rf; }
    }
    socialBookmarks();
    try {
      ie6SSF();
    } 
    catch (e) {
      // DO NOTHING
    }
    statusModellauswahl = storage.get('statusModellauswahl');
    modelle = storage.get('modelle');
    q = storage.get('q');
    m = storage.get('m');
    if (document.forms['search']) {
      if (modelle && modelle!='undefined') document.forms['search']['modelle'].value = modelle;
      if (statusModellauswahl==1&&modelle!='0') toggleModellauswahl(1); else toggleModellauswahl(0);
      if (q && q!='undefined') document.forms['search']['q'].value = q;
      if (typeof(m)!='undefined') if (m>0||m.length>1) document.forms['search']['modelle'].value = m;
    }
    var tooltips = $("*.tooltip");
    for (var i=0;i<tooltips.length;i++) {
      tooltips[i].tooltip = tooltips[i].title;
      tooltips[i].title = '';
      $(tooltips[i]).mousemove(function(e){
	      if (typeof(page_id)!='undefined'&&page_id!='stationssuche') {
		  	 $('#tooltip').css({'display':'block', 'left':e.pageX + 10,'top':e.pageY - 58});
 		  }
      }); 
    }
    if (typeof(pg_id)!='undefined') {
       var posdata = storage.get(pg_id);
       if (posdata) {
        var tmp = posdata.split('x');
        var h = tmp[0];
        var v = tmp[1];
        vready=0;
        hready=0;
        if(h)hpos=(h-1)*-697;
        if(v)vpos=(v-1)*-310;
        var div;
        if (d.getElementById('modelldetails_scroller')) div = d.getElementById('modelldetails_scroller');
        if (div) {
          div.style.left=hpos+'px';
          div.style.top=vpos+'px';
          var arrow = d.getElementById('arrow');
          arrow.style.top=((v-1)*107)+314+'px';
          arrow.style.left=((h-1)*87)+35+'px';
          vready=1;
          hready=1;
        }
       }
       if (pg_id=='stationssuche') {
        var tmp = document.location.search;
        if (tmp) {
          tmp = tmp.substr(1);
          var get_params = tmp.split('&');
          var ln = get_params.length;
          var trigger_search = 0;
          for (var i=0;i<ln;i++) {
            var kv = get_params[i].split('=');
            if (kv[0]=='q') {
              kv[1] = kv[1].replace(/\%C3\%A4/g,"ä");
              kv[1] = kv[1].replace(/\%C3\%B6/g,"ö");
              kv[1] = kv[1].replace(/\%C3\%BC/g,"ü");
              kv[1] = kv[1].replace(/\%C3\%84/g,"Ä");
              kv[1] = kv[1].replace(/\%C3\%96/g,"Ö");
              kv[1] = kv[1].replace(/\%C3\%9C/g,"Ü");
              kv[1] = kv[1].replace(/\%C3\%9F/g,"ß");
              kv[1] = kv[1].replace(/\%20/g," ");
              kv[1] = kv[1].replace(/\+/g," ");
              kv[1] = kv[1].replace(/\%E4/g,"ä");
              kv[1] = kv[1].replace(/\%F6/g,"ö");
              kv[1] = kv[1].replace(/\%FC/g,"ü");
              kv[1] = kv[1].replace(/\%C4/g,"Ä");
              kv[1] = kv[1].replace(/\%D6/g,"Ö");
              kv[1] = kv[1].replace(/\%DC/g,"Ü");
              kv[1] = kv[1].replace(/\%DF/g,"ß");

              var frm = document.forms['search'];
              frm['q'].value = kv[1];
              storage.set('q',kv[1]);
              trigger_search = 1;
            }
            else if (kv[0]=='m') {
              var frm = document.forms['search'];
              if (aFzgGruppen[kv[1]])
                frm['m'].value = aFzgGruppen[kv[1]];
              else
                frm['m'].value = kv[1];
              /*
              if (kv[1]=='PKW') kv[1]='1,2,5,6,7,9,10,11,12,15,19,20,21,22,32,33,34,35,36,37';
              else if (kv[1]=='Transporter') kv[1]='23,24,25,26,28,29,38,39,40';
              else if (kv[1]=='Umzugstransporter') kv[1]='24,25,40';
              else if (kv[1]=='Kleinwagen') kv[1]='1,10,11,19';
              else if (kv[1]=='Limousine') kv[1]='6,32,34,36';
              else if (kv[1]=='Van, Kombi, SUV') kv[1]='1,2,5,10,11,21';
              else if (kv[1]=='Cabrio') kv[1]='9,20,35';
              else if (kv[1]=='OPC') kv[1]='7,12,22,33';
              else if (kv[1]=='Erdgas') kv[1]='37,38,39';
              frm['m'].value = kv[1];
              */

              frm['modelle'].value = kv[1];
              storage.set('m',kv[1]);
              toggleModellauswahl(1,0);
            } 
          }
          if (trigger_search) checkSearchForm();
        }
       }
    }
    if (d.getElementById('infoDiv')) if(statusModellauswahl==1) {
        d.getElementById('infoDiv').style.top='-114px';
    }
    
    inition = 1;
  }
}

/* -----------------------------------------------------------------------------
   EVENTS
----------------------------------------------------------------------------- */
//d.onselectstart = MSSE
d.onclick = MClE;
d.onmouseover = MOvE;
d.onmouseout = MOuE;
d.ontouchend = TeE;

function evtGlobal(e) {
  if (!e) e = window.event;
  e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
  var trg;
  if (e.target) trg = e.target; 
  else if (e.srcElement) trg = e.srcElement;
  if (trg.nodeType == 3) trg = trg.parentNode;
  return trg;
}

function MSSE(e) {
  var trg = evtGlobal(e);
  //if (typeof(trg.name)!='undefined') {
    //if (trg.name=='plz') return true; else return false;
  //}
  return false;
}

function MClE(e) {
  var trg = evtGlobal(e);
  var tmp;
  var pn = trg.parentNode;
  var rel;
  if (trg.className.indexOf('fancy')>-1) {
     rel = 1;
  }
  if (pn != null) {
    if (pn.href) {
      tmp = pn.href;
     }
     else {
      tmp = trg.href;
    }
  }
  /* ---------------------------------------------------------------------------
    EXTERNE URLS IN NEUEM FENSTER ÖFFNEN
  --------------------------------------------------------------------------- */
  if (tmp&&!rel) {
    var atmp = [];
    if (tmp.match(/\?/)) atmp = tmp.split('?'); else atmp[0] = tmp;
    var lt = atmp[0];
    var openInSameWindow = 0;
    var rx = new RegExp('('+sameWindowURLs.join(')|(')+')','i');
    if (rx.test(lt)||lt.IndexOf('http://')>-1) openInSameWindow = 1;
    if (trg.className.indexOf('external')>-1) openInSameWindow = 0;
    if (!openInSameWindow) {
      window.open(lt);
      return false;
    }
  }
  /* ---------------------------------------------------------------------------
    LAYERSTEUERUNG PARTNERSEITEN
  --------------------------------------------------------------------------- */
  if (trg.className.indexOf('show_ajax_layer')>-1) {
    if (!trg.id) trg=trg.parentNode;
    var id;
    if (trg.id) id = trg.id.substr(1,2); else return false;
    id = id.replace(/[^a-zA-Z0-9]/g,'');
    
    if (id>-1&&id<pLayers) {

      togglePLayers(activePLayer,0);
      togglePLayers(id,1);
      
      var tmp = trg.id.split('_');
      if (tmp[0]=='m4' && tmp[2]>0) {
        if (d.getElementById('ad'+tmp[2])) {
          $("div[id^=an"+tmp[2]+"]").children('a').html('weniger...');
          d.getElementById('ad'+tmp[2]).style.display='block';
        }
      }
      //setScrollPos(0);
    }
    return false;
  }
  else if (trg.className=='ajax_back') {
    var id=null;
    var pos=0;
    if (pLayerHistory.length > 1) {
      pLayerHistory.pop();
      id = pLayerHistory.pop();
      pos = pLayerScroll.pop();
      togglePLayers(id,0);
      if (id==0) {
        $("div[id^=an]").children('a').html('mehr...');
        $("div[id^=ad]").css('display','none');
      }
      //setScrollPos(pos);
    }
  }
  /* ---------------------------------------------------------------------------
    LAYERSTEUERUNG INFOLAYER
  --------------------------------------------------------------------------- */
   else if (trg.className=='show_infolayer') {
    var cl = d.getElementById('contentlayer');
    var il = d.getElementById('infolayer');
    //cl.style.position='absolute';
    //cl.style.top='25px';
    //cl.style.left='25px';
    il.style.position='absolute';
    il.style.top='10px';
    il.style.left='10px';
    il.style.zIndex='50000';
    if (il.style.display!='block') $('#infolayer').show(400, function() { $('#infolayer').dropShadow({opacity:0.15});  $('#infolayer').css({zIndex:50000}); });
   }
   else if (trg.className=='hide_infolayer') {
    $('#infolayer').removeShadow();
    //d.getElementById('infolayer').style.display='none';
    $('#infolayer').hide(400);
   }
  /* ---------------------------------------------------------------------------
    STEUERUNG ANGEBOTSDETAILS (AUF/-ZUKLAPPEN)
  --------------------------------------------------------------------------- */
  /*
  while (trg.parentNode!=null) { if (!trg.id) trg = trg.parentNode; else break; }
  if (trg.id) {
    var id = trg.id;
    var eltype = id.substr(0,2);
    if (eltype=='an') {
      toggleAngebot(id);
    }
  }
  */
  return;
}
function MOvE(e) {
  var trg = evtGlobal(e);
  if (trg.className) {
    var cn = trg.className;
    if (cn.length>6) {
      if (cn.indexOf('tooltip')>-1) {
        var dynamic = ''
        var tmp = cn.split(' ');
        for (var i=0;i<tmp.length;i++) {
          if (tmp[i].indexOf('dynamic')==0) {
            dynamic = tmp[i];
          }
        }
        //$('#tooltip').css({'left':e.pageX + 10,'top':e.pageY - 58});
        showTooltipDynamic(trg,dynamic);
      } 
    }
  }
  while (trg.parentNode!=null) { if (!trg.id) trg = trg.parentNode; else break; }
  if (trg.id) {
    var id = trg.id;
    var eltype = id.substr(0,2);
    if (eltype=='an') {
      hoverAngebot(trg,1);
    }
  }
}
function MOuE(e) {
  var trg = evtGlobal(e);
  if (trg.className) {
    var cn = trg.className;
    if (cn.length>6) if (cn.indexOf('tooltip')>-1) hideTooltip(); 
  }
  while (trg.parentNode!=null) { if (!trg.id) trg = trg.parentNode; else break; }
  if (trg.id) {
    var id = trg.id;
    var eltype = id.substr(0,2);
    if (eltype=='an') {
      hoverAngebot(trg,0);
    }
  }
}
function TeE(e) {
  var trg = evtGlobal(e);
  if (trg.className) {
    var cn = trg.className;
    if (cn.length>6) if (cn.indexOf('tooltip')>-1) hideTooltip(); 
  }
}

/* -----------------------------------------------------------------------------
   MODELLSEITEN
----------------------------------------------------------------------------- */
var sDiv=null;
window.setInterval("hScroller()",15);
window.setInterval("vScroller()",15);
var vpos=0;
var hpos=0;
var vready=1;
var hready=1;
function setPos(v,h,page_id) {
  if(h)hpos=(h-1)*-697;
  if(v)vpos=(v-1)*-310;
  storage.set(pg_id,h+'x'+v);
  var arrow = d.getElementById('arrow');
  arrow.style.top=((v-1)*107)+314+'px';
  arrow.style.left=((h-1)*87)+35+'px';
  return false;
}
function hScroller() {
  if (hready&&sDiv) {
    hready=0;
    var mypos=hpos;
    var div=sDiv;
    var left=div.style.left;
    if(!left)left=0;
    left=parseInt(left);
    if(mypos<left){
    	var step=(left-mypos)/8;
    	if(step<1.0)step=1;
    	if(step>100)step=100;
      div.style.left=left-step+'px';
    }
    else if (mypos>left) {
      var step=(mypos-left)/8;
    	if(step<1.0)step=1;
    	if(step>100)step=100;
      div.style.left=left+step+'px';
    }
    else {
      div.style.left=mypos+'px';
    }
    hready=1;
  }
  else {
    sDiv=d.getElementById('modelldetails_scroller');
  }
}
function vScroller() {
  if (vready&&sDiv) {
    vready=0;
    var mypos=vpos;
    var div=sDiv;
    var top=div.style.top;
    if(!top)top=0;
    top=parseInt(top);
    if(mypos<top){
    	var step=(top-mypos)/8;
    	if(step<1.0)step=1;
    	if(step>100)step=100;
      div.style.top=top-step+'px';
    }
    else if (mypos>top) {
      var step=(mypos-top)/8;
    	if(step<1.0)step=1;
    	if(step>100)step=100;
      div.style.top=top+step+'px';
    }
    else {
      div.style.top=mypos+'px';
    }
    vready=1;
  }
  else {
    sDiv=d.getElementById('modelldetails_scroller');
  }
}

/* -----------------------------------------------------------------------------
   PARTNERSEITEN / GOOGLE MAPS / KONTAKT
----------------------------------------------------------------------------- */
function gmap(id,lat,lon,zoom) {
  if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById(id));
    map.addControl(new GSmallMapControl());
    map.setCenter(new GLatLng(lat,lon),zoom);
    var point = new GLatLng(lat,lon); 
    map.addOverlay(new GMarker(point));
  }
}
var activePLayer = 0;
var base_layer = 0;
var layerAnim = 0;
//var aActiveLayers = new Array();
function togglePLayers(id,opt,access_type) {
  if(access_type>0) base_layer = access_type; else access_type = 0;
  if (id!=activePLayer&&layerAnim!=1) {
  //if (id==0||aActiveLayers[id]!=1) {  
    for (var i=0;i<pLayers;i++) {
      //if (access_type!=1) {
        if (i==id) {
          activePLayer = i;
          //aActiveLayers[i] = 1;
          if (opt==1) {
            if (pLayerHistory[pLayerHistory.length-1]!=id) {
              pLayerHistory.push(id);
              pLayerScroll.push(getScrollPos());
            }
          }
          else {
            pLayerHistory.push(id);
          }
          if (i>0) {
            d.getElementById('c'+i).style.position='relative';
            //d.getElementById('c'+i).style.top='10px';
            //d.getElementById('c'+i).style.left='10px';
            d.getElementById('c'+i).style.top='-15px';
            d.getElementById('c'+i).style.left='-15px';
            d.getElementById('c'+i).style.zIndex=(500+(pLayerHistory.length*10));
            //alert(base_layer);
            layerAnim = 1;
            if (access_type||base_layer==i) {
              $('#c'+i).show(400, function() { $('#c'+activePLayer); layerAnim = 0; });
            }
            else {
              $('#c'+i).show(400, function() { $('#c'+activePLayer).dropShadow({opacity:0.15}); layerAnim = 0; });
            }
          }
        }
        else {
          if (i>0) {
            //d.getElementById('c'+i).style.position='relative';
            //d.getElementById('c'+i).style.top='10px';
            //d.getElementById('c'+i).style.left='10px';
            //if (opt==0) {
              layerAnim = 1;
              $('#c'+i).removeShadow();
              d.getElementById('c'+i).style.zIndex=500;
              //if (pLayerHistory.length>1) d.getElementById('c'+i).style.display='none'; else $('#c'+i).hide(400);
              $('#c'+i).hide(400, function() { layerAnim = 0; });
            //}
          }
        }
      //}
    }
  }
}
function setLayer(mode,aid,fid,duration,access_type) {
  pLayerHistory.push(mode);
  if (mode==7) {
    var tpl = d.getElementById('c7').firstChild.nextSibling.innerHTML;
    var imgsrc = '';
    var h12 = [];
    var text = [];
    if (d.getElementById('an'+aid)) {
      var cn = d.getElementById('an'+aid).firstChild;
      while (cn!=null) {
        if (cn.nodeName=='IMG') imgsrc = cn.src; else if (cn.nodeName=='H3') h12 = cn.innerHTML.split(/\<br\>/i);
        cn = cn.nextSibling;
      }
      if (h12[1]) h12[1] = h12[1].replace(/<(.*?)>/g,'');
      cn = d.getElementById('ad'+aid).firstChild;
      while (cn!=null) {
        if (cn.nodeName=='P') {
          text = cn.innerHTML.split(/\<br\>/i);
        }
        cn = cn.nextSibling;
      }
      tpl = tpl.replace(/#aid/g, aid);
      tpl = tpl.replace(/#imgsrc/, imgsrc);
      tpl = tpl.replace(/#h1/, h12[0]);
      tpl = tpl.replace(/#h2/, h12[1]);
      if (text.length==3) {
        tpl = tpl.replace(/#details/, text[0]);
        tpl = tpl.replace(/#zeitraum/, text[2]);
      }
      else if (text.length==2) {
        tpl = tpl.replace(/#details/, '');
        tpl = tpl.replace(/#zeitraum/, text[1]);
      }
      tpl = tpl.replace(/#hb/, '<a class="history_back" href="#" onclick="history.go(-1);return false">&laquo; zurück</a>');
      if (access_type==7) d.getElementById('c7').firstChild.innerHTML = tpl; else tpl = tpl.replace(/#hb/, '');
    }
    else {
      d.getElementById('c7').firstChild.innerHTML = d.getElementById('c9').innerHTML;
    }
    togglePLayers(mode,1,access_type);
  }
  else if (mode==8) {
    var subseq = 1;
    var tpl = d.getElementById('c8').firstChild.nextSibling.innerHTML;
    tpl = tpl.replace(/#form_name/, 'RentalForm');
    var von = [];
    var bis = [];
	var fk_anzahl;
	var fk_preis;
	var fk = '';
    var sb_vk;
    var sb_tk;
    var cdw = '';
    if (aid > 0 && d.getElementById('von'+aid)) {
      von = d.getElementById('von'+aid).innerHTML.split('.');
      bis = d.getElementById('bis'+aid).innerHTML.split('.');
	  fk_anzahl = d.getElementById('fk_anzahl'+aid).innerHTML;
      fk_preis = d.getElementById('fk_preis'+aid).innerHTML;  
	  if (d.getElementById('fk'+aid)) fk = d.getElementById('fk'+aid).innerHTML;
      sb_vk = d.getElementById('a_sb_vk'+aid).innerHTML;
      sb_tk = d.getElementById('a_sb_tk'+aid).innerHTML;  
      if (d.getElementById('cdw'+aid)) cdw = d.getElementById('cdw'+aid).innerHTML;
      var von_bis = 'Gültig vom ' + d.getElementById('von'+aid).innerHTML + ' bis ' + d.getElementById('bis'+aid).innerHTML;
      tpl = tpl.replace(/#aid/, aid);
      tpl = tpl.replace(/#fid/, 0);
      tpl = tpl.replace(/#duration/, 0);
      tpl = tpl.replace(/#dp1/, 'datepicker1');
      tpl = tpl.replace(/#dp2/, 'datepicker2');
      tpl = tpl.replace(/#typ/, 'Aktion');
	  tpl = tpl.replace(/#fk_anzahl/, fk_anzahl);
	  tpl = tpl.replace(/#fk_preis/, fk_preis);
      tpl = tpl.replace(/#sb_vk/, sb_vk);
      tpl = tpl.replace(/#sb_tk/, sb_tk);
      var subject = '';
      if (d.getElementById('an'+aid)) {
        var cn = d.getElementById('an'+aid).firstChild;
        while (cn!=null) {
          if (cn.nodeName=='H3') subject = cn.innerHTML;
          cn = cn.nextSibling;
        }
      }
      tmp = subject.split(' EUR');
      tmp2 = tmp[0].split(' ');
      tpl = tpl.replace(/#pr/, tmp2.pop());
      tpl = tpl.replace(/#subject/, subject + '<br />' + cdw + '<br />' + fk + '<br />' + von_bis);
      if (access_type==8) tpl = tpl.replace(/#hb/, '<a class="history_back" href="#" onclick="history.go(-1);return false">&laquo; zurück</a>'); else tpl = tpl.replace(/#hb/, '');
      d.getElementById('c8').firstChild.innerHTML = tpl;
    }
    else if (fid > 0 && duration > 0 && d.getElementById('m_sb_vk'+fid)) {
	  if (d.getElementById('fk'+fid+'_'+duration)) fk = d.getElementById('fk'+fid+'_'+duration).innerHTML;
	  fk_anzahl = d.getElementById('fk_anzahl'+fid+'_'+duration).innerHTML;
      fk_preis = d.getElementById('fk_preis'+fid+'_'+duration).innerHTML;  
      sb_vk = d.getElementById('m_sb_vk'+fid).innerHTML;
      sb_tk = d.getElementById('m_sb_tk'+fid).innerHTML;
      tpl = tpl.replace(/#aid/, 0);
      tpl = tpl.replace(/#fid/, fid);
      tpl = tpl.replace(/#duration/, duration);
      tpl = tpl.replace(/#dp1/, 'datepicker1');
      tpl = tpl.replace(/#dp2/, 'datepicker2');
      tpl = tpl.replace(/#typ/, 'Mietwagen');
	  tpl = tpl.replace(/#fk_anzahl/, fk_anzahl);
	  tpl = tpl.replace(/#fk_preis/, fk_preis);
      tpl = tpl.replace(/#sb_vk/, sb_vk);
      tpl = tpl.replace(/#sb_tk/, sb_tk);
      if (d.getElementById('cdw'+fid)) cdw = d.getElementById('cdw'+fid).innerHTML;
      var nd = d.getElementById('m_'+fid);
      var modell = nd.innerHTML.replace(/<(.*?)>/g,' ');
      for (var i=0;i<duration;i++) {
        nd = nd.nextSibling;
      }
      var preis = nd.firstChild.firstChild.innerHTML;
      tmp = preis.replace('€','');
      tmp = tmp.replace(',-',',00');
      tpl = tpl.replace(/#pr/, tmp);
      var mietdauer = d.getElementById('z_'+duration).innerHTML;
      subject = modell + 'für' + preis.replace('ab', '') + '/' + mietdauer + ' <sup>**</sup><br />' + cdw + fk;
      tpl = tpl.replace(/#subject/, subject);
      if (access_type==8) tpl = tpl.replace(/#hb/, '<a class="history_back" href="#" onclick="history.go(-1);return false">&laquo; zurück</a>'); else tpl = tpl.replace(/#hb/, '');
      d.getElementById('c8').firstChild.innerHTML = tpl;
    }
    else {
      d.getElementById('c8').firstChild.innerHTML = d.getElementById('c9').innerHTML;
      subseq = 0;
    }

    if (subseq) {
      if (aid > 0 && von.length > 1 && bis.length > 1) {
        if ($.browser.name=='msie') {
          setTimeout(function() {
            $('#datepicker1').datepicker({numberOfMonths: 3, showButtonPanel: true, dateFormat: 'dd.mm.yy'});
            $('#datepicker2').datepicker({numberOfMonths: 3, showButtonPanel: true, dateFormat: 'dd.mm.yy'});
            $('#datepicker1').datepicker('option', 'minDate', new Date(von[2], von[1] - 1, von[0]));
            $('#datepicker1').datepicker('option', 'maxDate', new Date(bis[2], bis[1] - 1, bis[0]));
            $('#datepicker2').datepicker('option', 'minDate', new Date(von[2], von[1] - 1, von[0]));
            $('#datepicker2').datepicker('option', 'maxDate', new Date(bis[2], bis[1] - 1, bis[0]));
          },100);
        }
        else {
          $('#datepicker1').datepicker({numberOfMonths: 3, showButtonPanel: true, dateFormat: 'dd.mm.yy'});
          $('#datepicker2').datepicker({numberOfMonths: 3, showButtonPanel: true, dateFormat: 'dd.mm.yy'});
          $('#datepicker1').datepicker('option', 'minDate', new Date(von[2], von[1] - 1, von[0]));
          $('#datepicker1').datepicker('option', 'maxDate', new Date(bis[2], bis[1] - 1, bis[0]));
          $('#datepicker2').datepicker('option', 'minDate', new Date(von[2], von[1] - 1, von[0]));
          $('#datepicker2').datepicker('option', 'maxDate', new Date(bis[2], bis[1] - 1, bis[0]));
        }
      }
      else {
        var heute = new Date();
        var morgen = new Date(Date.parse(heute)+(86400*1000));
        if ($.browser.name=='msie') {
          setTimeout(function() {
            $('#datepicker1').datepicker({numberOfMonths: 3, showButtonPanel: true, dateFormat: 'dd.mm.yy'});
            $('#datepicker2').datepicker({numberOfMonths: 3, showButtonPanel: true, dateFormat: 'dd.mm.yy'});
            $('#datepicker1').datepicker('option', 'minDate', new Date(heute.getYear(), heute.getMonth(), heute.getDate()));
            $('#datepicker2').datepicker('option', 'minDate', new Date(morgen.getYear(), morgen.getMonth(), morgen.getDate()));
          },100);
        }
        else {
          $('#datepicker1').datepicker({numberOfMonths: 3, showButtonPanel: true, dateFormat: 'dd.mm.yy'});
          $('#datepicker2').datepicker({numberOfMonths: 3, showButtonPanel: true, dateFormat: 'dd.mm.yy'});
          $('#datepicker1').datepicker('option', 'minDate', new Date(heute.getYear()+1900, heute.getMonth(), heute.getDate()));
          $('#datepicker2').datepicker('option', 'minDate', new Date(morgen.getYear()+1900, morgen.getMonth(), morgen.getDate()));
        }
      }
    }
    
    togglePLayers(mode,1,access_type);
    setScrollPos(0);
    
  }
}
function getScrollPos() {
  if (typeof window.pageYOffset != 'undefined') {
     return window.pageYOffset;
  }
  else if (typeof document.compatMode != 'undefined' &&  document.compatMode != 'BackCompat') {
     return document.documentElement.scrollTop;
  }
  else if (typeof document.body != 'undefined') {
     return document.body.scrollTop;
  }
  else {
    return 0;
  }
}
function setScrollPos(pos) {
  if (typeof document.compatMode != 'undefined' &&  document.compatMode != 'BackCompat') {
     document.documentElement.scrollTop = pos;
  }
  else if (typeof document.body != 'undefined') {
     document.body.scrollTop = pos;
  }
  else {
    var doNothing = 1;
  }  
} 
function submitRentalRequest(status,params,req) {
  if (!status) {
    var aid = 0;
    var fid = 0;
    var duration = 0;
    var frm = d.forms['RentalForm'];
    var queryArray = [];
    for (var i=0;i<frm.length;i++) {
      if (typeof(frm[i].type)!='undefined'&&frm[i].type!='submit') {
        var fldName = frm[i].name;
        var fldValue = frm[i].value;
        if (fldName=='a') {
          if (fldValue>0) aid = fldValue;
        }
        else if (fldName=='f') {
          if (fldValue>0) fid = fldValue;
        }
        else if (fldName=='d') {
          if (fldValue>0) duration = fldValue;
        }
        else {
          if (frm[i].type=='checkbox') if (frm[i].checked==true) fldValue = '1'; else fldValue = '0'; else fldValue = frm[i].value;
          if (typeof fldValue != 'undefined') {
             if (fldValue.length > 0) {
                fldValue = fldValue.replace(/ /g,'+');
             }
          }
          queryArray.push(fldName+'='+fldValue);
        }
      }
    }
    var ref = storage.get('ref');
    if (ref) queryArray.push('Referrer='+ref.replace(/ /g,'+'));
   
    var callback = submitRentalRequest;
    frm['submit'].disabled=true;
    d.getElementById('ajax_loader').src = '/img/misc/ajax_loader.gif';
    s.sendXMLHttpRequest(1,'/codebehind/partnerseite.asp?q=100-'+aid+'-'+fid+'-'+duration,callback,'',queryArray.join("&"));
  }
  else if (status == 1) {
    //alert(req.responseText);
    if (req.responseText.indexOf('1')==0) {
      var tmp = req.responseText.split('|');
      var markup = '<h1>Das hat geklappt...</h1><h2>Anfrage erfolgreich gespeichert</h2>' +
                   '<p>Vielen Dank für Ihre Reservierungsanfrage:<br />'+
                   tmp[2]+
                   '<br /><br />Wir werden diese unverzüglich bearbeiten.'+
                   '<br /><br />Ihr Team von '+tmp[1]+'</p>';
      d.getElementById('center').innerHTML = markup;
      d.getElementById('ajax_back').style.display = 'none';
    }
    else if (req.responseText.indexOf('-2')==0) {
      var frm = d.forms['RentalForm'];
      frm['submit'].disabled=true;
      d.getElementById('ajax_loader').src = '/img/misc/px.gif';
      alert('Das Angebot hat sich zwischenzeitlich geändert.'+"\n"+'Bitte aktualisieren Sie die Seite und treffen erneut eine Auswahl.');
    }
    else {
      var frm = d.forms['RentalForm'];
      frm['submit'].disabled=false;
      d.getElementById('ajax_loader').src = '/img/misc/px.gif';
      alert('Aufgrund eines unbekannten Fehlers konnte Ihre Anfrage leider nicht übermittelt werden.'+"\n"+'Bitte versuchen Sie es in einigen Minuten erneut oder setzen Sie sich telefonisch mit Ihrem OPEL Rent Partner in Verbindung.');
    }
	}
	else if (status == 2) {
	  return false;
	}
	return false;
}
function submitContactRequest(status,params,req) {
  if (!status) {
    var frm = d.forms['ContactForm'];
    var queryArray = [];
    for (var i=0;i<frm.length;i++) {
      if (typeof(frm[i].type)!='undefined'&&frm[i].type!='submit') {
        var fldName = frm[i].name;
        var fldValue = '';
        if (frm[i].type=='checkbox') if (frm[i].checked==true) fldValue = '1'; else fldValue = '0'; else fldValue = frm[i].value;
        //queryArray.push(fldName+'='+fldValue);
        //fldValue = fldValue.replace(/ /g,'+');
        if (typeof fldValue != 'undefined') {
           if (fldValue.length > 0) {
              fldValue = encodeURIComponent(fldValue);
           }
        }
        queryArray.push(fldName+'='+fldValue);
      }
    }
    var callback = submitContactRequest;
    //frm['submit'].disabled=true;
    d.getElementById('ajax_loader').src = '/img/misc/ajax_loader.gif';
    //alert(queryArray.join("&"));
    s.sendXMLHttpRequest(1,'/kontakt.asp?m=200',callback,'',queryArray.join("&"));
  }
  else if (status == 1) {
    //alert('AJAX:'+req.responseText);
    //return false;
    if (req.responseText.indexOf('1')==0) {
      var markup = '<h1>Das hat geklappt...</h1><h2>Nachricht erfolgreich versendet</h2>' +
                   '<p>Vielen Dank für Ihre Anfrage!<br />'+
                   '<br />Wir werden diese unverzüglich bearbeiten.'+
                   '<br /><br />Ihr OPEL Rent Team</p>';
      d.getElementById('center').innerHTML = markup;
    }
    else {
      var frm = d.forms['ContactForm'];
      //frm['submit'].disabled=false;
      d.getElementById('ajax_loader').src = '/img/misc/px.gif';
      alert('Aufgrund eines unbekannten Fehlers konnte Ihre Nachricht leider nicht versendet werden.'+"\n"+'Bitte versuchen Sie es später erneut.');
    }
	}
	else if (status == 2) {
	  return false;
	}
	return false;
}

/* -----------------------------------------------------------------------------
  ANGEBOTE
----------------------------------------------------------------------------- */
function hoverAngebot(el,etype) {
  if (el) if (!etype) el.style.backgroundColor='#dbdbdb'; else el.style.backgroundColor='#ccc';
}
/*
function toggleAngebot(id) {
  if (d.getElementById('ad'+id.substring(2))) var el = d.getElementById('ad'+id.substring(2));
  if (el) {
    if (el.style.display=='none'||el.style.display=='') {
      el.style.display='block'; 
      var pn = el.previousSibling.previousSibling.firstChild;
      while (pn!=null) {
        if (pn.nodeName == 'A') {
          pn.innerHTML = 'weniger';
          break;
        }
        pn = pn.nextSibling;
      }
    }
    else {
      el.style.display='none';
      var pn = el.previousSibling.previousSibling.firstChild;
      while (pn!=null) {
        if (pn.nodeName == 'A') {
          pn.innerHTML = 'mehr...';
          break;
        }
        pn = pn.nextSibling;
      }
    }
  }
}
*/

/* -----------------------------------------------------------------------------
   KONTAKTDATEN
----------------------------------------------------------------------------- */
function trackContactData(pid, type, purl) {
  var callback = trackContactDataCallback;
  var kd = storage.get('kd_' + pid);
  var isValid = false;
  var arrKd = kd.split(';');
  var dirs = new Array('', '/kontaktdaten/', '/email/', '/vcf/');
  if (type == 1) {
     if (arrKd[0] < 1) {
        arrKd[0] = 1;
        isValid = true;
     }
  }
  else if (type == 2) {
     if (arrKd[0] == 1 && arrKd[1] < 1) {
        arrKd[1] = 1;
        isValid = true;
     }
  }
  else if (type == 3) {
     if (arrKd[0] == 1 && arrKd[2] < 1) {
        arrKd[2] = 1;
        isValid = true;
     }
  }
  if (isValid) {
     kd = arrKd.join(';');
     storage.set('kd_' + pid, kd);
     s.sendXMLHttpRequest(1, dirs[type] + purl, callback,'',''); // '/kontaktclick.asp?p=' + 
  }
  return false;
}

function trackContactDataCallback(status,params,req) {
   if (status == 1) {
      // req.responseText == 1
   }
}

/* -----------------------------------------------------------------------------
   TOOLTIP
----------------------------------------------------------------------------- */
var tooltips = [];
function showTooltipDynamic(el,dynamic)  {
  var tt = d.getElementById('tooltip');
  var markup = el.tooltip;
  tt.innerHTML = markup;
  tt.style.display = 'block';
  if (dynamic=='dynamic1') {
    d.getElementById('m4_mehr').style.color = '#000';
  }
  else if (dynamic=='dynamic2') {
    d.getElementById('m5_mehr').style.color = '#000';
  }
  setTimeout(function() {
    tt.style.display = 'none';
  },1500);    
}
function hideTooltip() {
    var tt = d.getElementById('tooltip');
    tt.style.display = 'none';
    if (d.getElementById('m4_mehr')) d.getElementById('m4_mehr').style.color = '#db7b00';
    if (d.getElementById('m5_mehr')) d.getElementById('m5_mehr').style.color = '#db7b00';
}
function getLeft(el) {
    if (el.offsetParent) {
        return (el.offsetLeft + getLeft(el.offsetParent));
    }
    else {
        return (el.offsetLeft);
    }
}
function getTop(el) {
    if (el.offsetParent) {
        return (el.offsetTop + getTop(el.offsetParent));
    }
    else {
        return (el.offsetTop);
    }
}

/* -----------------------------------------------------------------------------
   STATIONSSUCHE
----------------------------------------------------------------------------- */
function chkModellauswahl() {
  var frm = document.forms['search'];
  var si = frm['modelle'].selectedIndex;
  if (frm['modelle'][si].value==-1) frm['modelle'].value=0;
}
function toggleModellauswahl(p,anim) {
  if (p==1) {
    statusModellauswahl = 1;
    storage.set('statusModellauswahl',1);
    if (anim==1) {
      osanim=1;
      osSetPos(-24);
    }
    else {
      d.getElementById('ortsschild_top').style.top='-24px';
      d.getElementById('ortsschild_top').style.height='96px';
    }
    if (d.getElementById('mit_modellauswahl')) d.getElementById('mit_modellauswahl').style.display='none';
    if (d.getElementById('ohne_modellauswahl')) d.getElementById('ohne_modellauswahl').style.display='block';
  }
  else {
    statusModellauswahl = 0;
    storage.set('statusModellauswahl',0);
     if (anim==1) {
      osanim=1;
      osSetPos(0);
    }
    else {
      d.getElementById('ortsschild_top').style.top='0';
      d.getElementById('ortsschild_top').style.height='72px';
    }
    if (d.getElementById('mit_modellauswahl')) d.getElementById('mit_modellauswahl').style.display='block';
    if (d.getElementById('ohne_modellauswahl')) d.getElementById('ohne_modellauswahl').style.display='none';
  }
  return false;
}
var osDiv=null;
var infoDiv=null;
window.setInterval("osScroller()",15);
var osanim=0;
var ospos;
var osHeight;
var infopos;
if (statusModellauswahl==1) {
  ospos=-24; 
  osHeight=96;
  infopos=-114;
}
else {
  ospos=0;
  osHeight=72;
  infopos=-90;
}
var osready=1;
function osSetPos(v) {
  ospos=v;
  infopos=v-90;
  return false;
}
function osScroller() {
  if (osanim) {
    if (osready&&osDiv) {
      osready=0;
      var mypos=ospos;
      var mypos2=infopos;
      var div=osDiv;
      var div2=infoDiv;
      var top=div.style.top;
      if(!top)top=0;
      top=parseInt(top);
      var top2;
      if (div2) {
        top2=div2.style.top;
        if(!top2)top2=0;
        top2=parseInt(top2);
      }
      if(mypos<top){
      	var step=(top-mypos)/8;
      	if(step<1.0)step=1;
      	if(step>100)step=100;
        div.style.top=top-step+'px';
        var height=parseInt(osHeight+step);
        div.style.height=(height+1)+'px';
        osHeight=height;
      }
      else if (mypos>top) {
        var step=(mypos-top)/8;
      	if(step<1.0)step=1;
      	if(step>100)step=100;
        div.style.top=top+step+'px';
        var height=parseInt(osHeight-step);
        div.style.height=(height+1)+'px';
        osHeight=height;
      }
      else {
        div.style.top=mypos+'px';
      }
      
      if (div2) {
        if(mypos2<top2){
          var step2=(top2-mypos2)/8;
        	if(step2<1.0)step2=1;
        	if(step2>100)step2=100;
          div2.style.top=top2-step2+'px';
        }
        else if (mypos2>top2) {
           var step2=(mypos2-top2)/8;
        	if(step2<1.0)step2=1;
        	if(step2>100)step2=100;
          div2.style.top=top2+step2+'px';
        }
        else {
          div2.style.top=mypos2+'px';
        }
      }
      osready=1;
    }
    else {
      osDiv=d.getElementById('ortsschild_top');
      if (d.getElementById('infoDiv')) infoDiv=d.getElementById('infoDiv');
    }
  }
}
function globalChkNumeric(ev){
  key=(window.event)?ev.keyCode:ev.which;
  if(key==13)globalCheckSearchForm(1,0);
  return true;
}
function globalCheckSearchForm(tp,val) {
  var q;
  var m;
  var modelle;
  if (tp==1) {
    var frm = document.forms['search'];
    q = frm['q'].value;
    m = frm['m'].value;
    modelle = frm['modelle'][frm['modelle'].selectedIndex].value;
  }
  else if (tp==2) {
    q = storage.get('q');
    m = val;
    modelle = m;
    statusModellauswahl = 1;
  }
  else if (tp==3) {
    q = val;
    m = 0;
  }
  storage.set('q',q);
  storage.set('m',m);
  storage.set('modelle',modelle);
  storage.set('statusModellauswahl',statusModellauswahl);
  
  if (tp==1||tp==3) {
    if(!/^([0-9]{5})$|^([a-zA-ZäöüÄÖÜß]{2}.{0,28})$|^([0-9]{5})\s+([a-zA-ZäöüÄÖÜß]{2}.{0,28})$/.test(q)){
    	alert('Bitte geben Sie eine 5-stellige Postleitzahl oder eine Stadt ein!');
    	storage.set('q','');
    	document.forms['search'].q.focus();
    	return false;
    }
  }
  if (tp==1||tp==3||(tp==2&&/^([0-9]{5})$|^([a-zA-ZäöüÄÖÜß]{2}.{0,28})$|^([0-9]{5})\s+([a-zA-ZäöüÄÖÜß]{2}.{0,28})$/.test(q))) {
    storage.set('autostart',1);
  }

  var url_prefix = '';
  var contercanation = '?';
  if(typeof(siteMode)!='undefined') {
    url_prefix = "/index.asp?p="
    contercanation = '&';
  }
  location.href = url_prefix+'/mietwagen/'; //+contercanation+'q='+q+'&m='+m;
}

/* -----------------------------------------------------------------------------
   SOCIAL BOOKMARKING
----------------------------------------------------------------------------- */
function socialBookmarks() {

  var url = encodeURIComponent(location.href);
  var title = encodeURIComponent(document.title);
  var url_prefix = '';
  if(typeof(siteMode)!='undefined') {
    url_prefix = "/index.asp?p="
  }
  var helpPage = url_prefix+'...';
  var iconDir = '/img/social/icons/';
  var iconExt = '.gif';

  var markup = [];
  markup.push('<h3><img src="/img/footer/h3_social_bookmarking.gif" width="171" height="28" alt="Social Bookmarking: Bookmark auf diese Seite setzen" /></h3>');
  
  markup.push('<ul>');
  for (var i in sbm) {
   var p = i.split('|');
   sbm[i] = sbm[i].replace(/{url}/g, url);
   sbm[i] = sbm[i].replace(/{title}/g, title);
	 markup.push('<li><a rel="nofollow" href="'+sbm[i]+'" title="'+p[1]+'" onclick="window.open(this.href);return false" style="background-image:url('+iconDir+p[0]+iconExt+')"></a></li>');
  }
  markup.push('</ul>');
  if (d.getElementById('sb')) d.getElementById('sb').innerHTML = markup.join("\n");
}

/* -----------------------------------------------------------------------------
   GLOBAL FUNCTIONS
----------------------------------------------------------------------------- */
function rf() { 
  return false;
}
function printPage() {
  print();
  return false;
}
function CXMLHttpRequest2() {
  this.XMLHttpTimeout = 45000;
  this.XMLHttpUserAgent = 'XMLHTTP/1.0';
  var XMLHttpStatus = new Array();
  var XMLHttpTimer = new Array();
  
  var xmlf1="Msxml2.XMLHTTP";
  var xmlf2="Msxml3.XMLHTTP";
  var xmlf3="Microsoft.XMLHTTP";
  var XMLHttpFactories = [function () {return new XMLHttpRequest()},function () {return new ActiveXObject(xmlf1)},function () {return new ActiveXObject(xmlf2)},function () {return new ActiveXObject(xmlf3)}];
  
  this.sendXMLHttpRequest = function(rtype,url,callback,params,postdata) {
  	var req = createXMLHTTPObject();
  	if (!req) return;
  	if (!rtype) {
    	var requestID = unixTimestamp() + randomString(8);
    	XMLHttpStatus[requestID] = 0;
    	XMLHttpTimer[requestID] = setTimeout(
        function() {
          if(XMLHttpTimer[requestID])clearTimeout(XMLHttpTimer[requestID]);
          if (XMLHttpStatus[requestID] != 1) {
            XMLHttpStatus[requestID] = 2;
            if (callback) {
              callback(2,params,false);
            }
          }
        },this.XMLHttpTimeout);
    }
  	var method = (postdata) ? "POST" : "GET";
  	if (url.match(/\?/))url+='&';else url+='?';
  	url += 'XMLHttpRequestID='+requestID;
  	if (!rtype)req.open(method,url,true);else req.open(method,url,false)
  	req.setRequestHeader('User-Agent',this.XMLHttpUserAgent);
  	if (postdata)
  		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
  	if (!rtype) {
    	req.onreadystatechange = function () {
    		if (req.readyState != 4) return;
    		if (req.status != 200 && req.status != 304) {
    		  if (this.XMLHttpStatus[requestID] != 1) {
    		    this.XMLHttpStatus[requestID] = 2;
    		    if (callback) {
              callback(2,params,req);
            }
          }
    			return;
    		}
    		if (XMLHttpStatus[requestID] != 2) {
    		  if(XMLHttpTimer[requestID])clearTimeout(XMLHttpTimer[requestID]);
    		  XMLHttpStatus[requestID] = 1;
    		  if (callback) {
    		    callback(1,params,req);
    		  }
    		}
    	}
    	if (req.readyState == 4) return;
    	req.send(postdata);
    }
    else {
      req.send(postdata);
      if (callback) {
  	   callback(1,params,req);
  	  }
    }
  }
  function createXMLHTTPObject() {
  	var xmlhttp = false;
  	for (var i=0;i<XMLHttpFactories.length;i++) {
  		try {
  			xmlhttp = XMLHttpFactories[i]();
  		}
  		catch (e) {
  			continue;
  		}
  		break;
  	}
  	return xmlhttp;
  }
  function unixTimestamp() {
    var jetzt = new Date();
    return jetzt.getTime();
  }
  function randomString(ln) {
    var chars = new Array();
    while(chars.length<ln){
      var num = Math.round(Math.random()*(122-48))+48;;
      if((num>47 && num<58) || (num>65 && num<91) || (num>96 && num<123)){
          chars.push(String.fromCharCode(num));
      }
    }
    return chars.join('');
  }
}


