$(document).ready(function(){
	cookie_array();
//	check_basket('buy'); //track
//	check_basket('b-buy'); //album
	
	
  $("a.b-buy")
	       .click(function(){cart('album',this.id); this.title='В корзине'; return false})
	$("td.buy a[class != 'disable']")
	       .click(function(){cart('track',this.id); return false});
/*	$("td.buy a.disable")
	       .click(function(){return false});*/
	$("ul.search-index li")
	       .click(function(){toggle_search(this); return false});
		       
})




function preview (el) {
	cols = document.getElementsByTagName ('td');
	for (var i = 0; i < cols.length; i++) {
		if (cols[i].className == 'preview') {
			cols[i].innerHTML = '<img src="/gfx/preview.gif" alt="Прослушать образец" />';
			cols[i].onclick = function (event) { preview (this) };
		}
	}
	el.onclick = '';
	el.innerHTML = ''+
	'<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="32" height="32"><PARAM NAME=movie VALUE="/preview.swf"><PARAM NAME=flashvars value="source_mp3='+el.id+'&splay=on&button_color=0x990000"><PARAM NAME=quality VALUE=high><PARAM NAME=menu VALUE=false><PARAM NAME=scale VALUE=noscale><PARAM NAME=salign VALUE=TC><PARAM name=wmode value=transparent>'+
	'<EMBED src="/preview.swf" flashvars="source_mp3='+el.id+'&splay=on&button_color=0x990000" width="32" height="32" wmode="transparent" menu=false quality=high scale=noscale salign=TC swLiveConnect=true TYPE="application/x-shockwave-flash" plaginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">'+
	'</EMBED></OBJECT>';
}

function enable (track, el) {
		var buy = album_input ();
		if (buy > 0) {
			if (track==buy) 
				cart('album', el);
			else {
				var checks = document.getElementsByTagName('input');
				for (var i = 0; i < checks.length; i++)
				if (checks[i].className == 'buy' && checks[i].checked) cart('track', checks[i].value);
			}
			window.location = '/account/basket/';
		}
		else {document.album_form.buytrack.disabled = true;}
}

/*function enable_form (track, el) {
var checks = document.getElementsByTagName('input');
	var buy = 0;
	var album = document.getElementById('album');
	for (var i = 0; i < checks.length; i++)
		if (checks[i].className == 'buy' && checks[i].checked) buy++;
		if (buy > 0) {
		
			if (track==buy) {
				album.action = '';
				window.location="/account/basket/?buy_album=" + el + "&back=/album/" + el;
				return false;
			}
			else {
				album.action = '/account/basket/?back=/album/' + el;
				album.submit();
			}
		}
		
		else {
			album.action = '';
			return false;
			}
}*/



function select_all (element) {
	var form_name = document.getElementById('album') ? 'album' : 'basket'
	var inputs = document.getElementById(form_name).getElementsByTagName ('input');
	for (var i = 0; i < inputs.length; i++)
		if(inputs[i].type == 'checkbox' &&  inputs[i].disabled == false) inputs[i].checked = element.checked;
}

function toHex(Num) {
	base = Num / 16;
	rem = Num % 16;
	base = base - (rem / 16);
	baseS = MakeHex(base);
	remS = MakeHex(rem);
	return baseS + '' + remS;
}

function MakeHex(x) {
	if((x >= 0) && (x <= 9))
		return x;
	else {
		switch(x) {
			case 10: return "A"; 
			case 11: return "B";  
			case 12: return "C";  
			case 13: return "D";  
			case 14: return "E";  
			case 15: return "F";  
		}
	}
}

function getCurrentStyle(elem,prop) {
	if (elem.currentStyle) {
//		alert ('1 : ' + elem.nodeName + elem.currentStyle[prop])
//		alert (prop == 'color' ? elem.currentStyle.color : elem.currentStyle.backgroundColor);
		return prop == 'color' ? elem.currentStyle.color : elem.currentStyle.backgroundColor;
	} else {
//		alert ('2 : ' + document.defaultView.getComputedStyle(elem, null))
		var cstyle = document.defaultView.getComputedStyle(elem, null);
//		alert (prop == 'color' ? cstyle.color : cstyle.backgroundColor);
		return prop == 'color' ? cstyle.color : cstyle.backgroundColor; }
}


function track_info (el, track_id) {
	var req = false;
	var info = document.createElement ('div');
	info.className = 'trackinfo';
	info.innerHTML = 'Загрузка информации о треке';
	el.parentNode.appendChild (info);
	el.onclick = function (event) { remove_track_info (this, track_id); return false}
	el.title = 'Скрыть информацию о треке';

	if (window.XMLHttpRequest) { req = new XMLHttpRequest(); if (req.overrideMimeType) req.overrideMimeType('text/xml'); } else if (window.ActiveXObject) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } }
	if (req) {
		req.onreadystatechange = function() { if (req.readyState == 4) if (req.status == 200)
			info.innerHTML = req.responseText;
		 };
		req.open('GET', '/track/' + track_id + '/', true);
		req.send(null);
	}
}

function remove_track_info (el, track_id) {
	var elParent = el.parentNode;
	$(elParent).find('div').remove()
	el.onclick = function (event) { track_info (this, track_id); return false}
	el.title = 'Показать информацию о треке';
}

function show_help () {
	window.open ('/help.html', 'soundkeyHelp', 'left=50, top=50, height=470, width=700, toolbar=0, menubar=0, scrollbars=1');
}


function open_softkey (email, username, userid) {
	var url = 'http://www.softkey.ru/catalog/externalorder.php?oid=' + document.getElementById("url").value + '&amp;q=1&amp;pt=F&amp;email=' + email + '&amp;contact_person=' + username + '&amp;phone=' + document.getElementById("phone").value + '&amp;ps=' + document.getElementById("ps").value + '&amp;location_id=48&amp;site=9806&amp;compid=364297&amp;ad1=' + userid;
	var div = document.getElementById('moneystuff');
	div.innerHTML = '<iframe src="' + url + '" width="100%" height="1000" marginwidth="0" marginheight="0" scrolling="no" frameborder="0"/>';
}


function addOption (listbox, text, value)
{
  var oOption = document.createElement("option");
  oOption.appendChild(document.createTextNode(text));
  oOption.setAttribute("value", value);
  listbox.appendChild(oOption);
}


function validphone() {
	var ip_error = document.getElementById('ip_error');
	var phone_error = document.getElementById('phone_error');
	
	ip_error.innerHTML = phone_error.innerHTML = '';
	
	if (document.alternatecredit.ip.value != '') {
		document.getElementById('ip_error').innerHTML = '';
		if (document.getElementById('phone').value != '') {
				if (!document.getElementById('phone').value.match(/[^0-9\(\)\-\+\ ]+/)) 
					//open_softkey (email, username, userid);
					return true;
				else phone_error.innerHTML = 'Недопустимые символы'; return false
			}
		else  phone_error.innerHTML = 'Поле не заполнено'; return false
	}
	else  ip_error.innerHTML = 'Поле не заполнено'; return false
}


function credit () {
	var ip = document.alternatecredit.ip; //Деньги
	var ps = document.alternatecredit.ps; //Способ оплаты
	var ps_option = ps.getElementsByTagName('option');
	predel = 12;
	
		if (ip.value && ip.value < 100) {
			for (var i = predel; i < ps_option.length; i++) {
				ps_option[i].selected = false; // safari
				ps_option[i].disabled = true;
			}
			ps_option[0].selected = true;
			ps.onchange = function (event) {credit_ie(ps_option, predel)};
		}
		else {
			for (var i = predel; i < ps_option.length; i++) 
				ps_option[i].disabled = false;
				ps.onchange = '';
		}
}



function credit_ie (el_option, predel) {
	for (var i = predel; i < el_option.length; i++) {
		if (el_option[i].selected == true) {
			alert('Минимальная сумма платежа для данного способа оплаты - 100 руб.')
			el_option[0].selected = true;
		}
	}
}

function view_user (userback) {
	var req = false;
	var user_url = '/account/userblock/?back=' + userback;
	var userblock = document.getElementById('userblock');
	userblock.innerHTML = 'Загрузка пользовательского блока <img src="/images/loading.gif"/>';
	if (window.XMLHttpRequest) { req = new XMLHttpRequest(); if (req.overrideMimeType) req.overrideMimeType('text/html'); } else if (window.ActiveXObject) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } }
	if (req) {
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
			if (req.status == 200) userblock.innerHTML = req.responseText;
				else {userblock.innerHTML = 'Не удалось получить данные'; userblock.className = 'error'}
			}
		 }
		req.open('GET', user_url, true);
		req.send(null);
	}
}

function validate_search (el) {
	src = el.query.value;
	if (src.length == 0) return false;
	if (src.length > 2) return true;
	else return false;
}
	
function view_albums (div, urls, start, c, loadimage) {
	var div_in = document.getElementById(div);
	var div_hid = document.getElementById('hid-'+div);
	loading_name = div=='band' ? 'loading_bands' : 'loading';
	var loading = document.getElementById(loading_name);
	loadimage = loadimage ? loadimage : '';
	start = loadimage == '' ? start : start + c;
	
	//if (loadimage == '' && div != 'band') view_albums (div, urls, start, c, '&short=yes');
		
	
	var req = false;
	if (window.XMLHttpRequest) { req = new XMLHttpRequest(); if (req.overrideMimeType) req.overrideMimeType('text/xml'); } else if (window.ActiveXObject) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } }
		
		if (req) {
		req.onreadystatechange = function() {
			if (req.readyState !== 4 && loadimage == '') loading.style.visibility = 'visible';
			if (req.readyState == 4) if (req.status == 200) {
				//if (loadimage == '') {
					div_in.innerHTML = req.responseText;
					//alert('in:' + req.readyState);
					if (loadimage == '') loading.style.visibility = 'hidden';
				//	}
				//else div_hid.innerHTML = req.responseText;
		 	}
		}
			req.open('GET', urls + 'start=' + start + loadimage, true);
			req.send(null);
		}
}


function discover(e) {
	var active = $(e).hasClass("active");
	$("ul.list-genre > li").removeClass("active");
	if (!(active)) $(e).addClass('active')
}



function summ (track, album_price, album) {
var checks = document.getElementsByTagName('input');
var out = document.getElementById('track_summ');
var buy = 0;
var count = 0;
	for (var i = 0; i < checks.length; i++) {
		if ((checks[i].className == 'buy' && checks[i].checked) || (checks[i].className == 'del_album' && !(checks[i].checked))  || (checks[i].className == 'del_track' && !(checks[i].checked))) {
			count++;
			buy += checks[i].id * 1;
		}
	}
	buy = count==track ? album_price : buy;
	out.innerHTML = Math.round(buy) != buy ? buy.toFixed(2) : buy;
	if (document.album_form && document.album_form.buytrack) document.album_form.buytrack.disabled = (count > 0) ? false : true;
}

function enable (track, el) {
		var buy = album_input ();
		if (buy > 0) {
			if (track==buy) 
				cart('album', el);
			else {
				var checks = document.getElementsByTagName('input');
				for (var i = 0; i < checks.length; i++)
				if (checks[i].className == 'buy' && checks[i].checked) cart('track', checks[i].value);
			}
			window.location = '/account/basket/';
		}
		else {document.album_form.buytrack.disabled = true;}
}

function album_input() {
	var checks = document.getElementsByTagName('input');
	var buy = 0;
	for (var i = 0; i < checks.length; i++)
		if (checks[i].className == 'buy' && (checks[i].checked || (checks[i].type == 'hidden' && checks[i].id != ''))) buy++;
	return buy;
}

function WinResize() {
		i = document.getElementById("cover-full");
		ww = i.width + 55
		hh = i.height + 95
		if (ww < 300) ww = 300;
		if (ww > 900) ww = 900;
		if (hh > 725) hh = 725;
		window.resizeTo(ww,hh);
}


function getCookie( name ) {
	var start = document.cookie.indexOf( name + '=' );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.
substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ';', len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}
	
function setCookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name+'=' + value +
		( ( expires ) ? ';expires='
+expires_date.toGMTString() : '' ) +
//expires.toGMTString()
		( ( path ) ? ';path=' + path : '' ) +
		( ( domain ) ? ';domain=' + domain : '' ) +
		( ( secure ) ? ';secure' : '' );
}
	
function deleteCookie( name, path, domain ) {
	if ( getCookie( name ) ) document.cookie = name + '=' +
			( ( path ) ? ';path=' + path : '') +
			( ( domain ) ? ';domain=' + domain : '' ) +
			';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}

function delete_all_cart () {
	var r=confirm("Очистить предварительную корзину? \n");
	if (r==true) {
		setCookie('cart_tracks', '', 30, '/');
		setCookie('cart_albums', '', 30, '/');
		window.location = '/account/basket/';
	}
	
	else
		return false
}

function cookie_array() {
 cookie_tracks = getCookie('cart_tracks')!= null ? getCookie('cart_tracks').split(',') : [];
 cookie_albums = getCookie('cart_albums') != null ? getCookie('cart_albums').split(',') : [];
}

function cart (el, elId) {
	var cookieVar = el=='track' ? cookie_tracks : cookie_albums;
	var cookieName = 'cart_' + el + 's';
	var trackSumm = 0;
		if (cookieVar == '') {
			cookieVar[0] = elId;

			setCookie(cookieName, cookieVar, 30, '/')
			}
		else {
			for (var s=0; s<cookieVar.length; s++) 
					if(cookieVar[s] == elId) trackSumm = ++trackSumm;
			if (trackSumm == 0)
					addToCart(cookieVar, cookieName, elId)
		}
	window.location = '/account/basket/';
}

function addToCart(cookieVar, cookieName, elId) {
	cookieVar[cookieVar.length] = elId;
	setCookie(cookieName, cookieVar, 30, '/')
}


function check_basket(el) {
		var cookieVar = el=='buy' ? cookie_tracks : cookie_albums;
		var classElement = el == 'buy' ? 'td.' + el + ' a': 'a.' + el
		var classElementName = el == 'buy' ? 'disable': el + ' disable';
			$(classElement).filter (	
				function (pos){
					for (var i = 0, j = cookieVar.length; i < j; i++) {
						if (cookieVar[i] == this.id) {
							this.className = classElementName;
							this.innerHTML = 'в корзине';
					}
				}
    	}
		)
	}

function track_reload () {
	var checks = document.getElementsByTagName('input');

	for (var i = 0; i < checks.length; i++) {
			if (checks[i].className == 'del_track' && checks[i].checked == true) {
				del_el_cookie ('track', checks[i].value)
			}
			if (checks[i].className == 'del_album' && checks[i].checked == true) {
				del_el_cookie ('album', checks[i].value)
			}
		}
	window.location='/account/basket/';

}
	
function cart_del (element, id, button) {
	var tr = button.parentNode.parentNode;
	var del_input = tr.getElementsByTagName('input')[0];

	del_el_cookie (element, id);

	del_input.value = '';
	del_input.id = '';
	tr.style.display = 'none';
	
	if (document.basket.save && album_input() == 0) document.basket.save.disabled = true;
}

function del_el_cookie (element, id) {
	var cookieVar = element=='track' ? cookie_tracks : cookie_albums;
	var cookieName = 'cart_' + element + 's';
	
	for (var s=0; s<cookieVar.length; s++) {
		if(cookieVar[s] == id) cookieVar.splice(s, 1);
	}
	setCookie(cookieName, cookieVar, 30, '/')
}

function toggle_search (el) {
	$("ul.search-index li").removeClass('current')
	$(el).toggleClass('current')
		var divId = el.id.replace(/(index)*/, '');
	if (divId == 'all') {
		$("div.search_blocks").animate({opacity: 'show'}, "fast");
		$("div.footer").css({bottom: '0px'});
	}
	else {
		$("div.search_blocks").css({display:"none"})
		var divIdName = 'div#search'+divId;
		$(divIdName).animate({opacity: 'show'}, "fast");
		$("div.footer").css({bottom: '0px'});
	}
}

function addRemoveClass (el, className) {
	if (el.className) {
		el.removeAttribute('class')
		el.removeAttribute('className')
	}
	else el.className = className;
}

function inner_block (el_parent, el_children, item_length) {
	var el = el_parent + ' ' + el_children;
	var itemLength = item_length;
	
	$(el).filter (	
		function (pos){
				while (this.offsetHeight > itemLength) {
					//$(el_parent).css('width','83px')
					//var elIn = this.innerHTML;
					//var symbol = (elIn.lastIndexOf('-') > 0 && (elIn.lastIndexOf('-') > elIn.lastIndexOf(' '))) ? '-' : ' ';
					//alert(this.innerHTML.lastIndexOf(symbol));
					
					//var re = /[\b-—&]/g;
					//var itemSearch = this.innerHTML.match(re);
					//var lastSymbol = RegExp.lastMatch;
					
					//var elIn = this.innerHTML;
					//var symbol = Math.max(elIn.lastIndexOf(' '), elIn.lastIndexOf('-'), elIn.lastIndexOf('—'), elIn.lastIndexOf('&'), elIn.lastIndexOf(':'))
					var symbol = this.innerHTML.search(/.[^ -]*[^ +&,.-]*$/)
					//alert(symbol);
					this.innerHTML = this.innerHTML.substr (0, symbol) + '...'
					//this.innerHTML = this.innerHTML.substr (0, this.innerHTML.lastIndexOf(symbol)) + '...'
				}
		}
	)
}

function buy_value(el) {
	var check = el.getElementsByTagName('input');
	var count_check = 0;
	
	for (var i = 0; i < check.length; i++) {
		if ((check[i].className == 'del_track' || check[i].className == 'del_album') && !(check[i].checked)) {
			check[i+1].checked = true;
			count_check++;
		}
	}
	if (count_check > 0)
		return true
	else {
		alert('Не выбраны треки и/или альбомы для покупки');
		return false
	}
}

function recLoadTrack(albumId, position) {
	innerDiv = document.getElementById('play' + position);
	req(innerDiv, '/account/album/'+ albumId +'/?play=yes');
	innerDiv.style.display = 'block'
}


function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function req(divIn, pageUrl, error, ifGood) {
	var req = false;
	if (window.XMLHttpRequest) { req = new XMLHttpRequest(); if (req.overrideMimeType) req.overrideMimeType('text/xml'); } else if (window.ActiveXObject) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } }
	if (req) {
		req.onreadystatechange = function() {
			//if (req.status == 500) error;
			if (req.readyState == 4) if (req.status == 200) {
					divIn.innerHTML = req.responseText;
					ifGood
		 	}
		}
			req.open('GET', pageUrl);
			req.send(null);
		}
}

