$(function(){
	$("ul#profileSubLinks").tabs();
	//$('#example > ul').bind('tabsload', function(event, ui) {
		//activateValidation($(ui.panel).find('form'));
	//});
	triggers();
	
});
function triggers() {
	$('a.change').livequery('click',function(event) {
		var p = $(this).parent().next().find('p');
		if ($(this).text()=='change') {
			$(this).text('hide');
			replaceWithForm(p);
		}
		else {
			$(this).text('change');
			removeForm(p);
		}
		return false;
	});
	
}
function replaceWithForm(p){	
	var url = p.metadata('class','params').url;
	$.get(url, function(data){
		p.after(data);
		p.toggleClass('hide');
		applyValidation(p.next());
	});	
}
function removeForm(p) {
	p.parent().find('form').remove();	
	p.toggleClass('hide');
}
function applyValidation(f) {
	var index = f.attr('id');
	var req = ruleset[index].required;
	var mes = ruleset[index].message;
	var VF = f.validate({
		rules: req,
		messages: mes,
		errorPlacement: function(error, element) {
			if ( element.is(":radio")) error.appendTo( element.parent().next().next());
			else if ( element.is(":checkbox")) error.appendTo ( element.next() );
			else error.appendTo( element.parent());
		},
		success: function(label) {
		},
		submitHandler: function(form) {
			$(form).ajaxSubmit({
				success:function(data) { 		
					var achange = $(form).parent().parent().parent().find('a.change');
					var fparent = $(form).parent();
					var pclone = $(form).prev().clone();
					$(form).prev().remove();
					$(form).replaceWith(data);
					if (fparent.find('form').length==0) {
						achange.text('change');
						if ($('#mainPhoto').length>0) {
							$('#mainPhoto').attr('src',$('#profileImage').attr('src'));
						}
					} else {
						fparent.find('form').before(pclone);
						applyValidation(fparent.find('form'));
					}
					
					
				}
			});
			return false;
		}
	});
}