$(document).ready(function(){
	
	//focus clear fields
	$('.default').each(function(){
		$(this).css({'color' : '#333'});
		var _default = $(this)[0].defaultValue;//document.getElementById($(this).attr('id')).defaultValue;
		$(this).focus(function(){
			$(this).css({'color' : '#000'});
			if($(this).val() == _default){
				$(this).val('');	
			}
		});
		$(this).blur(function(){
			if($(this).val() == ''){
				$(this).val(_default);	
				$(this).css({'color' : '#333'});
			}
		});						
	});
	//end of clear focus
	
	
	//textarea simple autoexpand
	$('textarea').each(function(){
		$(this).css({overflow: 'hidden'});
		$(this).each(function(){
			if($(this)[0].scrollHeight > $(this).height())	$(this).css({height: $(this)[0].scrollHeight + 50});
		});
		$(this).keyup(expandTextarea);
	});
	
	function expandTextarea(){
		if($(this)[0].scrollHeight > $(this).height()){
			$(this).animate({height: $(this)[0].scrollHeight + 50}, {duration:200, queue:false});
		}
	}
	//end of autoexpand
	
	//validate emails
	$('input.valid_email').each(function(){
		var input = $(this);
		$(this).parents('form').submit(function(){		   
			if(input[0].value.search(/([^\/.]+)@([^\/.]+)\.([^\/.]+)/) == -1){
				alert('Invalid Email Address');
				return false;
			}
			return true;
		});
	});
	

	//generic toggler
	$('.toggler').each(function(){
		$('.toggler').next().hide();
	});
	$('.toggler').click(function(){	
		var _h = parseInt($(this).next().css('height'));//height();
		if(_h > 0 || _h == NaN){
			$(this).removeClass('selected');
		}else{
			$(this).addClass('selected');
		}
		$(this).next().animate({height: 'toggle'}, 200);
		if($(this).children('a').text() == '[-]'){
			$(this).children('a').text('[+]');
		}else{
			$(this).children('a').text('[-]');
		}
		return false;
	});
	$('.toggler_close').click(function(){
		obj = $(this);
		while($(obj).prev('.toggler').length == 0){
			obj = $(obj).parent();	
		}
		$(obj).prev().trigger('click');
		return false;
	});
	//end of generic toggler
	
	
	//simple alert
	$(".alert").animate({opacity: 1}, 3000).animate({opacity: 0 }, {duration: 600, easing: 'easeInQuad'}).animate({height: 0, paddingTop: 0, paddingBottom: 0, borderWidth: 0, marginBottom: 0, marginTop: 0}, {duration: 500, easing: 'easeInQuad', complete: 
		function(){$(this).remove();}
	});
	//end of alert

	//font-resizer		
	function switchSize(size){
		$.cookie('fontsize', size);
		$('.resize.selected').removeClass('selected');	
		switch(size){		
			case 'f1':
				$('body').css({fontSize: '.75em', lineHeight: '1.3em'});			
				break;
			
			case 'f2':
				$('body').css({fontSize: '.85em', lineHeight: '1.5em'});
				break;
			
			case 'f3':
				$('body').css({fontSize: '.95em', lineHeight: '1.6em'});
				break;
		}
		$('.'+size).addClass('selected');
	}
	$('.resize').click(function(){
		switchSize($(this).attr('class').substr(7));
	});	
	
	var size = $.cookie('fontsize');
	
	if(size){
		switchSize(size);
	}else{
		$.cookie('fontsize', 'f1');
	}	
	//end of resizer
});