$j(document).ready(function(){
	var mode = 'dev';	
	var loc = window.location;
	var hostIdentifier =/ace-online\.de/gi;
	if(loc.hostname.match(hostIdentifier)){
		mode = 'live';
	}
	if(typeof ET_Event !== 'undefined'){
		var trackEvent = ET_Event;
		
		/* downloads ( all downloads are marked by a css-class: ) */
		var downloads = $j('a[class=download]');
		if(downloads.size() >0){
			downloads.each(function(index,elm){
				$j(elm).bind('mousedown',function(ev){
					var link = $j(this).attr('href');
					var fileName = link.split('/').pop();
					var tags = "";
					if(fileName){
						if(mode == 'live'){
							ET_Event.download(fileName,tags);
						}else{
							if(typeof console !== 'undefined'){
								ev.preventDefault();
								console.log('download: '+fileName);
							}
						}
					}
				});
			});
		}
		
		/* Seiten klicks */
		
		//Versicherungen
		var versIdentifier =/versicherungen/gi;
		if(loc.pathname.match(versIdentifier)){
			var rgtabItem = $j('.tx-rgtabs-pi1').find('*[id^=rgtabs]');
			if(rgtabItem.size() > 0){
				//sry 4 meshup but rgtabs is programmed with mootools event handling could be difficult ;(
				$(rgtabItem[0]).addEvent('onTabsrdy',function(){
					var menuItems = $j('.rgtabs-menu li a');
					menuItems.each(function(index,elm){
						$j(elm).bind('mousedown',function(ev){
							var segment = loc.pathname;
							var caption = $j(this).text();
							if(mode == 'live'){
								ET_Event.click(segment, caption);
							}else{
								if(typeof console !== 'undefined') console.log('click:'+segment+' => '+caption);
							}
						});
					});
				});	
			}
		}
		
		//tag Cloud...
		//must be implemented into flash...
		
		//Nutzungen
		//benzinpreis suche
		var gasform = $j('form[id=gas-search]');
		if(gasform.size() > 0){
			$j(gasform).bind('submit',function(ev){
				var typ = $j(gasform).find('select[id=typ]').val();
				if(mode == 'live'){
					ET_Event.click('Spritpreissuche', typ);
				}else{
					if(typeof console !== 'undefined'){
						ev.preventDefault();
						console.log('Spritpreissuche => '+typ);
					}
				}
			});
		}
		
		//tx-nfcstoresearch-pi1
		var storesearchForm = $j('.tx-nfcstoresearch-pi1').find('.searchbox_big').find('form');
		if(storesearchForm.size() > 0){
			$j(storesearchForm[0]).bind('submit',function(ev){
				var zip = $j(this).find('input[id=zip]').val();
				var city = $j(this).find('input[id=city]').val();
				var service = $j(this).find('select[id=service] option:selected');
				var query = new Array();
				if(zip) query.push(zip);
				if(city) query.push(city);
				if(service.size()>0){
					service.each(function(index,elm){
						query.push($j(elm).text());
					});
				}
				query = encodeURIComponent(query.join(','));
				if(mode == 'live'){
					ET_Event.click('Partnerwerkstatt', query);
				}else{
					if(typeof console !== 'undefined'){
						ev.preventDefault();
						console.log('Partnerwerkstadt: '+query);
					}
				}
			});
		}
		
		//vertaurensanwälte
		var lawyerSearchForm = $j('.tx-nfcacedata-pi1').find('form');
		if(lawyerSearchForm.size()>0){
			$j(lawyerSearchForm[0]).bind('submit',function(ev){
				var query = new Array();
				var search = $j(this).find('input[id=lawyer-search-searchString]').val();
				if(search) query.push(search);
				var zip = $j(this).find('input[id=lawyer-search-zip]').val();
				if(zip) query.push(zip);
				var city = $j(this).find('input[id=lawyer-search-city]').val();
				if(city) query.push(city);
				var radius = $j(this).find('select[id=lawyer-search-radius] option:selected').val();
				if(radius) query.push(radius);
				//prepare query...
				query = encodeURIComponent(query.join(','));
				if(mode == 'live'){
					ET_Event.click('Vertrauensanwälte', query);
				}else{
					if(typeof console !== 'undefined'){
						ev.preventDefault();
						console.log('Vertrauensanwälte: '+query);
					}
				}
			});
		}
		
		//logins
		//success
		var loginSuccess = $j('#nfc-login-success');
		if(loginSuccess.size() > 0){
			var member = loginSuccess.text();
			if(mode == 'live'){
				ET_Event.loginSuccess(member, '');
			}else{
				if(typeof console !== 'undefined') console.log('Login ok: '+member);
			}	
		}
		//error
		var loginError = $j('#nfc-login-error');
		if(loginError.size() > 0){
			var member = loginError.text();
			if(mode == 'live'){
				ET_Event.loginFailure(member, '');
			}else{
				if(typeof console !== 'undefined') console.log('Login fail: '+member);
			}
		}
		//logout
		var logoutMessage = $j('#nfc-logout-message');
		if(logoutMessage.size() > 0){
			var member = logoutMessage.text();
			if(mode == 'live'){
				ET_Event.logout(member, '');
			}else{
				if(typeof console !== 'undefined') console.log('Logout: '+member);
			}
		}
		
		//stammdaten
		var userForm = $j('form[id=tx-srfeuserregister-pi1-fe_users_form]');
		if(userForm.size()>0){
			$j(userForm[0]).bind('submit',function(ev){
				var member = $j('#user').val();
				if(mode == 'live'){
					ET_Event.click('Stammdatenänderung',member);
				}else{
					if(typeof console !== 'undefined'){
						ev.preventDefault();
						console.log('Stammdaten: '+member);
					}
				}
			});
		}
		
		//external Links
		var extLinks = $j('a[class^=external-link],a[class=snow-extern-link]');
		if(extLinks.size()>0){
			$j(extLinks).each(function(index,elm){
				$j(elm).bind('click',function(ev){
					var href = $j(this).attr('href');
					if(mode == 'live'){
						ET_Event.link(href, '');
					}else{
						if(typeof console !== 'undefined'){
							ev.preventDefault();
							console.log('Ext-Link: '+href);
						}
					}
				});
			});
		}
		
		//umfrage
		var poll = $j('.tx-quickpoll-pi1 form:first');
		if(poll.size() >0){
			$j(poll[0]).bind('submit',function(ev){
				var poll = $j(this).find('.pollquestion').text();
				poll = encodeURIComponent(poll); 
				if(mode == 'live'){
					ET_Event.click('Umfrage',poll);
				}else{
					if(typeof console !== 'undefined'){
						ev.preventDefault();
						console.log('Umfrage: '+poll);
					}
				}
			});
		}	
		//gewinnspiel
		var raffle = $j('.tx-nfcquestionair-pi1 form:first');
		if(raffle.size() >0){
			$j(raffle[0]).bind('submit',function(ev){
				var tmpArr = new Array();
				var raffle = $j(this).find('h2');
				if(raffle.size()>0){
					raffle.each(function(index,elm){
						tmpArr.push($j(elm).text());
					});
				}
				raffle = tmpArr.join(',');
				raffle = encodeURIComponent(raffle); 
				if(mode == 'live'){
					ET_Event.click('Gewinnspiel',raffle);
				}else{
					if(typeof console !== 'undefined'){
						ev.preventDefault();
						console.log('Gewinnspiel: '+raffle);
					}
				}
			});
		}	
		//ratgeber will be traked in class_domSliderExtended.js
		
		//Search engines...
		var cleanSearchString = function(str){
			var disallowed = /\+|-|\sand\s|\sor\s|,/g;
			var blank = /\s{2,}/g;
			return str.replace(disallowed,' ').replace(blank,' ');
		}
		//yatse general search engine
		var yatseForm = $j('form[id=tx_yatse_pi1]');
		if(yatseForm.size() >0){
			$j(yatseForm[0]).bind('submit',function(ev){
				var input = $j(this).find('input[id=inp1]').val();
				encodedInput = encodeURIComponent(input); 
				var tags = cleanSearchString(input).split(' ');
				tags = encodeURIComponent(tags.join(','));
				if(mode == 'live'){
					ET_Event.eventStart('Suche',encodedInput,'Webseitensuche',tags);
				}else{
					if(typeof console !== 'undefined'){
						ev.preventDefault();
						console.log('Allgemeine-Suche: Suche'+','+encodedInput+','+'Webseitensuche'+','+tags);
					}
				}	
			});
		}
		//shop search
		var shopForm = $j('.tx-commerce-pi1 form[name=listview]');
		if(shopForm.size() >0){
			$j(shopForm[0]).bind('submit',function(ev){
				var input = $j(this).find('input[name=tx_commerce_pi1\[searchword\]]').val();
				encodedInput = encodeURIComponent(input); 
				var tags = cleanSearchString(input).split(' ');
				var cat = $j(this).find('select[name=tx_commerce_pi1\[catUid\]] option:selected').text();
				tags.push(cat);
				tags = encodeURIComponent(tags.join(','));
				if(mode == 'live'){
					ET_Event.eventStart('Suche',encodedInput,'Shopsuche',tags);
				}else{
					if(typeof console !== 'undefined'){
						ev.preventDefault();
						console.log('Shop-Suche: Suche'+','+encodedInput+','+'Shopsuche'+','+tags);
					}
				}	
			});
		}
		
		//Suchmodule
		//Kurse und Termine
		var courseForm = $j('.tx-nfccourseappointment-pi1 form:first');
		if(courseForm.size() >0){
			$j(courseForm[0]).bind('submit',function(ev){
				var input = $j(this).find('input[name=tx_nfccourseappointment_pi1\[searchString\]]').val();
				encodedInput = encodeURIComponent(input); 
				var tags = cleanSearchString(input).split(' ');
				tags = encodeURIComponent(tags.join(','));
				if(mode == 'live'){
					ET_Event.eventStart('Suche',encodedInput,'Kurssuche',tags);
				}else{
					if(typeof console !== 'undefined'){
						ev.preventDefault();
						console.log('Kurs-Suche: Suche'+','+encodedInput+','+'Kurssuche'+','+tags);
					}
				}	
			});
		}
		
		//ACE Lenkrad (Autotest,Freizeit und Reisen, Verkehr und Umwelt)
		var cartestForm = $j('.tx-nfccartest-pi1 form:first');
		if(cartestForm.size() >0){
			$j(cartestForm[0]).bind('submit',function(ev){
				var input = $j(this).find('input[name=tx_nfccartest_pi1\[search_string\]]').val();
				encodedInput = encodeURIComponent(input); 
				var tags = cleanSearchString(input).split(' ');
				var cat = $j(this).find('select[name=tx_nfccartest_pi1\[cat\]] option:selected').text();
				tags.push(cat);
				tags = encodeURIComponent(tags.join(','));
				if(mode == 'live'){
					ET_Event.eventStart('Suche',encodedInput,'Acelenkradsuche',tags);
				}else{
					if(typeof console !== 'undefined'){
						ev.preventDefault();
						console.log('Acelenkradsuche-Suche: Suche'+','+encodedInput+','+'Acelenkradsuche'+','+tags);
					}
				}	
			});
		}
		
		//Termine Veranstaltungen
		var appointmentForm = $j('.tx-nfcappointments-pi1 form:first');
		if(appointmentForm.size() >0){
			$j(appointmentForm[0]).bind('submit',function(ev){
				var input = $j(this).find('input[name=tx_nfcappointments_pi1\[searchString\]]').val();
				encodedInput = encodeURIComponent(input); 
				var tags = cleanSearchString(input).split(' ');
				tags = encodeURIComponent(tags.join(','));
				if(mode == 'live'){
					ET_Event.eventStart('Suche',encodedInput,'Veranstaltungssuche',tags);
				}else{
					if(typeof console !== 'undefined'){
						ev.preventDefault();
						console.log('Veranstaltungssuche-Suche: Suche'+','+encodedInput+','+'Veranstaltungssuche'+','+tags);
					}
				}	
			});
		}
		
		//news suche
		var newsForm = $j('.news-list-search form:first');
		if(newsForm.size() >0){
			$j(newsForm[0]).bind('submit',function(ev){
				var input = $j(this).find('input[name=tx_ttnews\[swords\]]').val();
				encodedInput = encodeURIComponent(input); 
				var tags = cleanSearchString(input).split(' ');
				tags = encodeURIComponent(tags.join(','));
				if(mode == 'live'){
					ET_Event.eventStart('Suche',encodedInput,'Newssuche',tags);
				}else{
					if(typeof console !== 'undefined'){
						ev.preventDefault();
						console.log('Newssuche-Suche: Suche'+','+encodedInput+','+'Newssuche'+','+tags);
					}
				}	
			});
		}
		
	}else{
		if(typeof console !== 'undefined') console.log('nfc_eventtracking: etracker was not found');		
	}
});