$(function(){
	//jQuery.fx.off = true;
	// common
	if($('#pass_pass').val() == '')
	{
		$('#pass_pass').hide();
		$('#pass_txt').show();
	}
	
	$('.btn-style').mouseenter(function() {
		$(this).addClass('btn-style-hover')
	}).mouseleave(function() {
		$(this).removeClass('btn-style-hover')
	});
	
	//
	$('.i-tooltip').tooltip({position: "bottom right",
		offset: [23, -24],
		onShow: function() {
			$(this.getTip()).hide().clone(true).addClass('cat-tooltip-body').show().prependTo('body');
		},
		onHide: function() {
			$('.cat-tooltip-body').remove();
		}
	});
	$('.i-tooltip').click(function(){
		return false;
	});
	$('.upcoming-albums__ul .date').click(function(){
			var $t = $(this).parent().parent();
			if(!$t.hasClass('active')) {
				var idx = $('.upcoming-albums__ul .a').index($t);
				$('.upcoming-albums__ul .a').removeClass('active');
				$t.addClass('active');
				//console.info(idx)
				if(idx == 0) {
					$('.b-upcoming-albums .all')[0].className = 'all';
				}
				else if(idx == 1) {
					$('.b-upcoming-albums .all')[0].className = 'all all-c';
				}
				else if(idx == 2) {
					$('.b-upcoming-albums .all')[0].className = 'all all-r';
				}
			}
	});
	// similar artists / releases - see more
	$("div .b-similar-artists .all").click(function() {
		var pr = $(this).parent().parent();
		var x = $('ul:visible', pr);
		x.hide();
		x.next().html() ? x.next().show() : $('ul:first', pr).show();
		return false;
	});
	// releases discography - see more
	var dsg_offset = 0;
	$('#seeall').click(function() {
	/*
		var dsg_len = $('.b-sidediscography ul').attr('clientHeight');
		var ln = 69*5;
		if(dsg_offset + ln >= dsg_len)
		{
			ln = '0';
			dsg_offset = 0;
		}
		else
		{
			dsg_offset += ln;
			ln = '-=' + ln;
		}
		$('.b-sidediscography ul').animate({
			top: ln,
			}, 500);
	*/
		var pr = $(this).parent().parent();
		var x = $('ul:visible', pr);
		x.hide();
		x.next('ul').length ? x.next('ul').show() : $('ul:first', pr).show();
		return false;
	});
	//
	// Shoppingcart & Downloads checkboxes
	$("#selall").click(function() {
		$('input:checkbox').attr('checked', $(this).attr('checked'));
		if(typeof(track_price) != 'undefined')	calc();
	});
	$('.sim-hd input:checkbox').click(function() {
		var name = $(this).attr('name').substr(1);
		$('.tr' + name + ' input:checkbox').attr('checked', $(this).attr('checked'));
		$("input:checkbox[name='ids[]']:checked").length == $("input:checkbox[name='ids[]']").length ? 
			$("#selall").attr('checked', 'checked') : $("#selall").attr('checked', '');
		if(typeof(track_price) != 'undefined')	calc();
	});
	$('#cart_form input:checkbox[name="ids[]"]').click(function() {
		var name = $(this).parent().parent().attr('class').substr(2);
		$('.tr' + name + ' input:checked').length == $('.tr' + name + ' input:checkbox').length ?
			$("input:checkbox[name='r" + name +"']").attr('checked', 'checked') : $("input:checkbox[name='r" + name +"']").attr('checked', '');
		$("input:checkbox[name='ids[]']:checked").length == $("input:checkbox[name='ids[]']").length ? 
			$("#selall").attr('checked', 'checked') : $("#selall").attr('checked', '');
		if(typeof(track_price) != 'undefined')	calc();
	});
	// Albums open/close
	$('.morealbums-show').click(function(){
		var $t = $(this);
		var hrf = $t.attr('href');
		if($t.parents('.sim-hd').hasClass('sim-hd-hidden')) {
			$t.parents('.sim-hd').removeClass('sim-hd-hidden');
			$(hrf).show();
		}
		else {
			$t.parents('.sim-hd').addClass('sim-hd-hidden');
			$(hrf).hide();
		}
		return false;
	});
	// Release checkboxes
	$('#tracks_form :checkbox[name="ids[]"]').click(function() {
		$(":checkbox[name='ids[]']:checked").length == $(":checkbox[name='ids[]']").length ? 
			$("#selall_r").attr('checked', 'checked') : $("#selall_r").attr('checked', '');
		calc_r();
	});
	$('#selall_r').click(function() {
		$(':checkbox').attr('checked', $(this).attr('checked'));
		calc_r();
	});
	// Release review
	$('#createrev').click(function(ev){
		$('.overlay,.pp-writereview').show();
		var pos = $(window).scrollTop() + 50;
		$('.pp-writereview').css('top',pos+'px')
		return false;
	});
	$('.pp-writereview .close').click(function(){
		$('.overlay,.pp-writereview').hide();
		return false;
	});
	$('#close').click(function(){
		$('.overlay,.pp-writereview').hide();
		return false;
	});
		// check form
	$('#review_form').submit(function(){
		if($.trim($('#review').val()) == '')
		{
			$('#pp_error').html(messages[0]); //Review form is empty
			return false;
		}
		else if($('#rating').val() == '0')
		{
			$('#pp_error').html(messages[1]); //Please rate this album
			return false;
		}
		return true;
	});
		//left votes
	$('#v1').mouseenter(function() { 
		$('#r_votes .vote-exist').hide();
		$('#r_votes .vote-new').show();
	});
	$('#v2').mouseleave(function() { 
		$('#r_votes .vote-exist').show();
		$('#r_votes .vote-new').hide();
	});
		//stars click
	$('#pp-g-stars a').click(function(){
		$('#pp-g-stars a').removeClass('cur');
		$('#rating').attr('value', $(this).attr('class').substr(1));
		$(this).addClass('cur');
		return false;
	});
	//Release - add 2 cart button
	$('#add2cart_r').click(function(){
		$('#act').attr('value', 'add');
		document.getElementById('selall_r').click();
		$("#tracks_form").submit();
		return false;
	});
	//Charts - albums/songs swither
	$('#c-sup-filters a').click(function(){
		$('#c-sup-filters a').removeClass('active');
		$(this).addClass('active');
		if($(this).attr('name') == 'ch_singles')
		{
			$('#charts-albums').hide();
			$('#charts-songs').show();
		}
		else
		{
			$('#charts-songs').hide();
			$('#charts-albums').show();
		}
		return false;
	});
	// Archive
	$('#archive_table input:checkbox').click(function() {
		$('#archive_table input:checkbox:checked').length == $('#archive_table input:checkbox').length ?
			$('#selall_af').attr('checked', 'checked') : $('#selall_af').attr('checked', '');
	});
	$('#selall_af').click(function() {
		$(':checkbox').attr('checked', $(this).attr('checked'));
	});
	
	// == main ==
	// lang
	$('#lang-bar-link').click(function() {
		//$('#lang-bar').toggleClass('active-langbar');
		if(!$('#lang-bar').hasClass('active-langbar'))
		{
			$('#lang-bar').addClass('active-langbar');
			
			$(document).bind('click',function(e){
				$(this).unbind('click');
				$('#lang-bar').removeClass('active-langbar');
  				if($(e.target).is('div'))
					return false;
			});
		}
		else
			$('#lang-bar').removeClass('active-langbar');
		return false;
	});
	//
	//top switch
	$('#m-sup-filters a').click(function() {
		$('#m-sup-filters a').removeClass('active');
		$(this).addClass('active');
		var add = 0;
		if($(this).attr('name') == 'mr_hot')			add = 1;
		else if($(this).attr('name') == 'mr_best')		add = 2;
		
		$('#mrl_' + active_layer).hide();
		active_layer = active_layer > 2 ? 3 + add : add;
		$('#mrl_' + active_layer).show();
		return false;
	});
	//inside swith
	$('#ltab').click(function() { //table
		if(!$(this).parent().hasClass('active'))
		{
			$('#stab').parent().removeClass('active');
			$(this).parent().addClass('active');
			$('#mrl_' + active_layer).hide();
			active_layer -= 3;
			$('#mrl_' + active_layer).show();
			document.cookie="scroll=; path=/; expires=Mon, 01-Jan-2001 00:00:00 GMT";
		}
		return false;
	});
	$('#stab').click(function() { // row
		if(!$(this).parent().hasClass('active'))
		{
			$('#ltab').parent().removeClass('active');
			$(this).parent().addClass('active');
			$('#mrl_' + active_layer).hide();
			active_layer += 3;
			$('#mrl_' + active_layer).show();
			var tmp = new Date();
			tmp.setFullYear(tmp.getFullYear() + 2);
			document.cookie="scroll=1; path=/; expires=" + tmp.toGMTString();
		}
		return false;
	});
	//scroll
	$('.b-releases-row .ar-r').click(function() {
		index_scroll(left[active_layer]+337);
		return false;
	});
	$('.b-releases-row .ar-l').click(function() {
		index_scroll(left[active_layer]-220);
		return false;
	});
	$(".jspHorizontalBar").bind('mouseup', function(e){
		index_scroll(e.pageX - $(this).offset().left)
		return false;
	});
	// mouse move
	active_layer = $('#mrl_0').hasClass('active') ? 0 : 3;
	$(".jspDrag").mousedown(function(e){
		l_area = $('#bar' + active_layer);
		l_bar = $('#area' + active_layer);
		$(".jspHorizontalBar").unbind();
		t = e.pageX - parseInt($(this).css('left'));
		$(document).bind('mousemove',function(e){
			var where = e.pageX - t;
			if(where  < 9)
				where = 9;
			if(where  > 840)
				where = 840;
			$(l_area).css('left', where + 'px');
			$(l_bar).css('left', '-' + Math.round((where)*1.67) + 'px');
			left[active_layer] = where;
			return false;
		});
		$(document).bind('mouseup',function(e){ 
			$(this).unbind();
			$(".jspHorizontalBar").bind('mouseup', function(e){
				index_scroll(e.pageX - $(this).offset().left)
				return false;
			});
			return false;
		});
		return false;
	});
	// genres
	$(".b-sidefilters .full-list").click(function() {
		if($(this).attr('name') == 'expand')
		{
			$(this).html(messages[10]);
			$(this).attr('name', 'collapse');
			$(".b-sidefilters .passive").show();
			var tmp = new Date();
			tmp.setFullYear(tmp.getFullYear() + 2);
			document.cookie="expand=1; path=/; expires=" + tmp.toGMTString();
		}
		else
		{
			$(this).attr('name', 'expand');
			$(this).html(messages[3]);
			$(".b-sidefilters .passive").hide();
			document.cookie="expand=; path=/; expires=Mon, 01-Jan-2001 00:00:00 GMT";
		}
		return false;
	});
	// Autocomplete
	$('#autocomplete').attr('autocomplete', 'off');
	$('#autocomplete').blur(function() {
	 	if($(this).attr('value') == '')	
			$(this).attr('value', messages[2]); //Music Search
		ac_hide();
	});
	$('#autocomplete').focus(function() {
 		if($(this).attr('value') == messages[2])	
			$(this).attr('value', '');
		if(!ac_visible && $(this).attr('value').length > 0)
			ac_build();
	});
	$('#autocomplete').keyup(function(event) {
		if(event.keyCode == 27)
		{
			$(this).attr('value', $(this).attr('value'));
			ac_hide();
			return;
		}
		if($(this).attr('value').length < 1)
			ac_hide();
		else if(usr_input == '' || usr_input != $(this).attr('value'))
		{
			usr_input = $(this).attr('value');
			ac_build();
		}
	});
	$('#autocomplete').keydown(function(event) {
		if(!ac_visible)
			return;
		var prev_pos = pos;
		if(event.keyCode == 13) //enter
		{
			if(pos != 99 && pos != 0)
			{
				$('#pos' + pos).click();
				return false;
			}
		}
		if(event.keyCode == 27) //esc
			$(this).attr('value', $(this).attr('value'));
		if(event.keyCode == 38) // Up arrow
		{
			if(pos == 0) 
				pos = 99;
			else if(pos == 99)
			{
				for(pos=9;pos>=0;pos--)
					if($('#pos' + pos).length > 0)
						break;
			}
			else			
				pos--;
		}
		if(event.keyCode == 40) // Down arrow
		{
			if(pos == 99) 
				pos = 0;
			else
			{
				pos++;
				if($('#pos' + pos).length  == 0)
					pos = 99;
			}
		}
		$(".b-autocomplete dd").removeClass('hover');
		$('#pos' + pos).addClass('hover');
		
	});
	// votes
});
// for index scroll
var left = [0,0,0,9,9,9];
var active_layer;
var t;
var l_area, l_bar;
// for autocomplete
var ac_visible = false;
var pos = 0;
var ac_cached = new Array();
var usr_input = '';
// index, scroll
function index_scroll(pos)
{
	pos -= 60;
	if(pos > 950-110)	pos = 950-110;
	else if(pos < 55)	pos = 9;
	if(pos - left == 0)
		return;
	var go_1 = (pos > left[active_layer] ? '+' : '-') + '=' + Math.abs(pos - left[active_layer]) + 'px';
	var go_2 = (pos > left[active_layer] ? '-' : '+') + '=' + Math.abs(Math.round((pos-left[active_layer])*1.67)) + 'px';
	$('#bar' + active_layer).animate({left: go_1});
	$('#area' + active_layer).animate({left: go_2});
	left[active_layer] = pos;
}

// AJAX Functions
function ajax(op, id)
{
	$.post('/ajax.php', { op: op, id: id }, function(data){ajax_done(data, op, id) });
	return false;
}

function ajax_done(data, op, id)
{
	if(op == 1 || op == 5)
	{
		id = op == 1 ? 'r' + id : 't' + id;
		var r = data.split('|');
		if(r[0] != 'ok')
			return;
		$('#ts').html(r[1]);
		$('#as').html(r[2]);
		$('#sc').html(r[3]);
		$('#' + id).html('<a href="/shoppingcart"><img src="/img/i-tls-5.png" alt="'+messages[11]+'" width="33" height="31" class="iPNG" /></a>');
	}
	else if(op == 2)
		$('#r' + id).html('<a href="'+messages[4]+'" onclick="return ajax(3, '+ id +');"><img src="/img/i-tls-2.png" alt="'+messages[4]+'" width="33" height="27" class="iPNG" /></a>');
	else if(op == 3)
		$('#r' + id).html('<a href="'+messages[5]+'" onclick="return ajax(2, '+ id +');"><img src="/img/i-tls-1.png" alt="'+messages[6]+'" width="33" height="27" class="iPNG" /></a>');
	else if(op == 4)
	{
		$('#add-to-fav').addClass('added-tofav');
		$('#add-to-fav').html('<span>'+messages[7]+'</span>');
	}
	else if(op == 6 || op == 7)
	{
		var votes = parseInt($('#rwv' + id).html());
		op == 6 ? votes-- : votes++;
		$('#rwv' + id).parent().html('<big class="minus minus-1 iPNG"></big> <span class="vote">'+votes +'</span> <big class="plus plus-1 iPNG"></big>');
	}
	else if(op == 8)
	{
		$('#add-to-fav').addClass('added-tofav');
		$('#add-to-fav').html('<span>'+messages[7]+'</span>');
	}
	else if(op >= 9 && op <= 13)
	{
		var r = data.split('|');
		if(r[0] == 'ok')
		{
			$('#r_votes .x-votes').html(r[1] + ' '+messages[8]+' / '+messages[9]+': ' + (op-8)); //voted / You voted
			$('#v1 i').css("width", r[2] + '%'); 
		}
	}
}
// Autocomplete
function ac_build()
{
	var inp = $('#autocomplete').attr('value');
	if(!ac_cached[inp.toLowerCase()])
		$.get('/ajax-list.php',{q: inp}, function(data){ ac_cached[inp.toLowerCase()] = data; ac_show(data); });
	else
		ac_show(ac_cached[inp.toLowerCase()]);
}
function ac_show(data)
{
	if(data != '')
	{
		$('#ac_container').html(data);
		$('#ac_container').fadeIn(100);
		ac_visible = true;
		pos = 0;
	}
}
function ac_hide()
{
	if(!ac_visible)
		return;
	$('#ac_container').fadeOut(200);
	ac_visible = false;
}

function ac_hover(id)
{
	$(".b-autocomplete dd").removeClass('hover');
	$('#pos' + id).addClass('hover');
	pos = id;
}
//---------
/*------Tracks sizes, count & ect----*/
function calc() //4 cart
{
	var total_checked = 0;
	var total_price = 0;
	var total_size = 0;
	var total_dur = 0;
	$('.sim-hd input:checkbox').each(function() {
		var name = $(this).attr('name').substr(1);
		var x_num_tracks = 0;
		$('.tr' + name + ' input:checked').each(function() {
			if($(this).attr('checked'))
			{
				var pr = $(this).parent().parent();
				total_size += parseFloat($('.j-tsize', pr).html());
				var tmp =  $('.j-tdur', pr).html();
				tmp = tmp.split(':');
				if(tmp[1])
					total_dur += parseInt(tmp[0])*60 + parseInt(tmp[1]);
				else
					total_dur += parseInt(tmp[0]);
				x_num_tracks++;
			}
		});
		total_checked += x_num_tracks;
		total_price += x_num_tracks*track_price;
		if($(this).attr('checked') && $(this).hasClass('j-fullalbum'))
			total_price -= x_num_tracks*(track_price-track_rprice);
	});
	
	$('#t_price').html(modifier_price(total_price));
	$('#t_tracks').html(total_checked);
	$('#t_size').html(total_size.toFixed(2));
	$('#t_dur').html(modifier_duration(total_dur));
}
function calc_r()
{
	var total_checked = 0;
	var total_dur = 0;
	var total_price = 0;
	$('.j_tch input:checked').each(function() {
		total_checked++;
		var tmp =  $('.td-time', $(this).parent().parent()).html();
		tmp = tmp.split(':');
		if(tmp[1])
			total_dur += parseInt(tmp[0])*60 + parseInt(tmp[1]);
		else
			total_dur += parseInt(tmp[0]);
	});
	total_price = total == total_checked ? track_rprice*total_checked : track_price*total_checked;
	$('#t_dur').html(modifier_duration(total_dur));
	$('#t_price').html(modifier_price(total_price));
	return;
}
function modifier_duration(duration)
{
	var out = '';
	var num_mins = Math.floor(duration / 60);
	if(num_mins == 0)
		out +='00:';
	else if(num_mins < 10)
		out += '0'+num_mins+':';
	else
		out += num_mins+':';
	
	var num_secs = Math.round(duration - (num_mins * 60));
	if(num_secs < 10)
		num_secs = '0'+num_secs;
	out += num_secs;
	return out;
}
function modifier_price(price)
{
	price = Math.round(price/100);
	price /= 100;
	if((price - Math.floor(price)) == 0)
		price += '.00';
	else if( Math.round(((price - Math.floor(price))*100))%10 == 0)
		price += '0';
	return price;
}
function bookmarksite()
{
	var title = document.title;
	var url = window.location;
	if (window.sidebar) // firefox
		window.sidebar.addPanel(title, url, '');
	else if (window.opera && window.print) // opera
	{
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
     } 
	 else if (document.all) // ie
     	window.external.AddFavorite(url, title);
     return false;
}
function remove_input_txt()
{
	document.getElementById('pass_txt').style.display = 'none';
	document.getElementById('pass_pass').style.display = 'block';
	document.getElementById('pass_pass').focus();
}
//JSERRORS
var messages = new Array(
['Review form is empty','Please rate this album','Music Search','Expand','Remove Bookmarks','Add to Bookmarks','The album will become available soon. Add to bookmarks.','Added a Bookmarks','voted','You voted','Collapse','Shopping cart'],
['Das Überprüfungsformular ist leer','Bitte bewerten Sie dieses Album','Musiksuche','Erweitern','Lesezeichen entfernen','Zu Lesezeichen hinzufügen','Das Album ist bald verfügbar.','Zu Lesezeichen hinzugefügt.','abgestimmt','Sie haben abgestimmt','Zusammenklappen','Einkaufswagen'],
['El formulario de comentarios está vacío','Por favor, valore este álbum','Búsqueda de música','Expandir','Eliminar favoritos','Añadir a favoritos','El álbum estará disponible pronto. Añadir a favoritos.','Añadido a favoritos','Votado','Ha votado','Contraer','Carrito de la compra'],
['Review form is empty','Please rate this album','Music Search','Expand','Remove Bookmarks','Add to Bookmarks','The album will become available soon. Add to bookmarks.','Added a Bookmarks','voted','You voted','Collapse','Shopping cart'],
['Review form is empty','Please rate this album','Music Search','Expand','Remove Bookmarks','Add to Bookmarks','The album will become available soon. Add to bookmarks.','Added a Bookmarks','voted','You voted','Collapse','Shopping cart'],
['Review form is empty','Please rate this album','Music Search','Expand','Remove Bookmarks','Add to Bookmarks','The album will become available soon. Add to bookmarks.','Added a Bookmarks','voted','You voted','Collapse','Shopping cart'],
['Review form is empty','Please rate this album','Music Search','Expand','Remove Bookmarks','Add to Bookmarks','The album will become available soon. Add to bookmarks.','Added a Bookmarks','voted','You voted','Collapse','Shopping cart']
);
messages[99] = ['[4][0]', '[4][1]', '[4][2]', '[4][3]', '[4][4]', '[4][5]', '[4][6]', '[4][7]', '[4][8]', '[4][9]', '[4][10]', '[4][11]'];
messages = messages[lng];
//#JSERRORS
