/*functions.js*/

var bidopen 			= new Array();
var MaxCompareCol 		= 3;
var UsedCompareCols 	= new Array();
var setBookmarks 		= false;
var CompareModeActive 	= false;
var hiddforopenallbids 	= false;


function bidbookmark(formular,mode,bookmarkid,bidid)
{
	document.getElementById('bmode').value = mode;
	document.getElementById('bookmark').value = bookmarkid;
	document.getElementById('bidid').value = bidid;
	formular.form.submit();
}

function openbid(divID, button)
{
	if(!bidopen[divID])
		bidopen[divID] = false;
	
	if(bidopen[divID])
	{
		Effect.BlindUp(divID,{ duration: 0.2 } );
		button.innerHTML = 'Angebote anzeigen';
		bidopen[divID] = false;
	}
	else
	{
		Effect.BlindDown(divID,{ duration: 0.2 });
		button.innerHTML = 'Angebote ausblenden';
		bidopen[divID] = true;
	}
}


function openbid2(divID, button, counter_bid)
{
	if(!bidopen[divID])
		bidopen[divID] = false;
	
	if(bidopen[divID])
	{
		Effect.BlindUp(divID,{ duration: 0.2 } );
		if(document.getElementById('header_' + divID) != null)
			document.getElementById('header_' + divID).style.display = 'none';
		button.src="/images/listplus.gif";
		
		if(document.getElementById('tip_' + divID) != null)
			document.getElementById('tip_' + divID).innerHTML = 'Angebote anzeigen - ' + counter_bid + ' Angebote vorhanden';
		else	
			button.alt = 'Angebote anzeigen - ' + counter_bid + ' Angebote vorhanden';
		
		bidopen[divID] = false;
	}
	else
	{
		Effect.BlindDown(divID,{ duration: 0.2 });
		if(document.getElementById('header_' + divID) != null)
			document.getElementById('header_' + divID).style.display = 'block';
		button.src="/images/listminus.gif";
		
		if(document.getElementById('tip_' + divID) != null)
			document.getElementById('tip_' + divID).innerHTML = 'Angebote ausblenden - ' + counter_bid + ' Angebote vorhanden';
		else	
			button.alt = 'Angebote ausblenden - ' + counter_bid + ' Angebote vorhanden';

		bidopen[divID] = true;
		closeopenbids(divID);
	}
}

function closeopenbids(divID,opclose)
{
	if(opclose == 'undefined')
		opclose = false;
	
	if(!opclose)
	{
		for (c in bidopen)
		{
			if(bidopen[c] == true && c != divID)
			{
				var arra = c.split("_");
				
				Effect.BlindUp(c,{ duration: 0.2 } );
				if(document.getElementById('header_' + c) != null)
					document.getElementById('header_' + c).style.display = 'none';
				
				var altalts = document.getElementById('button_' + arra[1]).alt.split('-');
				
				document.getElementById('button_' + arra[1]).alt = 'Angebote anzeigen -' + altalts[1];
				document.getElementById('button_' + arra[1]).src = '/images/listplus.gif';
				
				bidopen[c] = false;
			}
		}
	}
	else
	{
		var elements;
		if(document.all)
			elements=document.all;
		else if(document.getElementsByTagName && !document.all)
			elements=document.getElementsByTagName("*");
			
		for(c = 0; c < elements.length; c++)
		{
			if(elements[c].getAttribute("id"))
			{
				if(elements[c].getAttribute("id").substr(0,3) == 'bid' && elements[c].getAttribute("id") != divID)
				{
					var id = elements[c].getAttribute("id");
					var arra = id.split("_");
				
					Effect.BlindUp(id,{ duration: 0.2 } );
					if(document.getElementById('header_' + id) != null)
						document.getElementById('header_' + id).style.display = 'none';
					
					var altalts = document.getElementById('button_' + arra[1]).alt.split('-');
					
					document.getElementById('button_' + arra[1]).alt = 'Angebote anzeigen -' + altalts[1];
					document.getElementById('button_' + arra[1]).src = '/images/listplus.gif';
					
					bidopen[id] = true;
				}
			}
		}	
	}
}

function openallbids(show)
{
	
	if(show == 'undefined')
		show = true;
	
	var elements;
	if(document.all)
		elements=document.all;
	else if(document.getElementsByTagName && !document.all)
		elements=document.getElementsByTagName("*");
    
    
	var moreDIV = document.getElementById('morediv');
	var lessDIV = document.getElementById('lessdiv');

	if(moreDIV)
		moreDIV.style.display = hiddforopenallbids ? 'block' : 'none'; 
	if(lessDIV)
		lessDIV.style.display = !hiddforopenallbids ? 'block' : 'none'; 
	
    if(!show)
    {
    	var display = 'none';
    	// document.getElementById('openallbid').value = 'Alles öffnen';
    	hiddforopenallbids = false;
    }
    else
    {
    	var display = 'block';
    	// document.getElementById('openallbid').value = 'Alles schließen';
    	hiddforopenallbids = true;
    }
    
    //alert(elements['button_51'].getAttribute("id").substr(0,7)+' <=');
    
	for(c = 0; c < elements.length; c++)
	{
		if(elements[c].getAttribute("id"))
		{
			if(elements[c].getAttribute("id").substr(0,3) == 'bid' || elements[c].getAttribute("id").substr(0,6) == 'header')
			{
				elements[c].style.display = display;
				
				if(elements[c].getAttribute("id").substr(0,3) == 'bid')
				{
					
					if(!bidopen[elements[c].getAttribute("id")])
						bidopen[elements[c].getAttribute("id")] = false;
					
					if(hiddforopenallbids)
					{
						bidopen[elements[c].getAttribute("id")] = (!show ? false : true);
					}
					else
					{
						bidopen[elements[c].getAttribute("id")] = (!show ? true : false);
					}
				}
			}
			else
			{
				if(elements[c].getAttribute("id").substr(0,6) == 'button')
				{
					
					var alttexts = elements[c].alt.split('-');
					
					if(hiddforopenallbids)
					{
						elements[c].src = '/images/listminus.gif';
						elements[c].alt = 'Angebote ausblenden -' + alttexts[1];
					}
					else
					{
						elements[c].src = '/images/listplus.gif';
						elements[c].alt = 'Angebote anzeigen -' + alttexts[1];
					}
				}
				
			}
		}
	}
}

function closedbid(divID, button, counter_bid)
{
	if(!bidopen[divID])
		bidopen[divID] = false;
	
	if(bidopen[divID])
	{
		$('#' + divID).show();
		//Effect.BlindDown(divID,{ duration: 0.2 });
		//Effect.BlindDown('header_' + divID,{ duration: 0.2 } );
		if(document.getElementById('header_' + divID) != null)
			document.getElementById('header_' + divID).style.display = 'block';
		button.src="/images/listminus.gif";
		button.alt = 'Angebote ausblenden - ' + counter_bid + ' Angebote vorhanden';
		bidopen[divID] = false;
		
		closeopenbids(divID,true);
	}
	else
	{
		$('#' + divID).hide();
		Effect.BlindUp(divID,{ duration: 0.2 } );
		//Effect.BlindUp('header_' + divID,{ duration: 0.2 } );
		if(document.getElementById('header_' + divID) != null)
			document.getElementById('header_' + divID).style.display = 'none';
		button.src="/images/listplus.gif";
		button.alt = 'Angebote anzeigen - ' + counter_bid + ' Angebote vorhanden';
		bidopen[divID] = true;
	}
}

function getCompareColor(value)
{
	if(value == '')
		return '#000000';
	else if(value == '1')
		return '#00a000'; // '#006100';
	else
		return '#cc0000';	
}


function selectBid(requestid,bidid)
{
	if(bidsLocked)
		return false;
	if(lockedBidIDs[bidid])
		return false;

	if(UsedCompareCols.length > 0)
	{
		if(UsedCompareCols[0] != bidid)
		{
			var cb = document.getElementById("checkbox_" + 0 + "_0").checked = false;
			LockCompareBid(cb, 0);
		}
	}
	
	for(var i=0;i<UsedCompareCols.length;i++)
	{
		if(UsedCompareCols[i] == bidid)
		{
			var cb = document.getElementById("checkbox_" + i + "_0");
			cb.checked = !cb.checked;
			
			if(setBookmarks == true)
			{
				// alert('AJAX '+bidid);
				setCompareBookmark(requestid,cb);
			}
			
			if(cb.checked || (i<CompareCol))
			{
				LockCompareBid(cb, i);
			}
			
			// checkSelectBidBtn();
			return true;
		}	
	}
		
	//checkSelectBidBtn();	
	return false;
}

function closeBid(bidid)
{
	if(bidsLocked)
		return false;
	
	// CompareModeActive = false;
	if(CompareCol >= MaxCompareCol)
		return false;

	for(var i=0;i<UsedCompareCols.length;i++)
		if((UsedCompareCols[i] == bidid) && (i<CompareCol))
			return false;

	// Marker ausblenden
	if( (UsedCompareCols[CompareCol] > 0) && (document.getElementById("imgchecked_"+UsedCompareCols[CompareCol])))
		document.getElementById("imgchecked_"+UsedCompareCols[CompareCol]).style.display = "none";
	// Spalte ausblenden
	if(document.getElementById("compare_block_"+CompareCol))
		 document.getElementById("compare_block_"+CompareCol).style.display = "none";
	
	UsedCompareCols[CompareCol] = 0;

	// checkSelectBidBtn();
}

function checkSelectBidBtn()
{
	var btn = document.getElementById("btnselectbids");
	if(btn)
	{
		for(var i=0;i<UsedCompareCols.length;i++)
			if(UsedCompareCols[i]>0)
			{
				var cb = document.getElementById("checkbox_" + i + "_0");
				if(cb.checked)
				{
					btn.style.display = "inline";
					return true;
				}
			}		
	 	btn.style.display = "none";
	}
	return false;
}

function compareBid(bidid)
{	
	if(bidsLocked)
		return false;
	
	CompareModeActive = true;

	if(CompareCol >= MaxCompareCol)
	{
		// alert("Sie können maximal " + MaxCompareCol + " Gebote vergleichen.")
		return false;
	}

	for(var i=0;i<UsedCompareCols.length;i++)
		if((UsedCompareCols[i] == bidid) && (i<CompareCol))
		{
			//UsedCompareCols[CompareCol] = 0;
			MoveCompareBid(CompareCol);
			return false;
		}

	// alten Marker ausblenden
	if( (UsedCompareCols[CompareCol] > 0) && (document.getElementById("imgchecked_"+UsedCompareCols[CompareCol])))
		document.getElementById("imgchecked_"+UsedCompareCols[CompareCol]).style.display = "none";

	UsedCompareCols[CompareCol] = bidid; // true;
	
	// neuen Marker einblenden
	if(document.getElementById("imgchecked_"+bidid))
		document.getElementById("imgchecked_"+bidid).style.display = "block";
	
	// Spalte einblenden
	if(document.getElementById("compare_block_"+CompareCol))
		 document.getElementById("compare_block_"+CompareCol).style.display = "block";
	
	// Checkbox-Zeile einblenden
	if(document.getElementById("compare_title"))
	 	document.getElementById("compare_title").style.display = "block";
	if(document.getElementById("createbid_title"))
		document.getElementById("createbid_title").style.display = "block";
	
	if(document.getElementById("rating_" + CompareCol))
		document.getElementById("rating_" + CompareCol).innerHTML = bidContainer[bidid]['rating'];
	
	for(var i=0;i<attributes.length;i++)
	{
		// attributes[i]==0 --> checkbox
		if(attributes[i]==0 && document.getElementById("compare_" + CompareCol + "_0"))
		{
			document.getElementById("compare_" + CompareCol + "_0").style.display = "block";
			if(document.getElementById("checkbox_" + CompareCol + "_0"))
			{
				document.getElementById("checkbox_" + CompareCol + "_0").value = bidid;
				document.getElementById("checkbox_" + CompareCol + "_0").checked = false;
				document.getElementById("checkbox_" + CompareCol + "_0").style.display = "inline";
			}
		}
		else if(document.getElementById("compare_" + CompareCol + "_" + attributes[i]))
		{
			if(bidContainer[bidid][attributes[i]])
			{
				if(bidContainer[bidid][attributes[i]][4] && bidContainer[bidid][attributes[i]][5] && bidContainer[bidid][attributes[i]][6] && bidContainer[bidid][attributes[i]][7])
				{
					document.getElementById("compare_" + CompareCol + "_" + attributes[i]).style.textAlign = 'left';
					document.getElementById("compare_" + CompareCol + "_" + attributes[i]).innerHTML   = '<a title="' + bidContainer[bidid][attributes[i]][0] + '" rel="lightbox" href="/dynimages/' + bidContainer[bidid][attributes[i]][7] + '"><img style="border: 1px solid #000000;width:' +bidContainer[bidid][attributes[i]][5]+ 'px;height:'+bidContainer[bidid][attributes[i]][6]+'px;" src="/dynimages/' + bidContainer[bidid][attributes[i]][4] + '">';
					document.getElementById("compare_" + CompareCol + "_" + attributes[i]).style.color = getCompareColor(bidContainer[bidid][attributes[i]][1]);
				}
				else if(bidContainer[bidid][attributes[i]][0])
				{
					// Wenn numerisch...
					if(bidContainer[bidid][attributes[i]][9] == 'N')
					{
						document.getElementById("compare_" + CompareCol + "_" + attributes[i]).innerHTML   = numform(bidContainer[bidid][attributes[i]][0]) + " " + bidContainer[bidid][attributes[i]][8];
						document.getElementById("compare_" + CompareCol + "_" + attributes[i]).style.textAlign = 'right';
					}
					else if(bidContainer[bidid][attributes[i]][9] == 'L')
					{
						$("#compare_" + CompareCol + "_" + attributes[i]).html(bidContainer[bidid][attributes[i]][10] + ' <img style="height: 13px;" src="/images/ok.gif">');
						$("#compare_" + CompareCol + "_" + attributes[i]).css('text-align', 'left');
						$("#compare_" + CompareCol + "_" + attributes[i]).css('width', '160px');
						$("#compare_" + CompareCol + "_" + attributes[i]).css('float', 'left');
					}
					else
					{
						document.getElementById("compare_" + CompareCol + "_" + attributes[i]).innerHTML   = bidContainer[bidid][attributes[i]][0] + " " + bidContainer[bidid][attributes[i]][8];
						document.getElementById("compare_" + CompareCol + "_" + attributes[i]).style.textAlign = 'left';
					}	
						
	
					document.getElementById("compare_" + CompareCol + "_" + attributes[i]).style.color = getCompareColor(bidContainer[bidid][attributes[i]][1]);
				}
				else
				{
					document.getElementById("compare_" + CompareCol + "_" + attributes[i]).style.textAlign = 'left';
					if(bidContainer[bidid][attributes[i]][9] == 'L')
					{
						$("#compare_" + CompareCol + "_" + attributes[i]).html(bidContainer[bidid][attributes[i]][10] + ' <img style="height: 13px;" src="/images/del.gif">');
						$("#compare_" + CompareCol + "_" + attributes[i]).css('color', '#CC0000');
						$("#compare_" + CompareCol + "_" + attributes[i]).css('width', '160px');
						$("#compare_" + CompareCol + "_" + attributes[i]).css('float', 'left');
					}
					else
					{
						document.getElementById("compare_" + CompareCol + "_" + attributes[i]).innerHTML = "---";
						document.getElementById("compare_" + CompareCol + "_" + attributes[i]).style.color = "#000000";
					}					
				}
			}
			else
			{
				document.getElementById("compare_" + CompareCol + "_" + attributes[i]).style.textAlign = 'left';
				document.getElementById("compare_" + CompareCol + "_" + attributes[i]).innerHTML = "---";
				document.getElementById("compare_" + CompareCol + "_" + attributes[i]).style.color = "#000000";
			}
		}
	}

	$('a[rel*=lightbox]').lightBox();
	
	// checkSelectBidBtn();
}

function numform(zahl){
   var i;
   var j=0;
   var ergebnis="";

   i=zahl.length-1;
   while (i >= 0) {
      ergebnis=zahl.substr(i,1)+ergebnis;
      j++;
      if (j==3 && i >= 1) {
         ergebnis="."+ergebnis;
         j=0;
      }
      i--;
   }
   return ergebnis;
}

function highlightline(attributeid,on)
{
	var color = "";
	
	if(on)
		color = "#e4e400";
	else
		color = "#FFFFFF";
		
		$("#compare_0_"+attributeid).css('background-color', color);
		$("#compare_1_"+attributeid).css('background-color', color);
		$("#compare_2_"+attributeid).css('background-color', color);
	
		
		$("#compare_attname_"+attributeid).css('background-color', color);
		$("#compare_req_"+attributeid).css('background-color', color);
		$("#compare_chboxreq_"+attributeid).css('background-color', color);

		$("#createbid_"+attributeid).css('background-color', 'color');
}

function LockCompareBid(chbox,position)
{
	if(bidsLocked)
		return false;
	
	if(chbox.checked === true)
	{
		CompareCol = (position+1);		
		activBits--;
		LockedCompareBids++;
	}
	else
	{
		MoveCompareBid(position);
		activBits++;
		LockedCompareBids--;
	}	

	if(document.getElementById('headline'))
	{
		document.getElementById('headline_option_bid').innerHTML =  (option_another ? 'noch ' : '') + '<span id="headline_option_bids">' + activBits + '</span> <span id="headline_option_bid_word">Angebote</span> zur Auswahl';
		
		if(activBits == 1)
			document.getElementById('headline_option_bid_word').innerHTML = 'Angebot';
		else if(activBits == 0)
			document.getElementById('headline_option_bid').innerHTML = 'aktuell kein Angebot auswählbar';
		
		if(LockedCompareBids > 0)
			document.getElementById('headline_bids').innerHTML = LockedCompareBids + ' Angebot' + (LockedCompareBids > 1 ? 'e ' : ' ') + 'ausgewählt'; 
		else
			document.getElementById('headline_bids').innerHTML = ' aktuell '+ bids +' Angebot' + (bids > 1 ? 'e ' : ' '); 
	}
}

function MoveCompareBid(position)
{
	if(bidsLocked)
		return false;

	// Spalte ausblenden
	if(document.getElementById("compare_block_"+CompareCol))
		 document.getElementById("compare_block_"+CompareCol).style.display = "none";

	if(document.getElementById("imgchecked_"+UsedCompareCols[position]))
		document.getElementById("imgchecked_"+UsedCompareCols[position]).style.display = "none";
	
	if((CompareCol > 0) && (position < CompareCol))
		CompareCol = CompareCol - 1; // NEUE aktive Spalte setzen
	
	counter = (MaxCompareCol - 2);
		
	for(var i=position;i<=counter;i++)
	{
		for(var i2=0;i2<attributes.length;i2++)
		{
			if(attributes[i2] == 0)
			{
				if(UsedCompareCols[(i+1)] > 0)
				{

					UsedCompareCols[i] = UsedCompareCols[(i+1)]; // bidid übertragen
					UsedCompareCols[(i+1)] = 0;
					
					if(document.getElementById("checkbox_" + (i+1) + "_0"))
					{
						document.getElementById("checkbox_" + i + "_0").checked = document.getElementById("checkbox_" + (i+1) + "_0").checked;
						document.getElementById("checkbox_" + i + "_0").value   = document.getElementById("checkbox_" + (i+1) + "_0").value;
					}
					else
						document.getElementById("checkbox_" + i + "_0").checked = false;
					
					document.getElementById("rating_" + i).innerHTML = document.getElementById("rating_" + (i+1)).innerHTML;
						
					document.getElementById("compare_" + i + "_0").style.display = "block";
				}
				else
				{
					// nächste Spalte enthält kein Gebot 
					document.getElementById("checkbox_" + i + "_0").checked = false;
					document.getElementById("compare_block_" + i ).style.display = "none";
					//alert('Spalte ausblenden: '+"compare_block_" + i);
				}
			}
			else if(attributes[i2] > 0 && document.getElementById("compare_" + (i+1) + "_" + attributes[i2]))
			{
				document.getElementById("compare_" + i + "_" + attributes[i2]).innerHTML = document.getElementById("compare_" + (i+1) + "_" + attributes[i2]).innerHTML;
				document.getElementById("compare_" + i + "_" + attributes[i2]).style.color = document.getElementById("compare_" + (i+1) + "_" + attributes[i2]).style.color;
				document.getElementById("compare_" + i + "_" + attributes[i2]).style.textAlign = document.getElementById("compare_" + (i+1) + "_" + attributes[i2]).style.textAlign;
				
				document.getElementById("compare_" + (i+1) + "_" + attributes[i2]).innerHTML = "";
			}
			else if(attributes[i2] > 0 && document.getElementById("compare_" + i + "_" + attributes[i2]))
				document.getElementById("compare_" + i + "_" + attributes[i2]).innerHTML = "";
		}
	}
	UsedCompareCols[(CompareCol+1)] = 0;
	
	// letzte Spalte ausblenden
	if(CompareCol >= position)
	{
		document.getElementById("checkbox_" + CompareCol + "_0").checked = false;
		document.getElementById("compare_block_" + CompareCol ).style.display = "none";
	}
	// checkSelectBidBtn();
	
	$('a[rel*=lightbox]').lightBox();
}


function setCompareBookmark(requestid,chbox)
{
	if(!bidsLocked)
		x_setCompareBookmark(requestid,chbox.value,chbox.id,chbox.checked, setBookmarkID);
}

function setBookmarkID(result)
{
	eval("var resultArray = ("+result+")");
	if(resultArray)
		document.getElementById(resultArray[0]).value=resultArray[1];
}


function openCreateBid()
{
	if(bidsLocked)
		return false;
	
	document.getElementById("btncreatebid").style.display = "none";
	
	document.getElementById("createbid_block").style.display = "block";
	if(CompareModeActive)
		document.getElementById("createbid_title").style.display = "block";
	
	// Letzte Spalte zum Vergleichen "verstecken"
	MaxCompareCol = 2;
	document.getElementById("compare_block_2").style.display = "none";
	document.getElementById("checkbox_2_0").checked = false;
	if(document.getElementById("imgchecked_"+document.getElementById("checkbox_2_0").value))
		document.getElementById("imgchecked_"+document.getElementById("checkbox_2_0").value).style.display = "none";
	
	new Effect.Highlight("createbid_block",{ duration: 1.5, startcolor: '#ffff00', endcolor: '#ffffff'} );
	
}

function createLockedCompareBidsList(elem)
{
	if(!elem)
		var elem = document.getElementById('lockedcomparedbids');
	UsedCompareColsTmp = UsedCompareCols;
	if(elem)
	{
		elem.value = "";
		for(var i=0;i<UsedCompareColsTmp.length;i++)
		{
			if(document.getElementById("checkbox_" + i + "_0") && document.getElementById("checkbox_" + i + "_0").checked)
			{
				if(i==0)
					elem.value = UsedCompareColsTmp[i];
				else
					elem.value = elem.value + "|" + UsedCompareColsTmp[i];
			}
		}	
	}
}

var editor_element_tmp 	= null;
var editor_element 	 	= null;
var editor_body 		= null;
var editor_content 		= null;
var editor_textarea	  	= null;
var editor_caption	  	= null;


function openUploader(caption,id)
{
	var uploaderDIV = document.getElementById('uploader'+id);
	var uploaderCaption = document.getElementById('caption'+id);
	
	if(uploaderDIV)
	{
		if(uploaderCaption)
			uploaderCaption.innerHTML = caption;
		uploaderDIV.style.display = 'block';
	}
}

function closeUploader(id)
{
	var uploaderDIV = document.getElementById('uploader'+id);
	var uploaderTempValue = document.getElementById('attr'+id+'_tmp');
	var uploaderFile = document.getElementById('file'+id);
	
	if(uploaderTempValue && uploaderFile)
	{
		uploaderTempValue.value = uploaderFile.value;
		uploaderTempValue.style.background = '#ffffa0';
	}
	
	if(uploaderDIV)
		uploaderDIV.style.display = 'none';	
}



function createPopupTextEditor(caption,element_tmp,element)
{
	editor_element_tmp	 = element_tmp;
	editor_element 		 = element;
	editor_body 		 = document.getElementById('editorbody');
	editor_content 		 = document.getElementById('editorcontent');
	editor_textarea		 = document.getElementById('editortextarea');
	editor_caption 		 = document.getElementById('editorcaption');
		
	if(editor_element != null)
	{
		if(editor_element.value != null)
		{
			var bidblock = document.getElementById('createbid_block');
			if (bidblock) bidblock.style.display = 'none';

			//$$('select', 'object', 'embed').each(function(node){ node.style.visibility = 'hidden' });
			
			editor_body.style.height = document.documentElement.scrollTop + document.documentElement.clientHeight;
			editor_body.style.width	= document.documentElement.scrollLeft + document.documentElement.clientWidth;		
			editor_body.style.display = 'block';
			editor_textarea.value = element.value;
			editor_caption.innerHTML = caption;
			editor_textarea.focus();
		}
	}
} 

function abortPopupTextEditor()
{
	if(editor_element != null)
	{
		editor_body.style.display = 'none';
		editor_textarea.value = '';
	}
	var bidblock = document.getElementById('createbid_block');
	if (bidblock) bidblock.style.display = 'block';
} 

function savePopupTextEditor()
{
	if(editor_element != null)
	{
		editor_body.style.display = 'none';
		editor_element.value = editor_textarea.value;
		editor_element_tmp.value = editor_textarea.value;
		editor_textarea.value = '';
	}
	var bidblock = document.getElementById('createbid_block');
	if (bidblock) bidblock.style.display = 'block';
}

function getkeycode(e)
{
    if (document.layers)              return e.which;
    else if (document.all)            return event.keyCode;
    else if (document.getElementById) return e.keyCode;
    return 0;
}

function hiddenselect(frm)
{
	var frm = document.forms[frm];
	
	var i = 0;
	while(true)
	{
		if(frm.elements[i] == null)
			break;
		
		if(frm.elements[i].type == 'select-one')
		{
			//alert(frm.elements[i].style.display);
			
			if(frm.elements[i].style.visibility == 'hidden')
				frm.elements[i].style.visibility = 'visible';
			else
				frm.elements[i].style.visibility = 'hidden';
		}
		i++;
	}
}

function registerSession(id)
{
	for(var i = 0; i < 3; i++)
	{
		if(i == id)
			document.getElementById('registersession_' + id).style.display = 'block';
		else
			document.getElementById('registersession_' + i).style.display = 'none';
	}
	
	document.getElementById('registersession_errors').style.display = 'none';
}
	
function set_display(on)
{
	if(on)
	{
		document.getElementById('form1').style.display = 'none';
		document.getElementById('form2').style.display = 'block';
		
		document.getElementById('comcheckbox1').name = 'xxx';
		document.getElementById('comcheckbox2').name = 'com';
		
		document.getElementById('loginid1').name = 'xxx';	
		document.getElementById('passwd').name = 'xxx';		
		document.getElementById('passwd2').name = 'xxx';	
		document.getElementById('lastname').name = 'xxx';	
		document.getElementById('email').name = 'xxx';	
		document.getElementById('firstname').name = 'xxx';	
		document.getElementById('email2').name = 'xxx';	
		document.getElementById('address1').name = 'xxx';	
		document.getElementById('phone').name = 'xxx';	
		document.getElementById('address2').name = 'xxx';	
		document.getElementById('fax').name = 'xxx';	
		document.getElementById('zip').name = 'xxx';	
		document.getElementById('mobile').name = 'xxx';	
		document.getElementById('tou').name = 'xxx';	
		document.getElementById('widerruf').name = 'xxx';	
		document.getElementById('newsletter').name = 'xxx';	
		document.getElementById('city').name = 'xxx';
		
		document.getElementById('loginid2').name = 'loginid';	
		document.getElementById('passwd02').name = 'passwd';	
		document.getElementById('passwd22').name = 'passwd2';	
		document.getElementById('lastname2').name = 'lastname';	
		document.getElementById('email02').name = 'email';	
		document.getElementById('firstname2').name = 'firstname';	
		document.getElementById('email22').name = 'email2';	
		document.getElementById('address12').name = 'address1';	
		document.getElementById('phone2').name = 'phone';	
		document.getElementById('address22').name = 'address2';	
		document.getElementById('fax2').name = 'fax';	
		document.getElementById('zip2').name = 'zip';	
		document.getElementById('mobile2').name = 'mobile';	
		document.getElementById('tou2').name = 'tou';	
		document.getElementById('widerruf2').name = 'widerruf';	
		document.getElementById('newsletter2').name = 'newsletter';	
		document.getElementById('city2').name = 'city';	
		
		document.getElementById('loginid2').value = document.getElementById('loginid1').value;
		document.getElementById('passwd02').value = document.getElementById('passwd').value;
		document.getElementById('passwd22').value = document.getElementById('passwd2').value;	
		document.getElementById('lastname2').value = document.getElementById('lastname').value;	
		document.getElementById('email02').value = document.getElementById('email').value;
		document.getElementById('firstname2').value = document.getElementById('firstname').value;
		document.getElementById('email22').value = document.getElementById('email2').value;
		document.getElementById('address12').value = document.getElementById('address1').value;
		document.getElementById('phone2').value = document.getElementById('phone').value;
		document.getElementById('address22').value = document.getElementById('address2').value;
		document.getElementById('fax2').value = document.getElementById('fax').value;
		document.getElementById('zip2').value = document.getElementById('zip').value;
		document.getElementById('mobile2').value = document.getElementById('mobile').value;
		document.getElementById('tou2').value = document.getElementById('tou').value;	
		document.getElementById('widerruf2').value = document.getElementById('widerruf').value;			
		document.getElementById('city2').value = document.getElementById('city').value;
		
		document.getElementById('newsletter2').checked = document.getElementById('newsletter').checked;	
	}
	else
	{
		document.getElementById('form1').style.display = 'block';
		document.getElementById('form2').style.display = 'none';
		
		document.getElementById('comcheckbox1').name = 'com';
		document.getElementById('comcheckbox2').name = 'xxx';
		
		document.getElementById('loginid1').name = 'loginid';	
		document.getElementById('passwd').name = 'passwd';		
		document.getElementById('passwd2').name = 'passwd2';	
		document.getElementById('lastname').name = 'lastname';	
		document.getElementById('email').name = 'email';	
		document.getElementById('firstname').name = 'firstname';	
		document.getElementById('email2').name = 'email2';	
		document.getElementById('address1').name = 'address1';	
		document.getElementById('phone').name = 'phone';	
		document.getElementById('address2').name = 'address2';	
		document.getElementById('fax').name = 'fax';	
		document.getElementById('zip').name = 'zip';	
		document.getElementById('mobile').name = 'mobile';	
		document.getElementById('tou').name = 'tou';	
		document.getElementById('widerruf').name = 'widerruf';	
		document.getElementById('newsletter').name = 'newsletter';	
		document.getElementById('city').name = 'city';	
		
		document.getElementById('loginid2').name = 'xxx';	
		document.getElementById('passwd2').name = 'xxx';	
		document.getElementById('passwd22').name = 'xxx';	
		document.getElementById('lastname2').name = 'xxx';	
		document.getElementById('email02').name = 'xxx';	
		document.getElementById('firstname2').name = 'xxx';	
		document.getElementById('email22').name = 'xxx';	
		document.getElementById('address12').name = 'xxx';	
		document.getElementById('phone2').name = 'xxx';	
		document.getElementById('address22').name = 'xxx';	
		document.getElementById('fax2').name = 'xxx';	
		document.getElementById('zip2').name = 'xxx';	
		document.getElementById('mobile2').name = 'xxx';	
		document.getElementById('tou2').name = 'xxx';	
		document.getElementById('widerruf2').name = 'xxx';	
		document.getElementById('newsletter2').name = 'xxx';
		document.getElementById('city2').name = 'xxx';	
		
		document.getElementById('loginid1').value = document.getElementById('loginid2').value;
		document.getElementById('passwd').value = document.getElementById('passwd02').value;
		document.getElementById('passwd2').value = document.getElementById('passwd22').value;	
		document.getElementById('lastname').value = document.getElementById('lastname2').value;	
		document.getElementById('email').value = document.getElementById('email2').value;
		document.getElementById('firstname').value = document.getElementById('firstname2').value;
		document.getElementById('email2').value = document.getElementById('email22').value;
		document.getElementById('address1').value = document.getElementById('address12').value;
		document.getElementById('phone').value = document.getElementById('phone2').value;
		document.getElementById('address2').value = document.getElementById('address22').value;
		document.getElementById('fax').value = document.getElementById('fax2').value;
		document.getElementById('zip').value = document.getElementById('zip2').value;
		document.getElementById('mobile').value = document.getElementById('mobile2').value;
		document.getElementById('tou').value = document.getElementById('tou2').value;	
		document.getElementById('widerruf').value = document.getElementById('widerruf2').value;			
		document.getElementById('city').value = document.getElementById('city2').value;	
		
		document.getElementById('newsletter').checked = document.getElementById('newsletter2').checked;	
	}
	
	document.getElementById('comcheckbox1').checked = false;
	document.getElementById('comcheckbox2').checked = true;
	

}	


function selectGroup(cb,divID)
{
	var div = document.getElementById(divID);
	if(div)
	{
		var checked = cb.checked;

		div.style.color = checked ? '#d0d0d0' : '#000000';

		 
		var cbs = div.getElementsByTagName('input');
		for(var i=0;i<cbs.length;i++)
		{
			cbs[i].disabled = checked;
			if(checked)
				cbs[i].checked = false;				
		}
	}
}	

function getSelectedValues() 
{
	for(var i=0; i<selectionAttributes.length ; i++)
	{
		var txt = '';
		var attrID = selectionAttributes[i];
		var sum = document.getElementById('values'+attrID);
		if(sum)
		{
			var c = 0;
			for(var e = 0; e < document.forms['frmmain'].elements.length; e++)
			{
				var elem = document.forms['frmmain'].elements[e];
				if(elem.id)
				{
					if((elem.id.indexOf('attr'+attrID+'_')==0) && (elem.checked))
					{
						c++;
						var v = document.getElementById('value'+elem.value);
						txt +=  "<div style=\"float:left;\" "+
						        "onmouseover=\"vorschau('attrtt', true, '"+attributesValues[elem.value]+"', 0, 0);\" "+
								"onmousemove=\"vorschau('attrtt', true, '"+attributesValues[elem.value]+"', 0, 0);\" "+
								"onmouseout=\"vorschau('attrtt', false, '', 0, 0);\" >"+
								(c>1?', ':'')+
								v.innerHTML+
								"</div>"; 
					}
				} 
			}
			if(txt=='')
				txt = "<div style=\"float:left;margin-right:3px;>(keine Werte ausgewählt)</div>";
			sum.innerHTML = "<div>"+txt+"&nbsp;&nbsp;</div>";
		}
	}
}

function cancelBid(bidID, requestID) 
{
	if(confirm('Wollen Sie das Angebot (ID: ' + bidID + ') wirklich sortieren?'))
	{
		if(requestID && (requestID > 0))
			location.href = '/anfragedetails.html?request=' + requestID +'&action=cancelbid&bidid=' + bidID;
		else
		{		
			if(location.href.indexOf('?') > 0)
				location.href = location.href + '&action=cancelbid&bidid=' + bidID;
			else
				location.href = location.href + '?action=cancelbid&bidid=' + bidID;
		}
	}
}

function dealerWindows()
{
	$("#dialog").dialog("destroy");
	
	$("#dialog").dialog({
		modal: true,
		resizable : false,
		position : ['50%',100],
		height: 375,
		width: 450,
		title: 'Händlerregistration',
		buttons: {
			'Abbrechen' : function() 
			{
				$(this).dialog('close');
			},
			'Senden' : function() 
			{
				$('#dealerform').submit();
			}			
		}
	});
	
	if($("#dialog").html() == '') 
	{	
		$("#dialog").html($("#dealerwindow").html());
		$("#dealerwindow").html('');
	}
	
	$("button").css('font-size', '12px');
}

function decollator(number) 
{
	number = '' + number;
	if (number.length > 3) 
	{
		var mod = number.length % 3;
		var output = (mod > 0 ? (number.substring(0,mod)) : '');
		for (i=0 ; i < Math.floor(number.length / 3); i++) 
		{
			if ((mod == 0) && (i == 0))
				output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
			else
				output+= '.' + number.substring(mod + 3 * i, mod + 3 * i + 3);
		}
		return (output);
	}
	else 
		return number;
}

$(function() {
	$('a[rel*=lightbox]').lightBox();
});


var Effect = {
	BlindDown : function(id, options)
	{
		$('#' + id).toggle('fast');
	},
	BlindUp : function(id, options)
	{
		this.BlindDown(id);
	}
};

/* create Request */

var createRequest = {
	options : {},
	send : false,
	closed : true, 
	showStep : function(element, step) 
	{
		if(step == 3 && createRequest.send == false)
			summery.init();
		
		for(var i = 1; i <= this.options.steps; i++)
		{
			if(i != step && $('#step' + i).css('display') == 'block')
			{
				$('#step' + i).fadeOut(250, function() {
					$('#step' + step).fadeIn(250);				
				});	
				
				$('#stepmenu' + i).removeClass('selectedstep');				
					
				$('#text_' + i).hide();
				
				$('#stepmenu' + i).addClass('addstep');
			}
		}
		
		$('html,body').scrollTop(0);
		
		if(step == 3)
		{
			$('#rightwing').css('height','100%');
			
			$('#stepmenu4').addClass('addstep');	
			$('#stepmenu4').click(function() {
				$('#createrequest').showStep(4);
			});
		}
		else
			$('#rightwing').css('height','530px');
		
		$('#text_' + step).show();
		
		$('#stepmenu' + step).addClass('selectedstep');
		$('#stepmenu' + step).removeClass('addstep');
	},
	
	checkMandatory : function ()
	{
		var __result = '|';
		var key = '#createrequest > div > div > div > table > tbody > tr > td > ';

		$(key + 'input').each(
			function(i) 
			{
				if($(this).attr('name'))
				{
					if($(this).attr('type') == 'radio' || $(this).attr('type') == 'checkbox')
					{
						if($(this).attr('checked') && $(this).val() != 0) {
							__result += $(this).attr('name') + '=' + $(this).val() + '|';
						}
					}
					else if($(this).val() != '') {						
						__result += $(this).attr('name') + '=' + $(this).val() + '|';
					}
				}
			}
		);

		$(key + 'select').each(
			function(i) 
			{
				if($(this).attr('name'))
				{
					if($(this).val() > 0 && $(this).val() != '')
					{
						__result += $(this).attr('name') + '=' + $(this).val() + '|';
					}
				}
			}
		);
		
		x_checkMandatory(encodeURI(__result), this.checkMandatoryCallback);
	},
	
	checkMandatoryCallback : function (jsonResult)
	{
		eval("var result = ("+jsonResult+")");	

		if(result[0]) 
		{
			if(createRequest.closed == true)
			{
				$('#createrequesterror').hide();
				
				$('#createrequesterror div > ul > li').each(
					function (i)
					{
						$(this).css('display', 'none');
					}
				);
				
				$('#stepmenu2').addClass('addstep');
				$('#stepmenu3').addClass('addstep');
	
				$('#stepmenu3').click(function() {
					$('#createrequest').showStep(3);
				});
	
				$('#stepmenu2').click(function() {
					$('#createrequest').showStep(2);
				});
								
				createRequest.closed = false;
				
				$('#createrequesterror').slideUp(500);
				
				$('.bl-disabled').click(function() 
				{
					$('#createrequest').showStep(2);	
				});
				
				//$('.bl-disabled').attr('disabled', false);
			}
		}	
		else
		{
			
			$('#createrequesterror').slideDown(500);
			
			createRequest.closed = true;
			
			//$('.bl-disabled').attr('disabled', true);
			
			$('#createrequesterror div > ul > li').each(
				function (i)
				{
					$(this).css('display', 'none');
				}
			);
			
			for(var key in result[1])
			{
				$('#createrequesterror .' + result[1][key]).css('display', 'block');
			}
		
			$('#stepmenu2').removeClass('addstep');
			$('#stepmenu3').removeClass('addstep');
			$('#stepmenu4').removeClass('addstep');

			$('#stepmenu2').unbind('click');
			$('#stepmenu3').unbind('click');
			$('#stepmenu4').unbind('click');
			
			$('.bl-disabled').unbind('click');
			
			$('.bl-disabled').click(function() 
			{
				$('#errors').show();	
				$('#createrequest').checkMandatory();
			});
			
			$('#stepmenu2').click(function() {
				$('#errors').show();
			});
			
			$('#stepmenu3').click(function() {
				$('#errors').show();
			});
			
			$('#stepmenu4').click(function() {
				$('#errors').show();
			});
		}		
	}
};

$.fn.createRequest = function(options)
{
	$('body').css('overflow', 'scroll');
	$('body').css('overflow-x', 'auto');
	
	$('#stepmenu1').click(function() {
		$('#createrequest').showStep(1);
	});
	
	createRequest.options = $.extend(
		{
			steps : 5
		}, 
		options || {}
	);
	
	$.fn.showStep = function (step) 
	{
		createRequest.showStep(this, step);
	};
	
	$.fn.checkMandatory = function ()
	{	
		createRequest.checkMandatory();
	};
	
	$('#' + $(this).attr('id') + ' > div > div > div > table > tbody > tr > td > input').click(function ()
	{
		$(this).checkMandatory();
	});
	
	$('#' + $(this).attr('id') + ' > div > div > div > table > tbody > tr > td > input[type=text]').keyup(function ()
	{
		$(this).checkMandatory();
	});

	$('#' + $(this).attr('id') + ' > div > div > div > table > tbody > tr > td > select').change(function ()
	{
		$(this).checkMandatory();
	});
};

var __Models = [];
var __ModelsOption = '';

function loadModels(startpage)
{
	$('#attr6').attr('disabled', true);

	var option = $("#attr5").val();

	if(option && option != 0) 
	{
		__ModelsOption = option;
		
		$('#attr6').html('<option value="z">Modelle werden geladen</option>');
		$('#attr6_ajax').css('display', 'inline');	
		
		if(__Models[option])
		{	
			loadModelsSet(__Models[option]);
		}
		else
		{	
			x_loadModels(option, startpage ? startpage : false, loadModelsCallBack);
		}
	}
	else
		$('#attr6').html('<option value="z">Bitte zuerst Marke wählen</option>');		
}

function loadModelsCallBack(result)
{
	eval("var resultArray = ("+result+")");	
	__Models[__ModelsOption] = resultArray;
	loadModelsSet(resultArray);
}

function loadModelsSet(resultArray)
{
	for(key in resultArray)
		$('#attr6').append('<option value="'+key+'">'+resultArray[key]+'</option>');

	$('#attr6 > option[value*=z]').html('');
	$('#attr6_ajax').css('display', 'none');
	$('#attr6').removeAttr('disabled');
}

function condition(open)
{
	if(open)
	{
		$('#attr17dummy').slideUp(1, function () {
			$('#attr17extra').slideDown(300);
		});
	}
	else
	{
		$('#attr17extra').slideUp(300, function () {
			$('#attr17dummy').slideDown(1);
		});
	}
}

var summery = {
	init : function() 
	{
		createRequest.send = true;
		var __result = '|';
		
		$('#summery').html('Aktualisieren <img style="width:13px;" alt="läd" src="/images/ajax-loader2.gif" />');
	
		$('#createrequest > div > div > div > table > tbody > tr > td > input').each(
			function ()
			{
				if($(this).val() && $(this).attr('name'))
				{
					if($(this).attr('type') == 'checkbox' || $(this).attr('type') == 'radio')
					{
						if($(this).attr('checked'))
							__result += $(this).attr('name') + '=' + $(this).val() + '|';
					}
					else
						__result += $(this).attr('name') + '=' + $(this).val() + '|';
				}
			}
		);

		$('#createrequest > div > div > div > table > tbody > tr > td > select').each(
			function ()
			{
				if($(this).val() && $(this).attr('name'))
					__result += $(this).attr('name') + '=' + $(this).val() + '|';				
			}
		);
				
		x_summery(encodeURI(__result), this.callback);
	},
	callback : function (result)
	{
		eval("var result = ("+result+")");	
		
		$('#summery').html(result);
		
		createRequest.send = false;
	}
};

function saveRequest(callback, requestid)
{
	if(callback == 'submit')
	{
		if($('input[name=loginid]').val() == '' || $('input[name=passwd]').val() == '')
		{
			alert('Bitte geben Sie ihr Benutzername oder Email sowie ihr Passwort.');
			return false;
		}
	}
	
	if($('input[name=ajax]').val() == 0)
		return true;
		
	$('input[name=ajax]').val(0);
	
	$('body').append(
		$('<div>')
		.addClass('ui-widget-overlay')	
		.css('height', '1000px')
	);
	
	$('body').append(
		$('<div>')
		.addClass('loading-parent')		
		.append(
			$('<div>')
			.addClass('loading')
			.html('Bitte warten <img style="width:13px;" alt="läd" src="/images/ajax-loader2.gif" />')
		)
	);
	
	var __result = '|';
	
	$('#createrequest > div > div > div > table > tbody > tr > td > input').each(
		function ()
		{
			if($(this).val() && $(this).attr('name'))
			{
				if($(this).attr('type') == 'checkbox' || $(this).attr('type') == 'radio')
				{
					if($(this).attr('checked'))
						__result += $(this).attr('name') + '=' + $(this).val() + '|';
				}
				else
					__result += $(this).attr('name') + '=' + $(this).val() + '|';
			}
		}
	);

	$('#createrequest > div > div > div > table > tbody > tr > td > select').each(
		function ()
		{
			if($(this).val() && $(this).attr('name'))
				__result += $(this).attr('name') + '=' + $(this).val() + '|';				
		}
	);	
	
	$('#createrequest > div > div > div > textarea').each(
		function ()
		{
			if($(this).val() && $(this).attr('name'))
				__result += $(this).attr('name') + '=' + $(this).val() + '|';				
		}	
	);
	
	__result += 'time=' + $('select[name=time]').val() + '|' + '|autorenew=' + $('input[name=autorenew]:checked').val() + '|';
	
	if(requestid)
	{
		__result += 'request='+requestid + '|';
	}
	
	if(callback == 'submit')
	{
		x_saveRequest(encodeURI(__result), function () {
			$('form').submit();
		});
	}
	else
	{
		x_saveRequest(encodeURI(__result), callback);
	}
	
	return false;
}

function checkYear(This)
{
	if($(This).val())
	{
		var year = parseInt($(This).val());	
		
		if(!isNaN(year) && year > 1949 && year < 2011)
			return true;
		else
			alert('Bitte geben Sie ein gültiges Jahr (z.b. 1999)');
	}
}

$(function () 
{
	$('#createrequest').createRequest();
	$('#createrequest').checkMandatory();
});
