// JQuery IE XML Fix
// Parse XML For IE
function pXml(xml) {
  if (jQuery.browser.msie) {
	var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	xmlDoc.loadXML(xml);
	xml = xmlDoc;
  }
  return xml;
}


function addToCart(item){
	$.post("/ajax/addToCart/"+item, function(res){
			var data = res.split("|");
			$("#cartItems").html(data[0]);
			$("#cartHint").html(data[1]);
			// Positioning
			$("#cartHint").css('top', $(window).scrollTop());
			$("#cartHint").fadeIn("slow");
			
			updatePlaylist();
			
			setTimeout(function(){
				$("#cartHint").fadeOut("slow");
			}, 3000);
		}
	);	
}

function removeFromCart(item){
	$.post("/ajax/removeFromCart/"+item, function(res){
		    var res = pXml(res);
			var success = $('success', res).text();
			if(success=="true"){
				var process = $('priceprocess', res).text();
				var total   = $('pricetotal', res).text();
				var items   = $('cartitems', res).text();
				var ctotal  = $('cprice', res).text();
				var camount = $('camount', res).text();
				$("#cartProcessPrice").html(process);
				$("#cartTotalPrice").html(total);
				$("#cartItems").html(items);
				if($("#"+item)) $("#"+item).slideUp();
				if($("#al_"+item)) $("#al_"+item).slideUp();
				if(document.getElementById('cartCouponAmount')){
					$('#cartPrice').html(ctotal);
					$('#cartCouponAmount').html("-"+camount);
				}
			} else {
				return false;
			}
		}
	);
}

function toggleQuality(item,quality){
	$.post("/ajax/toggleQuality/"+item+"/"+quality, function(res){
			var res = pXml(res);
			var success = $('success', res).text();
			if(success=="true"){
				var process = $('priceprocess', res).text();
				var total   = $('pricetotal', res).text();
				var ctotal  = $('cprice', res).text();
				var camount = $('camount', res).text();
				$("#cartProcessPrice").html(process);
				$("#cartTotalPrice").html(total);
				if(document.getElementById('cartCouponAmount')){
					$('#cartPrice').html(ctotal);
					$('#cartCouponAmount').html("-"+camount);
				}
				//toggleInputStat(obj);
			} else {
				return false;
			}
		}
	);
}

function toggleMemory(item, obj){
	$.post("/ajax/toggleMemory/"+item, function(res){
			var res = pXml(res);
			var success = $('success', res).text();
			if(success=="true"){
				var process = $('priceprocess', res).text();
				var total   = $('pricetotal', res).text();
				var ctotal  = $('cprice', res).text();
				var camount = $('camount', res).text();
				$("#cartProcessPrice").html(process);
				$("#cartTotalPrice").html(total);
				if(document.getElementById('cartCouponAmount')){
					$('#cartPrice').html(ctotal);
					$('#cartCouponAmount').html("-"+camount);
				}
				toggleInputStat(obj);
			} else {
				return false;
			}
		}
	);
	return false;
}

function toggleInputStat(obj){
	if(obj.checked == true){
		obj.checked = false;
	} else {
		obj.checked = true;
	}
}

// Favorites
function addToFavorites(item){
	$.post("/ajax/addToFavorites/"+item, function(res){
			var hint = res;
			if(res!=""){
				$("#cartHint").html(hint);
				// Positioning
				$("#cartHint").css('top', $(window).scrollTop());
				$("#cartHint").fadeIn("slow");
				
				setTimeout(function(){
					$("#cartHint").fadeOut("slow");
				}, 3000);
			}
		}
	);	
}

function addToDownloads(item){
	$.post("/ajax/addToDownloads/"+item, function(res){
			if(res!=""){
				$("#cartHint").html(res);
				// Positioning
				$("#cartHint").css('top', $(window).scrollTop());
				$("#cartHint").fadeIn("slow");

				setTimeout(function(){
					$("#cartHint").fadeOut("slow");
				}, 3000);
			}
		}
	);
}



//////////////////////////////////////////////////////////////////////
// DL Functions
//
function iszip(){
	var f = document.forms['tracksform'];
	var ic = 0;
	var ice = 0;
	while(f.elements[ic]){
		if(f.elements[ic].name.substr(0, 4) == "farr"){
			if(f.elements[ic].checked == true && f.elements[ic].disabled==false){
				ice++;
			}
		}
		ic++;
	}
	if(ice>0){
		return true;
	} else {
		alert('No tracks selected for zipped download');
		return false;
	}
}

function zipAll(){
	var f = document.forms['tracksform'];
	var ic = 0;
	if(this.allzip){
		while(f.elements[ic]){
			if(f.elements[ic].name.substr(0, 4) == "farr"){
				if(f.elements[ic].checked == true){
					var ns = f.elements[ic].name;
					name_num = ns.substring(ns.indexOf('[')+1, ns.indexOf(']'));
					f.elements[ic].checked = false;
					if(!checkSize(name_num)) return false;
					
				}
			}
			ic++;
		}
		this.allzip = false;
		$('#zipbut').html("Zip All");
		
	} else {
		while(f.elements[ic]){
			if(f.elements[ic].name.substr(0, 4) == "farr"){
				if(f.elements[ic].checked == false){
					var ns = f.elements[ic].name;
					name_num = ns.substring(ns.indexOf('[')+1, ns.indexOf(']'));
					//alert(name_num);
					f.elements[ic].checked = true;
					if(!checkSize(name_num)) return false;
					//ice++;
				}
			}
			ic++;
			
		}
		this.allzip = true;
		$('#zipbut').html("Zip None");
	}
}

function checkSize(numb){
	var max_size = 262144000;
	var max_size_mb = max_size / 1024 / 1024;
	var track_size = document.getElementById('size'+numb).value;
	var total_size = document.getElementById('fullsize').value;
	
	if(document.getElementById('farr'+numb).checked == true){
		
		var new_size    = parseInt(track_size) + parseInt(total_size);
		var new_size_mb = Math.round(new_size / 1024 / 1024);
		
		if(new_size > max_size){
			alert('Sorry, you have tried to mark '+new_size_mb+"MB for a zip-download. \nThe all-in-one.zip can only carry up to "+max_size_mb+"MB, pls split your \ndownloads into <"+max_size_mb+"MB or download single tracks.");
			document.getElementById('farr'+numb).checked = false;
			return false;
		}
		
	} else {
		var new_size   = parseInt(total_size) - track_size;
		var new_size_mb= Math.round(new_size / 1024 / 1024);
	}
	
	$('#fullsize').val(new_size);
	$('#mbsum').html("(ca. "+ new_size_mb +" mb)");
	return true;
}


function dltr(trackid, dlnum){
	if(trackid){
		var par = 'trackid='+trackid;
		jQuery('#dl_btn_'+dlnum).addClass('downloaded');
		jQuery('#farr'+dlnum).attr('disabled', true);
	} else {
		if(iszip()){
			var par = $('#tracksform').serialize();
			par += "&zip=true";
			jQuery('#tracksform INPUT[type="checkbox"]').each(function(){
				if(this.name != 'asd' && this.name!='covers'){
					if(this.checked){
						var iid = this.id.substr(4);
						jQuery('#dl_btn_'+iid).addClass('downloaded');
						jQuery(this).attr('disabled', true);

					}
				}
			});
		} else {
			return false;
		}

	}


	
	var dlwin = window.open('http://' + document.location.host + '/checkout/download.php?'+par, 'dl', 'width=620, height=725, resizable=no, scrollbars=no'); 
	dlwin.focus();
}


// New Tracks Page with DownloadManager
function toggleDlmText(el){
	if(el.innerHTML=='read more'){
		$('#dlmtxt').css('display','block');
		el.innerHTML='collapse';
	}else{
		$('#dlmtxt').css('display','none');
		el.innerHTML='read more';
	}
}

function doZipLoad(){
	// Zip All
	if(getZipCount()==0){
		var f = document.forms['tracksform'];
		var ic = 0;
		while(f.elements[ic]){
			if(f.elements[ic].name.substr(0, 4) == "farr"){
				if(f.elements[ic].checked == false){
					var ns = f.elements[ic].name;
					name_num = ns.substring(ns.indexOf('[')+1, ns.indexOf(']'));
					f.elements[ic].checked = true;
					if(!checkZipSize(name_num)){
						break;
					}
				}
			}
			ic++;
		}
	}
	
	// Start DL
	dltr();

}

function getZipCount(){
	var f = document.forms['tracksform'];
	var ic = 0;
	var ice = 0;
	while(f.elements[ic]){
		if(f.elements[ic].name.substr(0, 4) == "farr"){
			if(f.elements[ic].checked == true && f.elements[ic].disabled==false){
				ice++;
			}
		}
		ic++;
	}
	return ice;
}

function checkZipSize(numb){
	var max_size = 262144000;
	var max_size_mb = max_size / 1024 / 1024;
	var track_size = document.getElementById('size'+numb).value;
	var total_size = document.getElementById('fullsize').value;

	if(document.getElementById('farr'+numb).checked == true){

		var new_size    = parseInt(track_size) + parseInt(total_size);
		var new_size_mb = Math.round(new_size / 1024 / 1024);

		if(new_size > max_size){
			//alert('Sorry, you have tried to mark '+new_size_mb+"MB for a zip-download. \nThe all-in-one.zip can only carry up to "+max_size_mb+"MB, pls split your \ndownloads into <"+max_size_mb+"MB or download single tracks.");
			document.getElementById('farr'+numb).checked = false;
			return false;
		}

	} else {
		var new_size   = parseInt(total_size) - track_size;
		var new_size_mb= Math.round(new_size / 1024 / 1024);
	}

	$('#fullsize').val(new_size);
	$('#mbsum').html("(ca. "+ new_size_mb +" mb)");
	return true;
}


// End DL Functions
/////////////////////////////////////////////////////////



function showMessage( message, delay ){
	if(delay==undefined) delay = 3000;
	var box = $('<div></div>').css({ 
				"position":"absolute",
				"top":"0px",
				"right":"0px",
				"width":"250px",
				"background-color":"#636363",
				"color":"#FFF",
				"padding":"5px",
				"display":"none",
				"z-index": "5842"			 
	});
	$("body").append(box);
	box.html(message);
	box.css('top', $(window).scrollTop());
	box.fadeIn('slow');
	setTimeout( function(){box.fadeOut('slow',function(){box.remove();})} , delay );
}



function addFavArtist(id){
	$.post("/ajax/addToFavoriteArtists/"+id, function(res){
			var hint = res;
			if(res!=""){
				$("#cartHint").html(hint);
				// Positioning
				$("#cartHint").css('top', $(window).scrollTop());
				$("#cartHint").fadeIn("slow");

				setTimeout(function(){
					$("#cartHint").fadeOut("slow");
				}, 3000);
			}
		}
	);
}


function addFavLabel(id){
	$.post("/ajax/addToFavoriteLabels/"+id, function(res){
			var hint = res;
			if(res!=""){
				$("#cartHint").html(hint);
				// Positioning
				$("#cartHint").css('top', $(window).scrollTop());
				$("#cartHint").fadeIn("slow");

				setTimeout(function(){
					$("#cartHint").fadeOut("slow");
				}, 3000);
			}
		}
	);
}
