//-------------------------------
// FUNKTIONEN
//-------------------------------
var url="http://www.inside-handy.de";
var title="inside-handy.de - das Mobilfunk Wissens Portal";
var product_image_type = 'small';
function favorites() {
	if (document.all) {
		window.external.AddFavorite(url,title);
	}
}

function addBookmark(title,url) {
	if (navigator.appName.indexOf("Explorer") != -1) {
		window.external.AddFavorite( url, title);
	} else if (window.sidebar) {
		window.sidebar.addPanel(title, url,"");
	} else if( document.all ) {
		window.external.AddFavorite( url, title);
	} else if( window.opera && window.print ) {
		return true;
	}
}

function SymError() {
	return true;
}

window.onerror = SymError;

function start(ziel, opt) {
	window.open(ziel,"PopUp",opt);
}

function insert(aTag, eTag) {
    var input = document.forms['form'].elements['bericht'];
    input.focus();
    /* für Internet Explorer */
    if(typeof document.selection != 'undefined') {
		/* Einfügen des Formatierungscodes */
		var range = document.selection.createRange();
		var insText = range.text;
		var url = '';
		if(aTag == '[URL]') {
			if (!insText) {
				insText = prompt("Geben Sie bitte einen Linknamen ein. (optional)", "");
			}
			url = prompt("Geben Sie bitte einen Link ein.", "http://");
			if (!insText) {
				insText = url;
			}
			if (!url || url == 'http://') {
				aTag = '';
				eTag = '';
			}
			else {
				aTag = '[URL=' + url + ']';
			}			
		}
		else if(aTag == '[IMG]') {
				insText = prompt("Geben Sie bitte den Link zum Bild ein.", "http://");
			if (!insText || insText == 'http://') {
				aTag = '';
				eTag = '';
			}
		}
		if (aTag != '' && eTag != '') {
			range.text = aTag + insText + eTag;
			/* Anpassen der Cursorposition */
			range = document.selection.createRange();
			if (insText.length == 0) {
				range.move('character', -eTag.length);
			}
			else {
				range.moveStart('character', aTag.length + insText.length + eTag.length);      
			}
			range.select();
		}
    }
    /* für neuere auf Gecko basierende Browser */
    else if(typeof input.selectionStart != 'undefined') {
		/* Einfügen des Formatierungscodes */
		var start = input.selectionStart;
		var end = input.selectionEnd;
		var insText = input.value.substring(start, end);
		var url = '';
		if(aTag == '[URL]') {
			if (!insText) {
				insText = prompt("Geben Sie bitte einen Linknamen ein. (optional)", "");
			}
			url = prompt("Geben Sie bitte einen Link ein.", "http://");
			if (!insText) {
				insText = url;
			}
			if (!url || url == 'http://') {
				aTag = '';
				eTag = '';
			}
			else {
				aTag = '[URL=' + url + ']';
			}			
		}
		else if(aTag == '[IMG]') {
				insText = prompt("Geben Sie bitte den Link zum Bild ein.", "http://");
			if (!insText || insText == 'http://') {
				aTag = '';
				eTag = '';
			}
		}
		if (aTag) input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
		/* Anpassen der Cursorposition */
		var pos;
		if (insText.length == 0) {
			pos = start + aTag.length;
		}
		else {
			pos = start + aTag.length + insText.length + eTag.length;
		}
		input.selectionStart = pos;
		input.selectionEnd = pos;
    }
}

//-------------------------------
// LAYER SCROLLT MIT
//-------------------------------

var refreshTime  	= 100;
var topPosition  	= -1;
var scrollMemory 	= 0;
var topCssPos 		= 135;
var doScroll		= 1;

function moveLayer(layer_id){
	if (doScroll == 1) {
		if (document.getElementById(layer_id)){
			if (topPosition == -1){
				var layer_top = document.getElementById(layer_id).offsetTop;
				topPosition = layer_top;
			}
		
			var windowWidth  = window.innerWidth;
			var windowHeight = window.innerHeight;
	
			if(document.body.scrollTop){ 
				var scrollTop = document.body.scrollTop; 
			} else { 
				var scrollTop = window.pageYOffset; 
			}
			
			if (scrollTop == null || scrollTop == 'undefined') { 
				var scrollTop = 0; 
			}
	
			if (scrollMemory < scrollTop && scrollTop > topCssPos) {
				var positionNew = scrollTop+topPosition-topCssPos;	
	
				document.getElementById(layer_id).style.top = positionNew+'px';
				scrollMemory = scrollTop;
			} else if (scrollMemory > scrollTop) {
				var positionNew = scrollTop+topPosition-topCssPos;
				if (positionNew < topCssPos) { 
					positionNew = topCssPos; 
				}				
				document.getElementById(layer_id).style.top = positionNew+'px';
				scrollMemory = scrollTop;
			}
		}
		window.setTimeout("moveLayer('"+layer_id+"');",refreshTime);
	}
}


//-------------------------------
//FUNKTIONSAUFRUFE
//-------------------------------
moveLayer('neben_site');


/*----------------------------------------
// statistic count click + ivw refresh
----------------------------------------*/
function count_click(site) {
	var now = new Date().getTime();
	// IVW
	if (document.szmtag !== null) {
		var szmtag_src = IVW+'?r='+escape(document.referrer)+'&d='+now;
		document.szmtag.src = szmtag_src;
	}
	// Portal
	if (document.stat !== null) {
		var stat_src = url+'/stat_'+now+'.gif';
		if (site) {
			stat_src = stat_src+'?stat='+site;
		}
		document.stat.src = stat_src;
	}
	// Google
	_gaq.push(['_trackPageview']); 
}


$(document).ready(function() {

	/*****************************
	 * Ein-/Ausblenden Loginformular
	 ****************************/
	// Öffne/Schließe Liste durch Klick
	$('a.login_box_small').click(
		function() {
			$('#login_box_small').toggle('fast');
			return false;
		}
	);

	/*****************************
	 * Vorbelegung Suchbox
	 ****************************/
	var searchbox_default = 'Suche';
	$('div.searchbox input#q').val(searchbox_default);
	
	$('div.searchbox input#q').focus(
		function() {
			if ($(this).val() == searchbox_default) {
				$('div.searchbox input#q').val('');
			}
		}
	);
	
	$('div.searchbox input#q').blur(
		function() {
			if ($(this).val() == '') {
				$('div.searchbox input#q').val(searchbox_default);
			}
		}
	);
	
	$('div.searchbox form').submit(
		function() {
			
			// Formular leeren, wenn Standardwort
			if ($('div.searchbox input#q').val() == searchbox_default) {
				$('div.searchbox input#q').val('');
			}
			
			// Formular abschicken
			this.submit();
			return false;
		}
	);

	/*****************************
	 * Hover-Effekt Pfeil (Suchbox)
	 ****************************/
	$('div.searchbox input[type="image"]').hover(
		function() {
			// tausche Pfeil aus
			$(this).attr('src', 'http://iimpic.de/ih/arrow_small_blue_right.png');
			
			return false;
		},
		function() {
			// tausche Pfeil aus
			$(this).attr('src', 'http://iimpic.de/ih/arrow_small_gray_right.png');
			
			return false;
		}
	);

	/*****************************
	 * Ein- und Ausblenden der Schnellfinder-Listen
	 ****************************/
	function toggle_finder(id, action) {
		
		// klappe Liste auf/zu
		if (action == 'toggle') {
			$('div.'+id).toggle();
		}
		else if (action == 'hide') {
			$('div.'+id).hide();
		}
		else {
			$('div.'+id).show();
		}
		
		// passe Pfeil an
		if ($('div.'+id).is(':visible')) {
			$('a#'+id).addClass('dropdown_opener_active');
		}
		else {
			$('a#'+id).removeClass('dropdown_opener_active');
		}
	}
	
	// Öffne Liste durch Klick
	$('a.finder').click(
		function() {
			// ermittle geklickte ID
			var clicked_a_id = $(this).attr('id');
			toggle_finder(clicked_a_id, 'toggle');
			return false;
		}
	);
	
	// Schließe Liste durch Verlassen
	$('#hover_test').hover(
		function() {},
		function() {
			toggle_finder('finder_test', 'hide');
		}
	);
	$('#hover_hersteller').hover(
		function() {},
		function() {
			// klappe Liste zu
			toggle_finder('finder_hersteller', 'hide');
		}
	);
	
	// Halte Liste offen durch Zeigen
	$('.hover_test').hover(
		function() {
			toggle_finder('finder_test', 'show');
		},
		function() {}
	);
	$('.hover_hersteller').hover(
		function() {
			toggle_finder('finder_hersteller', 'show');
		},
		function() {}
	);

	/*****************************
	 * Ein- und Ausblenden der Toplisten Handys/Spiele (rechtes Menue)
	 ****************************/
	$('a.sidebox_geraete').click(
		function() {
			// ermittle geklickte #id
			var clicked_a_id = $(this).attr('id');
			var clicked_a_id_rel = $(this).attr('rel');
			
			// alle ausblenden
			$('div.sidebox_geraete_'+clicked_a_id_rel).hide();
			
			// gewaehlten einblenden
			$('div.'+clicked_a_id).show();
			
			// Reiter aktualisieren
			$('a[rel="'+clicked_a_id_rel+'"]').parent().removeClass('active').removeClass('firstActive');
			$(this).parent().addClass('active');
			if ($(this).parent().hasClass('first')) {
				$(this).parent().addClass('firstActive');
			}
			
			return false;
		}
	);
		

	/*****************************
	 * Ein- und Ausblenden/Wechseln der Handy(spiel)bilder (Topliste)
	 ****************************/
	$('div.toplist ol li a').mouseover(
			
		function() {
			// passe Formatierung an
			$(this).parent().parent().find('a').removeClass('active');
			$(this).addClass('active');
			
			// ermittle Handy(spiel)-ID
			var hovered_id = $(this).attr('id');
			var product = hovered_id.split('_');
			var product_type = product[0];
			var product_id = product[1];
			var reiter_id = product[2];
			
			var rel_data = $(this).attr('rel');
			var rel_split = rel_data.split("|");
			
			// tausche Bild-Attribute aus
			$('a#top10_img_' + product_type + '_' + reiter_id).attr('href', $(this).attr('href'));
			$('a#top10_img_' + product_type + '_' + reiter_id + ' img').attr('src', rel_split[0]);
			$('a#top10_img_' + product_type + '_' + reiter_id + ' img').attr('width', rel_split[1]);
			$('a#top10_img_' + product_type + '_' + reiter_id + ' img').attr('height', rel_split[2]);
			$('a#top10_img_' + product_type + '_' + reiter_id + ' img').attr('title', $(this).attr('title'));
			$('a#top10_img_' + product_type + '_' + reiter_id + ' img').attr('alt', $(this).attr('title'));
			
			return false;
		}
	);

	/*****************************
	 * Weiterscrollen der Topliste
	 ****************************/
	// nach unten
	$('div.toplist a.arrow_down').click(
		function() {
			// brich ab, wenn Pfeil deaktiviert
			if ($(this).attr('class') == 'arrow_down_disabled') {
				return false;
			}
			
			// ermittle auszublendenden Rang
			var ol_start = parseInt($(this).parent().find('ol').attr('start'));
			
			// ermittle einzublendenden Rang
			var ol_end = ol_start + 10;
			
			// existiert einzublendender Rang?
			if ($(this).parent().find('li.rank_'+ol_end).length > 0) {
				
				//blende Ränge aus und ein
				$(this).parent().find('li.rank_'+ol_start).addClass('hide');
				$(this).parent().find('li.rank_'+ol_end).removeClass('hide');
				
				// aktualisiere Numerierung
				$(this).parent().find('ol').attr('start', ol_start + 1);
				
				// blende Pfeil/oben ein
				$(this).parent().find('a.arrow_up_disabled').removeClass('arrow_up_disabled');
			}
			
			// deaktiviere Pfeil/unten, wenn Ende der Liste erreicht
			else {
				$(this).removeClass('arrow_down').addClass('arrow_down_disabled');
			}
			
			return false;
		}
	);
	
	// nach oben
	$('div.toplist a.arrow_up').click(
		function() {
			
			// brich ab, wenn Pfeil deaktiviert
			if ($(this).attr('class').search('arrow_up_disabled') != -1) {
				return false;
			}
			
			// ermittle einzublendenden Rang
			var ol_start = parseInt($(this).parent().find('ol').attr('start')) - 1;
			
			// ermittle auszublendenden Rang
			var ol_end = ol_start + 10;
			
			// blende Ränge aus und ein
			$(this).parent().find('li.rank_'+ol_start).removeClass('hide');
			$(this).parent().find('li.rank_'+ol_end).addClass('hide');
			
			// aktualisiere Numerierung
			$(this).parent().find('ol').attr('start', ol_start);
			
			// blende Pfeil/oben aus, wenn Start der Liste erreicht
			if (ol_start <= 1) {
				$(this).addClass('arrow_up_disabled');
			}
			
			// blende Pfeil/unten ein
			$(this).parent().find('a.arrow_down_disabled').removeClass('arrow_down_disabled').addClass('arrow_down');
			$(this).parent().find('a.arrow_down').show();
			
			return false;
		}
	);

	/*****************************
	 * Ein- und Ausblenden von Bildergalerien (rechtes Menue)
	 ****************************/
	$('a.sidebox_gal').click(
		function() {
			// ermittle geklickte #id und display-Zustand
			var clicked_a_id = $(this).attr('id');
			var state = $('a.'+clicked_a_id).css('display');
			
			// alle ausblenden
			$('a.gallink').hide();
			
			// Pfeil-Icons anpassen
			$('a.sidebox_gal').removeClass('active');
			
			// gewaehlten einblenden, wenn vorher ausgeblendet
			if (state == 'none') {
				$('a.'+clicked_a_id).css('display', 'block');
				$(this).addClass('active');
			}
			
			return false;
		}
	);

	/*****************************
	 * Ein- und Ausblenden von Erfahrungsberichten Handys/Spiele (rechtes Menue)
	 ****************************/
	$('a.sidebox_reviews').click(
		function() {
			// ermittle geklickte #id
			var clicked_a_id = $(this).attr('id');
			
			// alle ausblenden
			$('div.sidebox_reviews').hide();
			
			// gewaehlten einblenden
			$('div.'+clicked_a_id).show();
			
			// Reiter aktualisieren
			$('a.sidebox_reviews').parent().removeClass('active').removeClass('firstActive');
			$(this).parent().addClass('active');
			if ($(this).parent().hasClass('first')) {
				$(this).parent().addClass('firstActive');
			}
			
			return false;
		}
	);

	/*****************************
	 * Ein- und Ausblenden von Tests Handys/Spiele (rechtes Menue)
	 ****************************/
	$('a.sidebox_tests').click(
		function() {
			// ermittle geklickte #id
			var clicked_a_id = $(this).attr('id');
			
			// alle ausblenden
			$('div.sidebox_tests').hide();
			
			// gewaehlten einblenden
			$('div.'+clicked_a_id).show();
			
			// Reiter aktualisieren
			$('a.sidebox_tests').parent().removeClass('active').removeClass('firstActive');
			$(this).parent().addClass('active');
			if ($(this).parent().hasClass('first')) {
				$(this).parent().addClass('firstActive');
			}
			
			return false;
		}
	);
	
	/*****************************
	 * Development / Debugging
	 ****************************/
	$('#development_debugging').dblclick(function() {
		$("#development_debugging_content").slideToggle("slow");
		$("#development_debugging_content").focus();
	});

});