function isValidDate(dateString) {
	var dateformat = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/;
	return dateformat.test(dateString);
	
}

$(function() {
	
	$('.select-wrapper select').bind('change keyup',function(){
		var $this = $(this);
		var text = $this.find('option:selected').text();
		$this
			.parent().attr('title','Selected: '+text)
					.find('span:first').text(text);
	}).trigger('change');
	
	$(".archiveApps").click(function(){
		return confirm("Are you sure you want to archive the selected applications?");
	});
	
	
	$(".products-services-nav a").click(function(e) {
		e.preventDefault();
		var target = $( $(this).attr('href') );
		SetHeight_Scroll_FadeIn = function() {
			$('#ProductsServicesList')
				.height(target.height())
				.scrollTo( target, { easing:'easeInOutExpo', duration:1000 })
				.fadeTo('fast',1);
		}
		$('#ProductsServicesList').fadeTo('fast',.33,SetHeight_Scroll_FadeIn);
	});
	
	$("#regular_form").submit(function(e){
		form = e.target;
		var errorMsg = '';
		var errorArray = [];
		for(i = 0; i < form.elements.length; i++){
			field = $(form.elements[i]);
			title = field.attr('title');
			if(field.hasClass('required')) {
				$(form.elements[i]).removeClass("highlight");
				if(field.hasClass('phone_number')) {
					form.elements[i].value = form.elements[i].value.replace(/[^0-9]/g, '');
					if(form.elements[i].value.length != 10) {
						errorMsg += title + " must be exactly 10 digits\n";
						//form.elements[i].className = 'highlight';
						$(form.elements[i]).addClass("highlight");
					}
				}
				else if(field.hasClass('zipcode')) {
					var newValue = form.elements[i].value;
					newValue = newValue.replace(/[^0-9]/g, '');
					if(newValue.length != 5) {
						errorMsg += title + " must only contain 5 numbers\n";
						$(form.elements[i]).addClass("highlight");
					}
					form.elements[i].value = newValue;
				}
				else if(field.hasClass('numerical')){
					var newValue = form.elements[i].value;
					newValue = newValue.replace(/[^0-9.,]/g, '');
					if((newValue != form.elements[i].value) || newValue == "") {
						errorMsg += title + " must only contain numbers and is required\n";
						$(form.elements[i]).addClass("highlight");
					}
				}
				else if(field.hasClass('ssn')){
					var newValue = form.elements[i].value;
					newValue = newValue.replace(/[^0-9]/g, '');
					form.elements[i].value = newValue;
					if((newValue.length != 9)) {
						errorMsg += title + "Social Security Number must contain 9 digits\n";
						$(form.elements[i]).addClass("highlight");
					}
				}
				else if(field.hasClass('date')){
					if(isValidDate(form.elements[i].value) != true) {
						errorMsg += title + " date needs to be in mm/dd/yy format\n";
						$(form.elements[i]).addClass("highlight");						
					}
				}
				else if(form.elements[i].value.length < 1) {
					
					if(errorArray[title]==undefined) {
						errorMsg += title + " field is required.\n";
						errorArray[title] = title;
						$(form.elements[i]).addClass("highlight");
						
					}					
				}
			}
		
		}
		if(errorMsg != ''){
			e.preventDefault();
			alert(errorMsg);
			return false;
		}
		return true;
	});
	
	// Tubpress hacks
	$('.tubepress_container [id^=tubepress_embedded_object_]').css({height:340});
	$('.tubepress_thumbnail_area .pagination a').live('click',function(e){
		e.preventDefault();
		var $container = $(this).closest('.tubepress_container')
		var $thumbnail_area = $container.find('.tubepress_thumbnail_area');
		if($thumbnail_area.siblings() != 0){
			$thumbnail_area.wrap('<div></div>');
		}
		var href = $(this).attr('href');
		if(href.indexOf('tubepress_galleryId') == -1){
			var galleryID = $container.attr('id').split("_")[2];
			href += '&tubepress_galleryId=' + galleryID;
		}
		$thumbnail_area.parent().load(href  + ' .tubepress_thumbnail_area');
	});

//	$("#employment_history").submit(function(e){
//		form = e.target;
//		var errorMsg = '';
//		var errorArray = [];
//		for(i = 0; i < form.elements.length; i++){
//			field = $(form.elements[i]);
//			if(field.hasClass('required') && form.elements[i].value.length < 1){
//				title = field.attr('title');
//				if(errorArray[title]==undefined) {
//					errorMsg += title + "\n";
//					errorArray[title] = title;
//				}
//				
//			}
//		}
//		if(errorMsg != ''){
//			e.preventDefault();
//			alert(errorMsg);
//			return false;
//		}
//		return true;
//	});

	$(".selectAll").click(function(){
		var $checked = $(this).attr('checked');
		$("input:checkbox").attr('checked', $checked);
	});
	
});


