/* NICHT ÄNDERN */
var SmallMode = false;

window.addEvent('domready', function(){

	var Nightcache = 'NA';
	
	/* Slider erstellen */ 
	
	// Slider f�r Step 1
	var AC_Step1 = new Fx.Slide('AddCache_Step1', {duration: 500}).hide();
	AC_Step1.element.style.display='block';
	
	// Slider f�r Step 2
	var AC_Step2 = new Fx.Slide('AddCache_Step2', {duration: 850}).hide();
	AC_Step2.element.style.display='block';
	
	// Slider f�r Step 3
	var AC_Step3 = new Fx.Slide('AddCache_Step3', {duration: 850}).hide();
	AC_Step3.element.style.display='block';
	
	// Slider f�r die Cachedaten
	var CacheInfoSlider = new Fx.Slide('CacheInfos', {duration: 600}).hide();
	CacheInfoSlider.element.style.display='block';
	
	// Fehlerslider bei der Eingabe der Daten vom Waypoint
	var Step1Errors = new Fx.Slide('TXTWaypoint_Error').hide();
	Step1Errors.element.style.display='block';
	
	// Slider f�r Suggestions
	/*
	var Tags_SugSlider = new Fx.Slide('Tags_SugSlider', {duration: 320}).hide();
	Tags_SugSlider.element.style.display='block';*/
	
	// Was passiert gerade slider
	var CCodeInfoSlider = new Fx.Slide('CacheInfo').hide();
	CCodeInfoSlider.element.style.display='block';
	
	var CacheFailSlider = new Fx.Slide('CacheFail').hide();
	CacheFailSlider.element.style.display='block';
	
	var AddFormInfoSlider = new Fx.Slide('AddFormInfoSlider').hide();
	AddFormInfoSlider.element.style.display='block';
	
	var AddFormSlider = new Fx.Slide('AddFormSlider');
	
	var UnknownUser_Info = new Fx.Slide('UnknownUser_Info').hide();
	UnknownUser_Info.element.style.display='block';
		
	// INFO CCodeInfoSlider wird deaktiviert
	CCodeInfoSlider.element.style.display='none';
		
	/* ENDE SLIDER */
	
	/* INFO Kram f�r Nightcache */
	
	var CB_EnableNightcache = $('EnableNightcache');
	var DIV_RatingReflectors = $('Rating_Reflectors');
	var Nightcache_UserInfo = new Fx.Slide('Nightcache_UserCB', {duration: 450}).hide();
	Nightcache_UserInfo.element.style.display='block';
	
	var Nightcache_NoUser = new Fx.Slide('Nightcache_NoUser', {duration: 450}).hide();
	Nightcache_NoUser.element.style.display='block';
	
	var CB_EnableNightcacheFixed = $('EnableNightcache_Fixed');
	
	// Event
	CB_EnableNightcache.addEvent('change', function(){
		if(!CB_EnableNightcache.checked){
			StarSlider['Reflectors'].set(5);
			StarSlider['Reflectors'].CJDeactivate('X');
			//DIV_RatingReflectors.style.display = 'none';
		}else{
			StarSlider['Reflectors'].CJActivate('5');
			StarSlider['Reflectors'].set(5);
			//DIV_RatingReflectors.style.display = 'block';
		}
	});
	
	function WriteNightcacheInfo(){
		// Nightcache
		var v = 'Y';
		if(CB_EnableNightcache.checked){
			v = 'Y';
		}else{
			v = 'N';
		}
					
		Nightcache_Ajax.EditParameter('cache', $('CacheID').value);
		Nightcache_Ajax.EditParameter('value', v);
		Nightcache_Ajax.CallFull();
	}
	
	/* ENDE */
	
	
	/* AJAX KRAM */
	
	// Nightcache schreiben
	var Nightcache_Ajax = new CJAjax(CJPath + 'add/ajax/', {
		OnComplete: function(Output){
			// n�x
		}
	});
	
	Nightcache_Ajax.AddParameter('call', 'WriteNightcache');
	Nightcache_Ajax.AddParameter('cache', '');
	Nightcache_Ajax.AddParameter('value', '');
	
	// Cache hinzuf�gen
	var AddCache_Ajax = new CJAjax(
	CJPath + 'add/ajax/',
	{
		OnComplete: function(Output){		
			try{
				// Fehler
				if(Output == 'ERROR'){
					throw new Exception();
				}
				
				// XML erstellen
				var xml = toXML(Output);
				xml = xml.documentElement;
				
				// ID und Status setzen
				$('CacheID').value=xml.childNodes[0].firstChild.nodeValue;
				$('CacheState').value=xml.childNodes[1].firstChild.nodeValue;
							
				// Auf jeden fall nach diesem Call den AJAX Call f�r das periodische pr�fen starten
				StartPeriodicalCheck();
			}
			catch(e){
				// Fehler!
				alert(e);
				alert('Jap... Unser Fehler... Wenn das nochmal vorkommt w&auml;r ne E-Mail von Dir toll ;)... Danke!');
			}
		}
	});
		
	// Parameter f�r AJAX Call vorbereiten
	AddCache_Ajax.AddParameter('call', 'add_wp');
	AddCache_Ajax.AddParameter('wp', '');
		
	
	/* AJAX zum Status pr�fen */
	var CheckCache_Ajax = new CJAjax(
	CJPath + 'add/ajax/',
	{
		OnComplete: function(Output){		
			try{
				// Wenn synced ist
				// Fehler
				
				if(Output == 'ERROR'){
					throw new Exception();
				}
				try{
					// 	Xml holen
					
					var xml = toXML(Output);
					xml = xml.documentElement;
					
					// Cachestatus holen / ID wurde schon gesetzt
					$('CacheState').value=xml.childNodes[1].firstChild.nodeValue;
					
					if(xml.childNodes[1].firstChild.nodeValue == 'Synced'){
						
						// Daten des Caches
						$('CacheName_Name').innerHTML ='&quot;' + xml.childNodes[2].firstChild.nodeValue + '&quot';
						$('CacheName_A').href=xml.childNodes[7].firstChild.nodeValue;
						$('CacheName_IMG').src=xml.childNodes[8].firstChild.nodeValue;
						
						
						//$('CacheName').innerHTML='<a href="'+ xml.childNodes[7].firstChild.nodeValue +'" target="_blank" class="" alt="Listing::Listing im Browser aufrufen">&quot;' + xml.childNodes[2].firstChild.nodeValue + '&quot;</a>';
						$('OwnerName').innerHTML=xml.childNodes[3].firstChild.nodeValue;
						$('Difficulty').innerHTML=xml.childNodes[4].firstChild.nodeValue;
						$('Terrain').innerHTML=xml.childNodes[5].firstChild.nodeValue;
						$('ContainerSize').innerHTML=xml.childNodes[6].firstChild.nodeValue;
						$('CacheSource_A').href=xml.childNodes[7].firstChild.nodeValue;
						$('CacheSource_A').innerHTML=xml.childNodes[10].firstChild.nodeValue;
						
						// Slider sliden lassen
						CacheInfoSlider.stop();
						CacheInfoSlider.slideIn();
						
						// Loading ausblenden
						$('CacheInfosLoader').effect('opacity', {
							duration: 250,
							transition: Fx.Transitions.linear,
							wait: false,
							onComplete: function(){
								$('CacheInfosLoader').style.display='none';
							}
						}).start(0.9, 0);
						
						
					}else{
						// Wenn Fehler
						if(xml.childNodes[1].firstChild.nodeValue == 'Fail'){
						
							// Infoslider 
							CacheFailSlider.slideIn();
							
							// Slider Sliden lassen
							CacheInfoSlider.stop();
							CacheInfoSlider.slideOut();
							
							// Loading ausblenden
							$('CacheInfosLoader').style.display='none';
						}else{
							// Infoslider
						}
					}
					
					// nightcache
					try{
						// Nightcache lade kram
						if(xml.childNodes[9].firstChild.nodeValue != 'NA'){
							if(xml.childNodes[9].firstChild.nodeValue == 'N'){
								// hier wird nc auf n gesetzt
								CB_EnableNightcache.checked = false;
								CB_EnableNightcacheFixed.checked = false;
								StarSlider['Reflectors'].set(5);
								StarSlider['Reflectors'].CJDeactivate("X");
								
								$('NC_NoUser_Info').innerHTML = 'Jemand hat diesen Cache als normalen Cache (Nicht-Nachtcache) markiert... Die Bewertung von Reflektoren ist damit deaktiviert worden.<br />';
								$('NC_NoUser_Info').innerHTML += 'Ist die Information nicht korrekt? Hat sich vielleicht etwas ge&auml;ndert? Dann schreib uns doch bitte eine E-Mail an <a href="mailto:support@cachejudge.com">support@cachejudge.com</a>. Wir werden das dann umgehend pr&uuml;fen ;)';
							}
							if(xml.childNodes[9].firstChild.nodeValue == 'Y'){
								CB_EnableNightcache.checked = true;
								CB_EnableNightcacheFixed.checked = true;
								DIV_RatingReflectors.style.display='block';
								
								$('NC_NoUser_Info').innerHTML = 'Jemand hat diesen Cache als Nachtcache markiert... Die Bewertung von Reflektoren ist damit aktiviert worden.<br />';
								$('NC_NoUser_Info').innerHTML += 'Ist die Information nicht korrekt? Hat sich vielleicht etwas ge&auml;ndert? Dann schreib uns doch bitte eine E-Mail an <a href="mailto:support@cachejudge.com">support@cachejudge.com</a>. Wir werden das dann umgehend pr&uuml;fen ;)';
							}
							if(!UnknownUser){
								Nightcache_NoUser.slideIn();
							}
						}else{
							if(!UnknownUser){
								Nightcache_UserInfo.slideIn();
							}
						}
						if(UnknownUser){
							UnknownUser_Info.slideIn();
						}
						
						Nightcache = xml.childNodes[9].firstChild.nodeValue;
					}
					catch(e)
					{
						throw e;
					}
					
					// Buttons
					try{
						$('btnStep2_Forward').disabled = '';
						$('btnStep2_Forward').value = ':: weiter';
						$('btnStep2_Badge').disabled = '';
						$('btnStep2_Badge').value = ':: nur eintragen - das ist mein Cache...';
					}catch(e)
					{
						throw e;
					}
				}
				catch(e)
				{
					throw e;
				}
			}
			catch(e){
				// Fehler
				alert('Da gabs ein Problem beim Abrufen der Cachedaten... Sorry!');
				alert(e);
			}
		}
	});
		
	// PArameter f�r AJAX vorbereiten
	CheckCache_Ajax.AddParameter('call', 'get_state');
	CheckCache_Ajax.AddParameter('wp', '');
	
	/* ENDE AJAX */
	
	/* ANDERE FUNKTIONEN */
	
	var tCheckCacheState = null;
	
	function StartPeriodicalCheck(){
		tCheckCacheState = fCheckCacheState.periodical(3000);
	}
	
	// Function f�r periodischen Aufruf des Syncings
	function fCheckCacheState(){
		CheckCache_Ajax.CallFull();
		if($('CacheState').value == 'Synced' || $('CacheState').value == 'Fail'){
			try{
				clearTimeout(tCheckCacheState);
			}
			catch(e)
			{
				alert(e);
			}
		}
		return;
	}
	
	// Slider schlie�en
	function dCloseInfoSlider(){
		CCodeInfoSlider.slideOut();
	}
	
	// Style setzen
	function SetStyle(Element, valid){
		if(valid){
			Element.style.backgroundColor='#FFFFFF';
			Element.style.color='#4D610C';
		}else{
			Element.style.backgroundColor='#F89E00';
			Element.style.color='#FFF';
		}
	}
	
	function CalcDigitsLeft(){
		var e = $('Review');
		if(e.value.length>0){
			$('DigitsLeft').innerHTML = 250-e.value.length;
		}else{
			$('DigitsLeft').innerHTML = '250';
		}
	}
	
	/* ENDE ANDERE FUNKTIONEN */
		
	/* ANFANGE VALIDATION */
	
	// Waypoint auf OC / GC pr�fen
	var CJAddCache_Step1_C1 = new CJValidationCode(
		'TXTWaypoint',
		'Substring',
		null,
		{
			From: 0,
			To: 1,
			CaseSensitive: false,
			Values: new Array('O', 'G', 'N')
		}
	);
	
	// L�nge
	var CJAddCache_Step1_C2 = new CJValidationCode(
		'TXTWaypoint',
		'Length',
		null,
		{
			Min: 4,
			Max: 10
		}
	);
	/* ENDE VALIDATION */
	
	/* EVENTS F�R TASTATUR ENTER */
	
	// Enter gedr�ckt	
	$('TXTWaypoint').addEvent('keypress', function(code){
		var c = kc(code);
		if(c==13){
			
			ValidateTXTWaypoint();
			return false;
		}
	});
	
	/* ENDE EVENTS */
	
	/* WAYPOINT VALIDATION FUNKTION */
	
	function ValidateTXTWaypoint(){
		// INFO Waypoint zum adden von caches validieren
		
		CacheFailSlider.stop();
		if(CacheFailSlider.open){
			CacheFailSlider.slideOut();
		}
		
		$('LoadingAnimation_OC').style.display='none';
		$('LoadingAnimation_GC').style.display='none';
		$('LoadingAnimation_NC').style.display='none';
		
		var v = CJAddCache_Step1_C1.Validate();
		if(!v){
			// Nicht valid
			SetStyle($('TXTWaypoint'), v);
			
			// Errorslider
			Step1Errors.element.innerHTML='Der Waypoint muss mit OC, GC oder N anfangen.';
			Step1Errors.stop();
			if(Step1Errors.open==0){
				Step1Errors.slideIn();
			}
		}else{
			// OK, aber auch lang genug?
			v = CJAddCache_Step1_C2.Validate();
			if(!v){
				// Fehler
				SetStyle($('TXTWaypoint'), v);
				
				// Slider
				Step1Errors.element.innerHTML='Der Waypoint muss mit OC, GC oder N anfangen.2';
				Step1Errors.stop();
				if(Step1Errors.open==0){
					Step1Errors.slideIn();
				}
			}else{
				Step1Errors.stop();
				Step1Errors.slideOut();
				SetStyle($('TXTWaypoint'), v);
				// ok
				v=true;
			}
		}
		
		// ok
		if(v){
			// INFO Waypoint valid
			// Status wegballern
			$('CacheState').value = '';
			$('CacheID').value = '';
			
			// gc / oc?
			if($('TXTWaypoint').value.substr(0, 2).toUpperCase()=='GC'){
				$('LoadingAnimation_GC').style.display='block';
			}
			if($('TXTWaypoint').value.substr(0, 2).toUpperCase()=='OC'){
				$('LoadingAnimation_OC').style.display='block';
			}
			if($('TXTWaypoint').value.substr(0, 1).toUpperCase()=='N'){
				$('LoadingAnimation_NC').style.display='block';
			}
			
			// InfoSlider ausblenden
			CacheInfoSlider.slideOut();
			
			// Daten werden geladen anzeigen
			$('CacheInfosLoader').style.display='block';
			
			// Gro�!
			var wp = $('TXTWaypoint').value;
			wp = wp.toUpperCase();
			$('TXTWaypoint').value = wp;
			
			// AJAX CALL Vorbereiten
			AddCache_Ajax.EditParameter('wp', wp);
			AddCache_Ajax.CallFull();
			//alert(AddCache_Ajax.GetURL());
			
			// Sliderkram
			CCodeInfoSlider.stop();
			if(CCodeInfoSlider.open==0){
				CCodeInfoSlider.slideIn();
			}
			
			// Status pr�fen preparen 
			CheckCache_Ajax.EditParameter('wp', $('TXTWaypoint').value);
											
			// Ausblenden
			AC_Step1.slideOut();
			AC_Step2.slideIn();
			AddCache_DeactivateStep(1);
			AddCache_ActivateStep(2);
			IEHideStarSlider(false);
		}
	}
	
	/* ENDE */
	
	
	/* BUTTONS EVENTS */
	
	// Erster Step weiter
	$('btnStep1_Forward').addEvent('click', function(){
		// Validation
		ValidateTXTWaypoint();
	});
	
	// Step 2 Weiter
	$('btnStep2_Forward').addEvent('click', function(){
		
		if(!UnknownUser){
			WriteNightcacheInfo();
		}
		
		AC_Step2.slideOut();
		AC_Step3.slideIn();
		AddCache_DeactivateStep(2);
		AddCache_ActivateStep(3);
		IEHideStarSlider(true);
	});
	
	// Step 2 Badge
	$('btnStep2_Badge').addEvent('click', function(){
		if(!UnknownUser){
			WriteNightcacheInfo();
		}
		location.href=CJPath + 'cache/badge/[cache:'+ $('CacheID').value +']/'; 
	});
	
	// Step2 zur�ck
	$('btnStep2_Backward').addEvent('click', function(){
		AC_Step1.slideIn();
		AC_Step2.slideOut();
		IEHideStarSlider(true);
		AddCache_DeactivateStep(2);
		AddCache_ActivateStep(1);
	});
	
	// Step 3 Weiter
	$('btnStep3_Forward').addEvent('click', function(){
		
		// Tags f�r Nightcache
		if(Nightcache == 'Y'){
			AddTag('Nachtcache');
			AddTag('Nacht');
			AddTag('Night');
			AddTag('Nightcache');
		}
		
		AddFormSlider.slideOut();
		AddFormInfoSlider.slideIn();
		
		if(!SmallMode){
			$('CJForm_AddCache').action = $('CJForm_AddCache').action + 'index.php/add/preview/[cache:'+ $('CacheID').value +']/[save:preview]/';
		}else{
			$('CJForm_AddCache').action = $('CJForm_AddCache').action + 'index.php/add/preview/[cache:'+ $('CacheID').value +']/[save:preview]/?smallmode=1';
		}
		$('CJForm_AddCache').submit();
	});
	
	// Step 3 zur�ck
	$('btnStep3_Backward').addEvent('click', function(){
		AC_Step2.slideIn();
		AC_Step3.slideOut();
		IEHideStarSlider(false);
		AddCache_DeactivateStep(3);
		AddCache_ActivateStep(2);
	});
	
	// Textarea max 250 zeichen
	$('Review').addEvent('keyup', function(){
		if($('Review').value.length>=250){
			$('Review').value = $('Review').value.substring(0, 250);
		}
		CalcDigitsLeft();
	});
	
	$('Review').addEvent('keydown', function(){
		CalcDigitsLeft();
	});
	
	/* ENDE EVENTS */
	
	
	/* STARSLIDER */
	
	var StarSlider = [];
	
	StarSlider['ListingTerrain'] = AddStarSlider('ListingTerrain', 'ListingTerrain', 'cursor: pointer; width: 18px; height: 100%; font-size:1.2em; color:#f89e00; font-weight:bold;padding-top:2px;display:block;', 5);
	StarSlider['ListingDifficulty'] = AddStarSlider('ListingDifficulty', 'ListingDifficulty', 'cursor: pointer; width: 18px; height: 100%; font-size:1.2em; color:#f89e00; font-weight:bold;padding-top:2px;', 5);
	StarSlider['ListingCacheDesc'] = AddStarSlider('ListingCacheDesc', 'ListingCacheDesc', 'cursor: pointer; width: 18px; height: 100%; font-size:1.2em; color:#f89e00; font-weight:bold;padding-top:2px;', 5);
	StarSlider['ListingHints'] = AddStarSlider('ListingHints', 'ListingHints', 'cursor: pointer; width: 18px; height: 100%; font-size:1.2em; color:#f89e00; font-weight:bold;padding-top:2px;', 5);
	StarSlider['ListingCoords'] = AddStarSlider('ListingCoords', 'ListingCoords', 'cursor: pointer; width: 18px; height: 100%; font-size:1.2em; color:#f89e00; font-weight:bold;padding-top:2px;', 5);
	StarSlider['Stations'] = AddStarSlider('Stations', 'Stations', 'cursor: pointer; width: 18px; height: 100%; font-size:1.2em; color:#f89e00; font-weight:bold;padding-top:2px;', 5);
	StarSlider['Reflectors'] = AddStarSlider('Reflectors', 'Reflectors', 'cursor: pointer; width: 18px; height: 100%; font-size:1.2em; color:#f89e00; font-weight:bold;padding-top:2px;', 5);
	StarSlider['Final'] = AddStarSlider('Final', 'Final', 'cursor: pointer; width: 18px; height: 100%; font-size:1.2em; color:#f89e00; font-weight:bold;padding-top:2px;', 5);
	StarSlider['SWF'] = AddStarSlider('SWF', 'SWF', 'cursor: pointer; width: 18px; height: 100%; font-size:1.2em; color:#f89e00; font-weight:bold;padding-top:2px;', 5);
	StarSlider['MAF'] = AddStarSlider('MAF', 'MAF', 'cursor: pointer; width: 18px; height: 100%; font-size:1.2em; color:#f89e00; font-weight:bold;padding-top:2px;', 5);
	StarSlider['Story'] = AddStarSlider('Story', 'Story', 'cursor: pointer; width: 18px; height: 100%; font-size:1.2em; color:#f89e00; font-weight:bold;padding-top:2px;', 5);
	StarSlider['CreativityStations'] = AddStarSlider('CreativityStations', 'CreativityStations', 'cursor: pointer; width: 18px; height: 100%; font-size:1.2em; color:#f89e00; font-weight:bold;padding-top:2px;', 5);
	StarSlider['CreativityFinal'] = AddStarSlider('CreativityFinal', 'CreativityFinal', 'cursor: pointer; width: 18px; height: 100%; font-size:1.2em; color:#f89e00; font-weight:bold;padding-top:2px;', 5);
	StarSlider['SubjectiveRating'] = AddStarSlider('SubjectiveRating', 'SubjectiveRating', 'cursor: pointer; width: 18px; height: 100%; font-size:1.2em; color:#f89e00; font-weight:bold;padding-top:2px;', 5);

	function IEHideStarSlider(v){
		var o = 'block';
		if(v){
			o = 'none';
		}
		StarSlider['ListingTerrain'].element.style.display=o;
		StarSlider['ListingDifficulty'].element.style.display=o;
		StarSlider['ListingCacheDesc'].element.style.display=o;
		StarSlider['ListingHints'].element.style.display=o;
		StarSlider['ListingCoords'].element.style.display=o;
		StarSlider['Stations'].element.style.display=o;
		StarSlider['Reflectors'].element.style.display=o;
		StarSlider['Final'].element.style.display=o;
		StarSlider['SWF'].element.style.display=o;
		StarSlider['MAF'].element.style.display=o;
		StarSlider['Story'].element.style.display=o;
		StarSlider['CreativityStations'].element.style.display=o;
		StarSlider['CreativityFinal'].element.style.display=o;
		StarSlider['SubjectiveRating'].element.style.display=o;
	}
		
	
	/* ENDE STARSLIDER */
	
	
	/* ANFANG TAGGING */
	
	var CurrentTags = new Array();
	
	function AddTag(tag){
		var add = true;
		tag = tag.replace(/^\s+/, '').replace (/\s+$/, '');
		tag = tag.replace(/ +/, ' ');
		regex = new RegExp(/^[\s\w������]+$/);		
		if(regex.test(tag) && tag.length>=3){
			for(var i=0; i<CurrentTags.length; i++){
				if(CurrentTags[i]==tag){
					add=false;
					break;
				}	
			}
		}else{
			add = false;
		}
		
		if(add){
			CurrentTags.push(tag);
			UpdateTagHolder();
			return true;
		}else{
			return false;
		}
	}
	
	function AddTags(tags){
		var s = tags.split(',');
		var j = 0;
		for(j=0; j<s.length; j++){
			if(!AddTag(s[j])){
				return false
			}
		}
		return true;
	}
	
	function RemoveTag(ob){
		var nT = new Array();
		for(i=0; i<CurrentTags.length; i++){
			if(CurrentTags[i]!=ob){
				nT.push(CurrentTags[i]);
			}
		}
		CurrentTags = nT;
		UpdateTagHolder();
	}
	
	function UpdateTagHolder(){
		var s = '';
		var s2 = '';
		for(i=0; i<CurrentTags.length; i++){
			s += '<a href="javascript: d();" id="tag_'+ i +'" class="smlhlpr" title="Tag entfernen">'+ CurrentTags[i] +'</a>, ';
			s2+=CurrentTags[i] + ',';
		}
		$('TagHolder').innerHTML = s.substring(0, s.length-2);
		$('TagContainer').value = s2.substring(0, s2.length-1);
		
		for(i=0; i<CurrentTags.length; i++){
			$('tag_' + i).addEvent('click', function(){
				RemoveTag(this.innerHTML);
			});
		}
	}
	
	$('NewTagSubmit').addEvent('click', function(){
		if(AddTags($('NewTag').value)){
			$('NewTag').value='';
			$('NewTag').focus();
			SetStyle($('NewTag'), true);
		}else{
			SetStyle($('NewTag'), false);
		}
	});
	
	$('NewTag').addEvent('keypress', function(code){
		var c = kc(code);
		if(c==13){
			if(AddTags($('NewTag').value)){
				$('NewTag').value='';
				$('NewTag').focus();
				SetStyle($('NewTag'), true);
			}else{
				SetStyle($('NewTag'), false);
			}
		}
	});
	
	// Events f�r vorgeschlagene Tags
	var TopTags = new Array();
	TopTags = $ES('a', 'TopTagsHolder');
	for(var l=0; l<TopTags.length; l++){
		TopTags[l].addEvent('click', function(){
			AddTag(this.innerHTML);
		});
	}
	
	/* ENDE */
	
	/* ANFANG DOKUMENT BEARBEITUNG */
	
	// IE Ausblenden
	IEHideStarSlider(true);
	
	function AddCache_DeactivateStep(Step){
		$('AddCache_Step' + Step + '_h2').style.color='#a2ad80';
		$('AddCache_Step' + Step + '_span').className='transstepuser';
	}
	
	function AddCache_ActivateStep(Step){
		$('AddCache_Step' + Step + '_h2').style.color='#4d610c';
		$('AddCache_Step' + Step + '_span').className='username';
	}
		
	// Zum �bergebenen step switchen
	switch(CurrentStep){
		case 2: 
			AC_Step2.show();
			AddCache_DeactivateStep(1);
			AddCache_ActivateStep(2);
			AddCache_DeactivateStep(3);
			IEHideStarSlider(false);
		break;
		case 3: 
			AC_Step3.show();
			AddCache_DeactivateStep(1);
			AddCache_DeactivateStep(2);
			AddCache_ActivateStep(3);
		break;
		default: 
			AC_Step1.show();
			AddCache_DeactivateStep(2);
			AddCache_DeactivateStep(3);
			AddCache_ActivateStep(1);
		break;
	}
	
	// cacheid container f�llen
	if(CacheID != null){
		$('CacheID').value = CacheID;
		$('CacheState').value = 'Synced';
	}
	
	// Waypoint daten holen / Cache laden
	if(Waypoint != null){

		// Ladekram einblenden
		$('CacheInfosLoader').style.display='block';
		
		// Daten vorbereiten
		CheckCache_Ajax.EditParameter('wp', Waypoint);
		
		// Daten holen
		CheckCache_Ajax.CallFull();
	}
	
	// Ratings anpassen
	try{
		if(Rating != null){
			for(i=0; i<Rating.length; i++){
				StarSlider[Rating[i][0]].set(Rating[i][1]);
			}
		}
	}
	catch(e){}
	
	// Tags anpassen
	try{
		if(LoadedTags != null){
			CurrentTags = LoadedTags;
			UpdateTagHolder();
		}
	}
	catch(e){}
	
	// anpassen des calcs
	
	CalcDigitsLeft();
	
	// Unknown User kram
	if(UnknownUser){
		// INFO Ausschalten von Sachen wenn es ein unbekannter benutzer ist
		// alles ausschalten / Ratings
		StarSlider['MAF'].CJDeactivate('X');
		StarSlider['SWF'].CJDeactivate('X');
		StarSlider['Final'].CJDeactivate('X');
		StarSlider['Reflectors'].CJDeactivate('X');
		StarSlider['Stations'].CJDeactivate('X');
		StarSlider['ListingCacheDesc'].CJDeactivate('X');
		StarSlider['ListingHints'].CJDeactivate('X');
		StarSlider['ListingCoords'].CJDeactivate('X');
		StarSlider['Story'].CJDeactivate('X');
		StarSlider['CreativityStations'].CJDeactivate('X');
		StarSlider['CreativityFinal'].CJDeactivate('X');
		
		// Kommentar ausschalten
		$('Review').value = '(Leider nicht registriert)';
		$('Review').setAttribute('disabled', 'disabled');
	}
	
	if(CCode != null){
		$('TXTWaypoint').value=CCode;
		ValidateTXTWaypoint();
	}

	/* ENDE DOKUMENT BEARBEITUNG */
	
});






