﻿//<![CDATA[
var currentView='';
var currentPage=1;
var carData=null;
var selElem1='';
var selElem2='';

// format short power string
function formatPowerShort(kwValue, hpValue)
{  
    return (kwValue != '' && hpValue != '') ? kwValue + ' (' + hpValue + ')' : kwValue + hpValue;    
}

// format long power string
function formatPowerLong(kwValue, hpValue)
{
    var kWDefaultText = ' ' + _powerKW;
    var returnString = '';
    
    if (kwValue != '' && hpValue != '')
    {
        returnString = kwValue + kWDefaultText + ' (' + hpValue + _powerShort  + ')';
    }
    else if (kwValue != '')
    {
        returnString = kwValue + kWDefaultText;
    }
    else if (hpValue != '')
    {   
        returnString = hpValue + _powerShort;
    }
    
    return returnString;
}

// declare car object
function Car(imageUrl, imageCaption, detailUrl, panoramaUrl, price, priceDealer, priceVB, mileage, year, kwValue, hpValue, caption, subhead, description, finance, zip, city, dealerLogoUrl, checks, color, make, model, fuel, highlite, articleId, gear, newCar, dealerUrl, showNap, sellerType, usageState, vatDeductible)
{
	this.ArticleId = articleId;
	this.ImageUrl = imageUrl;
	this.ImageCaption = imageCaption;
	this.DetailUrl = detailUrl;
	this.PanoramaUrl = panoramaUrl;
	this.Price = price;
	this.PriceDealer = priceDealer;
	this.PriceVB = priceVB;
	this.Mileage = mileage;
	this.Year = year;
	this.PowerShort = formatPowerShort(kwValue, hpValue);
	this.PowerLong = formatPowerLong(kwValue, hpValue);
	this.Caption = caption;
	this.Subhead = subhead;
	this.Description = description;
	this.Finance = finance;
	this.Zip = zip;
	this.City = city;
	this.DealerLogoUrl = dealerLogoUrl;
	this.Checks = checks;
	this.Color = color.toLowerCase();
	this.Make = make;
	this.Model = model;
	this.Fuel = fuel;
	this.Highlite = highlite;
	this.Gear = gear;
	this.NewCar = newCar;
	this.DealerUrl = dealerUrl;
	this.ShowNap = showNap;
	this.SellerType = sellerType;
	this.UsageState = usageState;
	this.VatDeductible = vatDeductible;
	this.CaptionShort = (caption.length>23 ? caption.substring(0,20)+'...':caption);
}

// common functions
function switchView(newView) {
	if (newView == currentView) {
		return;
    }

	var a, i, atcElem;

	currentView = newView;
	setCookieValue("listpageview", currentView, false);
	
	if (cars.length > 0) {
		showElements();
		showCarsWithJavascript(false);
	}
 
	// Mark selected cars
	a = getCookieValue("atc", "").split("|");
	for (i = 0; i < a.length; i++) {
		atcElem = gE("compare" + a[i]);
		if (atcElem) {
	        atcElem.checked = true;
        }
	}
}

function switchEneView(newView) {

//	if (newView == currentView) {
//		return;
//    }

	var a, i, atcElem;

	currentView = newView;
	setCookieValue("listpageview", currentView, false);
	
	if (cars.length > 0) {
		//showEneElements();
		showCarsWithJavascript(true);
	}

	// Mark selected cars
	a = getCookieValue("atc", "").split("|");
	for (i = 0; i < a.length; i++) {
		atcElem = gE("compare" + a[i]);
		if (atcElem) {
	        atcElem.checked = true;
        }
	}
}

function changeSorting(sel,nr)
{
	var sortDirection,sortField,selCount;
	if (nr==1)
	{
		if (sel=='dir') gE(sortDirection2).selectedIndex=gE(sortDirection1).selectedIndex;
		if (sel=='field') gE(sortField2).selectedIndex=gE(sortField1).selectedIndex;
		if (sel=='items') gE(itemsCount2).selectedIndex=gE(itemsCount1).selectedIndex;
	}
	else
	{
		if (sel=='dir') gE(sortDirection1).selectedIndex=gE(sortDirection2).selectedIndex;
		if (sel=='field') gE(sortField1).selectedIndex=gE(sortField2).selectedIndex;
		if (sel=='items') gE(itemsCount1).selectedIndex=gE(itemsCount2).selectedIndex;
	}
}

function changeTableSorting(newField, newDirection, goFirstPage)
{
	var url=changeUrlParameter(location.href, paramField, newField);
	url=changeUrlParameter(url, paramDirection, newDirection);
	if(goFirstPage)
	{
		url=changeUrlParameter(url, "page" , "1");
	}
	location.href=url;
}

function changeEneTableSorting(newField, newDirection)
{
	var sortField=gE(sortField1);
	var currentSortField = sortField.options[sortField.selectedIndex].value;
	var currentSortDir = (currentSortField.substring(0,1)=="-" ? 1 : 0 );
	if(currentSortDir==1) currentSortField = currentSortField.replace("-","");
	
	if((currentSortField==newField) && (currentSortDir==newDirection)) return;
	
	changeTableSorting(newField, newDirection, true);
}

function changeColTableSorting(newField)
{
	var sortField=gE(sortField1);
	var currentSortField = sortField.options[sortField.selectedIndex].value;
	var currentSortDir = (currentSortField.substring(0,1)=="-" ? 1 : 0 );
	if(currentSortDir==1) currentSortField = currentSortField.replace("-","");
	
	if(currentSortField==newField) 
	{
		currentSortDir = (currentSortDir==1 ? 0 : 1);
	}
	else currentSortDir = 0;
	
	changeTableSorting(newField, currentSortDir, true);
}

function doReloadPage(sortDir, sortField, goFirstPage)
{
	var selCount=gE(itemsCount1);
	var url=changeUrlParameter(location.href, paramItemsCount, selCount.options[selCount.selectedIndex].value);
	if (currentView!='table')
	{
		url=changeUrlParameter(url, paramDirection, sortDir);
		url=changeUrlParameter(url, paramField, sortField);
	}
	if(goFirstPage)
	{
		url=changeUrlParameter(url, "page" , "1");
	}

	location.href=url;
}

function reloadPage()
{
	var sortDir = gE(sortDirection1);
	var sortField = gE(sortField1);
	sortDir = sortDir.options[sortDir.selectedIndex].value;
	sortField = sortField.options[sortField.selectedIndex].value;
	
	doReloadPage(sortDir, sortField, false);
}

function reloadEnePage()
{
	var sortField=gE(sortField1);
	var parField = sortField.options[sortField.selectedIndex].value;
	var sortDir = (parField.substring(0,1)=="-" ? 1 : 0 );
	if(sortDir==1) parField = parField.replace("-","");

	doReloadPage(sortDir, parField, true);		
}

function reloadPageForCountry(dropDownId, countryParam, wholeEuropeValue, defaultCountry,
	zipCountryParam, zipCodeParam, zipRadiusParam, 
	countryChangeParam, trueValue, pageParam,
	zipRemovedParam, messageIdParam, messageTypeParam)
{
	var dropDown = gE(dropDownId);
	var url = location.href;
	var country = dropDown.options[dropDown.selectedIndex].value;
	//search country
	if ((country == null) || (country == wholeEuropeValue))
	{
		url = removeExistingUrlParameter(url, countryParam);
		url = changeUrlParameter(url, zipCountryParam, defaultCountry);
	}
	else
	{
		url = changeMultipleUrlParameter(url, countryParam, country);	//country can be a comma separated list
		if (country.indexOf(',')>-1)
		{
			url = changeUrlParameter(url, zipCountryParam, defaultCountry);
		}
		else
		{
			url = changeUrlParameter(url, zipCountryParam, country);
		}
	}
	//remove zip criteria if present
	var urlBefore = url;
	url = removeExistingUrlParameter(url, zipCodeParam);
	url = removeExistingUrlParameter(url, zipRadiusParam);
	//add some message when zip criteria removed
	if (urlBefore != url)
	{
		url = changeUrlParameter(url, zipRemovedParam, trueValue);
	}
	else
	{
		url = removeExistingUrlParameter(url, zipRemovedParam);
	}
	//always remove user messages
	url = removeExistingUrlParameter(url, messageIdParam);
	url = removeExistingUrlParameter(url, messageTypeParam);
	//additional parameters
	url = changeUrlParameter(url, countryChangeParam, trueValue);
	url = changeUrlParameter(url, pageParam, 1);
	location.href = url;
}

function reloadCustomerArticlePage()
{
	var make=gE(makeList);
	var model=gE(modelList);
	var price=gE(priceList);
	var url=location.href;
	if (make.selectedIndex==0)
		url=removeUrlParameter(url, paramMake);
	else
		url=changeUrlParameter(url, paramMake, make.options[make.selectedIndex].value);
	if (model.selectedIndex==0)
		url=removeUrlParameter(url, paramModel);
	else
		url=changeUrlParameter(url, paramModel, model.options[model.selectedIndex].value);
	if (price.selectedIndex==0) 
		url=removeUrlParameter(url, paramPrice);
	else
		url=changeUrlParameter(url, paramPrice, price.options[price.selectedIndex].value);
	location.href=url;
}

var superBannerPlaceHolder = "divSuperAdPlaceHolder";

// rendering functions
function showCarsWithJavascript(isEneResult)
{
	var objParent,objOut;
	if (BrowserDetect.browser=='Explorer')
	{
		objOut=document.createElement('div');
	}
	else
	{
		removeElements('listOutput');
		objOut=gE('listOutput');
	}
	switch (currentView)
	{
		case 'list':
			objParent=createDiv(objOut, 'relative');
			break;
		case 'table':
			objParent=renderTableHeader(objOut);
			break;
		case 'gallery':
			objParent=createDiv(objOut, 'common-gallery');
			break;
	}

	for (var i=0; i<document.styleSheets.length; i++)
	{
		var ss=document.styleSheets[i];
		if (ss && ss.href && ss.href.indexOf('/search_') > -1)
			if (ss.href.indexOf('/search_detail')==-1)
				ss.disabled=(ss.href.indexOf('search_'+currentView)==-1);
	}

	try
	{
		for (var i=0; i<cars.length; i++)
		{
			switch (currentView)
			{
			    case 'list':
					renderCarsInList(objParent,cars[i],i,isEneResult);
			        try {
			            if (cars.length >= MinListResultsLength && i == (SuperAdPosition - 1)) {
			                var superAdDiv = createDiv(objParent, 'super-ad');
			                superAdDiv.id = superBannerPlaceHolder;
			            }
			        } catch (e) { }
			        break;
				case 'table':   
					renderCarsInTable(objParent,cars[i],i);
					break;
				case 'gallery': 
					renderCarsInGallery(objParent,cars[i]); 
					break;
			}
		}
		if (BrowserDetect.browser=='Explorer')
			gE('listOutput').innerHTML = objOut.innerHTML;
	} catch (e) {}
}

function renderBannerInPlaceHolder(divBanner) 
{
    if (document.getElementById(superBannerPlaceHolder) != null) 
    {
        document.getElementById(superBannerPlaceHolder).appendChild(divBanner);
        divBanner.style.display = 'block';
    } else {
        divBanner.style.display = 'none';
        divBanner.style.paddingBottom = '0px';
        divBanner.style.paddingTop = '0px';
    }
}

function renderCarsInList(parentElem,car,number,isEneResult)
{
	var d0,d1,d2,d3,d4,d5,cb;
	d1=createDiv(parentElem, (car.Highlite ? 'list-item-d' : 'list-item'));
	d0=createDiv(d1, 'car-and-pic');
	d2=createDiv(d0, 'check bg-medium');
	cb=createCheckbox(d2, 'compare'+car.ArticleId);
	if (BrowserDetect.browser=='Explorer')
	{
		cb.onclick='addArticleToCompare("'+car.ArticleId+'")';
	} else {
		cb.onclick=addArticleToCompare;
	}
	d2=createDiv(d0, 'imgCar');
	d3=createDiv(d2, 'pic');
	d4=createAnchor(d3, '', car.DetailUrl, '');
	createImage(d4, '', car.ImageUrl, '');
	d2=createDiv(d0, 'infoCar');
	d3=createDiv(d2, 'lit-menu');
	if (BrowserDetect.browser=='Explorer')
		d3.onclick='location.href="'+car.DetailUrl+'"';
	else
	    d3.onclick = function() { location.href = car.DetailUrl; };
	var numb = car.PriceDealer.match(/\d/g);
	var price = (numb == 0) ? car.Price : car.PriceDealer;
	d4 = createDiv(d3, 'lit-price bg-dark font-item', price);
	var comment = '  ';
	if (car.VatDeductible) {
	    comment = '  ' + _vatDeductible;
	} 
	if (numb != 0) {
	    comment = '  ' + _dealerPrice;
	}
	createSpan(d4, 'lit-price-vat', comment);
	createDiv(d3, 'w1px');
	createDiv(d3, 'lit-km bg-medium', car.NewCar?(car.Fuel.length==0?' ':car.Fuel):car.Mileage+_mileage);
	createDiv(d3, 'w1px');
	createDiv(d3, 'lit-y bg-medium', car.NewCar?(car.Gear.length==0?' ':car.Gear):car.Year);
	createDiv(d3, 'w1px');
	createDiv(d3, 'lit-kw bg-medium', car.PowerLong);
	d3=createDiv(d2, 'lit-cont');
	if(isEneResult) d4=createH2(d3, 'headcar');
	else  d4=createDiv(d3, 'headcar');
	d5=createAnchor(d4, 'LS-big', car.DetailUrl, car.Caption);
	d4=createDiv(d3, 'txt-car');
	if (car.Highlite && car.Subhead) createDiv(d4, 'txt-head', car.Subhead);
	createText(createElement(d4, 'strong'), car.Zip+' '+car.City+' - ');
	var comma='';
	if (car.UsageState)
	{ 
		createText(createElement(d4, 'strong'), car.UsageState);
		comma=', ';
	}
	if (car.Color) 
	{ 
		createText(d4, comma+car.Color);
		comma=', ';
	}
  if (car.Gear)
  {
		createText(d4, comma+car.Gear);
		comma=', ';
	}
	if (!car.NewCar && car.Fuel)
	{
		createText(d4, comma+car.Fuel);
		comma=', ';
	}
	if (car.Description) createText(d4, comma+car.Description);
	createText(createElement(d4, 'strong'), ' » ');
	createAnchor(d4, 'LS-small', car.DetailUrl, _more);
	if (car.SellerType) {
		createElement(d4, 'br');
		createText(d4, car.SellerType);
	}
	d3=createDiv(d2, 'lit-comp');
	d4=createDiv(d3, 'dlogo');
	if (car.DealerUrl) {
		if (clickOnDealerLogo)
		{
			d5=createAnchor(d4, '', car.DealerUrl, '');
			cb=createImage(d5, '', car.DealerLogoUrl, '');
		}
		else
			cb=createImage(d4, '', car.DealerLogoUrl, '');
		cb.title=_dealerLogoTooltip;
	}
	d4=createDiv(d3, 'checks');
	if (car.Checks)
	{
		var checks=car.Checks.split('|');
		for (var i=0;i<checks.length;i++)
		{
			var s=checks[i].split(',');
			if (s.length>=2)
			{
				var url=sealPopup.replace('{0}',s[0]);
			  d5=createAnchor(d4, '', "javascript:void window.open('"+url+"','','width=385,height=500,resizable=1,scrollbars=1')", '');
				if ((typeof(bovagId)!='undefined') && (s[0]==bovagId))
					url=bovagUrl.replace('{0}',bovagId);
				else
					url=sealRoot.replace('{0}',s[0]);
				s.shift();
			  createImage(d5, '', url, s.join());
			}
		}
	}
	if (car.ShowNap)
	{
		d5=createAnchor(d4, '', "javascript:void window.open('"+napPopup+"','','width=385,height=500,resizable=1,scrollbars=1')", '');
		createImage(d5, '', napUrl, '');
	}
	d2=createDiv(d0, 'info-texts');
	d3=createDiv(d2, 'mpics');
	d4=createAnchor(d3, '', car.DetailUrl, '');
	if (car.ImageCaption) createImage(d4, '', '/images/cam.gif', '');
	createText(d4, ' '+car.ImageCaption);
	d3=createDiv(d2, 'panopic');
	if (car.PanoramaUrl)
	{
		createImage(d3, '', urlPano, '');
	}
	createDiv(d2, 'finance', car.Finance);
	if (typeof (_parkCar) == 'string' && _parkCar.length>1)
	{
		d3=createDiv(d2, 'park-car');
		createText(d3, '» ');
		createAnchor(d3, 'LS', urlPark.replace('{0}',car.ArticleId), _parkCar);
	}
}

function renderTableHeader(parentElem)
{
		var tab=document.createElement('table');
		tab.cellspacing=0;
		tab.cellpadding=0;
		tab.border=0;
		tab.className='table-result-search';
		if (parentElem) parentElem.appendChild(tab);
		var actDirection=getUrlParameter(location.href, paramDirection);
		var actField=getUrlParameter(location.href, paramField)
		actField='make';
		try {actField=getUrlParameter(location.href,'sort').substring(5);}catch(e){}
		actDirection=true;
		try {actDirection=(getUrlParameter(location.href,'desc').substring(5)=='0');}catch(e){}
		
		function cA(pE, cap, css, field)
		{
			var td=createCell(pE, css);
			if (actField==field)
			{
				var a=createAnchor(td, '', 'javascript:changeTableSorting("'+field+'","'+(actDirection?'1':'0')+'")', '');
				if (actDirection)
					createImage(a, '', '/images/pfeil_high_unten.gif', '');
				else
					createImage(a, '', '/images/pfeil_high_oben.gif', '');
				createText(a, cap);
			}
			else
			{
				var a=createAnchor(td, '', 'javascript:changeTableSorting("'+field+'","0")', '');
				createImage(a, '', '/images/pfeil_unten.gif', '');
				createText(a, cap);
			}
		}
		
		var tr=createRow(tab, 'table-item-menu');
		createCell(tr, 'tit-check', ' ');
		cA(tr, _makeModel, 'tit-model', 'make');
		createCell(tr, 'tit-cam', ' ');
		createCell(tr, 'tit-color', _color);
		cA(tr, _power, 'tit-kw', 'power');
		cA(tr, _zip, 'tit-plz', 'zip');
		if (cars[0].NewCar)
		{
			cA(tr, _fuel, 'tit-fuel', 'fuel');
		} else {
			cA(tr, _mileage, 'tit-km', 'mileage');
			cA(tr, _ez, 'tit-ez', 'year');
		}
		cA(tr, _price, 'tit-price', 'price');
		createCell(tr, 'tit-price-vat', ' ');
		return tab;
}

function renderCarsInTable(parentElem,car,number)
{
	var tr,td,a,img,cb;
	var css=car.Highlite ? 'table-item-d' : (number % 2 == 0 ? 'table-item' : 'table-item-alt');
	tr=createRow(parentElem, css);
	td=createCell(tr, 'tit-check');
	cb=createCheckbox(td, 'compare'+car.ArticleId);
	if (BrowserDetect.browser=='Explorer')
		cb.onclick='addArticleToCompare("'+car.ArticleId+'")';
	else
		cb.onclick=addArticleToCompare;
	td=createClickableCell(tr, 'tit-model',null,car.DetailUrl);
	a=createAnchor(td, '', car.DetailUrl, car.CaptionShort);
	if (car.Caption != car.CaptionShort)
	{
		a.title=car.Caption;
	}
	td=createClickableCell(tr, 'tit-cam',null,car.DetailUrl);
	if (car.ImageCaption)
	{
		a=createAnchor(td, '', car.DetailUrl, '');
		if (BrowserDetect.browser=='Explorer')
		{
			a.onmouseover='showTooltipIE("'+car.ImageUrl+'")';
			a.onmouseout='hideTooltip()';
		} else {
			a.onmouseover=showTooltip;
			a.onmouseout=hideTooltip;
			a.img=car.ImageUrl;
		}
		img=createImage(a, '', '/images/cam.gif', '');
		img.vspace=5;
	}
	td=createClickableCell(tr, 'tit-color', (car.Color.length>18?car.Color.substring(0,16)+'...':car.Color), car.DetailUrl);
	if (car.Color.length>18) td.title=car.Color;
	createClickableCell(tr, 'tit-kw', car.PowerShort, car.DetailUrl);
	createClickableCell(tr, 'tit-plz', car.Zip, car.DetailUrl);
	if (car.NewCar)
	{
	  var t1=car.Fuel;
	  if (t1.length>20) t1=t1.substring(0,15)+'...';
		td=createClickableCell(tr, 'tit-fuel', t1, car.DetailUrl);
		if (car.Fuel.length>20) td.title=car.Fuel;
	} else {
		createClickableCell(tr, 'tit-km', car.Mileage, car.DetailUrl);
		createClickableCell(tr, 'tit-ez', car.Year, car.DetailUrl);
	}
	var numb = car.PriceDealer.match(/\d/g);
	var price = (numb == 0) ? car.Price : car.PriceDealer;
	createClickableCell(tr, 'tit-price', price, car.DetailUrl);
	var comment = '  ';
	if (car.VatDeductible) {
	    comment = '  ' + _vatDeductible;
	}
	if (numb != 0) {
	    comment = '  ' +  _dealerPrice;
	}
	createClickableCell(tr, 'tit-price-vat', comment, car.DetailUrl);
}

function createClickableCell(tr, cssClass, text, detailUrl)
{
	var td=createCell(tr, cssClass, text);
	if (BrowserDetect.browser=='Explorer')
		td.onclick='location.href="'+detailUrl+'"';
	else
		td.onclick=function(){location.href=detailUrl;};
	return td;
}

function renderCarsInGallery(parentElem,car)
{
	var d1,d2,d3,d4,d5,d6;
	d1=createDiv(parentElem, (car.Highlite ? 'gbox-d' : 'gbox'));
	d2=createDiv(d1, 't');
	if (BrowserDetect.browser=='Explorer')
	{
		d1.onclick='location.href="'+car.DetailUrl+'"';
		d2.onmouseover='showGalleryIE(this)';
		d2.onmouseout='hideGalleryIE(this)';
	}
	else
	{
		d1.onclick=function(){location.href=car.DetailUrl;};
		d2.onmouseover=showGallery;
		d2.onmouseout=hideGallery;
	}
	d3=createDiv(d2, 'im');
	d4=createDiv(d3, 'cm', car.CaptionShort);
	if (BrowserDetect.browser=='Explorer') d4.style.marginTop='11px';
	d4=createDiv(d3, 'ci');
	createImage(d4, '', car.ImageUrl, '');
	var numb = car.PriceDealer.match(/\d/g);
	var price = (numb == 0) ? car.Price : car.PriceDealer;
	var comment = '  ';
	if (car.VatDeductible) {
	    comment = '  ' + _vatDeductible;
	}
	if (numb != 0) {
	    comment = '  ' + _dealerPrice;
	}
	d4 = createDiv(d3, 'cm', price);
	createSpan(d4, '', comment);
	d3=createDiv(d2, 'in');
	d4=createDiv(d3, 'inc');
	d5=createDiv(d4, 'incb');
	d6=createP(d5, 'head');
	if (car.Caption != car.CaptionShort) d6.title=car.Caption;
	createAnchor(d6, 'LS-mandatory', car.DetailUrl, car.CaptionShort);
	createP(d5, 'col1', _radiusGallery);
	createP(d5, 'col2', car.Zip+' '+car.City);
	if (!car.NewCar)
	{
		if (car.Year)
		{
			createP(d5, 'col1', _ezGallery);
			createP(d5, 'col2', car.Year);
		}
		createP(d5, 'col1', _mileageGallery);
		createP(d5, 'col2', car.Mileage+_mileage);
	}
	createP(d5, 'col1', _powerGallery);
	createP(d5, 'col2', car.PowerLong);
	createP(d5, 'col1', _fuelGallery);
	createP(d5, 'col2', car.Fuel);
	if (car.Gear)
	{
		createP(d5, 'col1', _gearGallery);
		createP(d5, 'col2', car.Gear);
	}
	if (car.Color)
	{
		createP(d5, 'col1', _colorGallery);
		createP(d5, 'col2', car.Color);
	}
	if (car.UsageState)
	{
		//createP(d5, 'empty');
		createP(d5, 'col1', car.UsageState);
	}
	d5 = createDiv(d4, 'cm', price);
	if (BrowserDetect.browser=='Explorer') d5.style.paddingTop='1px';
	createSpan(d5, '', '  ' + comment);
	d2=createDiv(d1, 'b');
	createAnchor(d2, 'LS', car.DetailUrl, _moreDetails);
}

function showElements() {
	var lc1 = gE("listCompare1");
	var lc2 = gE("listCompare2");
	var ls1 = gE("listSort1");
	var ls2 = gE("listSort2");

	// Hightlight switch buttons
	if (currentView == "list") {
		selElem1 = capList1;
		selElem2 = capList2;
	}

	if (currentView == "table") {
		selElem1 = capTable1;
		selElem2 = capTable2;
	}

	if (currentView == "gallery") {
		selElem1 = capGallery1;
		selElem2 = capGallery2;
	}

	// Show/hide elements
	try {
		if (lc1) {
			lc1.style.visibility = (currentView == "gallery" ? "hidden" : "");
		}

		if (lc2) {
			lc2.style.visibility = (currentView == "gallery" ? "hidden" : "");
		}

		if (ls1) {
			ls1.style.visibility = (currentView == "table" ? "hidden" : "");
		}

		if (ls2) {
			ls2.style.visibility = (currentView == "table" ? "hidden" : "");
		}
	} 
	catch(e) {
	}
}

// comparing
function addArticleToCompare(id)
{
  if (BrowserDetect.browser!='Explorer') id=id.currentTarget.id.substring(7);
	var c=getCookieValue('atc', '');
	var cb=gE('compare'+id);
  var act=c.split('|');
	if (cb.checked==false)
	{
		//remove
		c='';
		for (var i=0;i<act.length;i++)
		{
			if (act[i]!=id)	c+=(c.length==0 ? '' : '|')+act[i];
		}
	}
	else
	{
		// add
		if (act.length>2)
		{
			// deselect oldest article
			var atcElem=gE('compare'+act[0]);
			if (atcElem) atcElem.checked=false;
			c=c.substring(act[0].length+1);
		}
		c+=(c.length==0 ? '' : '|')+id;
	}
	setCookieValue('atc',c,false);
}

// gallery functions
function showGalleryIE(layerElement) 
{
	try
	{
		layerElement.childNodes.item(0).style.display = 'none';
		layerElement.childNodes.item(1).style.display = 'block';
  }
  catch (e) { }
}

function hideGalleryIE(layerElement) 
{
	try
	{
		layerElement.childNodes.item(1).style.display = 'none';
		layerElement.childNodes.item(0).style.display = 'block';
  }
  catch (e) { }
}

function showGallery(ev)
{
	showGalleryIE(ev.currentTarget);
}

function hideGallery(ev)
{
	hideGalleryIE(ev.currentTarget);
}

function showTooltipIE(imageUrl) 
{
	var tt=gE('docu');
	if (!tt) return;
	tt.innerHTML='<img src="'+imageUrl+'" alt="" style="width:120px;height:90px" />';
	var offX=(document.documentElement ? document.documentElement.scrollLeft : document.body.scrollLeft);
	var offY=(document.documentElement ? document.documentElement.scrollTop : document.body.scrollTop);
	tt.style.left=event.clientX+offX;
	tt.style.top=event.clientY+offY-100;
	tt.style.visibility='visible';
}

function showTooltip(ev)
{
	var tt=gE('docu');
	if (!tt) return;
	var imageUrl=ev.currentTarget.img;
	removeElements('docu');
	var img=createImage(tt, '', imageUrl, '');
	img.style.width='120px';
	img.style.height='90px';
	tt.style.left=ev.pageX+'px';
	tt.style.top=(ev.pageY-100)+'px';
	tt.style.visibility='visible';
}

function hideTooltip() {
	var tt=gE('docu');
	if (tt) tt.style.visibility='hidden';
}
//]]>
