$(function(r){
	$('a[href="#close-window"]').click(function(e){
		window.close();
		return false;
	});
	
	leftMenu();
	recallMenu();
	
	textInputs();
	consultation();
});


function recallMenu(){
	$('#recall-menu').change(function(){
		var url = $(this).val();
		document.location = url;
	});
}

function leftMenu() {
	$('#nav ul ul:not(.active)').hide();
	if($('#nav ul ul.active').length <= 0){
		$('#nav ul ul:first').show();
	}
	
	$('#nav ul li a').hover(function() {
		var checkElement = $(this).parents('li').find('ul');
		if(checkElement.length > 0){
			if(checkElement.is(':visible')) {
			} else if(!checkElement.is(':visible')) {
				$('#nav ul ul:visible').slideUp('normal');
				checkElement.slideDown('normal');
			}
		}
		//return false; // for click event
	});
}

var inputVals = new Array;

function textInputs(){
	$('input.text, textarea').each(function(i, el){
		var $el = $(el);
		if($el.hasClass('default')){
			inputVals[i] = $el.val();
		}
		$el.focus(function(e){
			if($el.hasClass('default')){
				$el.val('')
				$el.removeClass('default');
			}
		}).blur(function(e){
			if(inputVals[i] && !$el.val()){
				$el.addClass('default');
				$el.val(inputVals[i]);
			}
		});
	});
}

function consultation(){
	$('#consultation_form').submit(function(e){
		var $form = $(this);
		
		var err = '';
		var $err = $form.parents(':first').find('p.error');
		if($err.length <= 0){
			$err = $('<p class="error"></p>');
			$form.prepend($err);
			$err.hide();
		}
		
		var $els = $form.find('input.text, select, textarea');
		
		$els.each(function(i, el){
			var $el = $(el);
			var val = $(el).val()
			if($el.hasClass('default')){
				val = '';
			}
			if(!val){
			//	err = 'Please complete all fields below.<br />';
			}
		});
		
		if(err){
			$err.html(err);
			exagerate($err);
		} else {
			$.ajax({
				url: Template.apppath + 'ajax/forms/consultation/',
				type: 'post',
				data: $form.serialize(),
				dataType: 'json',
				success: function(response){
					var result = ajaxJSON(response);
					if(result.success){
						$form.html(result.html);
					} else {
						$err.html(result.html);
						exagerate($err);
					}
				}
			});
		}
		return false;
	});
}

function exagerate($el){
	if($el.css('display') != 'none'){
		$el.fadeOut('normal', function(){
			$el.fadeIn();
		});
	} else {
		$el.fadeIn();
	}
}

function ajaxJSON(json){
	if(json){
		var obj = (typeof(json) == 'object') ? json : eval('(' + json + ')');
		eval(obj.script);
		if(obj.confirm){
			obj.success = confirm(obj.confirm);
		}
		return obj;
	}
	return {};
}

