// JavaScript Document

var emailRegEx = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
var subTypes

var valName;
var valForm;
var valPhone;
var valEmail;

$(document).ready(function() {
	initHomeForms();
	initFaqs();
	initJobSearchForm();
	initForms();
});


/***********************************************************/
/******************** Job Search Form **********************/
/***********************************************************/
function initJobSearchForm() {
	$('#mainTypeSelect').change(function(evOb) {
		var selectedVal = $(this).val();
		var counter;
		counter = 0
		var subSelect = $('#subTypeSelect');
		subSelect.empty();
		subSelect.append('<option value="-1">בחר/י סוג משרה</option>');
		
		$.each(subTypes, function(i, subT) {
			if (subTypes[i].mainTypeId == selectedVal) {
				counter = counter + 1
				subSelect.append('<option value="'+subTypes[i].id+'">'+subTypes[i].optionText+'</option>');
			}
		})
		counter > 0 ? subSelect.removeAttr( "disabled" ) : subSelect.attr( "disabled", "disabled" );
	})
}

/******************** subType Object **********************/
function subType(initId, initText, initMainType) {
	this.id = initId;
	this.optionText = initText;
	this.mainTypeId = initMainType;
}
/***********************************************************/
/************************ homeForms ************************/
/***********************************************************/
function initHomeForms() {
	$(".homeFormWrapper").css("top", "300px")

	$(".homeFormWrapper select").hover(
		function (ev) {
		}, 
		function (ev) {
			ev.stopPropagation();
		}
		);

	$(".homeFormWrapper").hover(
		function (ev) {
			$(this).stop()
			$(this).animate({top: "80px"}, { queue:false, duration:350});
		}, 
		function (ev) {
			$(this).stop()
			$(this).animate({top: "300px"}, { queue:false, duration:550});
		}
	)

}

/***********************************************************/
/************************ homeForms ************************/
/***********************************************************/
function initFaqs() {
	$(".faqWrapper").css("cursor", "pointer")
	$(".faqWrapper").children('.faqAnswer').hide();
	$(".faqWrapper").click(
		function () {
			$(this).children('.faqAnswer').slideToggle({duration:350});
		}
	)
	$(".faqWrapper:first").children('.faqAnswer').delay(300).slideToggle({duration:350});
}

/***********************************************************/
/************************* Forms ***************************/
/***********************************************************/
function initForms() {
	// setting only numbers to phone
	$(".stdForm").find(".valPhone").keypress(function(evOb) {
		var charCode = (evOb.which) ? evOb.which : evOb.keyCode
        if ( (charCode > 31) && (charCode < 48 || charCode > 57) && (charCode != 46) ) {
			 return false;
		}
		return true;
	})

	//
	$(".stdForm .valRequired").change(function() {
		validateRequired($(this))
	});
	$(".stdForm .valEmail").change(function() {
		validateEmail($(this))
	});

	// setting the submit function
	$(".stdForm").submit(function() {
		$(this).find(".valRequired").each(function() {
			validateRequired($(this))
		})
		$(this).find(".valEmail").each(function() {
			validateEmail($(this))
		});
		isOk = !($(this).find("input").hasClass("valError"));
		return isOk;
	})
}

function validateRequired(field) {
	field.val() ? field.removeClass("valError") : field.addClass("valError") ;
}

function validateEmail(field) {
	field.val().match(emailRegEx) ? field.removeClass("valError") : field.addClass("valError") ;
}

/***********************************************************/
/***********************************************************/
/***********************************************************/

