function w(n){window.open("http://www.gehaltsvergleich.com/vote"+n+".html","","width=460,height=350");}
function job(n){window.open("http://www.gehaltsvergleich.com/jobinsert.php?id="+n,"","width=550,height=450");}
function gesuch(n){window.open("http://www.gehaltsvergleich.com/jobgesuch.php?id="+n,"","width=700,height=450,scrollbars=1");}
timer = null;
//var selectedItem = null;

function startSearch(value) {
	new Ajax('ajax.php?ajax=search', {
		postBody : 'occupational_title='+value,
		onComplete : function(request) {						
			response = request.split("?");
			//_log(response);
			//_log(response.length);
			
			$('liste').innerHTML = '';
			var i = 0;
			$A(response).each(function(elem){
				var li = new Element('li');
				li.id = 'sr' + i;
				i++;
				var a = new Element('a');
				a.onmouseout = function() {
					this.className = '';
				}
				elem = elem.split("!");
				a.href = elem[0];
				a.appendText(elem[1]);
				a.injectInside(li);
				li.injectInside($('liste'));
				//_log(elem);
				selectedItem = null;
			});
			
			if (response.length > 0) {
				$('divautocomplete').style.display = 'block';
				eventRules.start();
			} else {
				$('divautocomplete').style.display = 'block';
				$('liste').innerHTML = 'Keine Berufe gefunden';
			}
		}
	}).request();	
}


var eventRules = {
	start : function() {
		_log('start');
		
		$('btnfriends').onclick = function() {

			new Ajax('ajax.php?ajax=friends', {
				postBody : $('frmfriends').toQueryString(),
				onComplete : function(request) {					
					response = request.split("|");
					_log(response);
					if (response[0] == 'true')
						alert('Ihre Empfehlung wurde verschickt.');
						
				}
			}).request();

		},

		$('btnclear').onclick = function() {

			new Ajax('ajax.php?ajax=clear', {
				method : 'get',
				onComplete : function(request) {					
					response = request.split("|");
					_log(response);
					if (response[0] == 'true')
						window.location.href = 'http://www.gehaltsvergleich.com';
				}
			}).request();

		},
	
		$('search_occupational_title').onclick = function() {
			if (this.value != '')
				this.select();
		},
		
		$('search_occupational_title').onblur = function() {
			if (this.value == '')
				this.value = this.defaultValue;
		},			
		
		$('search_occupational_title').onkeydown = function(evt) {
			var self = this;
						
			evt = evt || window.event;
			if (evt.keyCode == 27) {
				$('divautocomplete').style.display = 'none';
				return;
			}

			// down
			if (evt.keyCode == 40) {
				if ($('liste').innerHTML == '')
					return;
								
				if (selectedItem == null) {
					selectedItem = $('liste').firstChild;
				} else {
					if (selectedItem.getNext() == false)
						return;
					selectedItem.firstChild.removeClass('hover');
					selectedItem = selectedItem.getNext();
				}
				selectedItem.firstChild.addClass('hover');
				self.value = selectedItem.firstChild.innerHTML;
				_log(selectedItem.firstChild);
				return;
			}
			// up
			if (evt.keyCode == 38) {
				if ($('liste').innerHTML == '')
					return;
					
				if (selectedItem == null) {
					selectedItem = $('liste').firstChild;
				} else {
					if (selectedItem.getPrevious() == false)
						return;
					selectedItem.firstChild.removeClass('hover');
					selectedItem = selectedItem.getPrevious();
				}
				selectedItem.firstChild.addClass('hover');
				self.value = selectedItem.firstChild.innerHTML;
				_log(selectedItem.firstChild);
				return;
			}
			
			if (evt.keyCode == 13) {
				_log(self.value);
				startCompare(self.value);
			}
			
		},		
		
		$('search_occupational_title').onkeyup = function(evt) {
			var self = this;
			_log(self.value);
			
			evt = evt || window.event;
			if (evt.keyCode == 13 || evt.keyCode == 38 || evt.keyCode == 40)
				return;
					
			
			if (self.value.length < 3)
				return;
			
			if (timer)
				clearTimeout(timer);
			timer = setTimeout(function() { 
						
				_log(self.value);
				startSearch(self.value);
								
			}, 100); // setTimeout
		},
	
		$ES('li', 'liste').forEach(function(element) {
			element.onclick = function() {
								
				new Ajax('ajax.php?ajax=param', {
					postBody : 'occupational_title='+element.firstChild.innerHTML,
					onComplete : function(request) {
						response = request.split("|");
						_log(response);
						if (response[0] == 'true')
							window.location.href = 'http://www.gehaltsvergleich.com/index.php?display=compare';
					}
				}).request(); 								
				
			}
		});
		
		$ES('td.datax', 'datatable').forEach(function(element) {
															
			element.onclick = function() {
			
				$('more'+element.id).style.display = 'block';
			
				var height = new Fx.Height('more'+element.id, {duration: 500});
				height.toggle();
				var color = new Fx.Color('more'+element.id, 'background-color');
				color.custom('#FFF', '#F3F3F3');
				
				if (element.hasClass('selected'))
					element.removeClass('selected');
				else
					element.addClass('selected');
				
			},
			element.onmouseover = function() {
				element.addClass('hover');
			},
			element.onmouseout = function() {
				element.removeClass('hover');
			}
			
		});		
		
				$ES('tr.data', 'datatable').forEach(function(element) {
															
			element.onmouseover = function() {
				element.addClass('hover');
			},
			element.onmouseout = function() {
				element.removeClass('hover');
			}
			
		});		

		$('btnclearbookmarks').onclick = function() {

			new Ajax('ajax.php?ajax=clearbookmarks', {
				method : 'get',
				onComplete : function(request) {					
					response = request.split("|");
					_log(response);
					if (response[0] == 'true') {
						$('btnbookmarks').style.display = 'none';
						$('btnclearbookmarks').style.display = 'none';
						window.location.href = 'http://www.gehaltsvergleich.com';
					}
						
				}
			}).request();			
			
		},
		
		$ES('img.bookmark', 'datatable').forEach(function(element) {
			element.onclick = function() {
								
				new Ajax('ajax.php?ajax=bookmark', {
					postBody : 'id='+element.id,
					onComplete : function(request) {						
						response = request.split("|");
						_log(response);
						if (response[0] == 'true') {
							//alert('Datensatz für den Vergleich gespeichert!');
							//$('btnbookmarks').style.display = '';
							//$('btnclearbookmarks').style.display = '';
							element.src = 'images/icons/stop.png';
						} else
							element.src = 'images/icons/star.png';
																					
					}
				}).request(); 			

			}
		});
				
		$ES('a.occupational').forEach(function(element) {
			element.onclick = function() {
				startCompare(element.title);				
			}
		});
		
		
		$ES('img.voting', 'voting').forEach(function(element) {
		
			element.onclick = function() {
				if (confirm('Bewertung abgeben?')) {				
					new Ajax('ajax.php?ajax=votejobdescription', {
						postBody : 'vote='+element.id+'&id='+element.parentNode.id,
						onComplete : function(request) {
							response = request.split("|");
							_log(response);
							if (response[0] == 'true') {
								element.parentNode.parentNode.innerHTML = response[1];
							} else {
								alert(response[1]);
							}
						}
					}).request();				
				}
			},
			element.onmouseover = function() {
				var imgs = $A(element.parentNode.getElementsByTagName('img'));
				imgs.each(function(img) {
					img.src = (img.id <= element.id) ? 'images/icons/staron.png' : 'images/icons/staroff.png';
				});
			},		
			element.onmouseout = function() {
				var imgs = $A(element.parentNode.getElementsByTagName('img'));
				imgs.each(function(img) {
					img.src = (img.id <= element.title) ? 'images/icons/staron.png' : 'images/icons/staroff.png';
				});
			}
		
		});
		
		
		_log('done');
							
	}
}

function _log(msg) {
	return;
	if (typeof(console) != 'undefined')
		console.log(msg);
}
