/*
initializeCart = function(cartUrl){
	var dstat =  {'wishsize':'0' , 'cartsize':'0'};
	var str = $.trim($.ajax({
		  url: cartUrl,
		  global: false,
		  type: "GET",
		  data: ( {'stats':'data','js':'1','wild':Math.random()}),
		  dataType: "text",
		  async: false 
	   }
	).responseText);
	eval('dstat='+str + ';');
	$('#cartSummary').updateKeyed(dstat);

	var but = $($('[title="View Cart"]')[0]);
	but.text( $.trim(but.text().match(/([\w\s]+)/)[0]) + ' ['+dstat['cartsize']+']')

	but = $($('[title="Wish List"]')[0]);
	but.text($.trim(but.text().match(/([\w\s]+)/)[0]) + ' ['+dstat['wishsize']+']')
};
*/

/*
loadDiscountMeter = function(){

	if (document.getElementById('currentDiscounts') == null){
		$('#discountmeter').load(CONTEXT_PATH + '/component/faq.jsp #faqDiscount table' , function(resp){
			var table = $('#currentDiscounts' ,resp);
//			$(table).css({'font-size': '75%'});
			$('tr' , table).css({'height': '10px'});
			$('img' , table).css({'width': '63%'});
		});
	}
};
*/

/*
function updateKeepButtons(vals){
  	if (vals['cart']){
  			loadDiscountMeter();
  		$('[title="View Cart"] .count').text(vals['cart']);
  	}
  	if (vals['fav']){
		$('[title="Wish List"] .count').text(vals['fav']);
  	}
 }
*/ 
  function updateCartButton(num){
  	 $('[title="View Cart"] .count').text(num);
 }
 
  function updateWishButton(num){
  	 $('[title="Wish List"] .count').text(num);
}


function initDisplayTable(id){

	// style the row of owned loops
	$('#'+id+' .loopList').find('tr').each(function(){
		if($(this).find('td.ownertrue').length){
			$(this).addClass('owned');
		}		
	});
	
	// style the row of owned loops
	$('#'+id+' .trackpackList').find('tr').each(function(){
		if($(this).find('td.ownertrue').length){
			$(this).addClass('owned');
		}		
	});
	
	
// Thur May 28th Switched to using <caption class='metaData'>
	/* toolTip params*/
/*	$('.loopList tr td.cartCell').tooltip(
		{
     		bodyHandler: function() {
     			return  $($(this).parents('td')[0]).find('div.attr').html();
     		} ,
			track: false, 
			delay: 800, 
			showURL: false, 
			opacity: 1, 
			fixPNG: true, 
			top: -15, 
			left: 5 
     	}
     );
*/     
}
function setMeter(amt){
	var meter = $('#meter');
	if(meter.length > 0){
	var imglen = parseInt(meter.css('width')) - 1;
//	var pos = new position(meter.css('background-position'));
//	var amt = parseFloat(params['subTotal'].match(/([^\$]+)/)[0]);
	var intary = [10,25,50,80,100];
	var t = 0;
	for ( t =  intary.length - 1 ; t > 0 ; t--){
		if (amt >= intary[t]){
			break;
		}
	}
	var newpos = -1 * imglen;
	if (t >= intary.length -1){
		newpos = 0;
		meter.find('td').each(function(){
		$(this).addClass('inView');
	});

	}else if (amt >10){
	
	var ratio = (t+1)/4;
	var pt = imglen * (ratio);
		var tr = $(meter.find('tr')[0]).position().left;

	var tds = $('#meter tr td');
	var td = tds[t];
	var upper = intary[t+1];
	var lower = intary[t];
	var tmp =( ( amt - lower ) / (intary[t+1] -  intary[t]) ) * 33;
	newpos = (-1 * imglen) + ((t>0)? imglen * (t/4) :0) + tmp;
	tds.each(function(i){
		if (i <= t){
			$(this).addClass('inView');
		}else{
			$(this).removeClass('inView');
		}
	});
	}
//	if ((newpos +133) >= 
	$('#meter').css('background-position' , newpos +'px');
	}
}

//ready
$(document).ready(function(){
var META_TEMPLATE = CONTEXT_PATH +'/component/search/clipMeta.jsp';
//	$('.loopList tr td.cartCell, .trackpackList tr td.cartCell').live('mouseover' ,

//$('.player').css({'width':'101%', 'height':'101%'});

//	$('.loopList tr:not(:eq(0)) , .trackpackList tr:not(:eq(0)) ').live('mouseover' ,

//$('td.cartCell').live('mouseover' ,		function(){
//$('.loopList tr td .player, .trackpackList tr td .player').live('mouseover' ,		function(){
$('.loopList tr td.infoMark, .trackpackList tr:not("#componentRow") td.infoMark , #searchResultsInnerLoop tr td.infoMark').live('mouseover' ,		function(){

			var obj = $('#searchCriteria');
//			obj.data('pre' , obj.html());
//			var str  = $('td' , this).find('div.attr').html();
//			var str  = $($(this).parents('td')[0]).find('div.attr').html();
			var str  = $($(this).parents('tr')[0]).find('td div.attr').html();
			obj.find('#advancedCriteria').hide();
			var layon =$(str).addClass('seekdest');
			obj.append(layon);
		});
		
//	$('.loopList tr td.cartCell, .trackpackList tr td.cartCell').live('mouseout' ,		function(){
//	$('.loopList tr:not(:eq(0)) , .trackpackList tr:not(:eq(0)) ').live('mouseout' ,	function(){
$('td.infoMark').live('mouseout' ,		function(){
		$('.seekdest').remove();
		var obj = $('#metaData');
					obj.find('ul').show();

//			var obj = $('#metaData');
//			obj.html(obj.data('pre'));
		}
	);
	

//$().ajaxStart($.blockUI).ajaxStop($.unblockUI);

$.fn.serializeForm = function(){
	var params = {};
	$(this)
		.find("input").each(function(){
			if (this.value) {params[ this.name || this.id || this.parentNode.name || this.parentNode.id ] = this.value;}
		});
	return params;
}
$.fn.updateKeyed = function(params){

	if($(this).attr('id')=='cartSummary'){
		for(var key in params){
			if (key=='savings'){
				$('#meter', this).attr('title',params[key]);
			}
			$('#'+key , this).html(params[key]);	
		}
		var flt = parseFloat(params['subTotal'].match(/([^\$]+)/)[0]);
		setMeter(flt);
	}else{
	
		for(var key in params){
			$('#'+key , this).html(params[key]);
		}

	}
}

	$.easing.elasout = function(x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	};

	// mark row if user owns the loop
	$('.loopList,.trackpackList').find('tr').each(function(){
		if($(this).find('td.ownertrue').length){
			$(this).addClass('owned');
		}		
	});

	$('.resTab').click(function(){
		var hash = qparam(window.location.search.slice(1));
		hash['type']=$(this).attr('name');
		// when going to trackpacks
		// reset sort and dir if sort was instrumentId
		if (hash['sort']=='instrumentId'){
			hash['sort']='score';
			hash['dir']='desc';
		}
		hash['page'] = 1;
		window.location.search = qstr(hash);
	});
	
/*	
		$('.searchFilter').click(function(){
		var loc = new URL(window.location.href);
		var name = $(this).attr('name');
		var srcparams = qparam(loc.getQuery());
		alert('.searchFilter');
		delete srcparams[this.name];
		if ($(this).hasClass("tabOn")){
			delete srcparams[name];
			$(this).removeClass("tabOn");
		}else{
			srcparams[name]=1;
		}
		window.location.href=loc.getURI() +"?"+qstr(srcparams);
		return false;
	});
*/	
	

	
	$('.toWishlist').live('click',function(e){
		$(this).removeClass('toWishlist').addClass('fromWishlist');
		var url = new URL(this.href);
		var qhash = url.getParams();
		qhash['js']='1';
		qhash['rtype']='summary';

		var actBut = $(this).find('.toWishlistButton')[0];
		$(actBut).removeClass().addClass('working');


/* not the best soln but need to know if user been auth'd before making the request */
		if (! isLoggedIn()){

		$.get(CONTEXT_PATH + '/login.jsp#main' , function(resp){
			var lgb = $('#loginBox');
			var bg = lgb.css('background-color');
			lgb.css('background-color' , '#ffee15');
			$('#j_username' )[0].focus();
			setTimeout(function (a,b) {
  lgb.css('background-color' , b);
				$(actBut).removeClass('working').addClass('toWishlistButton');
},1500,lgb,bg);
		});
			return false;

//			qhash.redir= window.location.href;
		}
else{
		$.get(url.getURI() , qhash , function(seg){
		if (seg.indexOf('<title>BeatHive | Login</title>')>-1){
						window.location.href=CONTEXT_PATH + '/login.jsp';
				$(actBut).removeClass('working').addClass('toWishlistButton');
				/** do not show form			
				
				var logindiv = $('<div id="loginLive" style="position:absolute; top:50%; left:30%;"/>');
				var form = $('#loginForm' , seg);
				form.submit(function(){
					var params = $(this).serializeForm();
					alert(params['j_username']);
					$.post(this.action , params, function(resp){
	//					if (resp.indexOf('error')>-1){
						window.location.href='/beathive2/login.jsp?return='+escape(window.location.href);
						return false;
					});
				}).appendTo(logindiv);
				$('body').append(logindiv);

			*/
			}else{
				$(actBut).removeClass().addClass('fromWishlistButton');
			}
		});
	}
		return false;
	});

	$('.fromWishlist').live('click',function(e){
		$(this).removeClass('fromWishlist').addClass('toWishlist');
		var row = $(this).parents('tr')[0];
		var actBut = $(this).find('.fromWishlistButton')[0];
		$(actBut).removeClass().addClass('working');

		var doRem = $(this).hasClass('clear');
		var url = new URL(this.href);
		
		var qhash = url.getParams();
		qhash.js=1;
		qhash.rtype='summary';
		if (! isLoggedIn()){
			qhash.redir= window.location.href;
		}

		$.get(url.getURI() , qhash , function(seg){
			if (seg.indexOf('<')>-1){
//			if (seg.indexOf('<title>BeatHive | Login</title>')>-1){
			/** do not show form			
				var logindiv = $('<div style="position:absolute; top:50%; left:30%;"/>');
				$($('form' , seg)[1]).appendTo(logindiv);
				$('body').append(logindiv);
			*/

				alert('Login required');
				$(actBut).removeClass('working').addClass('fromWishlistButton');
			//	return false;
			}else{
				$(actBut).removeClass().addClass('toWishlistButton');
			if(doRem){
				$(row).addClass('emphasize').fadeOut(2000 , function(){
					$(this).remove();
					var respd = {};
					eval('respd='+$.trim(seg) +';');
					$('#cartSummary').updateKeyed(respd);
				});
			}
			}
		});
		
//		alert(e.which + ' ' +e.currentTarget + ' '+e.originalTarget + ' '+e.target + ' '+e.fromElement + ' ' );
		return false;
	});
//		$('#primary-nav li a[title="View Cart"]').append("&nbsp;<b id='cartcount'>[0]</b>");

	$('.sortable a').live('click' , function(){
		var qp = qparam(window.location.search.slice(1));
		delete qp['js'];
		delete qp['x'];
		if (qp['page']){
			var cur = $(this).attr('href');
			$(this).attr('href' , cur +'&page=' + qp['page']);
		}
	});
	

	$('.rateClip').live('click' , function(e){
	
		var tab = $($(this).parents('table.display')[0]);
		var but = this;
		var target = tab.attr('id');
		var tur = new URL(this.href);
		var par = tur.getParams();
		par.js = 1;
		$.get(tur.getURI() , par,function(resp){
			$($(but).parents('div')[0]).removeClass('rateCell').addClass('rateItNot');
			if (par.score=='1'){
				$(but).next().remove();
			}else{
				$(but).prev().remove();
			}
		});
		return false;
	});
		
	$('a.toCart').live('click', function(e){
		var node = this;
		var url = new URL($(node).attr('href'));
		var row = $(node).parents('tr')[0];
		
		var qhash = qparam(url.getQuery());
		if (url.getURI().indexOf('Cart')>-1){qhash['method']='add';}
		qhash['js']='1';
		qhash['rtype']='summary';
		//	var func = $(this)['toggle'];
		var actBut = $(node).find('.toCartButton');
		$(actBut).removeClass('toCartButton').addClass('working');
		
		$(node).removeClass('toCart').addClass('fromCart');
		
		$.get(url.getURI()  , qhash , function(resp){
			var respd = {};
			eval('respd='+$.trim(resp) +';');
			
			if(respd['message']){
				alert(respd['message']);
				$(node).removeClass('fromCart').addClass('toCart');
				$(actBut).removeClass().addClass('toCartButton');
				return false;
			}else{
			$('#cartSummary').updateKeyed(respd);
			
			if (qhash['to']=='cart'){
			
				$(row).fadeOut(function(){$(this).remove();});
			}else{
				$(actBut).removeClass().addClass('fromCartButton');
			}
}
		});
		
		e.stopPropagation();//no need to bother the document
		return false;
	});
	
	
	$('a.fromCart').live('click', function(e){
		var node = this;
		var url = new URL($(node).attr('href'));
		var row = $(node).parents('tr')[0];
		
		var qhash = qparam(url.getQuery());
		qhash['method']='sub';
		qhash['js']='1';
		qhash['rtype']='summary';
		
		var actBut = $(node).find('.fromCartButton');
		$(actBut).removeClass('fromCartButton').addClass('working');
		
		
		
		$.get(url.getURI()  , qhash , function(resp){
		var respd = {};
			eval('respd='+$.trim(resp) +';');
			$('#cartSummary').updateKeyed(respd);
			
			$(node).removeClass('fromCart').addClass('toCart');
			$(actBut).removeClass().addClass('toCartButton');
		
		});
		e.stopPropagation();//no need to bother the document
		
		return false;
	});
	
	
	$('.formatSwitch').live('change' , function(e){
		var node = this;
		var row = $(node).parents('tr')[0];
		anchs = $('.wishCell, .cartCell ' , row).find('a');
		var url = null;
		if(anchs.length > 0){
			anchs.each(function(){
				url = new URL($(this).attr('href'));
				url.setParam('fileId' , node.value);
				$(this).attr('href' , url.toString());
			});
		}		
		e.stopPropagation();
		
		return false;
	});

/* can measuring hover time on loop */
/*
	$('.loopList tr td.cartCell').live('mouseover' , function(e){
		var t = (new Date()).getTime();
		this.startTime=t;
	}), 
	$('.loopList tr td.cartCell').live('mouseout' ,function(e){
		var t = (new Date()).getTime();
		if ((t - this.startTime) / 1000 >= 3.5){
			$($(this).parents('td')[0]).css({'bgcolor':'black','background-color':'black'});
		}
	});

	$('.loopList tr td.cartCell, .trackpackList tr td.cartCell').live('mouseover' , function(e){
		var t = (new Date()).getTime();
		this.startTime=t;
	}), 
	$('.loopList tr td.cartCell, .trackpackList tr td.cartCell').live('mouseout' ,function(e){
		var t = (new Date()).getTime();
		if ((t - this.startTime) / 1000 >= 3.5){
			$($(this).parents('td')[0]).css({'bgcolor':'black','background-color':'black'});
		}
	});
*/
	initDisplayTable('searchResultsLoop');

	/**
	 * View Component / View Trackpack
	 */
	$('.expand , a.viewParent').toggle(openComps , closeComps);
	

});

