function $(id){ return document.getElementById(id);}
var $$=function(p,q,r){if(document.getElementsByClassName){$$=function(a,b,c){c=c||document;var d=c.getElementsByClassName(a),e=(b)?new RegExp("\\b"+b+"\\b","i"):null,f=[],g;for(var i=0,h=d.length;i<h;i+=1){g=d[i];if(!e||e.test(g.nodeName)){f.push(g)}}return f}}else if(document.evaluate){$$=function(a,b,c){b=b||"*";c=c||document;var d=a.split(" "),f="",g="http://www.w3.org/1999/xhtml",h=(document.documentElement.namespaceURI===g)?g:null,i=[],k,l;for(var j=0,m=d.length;j<m;j+=1){f+="[contains(concat(' ', @class, ' '), ' "+d[j]+" ')]"}try{k=document.evaluate(".//"+b+f,c,h,0,null)}catch(e){k=document.evaluate(".//"+b+f,c,null,0,null)}while((l=k.iterateNext())){i.push(l)}return i}}else{$$=function(a,b,c){b=b||"*";c=c||document;var d=a.split(" "),e=[],f=(b==="*"&&c.all)?c.all:c.getElementsByTagName(b),g,h=[],i;for(var k=0,j=d.length;k<j;k+=1){e.push(new RegExp("(^|\\s)"+d[k]+"(\\s|$)"))}for(var l=0,n=f.length;l<n;l+=1){g=f[l];i=false;for(var m=0,o=e.length;m<o;m+=1){i=e[m].test(g.className);if(!i){break}}if(i){h.push(g)}}return h}}return $$(p,q,r)};
function cl(par,ac,mc){
	var f = top.frames[0].document.forms[0];
	var o = top.frames[0].document.getElementById('trg');
	o.value = par;
	f.pd.value = ac;
	if(mc) f.mc.value = mc;
	f.submit();
}
function cle(par,mc){cl(par,dac,mc);}
function init_h(){
	itm();
	print_hdr();
}
function init_f(){
	fx();
	print_ftr();
	shorten();
}
function itm(){
	var artc=dac;
	var matchval=new RegExp(/\/urlaubsportal\/$/i);
	var loc=window.location.href;
	var src='471151C471S471152CL90PPV';
	if(loc.search(matchval)>0) artc='000';
	var ssl = "687474703A2F2F73736C2E68757272612E64652F547261636B4974";
	var adr = '';
	for(var i=0; i<ssl.length; i=i+2) adr+=String.fromCharCode(parseInt(ssl.substring(i,i+2),16));
	var ph = document.createElement('div');
	ph.innerHTML = '<img src="'+adr+'?tid='+src+'&pd='+artc+'&mc=&ref=[['+ document.referrer+']]&src=[[' + document.location + ']]" alt="" border="0" width="1" height="1" style="position: absolute; top:-20; left: -20;">';
	var bdy = document.getElementsByTagName('body'); bdy = bdy[0];
	bdy.insertBefore(ph,bdy.firstChild);
}
function print_hdr(){
	document.write(''+
	'<div id="w1">'+
	'<div style="position: absolute; top: 45px; left: 755px;">'+
	'<a href="javascript:cle(\'3vi\')"><img src="/urlaubsportal/x0ojmQ/tuev2.gif" alt="" border="0"></a>'+
	'</div>'+
	'	<div class="header">'+
	'		<div id="hdr_lb"></div>'+
	'		<ul id="hdr_t_lnks">'+
	'			<li class="first"></li>'+
	'			<li class="item"><a href="javascript:cle(\'3yx\')">Community</a></li>'+
	'			<li class="item"><a href="javascript:cle(\'3sC\')">Hilfe & Tipps</a></li>'+
	'			<li class="item"><a href="javascript:cle(\'40D\')">Newsletter bestellen</a></li>'+
	'			<li class="last"></li>'+
	'		</ul>'+
	'		<iframe id="ifr" src="/urlaubsportal/x0ojmQ/search.html" scrolling="no" frameborder="0" border="0"></iframe>'+
	'		<div class="cl"></div><div id="hdr_menu">'+
	'			<ul id="h_menu_l1">'+
	'				<li class="nav_home"><a href="javascript:cle(\'8\')"><span><span></span></span></a></li>'+
	'				<li class="off nav_item" onmouseover="rol(this);" onmouseout="rol(this);"><a href="javascript:cle(\'3sW\')"><span><span></span>Last Minute & mehr</span></a>'+
	'					<ul class="h_menu_l2">'+
	'						<li><a href="javascript:cle(\'3sE\')">Last Minute</a></li>'+
	'						<li><a href="javascript:cle(\'40v\')">All Inclusive</a></li>'+
	'						<li><a href="javascript:cle(\'40s\')">Charterfl&uuml;ge</a></li>'+
	'						<li><a href="javascript:cle(\'40f\')">Bis 299 &euro;</a></li>'+
	'						<li><a href="javascript:cle(\'40c\')">Eigene Anreise</a></li>'+
	'						<li><a href="javascript:cle(\'40i\')">Nur Hotel</a></li>'+
	'						<li><a href="javascript:cle(\'3Jr\')" >Kreuzfahrten</a></li>'+
	
	'					</ul>'+
	'				</li>'+
	'				<li class="off nav_item" onmouseover="rol(this);" onmouseout="rol(this);"><a href="javascript:cle(\'3sG\')"><span><span></span>Pauschalreisen</span></a>'+
	'					<ul class="h_menu_l2">'+
	'						<li><a href="javascript:cle(\'3tb\')">Flugreisen</a></li>'+
	'						<li><a href="javascript:cle(\'40n\')">Familienurlaub</a></li>'+
	'						<li><a href="javascript:cle(\'40L\')">All Inclusive Urlaub</a></li>'+
	'						<li><a href="javascript:cle(\'40m\')">Rundreisen</a></li>'+
	'						<li><a href="javascript:cle(\'40O\')">Kreuzfahrten inkl. Flug</a></li>'+
	'						<li><a href="javascript:cle(\'3tg\')">Villen inkl. Flug</a></li>'+
	'					</ul>'+
	'				</li>'+
	'				<li class="off nav_item" onmouseover="rol(this);" onmouseout="rol(this);"><a href="javascript:cle(\'3AI\')"><span><span></span>Kurz- & St&auml;dtereisen</span></a>'+
	'					<ul class="h_menu_l2">'+

	'						<li><a href="javascript:cle(\'3AH\')">Flug & Hotel</a></li>'+
	'						<li><a href="javascript:cle(\'3AG\')">Flug & Hotel & Mietwagen</a></li>'+
	'						<li><a href="javascript:cle(\'40z\')">Hotel inkl. Bahnfahrt</a></li>'+
	'						<li><a href="javascript:cle(\'3t7\')">Nur Hotel</a></li>'+
	'					</ul>'+
	'				</li>'+
	'				<li class="off nav_item" onmouseover="rol(this);" onmouseout="rol(this);"><a href="javascript:cle(\'3td\')"><span><span></span>Flug</span></a>'+
	'					<ul class="h_menu_l2">'+
	'						<li><a href="javascript:cle(\'40N\')">Charterfl&uuml;ge</a></li>'+
	'						<li><a href="javascript:cle(\'3sM\')">Fly & Drive</a></li>'+
	'					</ul>'+
	'				</li>'+
	'				<li class="off nav_item" onmouseover="rol(this);" onmouseout="rol(this);"><a href="javascript:cle(\'40x\')"><span><span></span>Hotel</span></a>'+
	'					<ul class="h_menu_l2">'+
	'						<li><a href="javascript:cle(\'3te\')">Stadthotels</a></li>'+
	'						<li><a href="javascript:cle(\'40r\')">Ferienhotels</a></li>'+
	'						<li><a href="javascript:cle(\'40t\')">Eigene Anreise</a></li>'+
	'						<li><a href="javascript:cle(\'4aw\')">Hotels inkl. Skipass</a></li>'+
	'						<li><a href="javascript:cle(\'40y\')">Wellnesshotels</a></li>'+
	'						<li><a href="javascript:cle(\'40e\')">Schlosshotels</a></li>'+
	'						<li><a href="javascript:cle(\'40u\')">Luxushotels</a></li>'+
	'						<li><a href="javascript:cle(\'40k\')">Golfhotels</a></li>'+
	'						<li><a href="javascript:cle(\'3sK\')">Romantik- und Gourmethotels</a></li>'+
	'					</ul>'+
	'				</li>'+
	'				<li class="off nav_item" onmouseover="rol(this);" onmouseout="rol(this);"><a href="javascript:cle(\'3th\')"><span><span></span>Mietwagen</span></a>'+
	'					<ul class="h_menu_l2">'+
	'						<li><a href="javascript:cle(\'3t5\')">CarDelMar</a></li>'+
	'					</ul>'+
	'				</li>'+
	'				<li class="off nav_item" onmouseover="rol(this);" onmouseout="rol(this);"><a href="javascript:cle(\'3sU\')"><span><span></span>Ferienh&auml;user</span></a>'+
	'					<ul class="h_menu_l2">'+
	'						<li><a href="javascript:cle(\'3sI\')">Ferienh&auml;user</a></li>'+
	'						<li><a href="javascript:cle(\'40E\')">Ferienwohnungen</a></li>'+
	'						<li><a href="javascript:cle(\'40J\')">Ferienwohnungen in Kroatien</a></li>'+
	'						<li><a href="javascript:cle(\'40g\')">Finca in Spanien</a></li>'+
	'						<li><a href="javascript:cle(\'40o\')">Agriturismo in Italien</a></li>'+
	'						<li><a href="javascript:cle(\'40j\')">Pousadas in Portugal</a></li>'+
	'						<li><a href="javascript:cle(\'3sL\')">Villen inkl. Flug</a></li>'+
	'					</ul>'+
	'				</li>'+
	'				<li class="off nav_item" onmouseover="rol(this);" onmouseout="rol(this);"><a href="javascript:cle(\'40I\')"><span><span></span>Sonderangebote</span></a>'+
	'					<ul class="h_menu_l2">'+
	'						<li><a href="javascript:cle(\'3VO\')">T&uuml;rkei All-inclusive</a></li>'+
	'						<li><a href="javascript:cle(\'4ax\')">Weihnachtsferien</a></li>'+
	'						<li><a href="javascript:cle(\'45-\')">G&uuml;nstig auf die Kanaren</a></li>'+
	'						<li><a href="javascript:cle(\'3sN\')">Top bewertete Hotels</a></li>'+
	'						<li><a href="javascript:cle(\'3BO\')">Weihnachtsshopping</a></li>'+
	'					</ul>'+
	'				</li>'+
	'			</ul>'+
	'			<ul id="h_smenu">'+
	//'			<li><a href="javascript:cle(\'40M\')">Familienurlaub-Spezial</a></li>'+
	//'		    	<li><a href="javascript:cle(\'3O1\')">Reiseziele entdecken</a></li>'+
	'			</ul>'+
	'		</div>'+
	'	</div>'+
	
	'');
}
function swm(o){
	if(o.className=='nav_item hover') o.className = 'nav_item'; else o.className = 'nav_item hover';
}
function print_ftr(){
	document.write(''+
	'	<div class="footer cl">'+
	'		<div id="flnks">'+
				'<a href="javascript:cle(\'40H\')">Über uns</a> | '+
				'<a href="javascript:cle(\'40l\')">Tiefpreisgarantie</a> | '+
				'<a href="javascript:cle(\'40F\')">ferien.de AGB</a> | '+
				'<a href="javascript:cle(\'40B\')">Veranstalter AGB</a> | '+
				'<a href="javascript:cle(\'3sC\')">Hilfe/FAQ</a> | '+
				'<a href="javascript:cle(\'40C\')">Kontakt & Feedback</a> | '+
				'<a href="javascript:cle(\'40p\')">Impressum</a>'+
				'<br>'+
				'<a href="javascript:cle(\'40P\')">Datenschutz</a> | '+
				'<a href="javascript:cle(\'40D\')">Newsletter</a> | '+
				'<a href="javascript:cle(\'40G\')">Karriere</a> | '+
				'<a href="javascript:cle(\'40d\')">Presse</a> | '+
				'<a href="javascript:cle(\'40q\')">Werbung auf ferien.de</a> | '+
				'<a href="javascript:cle(\'40K\')">Reise Klicktipps</a>'+
	'		</div>'+
	'		<div id="flogos"><table><tr>'+
				'<td style="width:388px;"><a href="javascript:cle(\'3vi\')"><img src="/urlaubsportal/x0ojmQ/tuv.gif" alt="" border="0"></a></td>'+
				'<td style="width:244px;"><a href="javascript:cle(\'3vh\')"><img src="/urlaubsportal/x0ojmQ/iata.gif" alt="" border="0" style></a></td>'+
				'<td><a href="javascript:cle(\'3vj\')"><img src="/urlaubsportal/x0ojmQ/drv.gif" alt="" border="0"></a></td>'+
	'		</tr></table></div>'+
	'		<div id="fdisc">&copy; 2011 ferien.de - Clever buchen! Alle Rechte vorbehalten.</div>'+
	'	</div>'+
	'</div>'+
	'');
	if($('e404')){
		tmp=$('e404').innerHTML;
		$('e404').innerHTML = '<a href="javascript:cle(\'8\')" rel="nofollow">'+tmp+'</a>';
	}
}
function fx(){
	var ims = $$('fxm','img',null);
	for(i=0; i<ims.length; i++){
		//fix screwed rules
		if(ims[i].src.search(/\/_im\d\//)>-1) ims[i].src = ims[i].src.replace(/\/_im\d\//,'/_tim/');
		//end fix
		if(ims[i].id){
			var prs = ims[i].id.split('|');

			var ln = document.createElement('div');
			var cn = false;
			ln.className='pricebox';
                
			var l1=l2=l3='';
			if(prs[1]!=='0') l1='javascript:cl(\''+prs[1]+'\',\''+prs[5]+'\''+(prs[6]?','+prs[6]:'')+')';
			if(prs[2]!=='0') l2='javascript:cl(\''+prs[2]+'\',\''+prs[5]+'\''+(prs[6]?','+prs[6]:'')+')';
			if(prs[3]!=='0') l3='javascript:cl(\''+prs[3]+'\',\''+prs[5]+'\''+(prs[6]?','+prs[6]:'')+')';
			
			if(prs[1]!=='0') {ims[i].parentNode.href=l1;}
			else if(prs[2]!=='0') {ims[i].parentNode.href=l2;}
			else {ims[i].parentNode.href=l3;}
			
			if(prs[0]=='m' || prs[0]=='1'){
				if(prs[1]!=='0') {ln.innerHTML += '<a href='+l1+' class="go"><span>Zur Buchung</span></a>';}
				if(prs[2]!=='0') {ln.innerHTML += '<a href='+l2+' class="go"><span>Online-Buchung Pauschal</span></a>';}
				if(prs[3]!=='0') {ln.innerHTML += '<a href='+l3+' class="go"><span>alternative Hotels</span></a>';}
				if(prs[0]=='m'){
					cn = ln.cloneNode(true);
					cn.className += ' right';
				}
			}else{
				if(prs[1]!=='0') {ln.innerHTML += '<a href='+l1+' class="go">Zur Buchung</a>';}
				if(prs[2]!=='0') {ln.innerHTML += '<a href='+l2+' class="go">Online-Buchung Pauschal</a>';}
				if(prs[3]!=='0') {ln.innerHTML += '<a href='+l3+' class="go">alternative Hotels</a>';}
			}
			var itm=ims[i].parentNode.parentNode;
			var de=$$('descr',null,itm);de=de[0];
			itm.insertBefore(ln,de.nextSibling);
			if(cn) $('m_descr').insertBefore(cn,$('m_descr').lastChild);
		}
	}
}
function rol(a){
	a.className = a.className == 'on nav_item' ? 'off nav_item' : 'on nav_item'; 
}

function shorten(){
	var what = $("m_descr");
	if(what && what.scrollHeight>130){
		var a = '<div class="push"></div><a onclick="javascript:slide(this);" class="switch"></a>';
		what.innerHTML = '<div id="r1" class="hide">' + a + what.innerHTML +'</div>';
	}
	var what2 = $("m_descr2");
	if(what2 && what2.scrollHeight>130){
		var a = '<div class="push"></div><a onclick="javascript:slide(this);" class="switch"></a>';
		what2.innerHTML = '<div id="r2" class="hide">' + a + what2.innerHTML +'</div>';
	}
}
/*content (un)reveal*/
var timerlen = 5;
var slideAniLen = 500;
var standByH = 130;
var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var strHeight = new Array();
var moving = new Array();
var dir = new Array();

function slide(tobj){
	objname = tobj.parentNode.id;
	if(moving[objname]) return;
	moving[objname] = true;
	dir[objname] = tobj.parentNode.className=='hide'?'down':'up';
	startslide(objname);
}

function startslide(objname){
	obj[objname] = $(objname);
	endHeight[objname] = dir[objname]=='down' ? obj[objname].scrollHeight : standByH;
	strHeight[objname] = dir[objname]=='down' ? standByH : obj[objname].scrollHeight;
	startTime[objname] = (new Date()).getTime();
	if(dir[objname] == 'down') obj[objname].style.height = (obj[objname].clientHeight+1)+'px';
	timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);
}

function slidetick(objname){
	var elapsed = (new Date()).getTime() - startTime[objname];
	if (elapsed > slideAniLen) endSlide(objname);
	else {
		var d =Math.round((dir[objname]=='down' ? (standByH+1) :  0 ) + elapsed / slideAniLen * (dir[objname]=='down' ? endHeight[objname] - (standByH+1) : strHeight[objname]));
		if(dir[objname] == 'up'){
			d = obj[objname].clientHeight - d;
			if(d<=standByH) d=standByH;
		}
		obj[objname].style.height = d + 'px';
	}
	return;
}

function endSlide(objname){
	clearInterval(timerID[objname]);
	obj[objname].className = dir[objname]=='down' ? 'show' : 'hide';
	obj[objname].style.height = endHeight[objname] + 'px';
	delete(moving[objname]);
	delete(timerID[objname]);
	delete(startTime[objname]);
	delete(endHeight[objname]);
	delete(obj[objname]);
	delete(dir[objname]);
	return;
}

