$(window).bind('load',function(){
	initAjaxSlider();
})
function dateForm(){
	var _form = $('form');
	_form.submit(function(){
		var url = $(this).attr('action');
		var data = $(this).serialize();
		var _holder = $(this).parents('.block:eq(0)');
		$.ajax({
			type: 'post',
			data: data,
			url: url,
			success: function(msg){
				_holder.html(msg);
				dateForm();
			},
			error: function(){
				alert('Ajax Error or incorect path to file in form action');
			}
		})
		return false;
	})
}

function initAjaxSlider(){
	var _d = 700;
	$('.ajax-slide').each(function(){
		var _this = $(this);
		var _opener = $('tr.heading', _this);
		_opener.each(function(){
			$(this).attr('rel',this.title);
			var link = $(this).attr('rel');
			$(this).attr('title','');
			if ($(this).hasClass('active')) {
				if ($(this).attr('rel')!=''){
					loadData(link, $(this), true);
				}
			}
		})
		_opener.click(function(){
			var _this = $(this);
			var _dataUrl = _this.attr('rel');
			if (_this.next().hasClass('data')){
				slaidIt(_this);
				return false;
			}else{
				loadData(_dataUrl,_this);
			}
			return false;
		})
		function loadData(url,_this, state){
			$.ajax({
				url: url,
				type: "GET",
				dataType: "text",
				success: function(data){
					var style;
					state ? style='style="position: relative;"' : style='style="height:0; position: relative; overflow: hidden;"';
					var _dataBlock = '<tr class="data"><td colspan="5"><div class="slide-block" '+style+'><span class="arrow">&nbsp;</span><div class="block">'+data+'</div></div></td></tr><tr><th class="name1">Name</th><th class="name2">Description</th><th class="name3">Price</th><th class="name4">Change from Previous*</th><th class="name5">Year Ago Price</th></tr>';
					_this.after(_dataBlock);
					if(!state) slaidIt(_this);
					dateForm();
				},
				error: function(){
					alert('Ajax ERROR, may be incorect path to data ?');
				}
			})
		}
		function slaidIt(heading){
			var slideBlock = heading.next();
			var block = slideBlock.find('.slide-block:eq(0)');
			if (heading.hasClass('active')){
				block.animate({height: 0},_d,function(){
					slideBlock.hide();
					heading.removeClass('active');
					heading.next().next().hide(0);
				});
			}else{
				heading.addClass('active').next();
				slideBlock.css({
					overflow: 'hidden',
					display: ''
				});
				setTimeout(function(){
					var blockHeight = slideBlock.find('div.block:eq(0)').innerHeight();
					block.animate({height: blockHeight},_d,function(){
						heading.next().next().show(0);
						block.css({
							overflow: ''
						})
						slideBlock.css({
							overflow: ''
						})
					});
				},10)
			}

		}
	})
}
