jQuery.fn.addClassBySrcRegexp = function(exp,el_class){
	return this.each(
		function(){
			var el=$(this);
			var reg=new RegExp(exp,"g");
			if(reg.exec(el.attr('src')))
			{
				el.addClass(el_class);
			}
		}
	);
};

jQuery.fn.prepURLForAjax = function(){
	return this.each(
		function(){
			var el=$(this);
			
			var reg=new RegExp('\\?',"g");
			if(reg.exec(el.attr('href')))
			{
				el.attr('href', el.attr('href')+'&suppress=1');
			}
			else
			{
				el.attr('href', el.attr('href')+'?suppress=1');
			}
		}
	);
};

jQuery.fn.toggleBlock = function(url_reg){
	return this.each(
		function(){
		  var do_stuff=true;

			if(url_reg)
			{
				//if a regular expression is passed in, make sure that string appears in the url
				var regexp=new RegExp(url_reg,"g");
				do_stuff=regexp.exec(document.location);
			}

			if(do_stuff)
			{
				var el=$(this);

				if($.cookie('psu_toggle_'+el.attr('id'))=='open')
				{
					el.toggle(
						function(){
							var el2=$(this);
							$.cookie('psu_toggle_'+el2.attr('id'),'closed');
							el2.next('ul').hide();
						},
						function(){
							var el2=$(this);
							$.cookie('psu_toggle_'+el2.attr('id'),'open');
							el2.next('ul').show();			
						}
					);
					el.next('ul').show();
				}//end if
				else
				{
					el.toggle(
						function(){
							var el2=$(this);
							$.cookie('psu_toggle_'+el2.attr('id'),'open');
							el2.next('ul').show();
						},
						function(){
							var el2=$(this);
							$.cookie('psu_toggle_'+el2.attr('id'),'closed');
							el2.next('ul').hide();			
						}
					);
					el.next('ul').hide();
				}//end else
			}//end if
		}
	);
};

