$(document).ready(function() {

	$("a#oe-change-pass-toggle").click(function(){
		$("#oe-change-pass").slideDown('fast');
		return false;
	})

	$("a.btn-help").hover(function(){
		$(this).siblings(".tooltip").fadeIn("fast");
	},function(){
		$(this).siblings(".tooltip").fadeOut("fast");
	});
	// input initial value
	//$("input[type=text]").initval();

	// fix png for IE
//	$('img[src$=.png], div').ifixpng();

	Cufon.replace("#header ul a, #footer ul a",{hover:true, fontFamily: "HelveticaNeueLTStd"});
	Cufon.replace("h1, h2",{fontFamily:"ScalaSans"});
	Cufon.replace("#header .tagline p, #header .tagline-home",{fontFamily:"VAGRoundedStd"});

/*******************************
		CSS Tweaks
*/

	// adding first/last classes to menus

	$("#navigator > ul li:first, #subnav > ul > li:first").addClass("first");
	$("#navigator > ul li:last, #subnav > ul > li:last, #home-b > div.boxv2:last").addClass("last");

	$("#navigator li ul").each(function(){
		$(this).width($(this).parent().width()+3);
	});

	// centering main menu
//	$("#navigator ul:first").css("left", ($("#navigator").width()-$("#navigator ul:first").width())/2)

	// adding spans for subnav
	$("#subnav > ul> li > a").wrapInner("<span />");

/*******************************
		Menu/submenus
*/

	$("#navigator li").hover(function(){       // mouseover
		$(this).addClass("on").children("ul").fadeIn("fast");
	},function(){                           // mouse out
		$(this).removeClass("on").children("ul").fadeOut("fast");

	});
	$("#subnav li a.on + ul").show().siblings("a").addClass("sub-on").addClass("sub-superon");
	$("#subnav li a + ul").siblings("a").addClass("sub");
	$("#subnav > ul > li > a").mouseover(function(){
		var ul = $(this).siblings()[0];
		var tmp_type = $(this).parent("li")[0].className;
		if ( typeof ul != "undefined" ){
			switch ( tmp_type ){

				case '-sliding':{
					var p = $("#subnav li ul:visible").slideUp(500).siblings("a").removeClass("sub-on").siblings("ul");
					$(ul).not(p).slideDown(500).siblings("a").addClass("sub-on");
					break;
				}

				case '-basic':{
					var p = $("#subnav li ul:visible").hide(500).siblings("a").removeClass("sub-on").siblings("ul");
					$(ul).not(p).show(500).siblings("a").addClass("sub-on");
					break;
				}
				case '-fading':
				default:
					var p = $("#subnav li ul:visible").fadeOut(750).siblings("a").removeClass("sub-on").siblings("ul");
					$(ul).not(p).fadeIn(750).siblings("a").addClass("sub-on");
					break;

			}

			return false;
		}
	});



/*******************************
		Slideshow
*/

	$("#sidebar .slideshow").each(function(){
		var maxh = 0;
		$(this).children().each(function(){
			var th = $(this).height();
			if ( th > maxh ) maxh = th;
		});
		$(this).height(maxh).cycle();
	});




/*  ---------------------------------------
	/form */
	$("form .addable a.btn-plus").click(function(){
//		$(this).siblings("select:last").clone().val('').addClass("added").insertBefore(this);
		var newli = $(this).parents("li").clone(false);
		$(newli).insertAfter($(this).parents("li"));
		$("a.btn-plus",newli).removeClass("btn-plus").addClass("btn-minus");
//		$(this).css("marginTop","10px")
		return false;
	});
	$("form .addable a.btn-minus").live("click", function(){
		$(this).parents("li").remove();
		return false;
	});

	$("form a.submit").click(function(){
		$(this).parents("form").submit();
		return false;
	});
	$("form span strong").each(function(){
		$(this).css("marginLeft", '-'+($(this).width()+4)+"px");
	});
	$("form input").keyup(function(e){
		var code = null;
		if(e && e.which){//NS
			code = e.which;
		}else{
			code = e.keyCode;
		}
		if(code == 13){
			$(this).parents("form").submit();
		}
	})
	$("a.popup").click(function(){
		var size = $(this).attr("rel").split("x");

		window.open($(this).attr("href"), "pop", "width="+size[0]+",height="+size[1]+",toolbar=0,scrollbars=1,menubar=0,address=0");
		return false;
	})
	
	$.fn.editinplace.submitCallback = function(form){
		//validation
		$("form div.error, form div.info").remove();
		var errors = [];
		switch(form.id){
			case 'client-form':
				if($('input[name="data[first_name]"]').val() == ''){
					errors.push("Please fill in your first name");
				}
				if($('input[name="data[last_name]"]').val() == ''){
					errors.push("Please fill in your last name");
				}
				var emailReg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
				if(!emailReg.test($('input[name="data[email]"]').val())){
					errors.push("Please enter a valid email address");
				}
				if($('input[name="data[organization]"]').val() == ''){
					errors.push("Please fill in your organisation's name");
				}
				if($('textarea[name="data[address]"]').val() == ''){
					errors.push("Please fill in your organisation's address");
				}
				if($('input[name="data[months]"]').val() == ''){
					errors.push("Please enter the number of months in the current position");
				}
				if($('input[name="data[username]"]').val() == ''){
					errors.push("Please fill in your username");
				}
				if($('input[name="data[password]"]').val() != ''){
					if($('input[name="data[password]"]').val() != $('input[name="password_confirm"]').val())
						errors.push("The two passwords must be the same");
				}
			break;
			case 'candidate-form-lite':
				if($('input[name="data[first_name]"]').val() == ''){
					errors.push("Please fill in your first name");
				}
				if($('input[name="data[last_name]"]').val() == ''){
					errors.push("Please fill in your last name");
				}
				if($('input[name="data[password]"]').val() != ''){
					if($('input[name="data[password]"]').val() != $('input[name="password_confirm"]').val())
						errors.push("The two passwords must be the same");
				}
			break;
			case 'candidate-form-full-1':
				if($('input[name="data[first_name]"]').val() == ''){
					errors.push("Please fill in your first name");
				}
				if($('input[name="data[last_name]"]').val() == ''){
					errors.push("Please fill in your last name");
				}
				if($('input[name="data[address1]"]').val() == ''){
					errors.push("Please fill in your address");
				}
				if($('input[name="data[password]"]').val() != ''){
					if($('input[name="data[password]"]').val() != $('input[name="password_confirm"]').val())
						errors.push("The two passwords must be the same");
				}
			break;
			
			case 'candidate-form-full-3':
				var q = 0;
				$('select[name="data[qualifications][]"]').each(function(){if($(this).val() != '0') q++});
				if(!q){
					errors.push("Please choose at least 1 qualification");
				}
				var q = 0;
				$('select[name="data[methodologies][]"]').each(function(){if($(this).val() != '0') q++});
				if(!q){
					errors.push("Please choose at least 1 methodology");
				}
			break;
		}
		if(errors.length){
			$(form).data('error', errors).editinplace('error');
			return;
		}
		//save
		var d = $(form).serialize();        // get the form data
		$("form a.submit em").html('Saving...');
		$("form div.error, form div.info").remove();
		if($(form).hasClass('frame')){
			$(form).editinplace('display');
			$(form).editinplace('success');
			$("form a.submit em").html('Save');
			$(form).data('realSubmit',1).submit();
		}else{
			$.post(form.action, d, function(data){
				if(data.success){
					$(form).editinplace('display');
					$(form).editinplace('success');
				}else{
					$(form).data('error', data.errors).editinplace('error');
				}
				$("form a.submit em").html('Save');
			}, 'json')
		}
	};
	$("form.my-account").editinplace();
	$("form.my-account").editinplace('display');
	
	
	$('#home-b .box:nth-child(4n)').addClass('last');
	
});
