$(document).ready(function(){
	$('a.thickbox').each(function(){
		var href = $(this).attr('href');
		
		href = href+'?ajax=1&height=250&width=500';
		$(this).attr('href',href);
	});

	$('.rename_list_form').hide();

	$('#top a[href$=/login/]').bind('click',function(){
		$('#login_form').slideDown('fast');return false;
	});
	$('#login_form a.cancel').bind('click',function(){
		$('#login_form').slideUp('fast');return false;
	});
	
	$('.pass1').pstrength({
		verdicts: ["poor","medium","strong","very strong","very strong"],
		colors: ["#ff0000","#d3914a","#4a74d3","#29a729","#29a729"],
		minchar:6,
		scores: [10,15,30,40]
	});
	
	$('.list_select').remove();
	$('#add_section').html('<input type="button" value="Add &gt;" class="list_button add"/><br/><input type="button" value="&lt; Remove" class="list_button remove"/>');

	$('#category').bind('change',mgl.loadSubCategory);	

	$('input.add').bind('click',mgl.addItem);
	$('input.remove').bind('click',mgl.removeItem);

	$('.list-clear').bind('click',function(){
		if(confirm('Are you sure you wish to clear this list?\n(This cannot be undone)'))
			mgl.clearList();
		return false;
	});

	mgl.initList();

	setTimeout("$('.saved').fadeOut('slow');",2000);

	$('.list-save').bind('click',function(){
		if(!$('#list_select input[name=list_id]').val())
		{
			var name=prompt('What would you like to call this list?');
			if(name.length<1) name='My Grocery List';
			$(this).attr('href','?save=1&name='+name);
		}
	});

	$('#add-article-link').bind('click',function(){
		$('#add_article').slideToggle();
		$('.added').hide();
		return false;
	});

	$('.join_form_button').bind('click',function(){
		$('#join-form-container').show();
		$('.pass1').siblings('.strength').remove();
		$('.pass1').pstrength({
			verdicts: ["poor","medium","strong","very strong","very strong"],
			colors: ["#ff0000","#d3914a","#4a74d3","#29a729","#29a729"],
			minchar:6,
			scores: [10,15,30,40]
		});
		return false;
	});

	$('.list-delete').bind('click',function(){
		if(confirm('Are you sure you wish to delete this list?'))
		{
			var href = $(this).attr('href');
			
			var list_id = $(this).parents('li').slice(0,1).attr('id');
			if(list_id)
			{
				$('#'+list_id).block('<strong><img src="'+template_url+'/images/loading.gif"/> Deleting...</strong>');

				$.get(href+'&ajax=1',function(data){
					if(data == 'deleted')
						$('#'+list_id).fadeOut('fast').remove();
					else
						$('#'+list_id).unblock();
				});
			}//end if
			else
			{
				return true;
			}//end else
		}//end if
		return false;
	});

	$('.article-delete').bind('click',function(){
		if(confirm('Are you sure you wish to delete this article?'))
		{
			var href = $(this).attr('href');
			
			var list_id = $(this).parents('li').slice(0,1).attr('id');
			if(list_id)
			{
				$('#'+list_id).block('<strong><img src="'+template_url+'/images/loading.gif"/> Deleting...</strong>');

				$.get(href+'&ajax=1',function(data){
					if(data == 'deleted')
						$('#'+list_id).fadeOut('fast').remove();
					else
						$('#'+list_id).unblock();
				});
			}//end if
			else
			{
				return true;
			}//end else
		}//end if
		return false;
	});
	
	$('.rename-list').click(function(){
		var list_id = $(this).parents('li').attr('id');
		if(list_id)
		{
			$('form[name=rename_'+list_id+']').slideToggle('fast');
		}//end if
		else
		{
			$('form[name^=rename_]').slideToggle('fast');
		}//end else
		return false;
	});
/*
	$('.rename_list_form').each(function(){
		var href = $(this).attr('action');
		
		href = href+'?ajax=1';
		$(this).attr('action',href);
	});

	$('.rename_list_form').submit(function(){
		var val = $(this).find('input[name=rename]').val();
		var href = $(this).attr('action');
		var form_name = $(this).attr('name');
		var parent_id = $(this).parents('li').attr('id');
		if(val)
		{
			$.post(href,function(data){
				alert(data);
				$('form[name='+form_name+']').slideUp('fast');
				$('#'+parent_id+' .list_name').html(val);
			});
		}//end if
		return false;
	});*/
});

var mgl={
	url:'list_build.php?ajax=1',
	addItem:function(){
		var val = $('#item').val();
		if(val.length>0 && val!='')
		{
			$('#cat-list').append(loading_gif);
			$('#list_container').load(mgl.url+'&category_id='+$('#category').val()+'&add='+val+'&list_id='+$('#item_select input[name=list_id]').val(),mgl.initList);
		}
		return false;
	},
	clearList:function(){
		$('#cat-list').append(loading_gif);
		$('#list_container').load(mgl.url+'&empty=1&list_id='+$('#list_select input[name=list_id]').val(),mgl.initList);
	},
	initItems:function(){
		$('#cat-item .loading').remove();
	},
	initList:function(){
		$('#cat-list .loading').remove();
	},
	initSubCategory:function(){
		$('#item').html('');
		$('#cat-sub .loading').remove();
		$('#sub_category').change(mgl.loadItems);
	},
	loadItems:function(){
		$('#cat-item').append(loading_gif);
		$('#item_select input[name=category_id]').val($('#sub_cat_select input[name=category_id]').val());
		$('#item_select input[name=sub_category_id]').val($(this).val());
		$('#item_container').load(mgl.url+'&type=item&sub_category_id='+$(this).val(),mgl.initItems);
	},
	loadSubCategory:function(){
		$('#cat-sub').append(loading_gif);
		$('#sub_cat_select input[name=category_id]').val($(this).val());
		$('#sub_category_container').load(mgl.url+'&type=sub_category&category_id='+$(this).val(),mgl.initSubCategory);
	},
	removeItem:function(){
		if($('#list').val().length>0 && $('#list').val()!='')
		{
			$('#cat-list').append(loading_gif);
			$('#list_container').load(mgl.url+'&category_id='+$('#list option:selected').parent().attr('id')+'&remove='+$('#list').val()+'&list_id='+$('#list_select input[name=list_id]').val(),mgl.initList);
		}//end if
		return false;
	}
};

function passwordStrength(val)
{
	var strength=0;
	if(val.match(/\d/)) strength++;
	if(val.match(/[\!\@\#\$\%\^\&\*\(\)\~\`\-\_\=\+\{\}\[\]\;\:\'\"\/\?\.\>\,\<\|]/)) strength=strength+3;
	if(val.match(/[A-Z]/)) strength++;
	if(val.match(/[a-z]/)) strength++;
	if(val.length>6) strength++;

	if(strength<2) $('.strength em').html('poor').attr('class','poor');
	if(strength==3) $('.strength em').html('medium').attr('class','medium');
	if(strength>3 && strength<7) $('.strength em').html('strong').attr('class','strong');
	if(strength==7) $('.strength em').html('very strong').attr('class','very-strong');
}//end passwordStrength