jQuery(document).ready(function()
{
	jQuery.blockUI.defaults.message = '<div style="padding:15px;background-color:#ffffff;text-align:center;font-size:12px"><img src="images/busy.gif"/><br/>Bitte&nbsp;warten...</div>';
	jQuery('#mycarousel').jcarousel({
		auto: 0,
		wrap: 'last',
		scroll: 1,
		initCallback: mycarousel_initCallback
	});
});


function mycarousel_initCallback(carousel)
{
		// Disable autoscrolling if the user clicks the prev or next button.
		carousel.buttonNext.bind('click', function() {
				carousel.startAuto(0);
		});

		carousel.buttonPrev.bind('click', function() {
				carousel.startAuto(0);
		});

		// Pause autoscrolling if the user moves with the cursor over the clip.
		carousel.clip.hover(function() {
				carousel.stopAuto();
		}, function() {
				carousel.startAuto();
		});
};


var GBooks =
{
	find : function(isbn)
	{
		var e = document.createElement('script');
		///
		jQuery.blockUI();
		e.setAttribute('src', 'http://books.google.com/books?bibkeys=ISBN:' + this.normalize(isbn) + '&jscmd=viewapi&callback=GBooks.open');
		document.documentElement.firstChild.appendChild(e);
	},
	
	open : function(r)
	{
		jQuery.unblockUI();
		for (var b in r)
		{
			window.open(r[b].info_url);
		}
	},
	
	normalize : function(s)
	{
		var n = '';
		var c = 0;
		///
		for (var i = 0;i < s.length;i++)
		{
			c = s.charAt(i);
			if ((c >= '0') && (c <= '9'))
			{
				n += c;
			}
		}
		return n;
	}
}

function saveComment(url)
{
	var data = {};
	///
	jQuery('.content_block').block().find('input:hidden').each(function()
	{
		data[this.name] = this.value;
	});
	ajaxCall(url, data, function(r)
	{
		if (r.success)
		{
			jQuery('.content_block').unblock()
			document.location = r.url;
		}
		else
		{
			alert(r.message);
		}
	});
}

function sendRecommendation(url)
{
	var data = {};
	///
	jQuery('.content_block').block().find('input').each(function()
	{
		data[this.name] = this.value;
	});
	jQuery('.content_block').find('textarea').each(function()
	{
		data[this.name] = this.value;
	});
	ajaxCall(url, data, function(r)
	{
		jQuery('.content_block').unblock();
		alert(r.message);
		if (r.success)
		{
			document.location = r.url;
		}
	});
}

function evalComment(url, id, approve)
{
	jQuery('#comment' + id).block();
	ajaxCall(url, { id : id, approve : approve }, function(r)
	{
		var jq = jQuery('#comment' + id);
		///
		jq.unblock();
		if (r.success)
		{
			jQuery(jq.find('.product_details_rezension_help').find('span').get(0)).text(r.yes);
			jQuery(jq.find('.product_details_rezension_help').find('span').get(1)).text(r.count);
			jq.find('table').remove();
		}
		else
		{
			alert(r.message);
		}
	});
}


function ajaxCall(url, data, callback)
{
	if (!callback)
	{
		jQuery.blockUI();
		callback = function(r)
		{
			if (r.success)
			{
				if (r.url && (r.url != ''))
				{
					document.location = r.url;
				}
				else
				{
					document.location.reload(true);
				}
			}
			else
			{
				jQuery.unblockUI();
				alert(r.message);
				if (r.url)
				{
					document.location = r.url;
				}
			}
		};
	}
	data.ajax = 'true';
	jQuery.ajax({
		url : url,
		data : data,
		cache : false,
		type : 'POST',
		dataType : 'xml',
		contentType : 'application/x-www-form-urlencoded;charset=UTF-8',
		success : function(x)
		{
			var jqx = jQuery(x);
			var result = 
			{
				success : jqx.find('success').text() == 'true',
				message : jqx.find('message').text(),
				url : jqx.find('url').text()
			};
			///
			jqx.children().children().not('success').not('message').not('url').each(function()
			{
				result[this.nodeName] = jQuery(this).text();
			});
			callback.call(this, result);
		},
		error : function(x, m, e)
		{
			var result = 
			{
				success : false,
				message : 'Serverfehler'
			};
			///
			callback.call(this, result);
		}
	});
}


// -------- getElementsByClass		-------------------------------------------------------------------------------------
function getElementsByClass( searchClass, domNode, tagName) {
	if (domNode == null) domNode = document;
	if (tagName == null) tagName = '*';
	var el = new Array();
	var tags = domNode.getElementsByTagName(tagName);
	var tcl = " "+searchClass+" ";
	for(i=0,j=0; i<tags.length; i++) {
		var test = " " + tags[i].className + " ";
		if (test.indexOf(tcl) != -1)
			el[j++] = tags[i];
	}
	return el;
}

// -------- Searchbox							-------------------------------------------------------------------------------------
function changebgsbox(id) {
	document.getElementById(id).style.backgroundImage='url(images/bg_searchbox_act.gif)'
}
function changebgsboxout(id) {
	document.getElementById(id).style.backgroundImage='url(images/bg_searchbox.gif)'
}


// -------- Main Menu							------------------------------------------------------------------------------------
// MEGADROPDOWN
function showmainmenu(tabname) {
	var tabs = getElementsByClass('hovermenu');
	for(i=0; i<tabs.length; i++)
		tabs[i].style.display = 'none';
		
	var tabs2 = getElementsByClass('nh1');
	for(i=0; i<tabs2.length; i++)
		tabs2[i].style.display = 'none';			
 
	document.getElementById(tabname).style.display='block';
	document.getElementById('hovermenu').style.display='block';
	
}

function hidemainmenu(e,d) {
	
	// Bugdfix bei Links
	var outofrange=e.relatedTarget||e.toElement;
	var t=d.getElementsByTagName('*');
	for(var i=0;i<t.length;i++)if(outofrange==t[i]||outofrange==d)return;

	// Schließe alle aktiven Tabs
	var tabs = getElementsByClass('maintabs');
	for(i=0; i<tabs.length; i++)
		tabs[i].style.backgroundImage = '';

	// Schließe MegaDropDown
	if (document.getElementById('hovermenu').style.display='block') {
		document.getElementById('hovermenu').style.display='none';
	}	
}

function hidemainmenu2() {
	
	// Schließe alle aktiven Tabs
	var tabs = getElementsByClass('maintabs');
	for(i=0; i<tabs.length; i++)
		tabs[i].style.backgroundImage = '';

	// Schließe MegaDropDown
	if (document.getElementById('hovermenu').style.display='block') {
		document.getElementById('hovermenu').style.display='none';
	}	
	
}

var aktiv;

// CLOSETIMER
function closetimer() {
	aktiv = window.setTimeout("hidemainmenu2()", 500);
}

function aborttimer() {
  window.clearTimeout(aktiv);
}



// TABS
function showmaintab(tabname) {
	
	aborttimer();
	
	// Erstmal alle Tabs ausblenden
	var tabs = getElementsByClass('maintabs');
	for(i=0; i<tabs.length; i++)
		tabs[i].style.backgroundImage = '';
	
	// Dann die Tabs entsprechend ausschmücken
	if (tabname == 'maintab1') {
		document.getElementById('maintab1').style.backgroundImage='url(images/menu_1_ho.gif)';
	}	
	if (tabname == 'maintab2') {
		document.getElementById('maintab2').style.backgroundImage='url(images/menu_2_ho.gif)';
	}	
	if (tabname == 'maintab3') {
		document.getElementById('maintab3').style.backgroundImage='url(images/menu_3_ho.gif)';
	}	
	if (tabname == 'maintab4') {
		document.getElementById('maintab4').style.backgroundImage='url(images/menu_4_ho.gif)';
	}	
	if (tabname == 'maintab5') {
		document.getElementById('maintab5').style.backgroundImage='url(images/menu_5_ho.gif)';
	}		

}




// -------- Basket / Note					-------------------------------------------------------------------------------------
// Tab Änderung
function showbaskettab(tabname) {
	if (tabname == 'menu1') {
		document.getElementById('basket').style.backgroundImage='url(images/bg_switchbasket_1.gif)';
	}	
	if (tabname == 'menu2') {
		document.getElementById('basket').style.backgroundImage='url(images/bg_switchbasket_2.gif)';
	}
	
}	

// Content Änderung
function showbasketcontent(tabname) {
	var tabs = getElementsByClass('bt_content');
	for(i=0; i<tabs.length; i++)
		tabs[i].style.display = 'none';
	document.getElementById(tabname).style.display='block';
		
}


