// add a document ready listener
/*
 * 
 */
var isTabContent2Open = false; 
			
box.dom(document).ready(function(){		
	
	box.ui('carousel').create({
		element: '#carousel',
		horizontal: true,
		display: 3,
		autoplaying: true,
		autoplay : 6000,
		buttons : true,
		duration: 800,
		circular: true
	});
	
	box.bind({
		'moved.carousel' : function(e) {
			$('#advantagesTabs').find('li').removeClass('on').eq(e.source.current).addClass('on');
		}
	})
	
		currentID = null;
		$(".milkBrand").hide();
		//control the default milkbrand div show or not
		
		$(".BabyBreakfeetConstant").each(function(){
			var id = $(this)[0]["id"].split('_')[1];
			var value = $(this).val();
			if($(this).attr('checked'))
			{
				if( $(this).val()  == '009' )
				{
					$("#milkBrandDiv_"+id).show();
				}
				else
				{
					$("#milkBrandDiv_"+id).hide();
				}
			}
			
			//alert(id);
			
			if(currentID == null)
			{
				currentID = id;
			}
			else if( currentID != null && currentID != id )
			{
				//alert('currentID'+currentID);
				var showMilkDiv = false;
				
				$("input:[name=breastfeed_" + currentID + "]").each(function(){
				
				if($(this).attr('checked'))
				{
					if( $(this).val() == '009' )
					{
						showMilkDiv = true;
					}
				}
				
				if(showMilkDiv)
					$("#milkBrandDiv_" + currentID ).show();
				else
					$("#milkBrandDiv_" + currentID ).hide();
				
				})
				
				currentID = id;
			}
			
		});
		
		
	
		//live the control milkbrand div show or not
		 $(".BabyBreakfeetConstant").live("click",function(){
				var id = $(this)[0]["id"].split('_')[1];
				var value = $(this).val();
				//alert(value);
				if(  $.trim(value) == '009')
				{
					$("#milkBrandDiv_"+id).show();
				}
				else
				{
					$("#milkBrandDiv_"+id).hide();
				}
				$("#BabyBreakfeetError_" + id ).hide();
				$('#BabyBreakfeetError_' + id ).parent().removeClass('error');
				
		});
	
		var form=createForm();
		runValidator(form);
			
		$("#btnRegSubmit").click(function(){
			
			//form=createForm();
			//runValidator(form);
			
			
			if (box.ui('form.register').mustValidateRules && box.ui('form.register').isValid() ) {
				boxtab.open('tabContent2');
				isTabContent2Open = true;
			 }
		});
});

box.bind({
	'open.tabs.tabsListing': function(e){
		if(e.source.active == 'tabContent2') {
			isTabContent2Open = true;
		} else {
			isTabContent2Open = false;
		}
	}				
});

var createForm=function(){
	form = box.ui('form').create({
		        element: '#register'
		    });
			 box.ui('form').addPatterns({
		        'password': /[a-zA-Z0-9]{6,25}/
		    });
			 box.ui('form').addPatterns({
		        'address': /^[^,]*$/
		    });
			 box.ui('form').addPatterns({
		        'zipcode': /^[0-9]{5}$/
		    });
			
	return form;	
}
var runValidator = function(form){
				form.mustValidate(function(form) {
			        form.field('TitleCode').mustValidate(function(field) {
			            if(!field.isChecked()) {
			                //$('#TitleCodeError').html(l10n.errors.required.TitleCode);
							return l10n.errors.required.TitleCode;
			            }
			        });
			        
			        form.field('lastName').mustValidate(function(field) {
			            if(field.isEmpty()) {
			                return l10n.errors.required.lastName;
			            }
			        });
					
					form.field('firstName').mustValidate(function(field) {
			            if(field.isEmpty()) {
			                return l10n.errors.required.firstName;
			            }
			        });
			        
			        form.field('email').mustValidate(function(field) {
			            if(field.isEmpty()) {
			                return l10n.errors.required.email;
			            } else if(!field.isMatching('email')) {
			                return l10n.errors.invalid.email;
			            }
			        });
			        
			        form.field('pwd').mustValidate(function(field) {
			            if(field.isEmpty()) {
			                return l10n.errors.required.pwd;
			            } else if(!field.isMatching('password')) {
			                return l10n.errors.invalid.pwd;
			            }
			        });
			        
			        form.field('pwdConfirm').mustValidate(function(field) {
			            if(form.field('pwd').isValid(box.ui('form').noBroadcast)) {
			                if(!field.isEqualTo(form.field('pwd').getValue())) {
			                    return l10n.errors.invalid.pwdConfirm;
			                }
			            }
			        });
			        
			        form.field('address1').mustValidate(function(field) {
			            if(field.isEmpty()) {
			                return l10n.errors.required.address1;
			            } else if(!field.isMatching('address')) {
			                return l10n.errors.invalid.address;
			            }
			        });
			        
			        form.field('postcode').mustValidate(function(field) {
			            if(field.isEmpty()) {
			                return l10n.errors.required.postcode;
			            }else if(!field.isMatching('zipcode')) {
			                return l10n.errors.invalid.zipcode;
			            }
			        });
			        
			        form.field('city').mustValidate(function(field) {
			            if(field.isEmpty()) {
			                return l10n.errors.required.city;
			            }
			        });
					
					form.field('IsNewsletter').mustValidate(function(field) {

				            if(!field.isChecked()) {
								return l10n.errors.required.select;
					
						}						
			        });					

					form.field('IsMenu').mustValidate(function(field) {

				            if(!field.isChecked()) {
								return l10n.errors.required.select;
					
						}						
			        });					

					form.field('IsPartner').mustValidate(function(field) {
				            if(!field.isChecked()) {
								return l10n.errors.required.select;
				            }							
									
			        });				

					form.field('IsPartnerAll').mustValidate(function(field) {
				            if(!field.isChecked()) {
								return l10n.errors.required.select;
				            }							
									
			        });										

					
					var babycount = parseInt($('#babyamount').val()) || 1;
					for (var k = 0; k < babycount; k++) {
					
						form.field('babysex_'+k).mustValidate(function(field) {
			            	if(!field.isChecked()) {
								return l10n.errors.required.select;
			            	}
			        	});
					
						form.field('babyday_'+k).mustValidate(function(field) {		
							var j = field.name.split('_')[1];
							if(!field.getIndex()) {
								$('#babyBirthdayError_' + j ).parent().addClass('error');
								$('#babyBirthdayError_' + j ).html(l10n.errors.required.birthOfDate);
								return ' ';
				            }
							else if( form.field('babyday_'+j).getIndex() &&  form.field('babymonth_'+j).getIndex() &&  form.field('babyyear_'+j).getIndex()  )
							{
								$('#babyBirthdayError_' + j ).parent().removeClass('error');
								$('#babyBirthdayError_' + j ).html('');
								return nineMonthValidator(j);
							}							
							
							
				        });
				       
				        form.field('babymonth_'+k).mustValidate(function(field) {
							var j = field.name.split('_')[1];
							if(!field.getIndex()) {
								 $('#babyBirthdayError_' + j ).parent().addClass('error');
								 $('#babyBirthdayError_' + j ).html(l10n.errors.required.birthOfDate);
								 return l10n.errors.required.birthOfDate;
				            }
							else if( form.field('babyday_'+j).getIndex() &&  form.field('babymonth_'+j).getIndex() &&  form.field('babyyear_'+j).getIndex()  )
							{
								$('#babyBirthdayError_' + j ).parent().removeClass('error');
								$('#babyBirthdayError_' + j ).html('');
							}
							nineMonthValidator(j);
							
				        });
						
						 form.field('babyyear_'+k).mustValidate(function(field) {
							var j = field.name.split('_')[1];
							if(!field.getIndex()) {
								 $('#babyBirthdayError_' + j ).parent().addClass('error');
								 $('#babyBirthdayError_' + j ).html(l10n.errors.required.birthOfDate);
								 return l10n.errors.required.birthOfDate;
				            }
							else if( form.field('babyday_'+j).getIndex() &&  form.field('babymonth_'+j).getIndex() &&  form.field('babyyear_'+j).getIndex()  )
							{
								$('#babyBirthdayError_' + j ).parent().removeClass('error');
								$('#babyBirthdayError_' + j ).html('');
							}
							nineMonthValidator(j);
							
				        });
						
						 form.field('breastfeed_'+k).mustValidate(function(field) {
				            if(!field.isChecked()) {
								return l10n.errors.required.babyBreakfeet;
				            }
			        	});
						
						
						 form.field('MilkBrand_'+ k ).mustValidate(function(field) {
				           			
									var k = field.name.split('_')[1];
									if ( form.field('breastfeed_'+k).isChecked() && form.field('breastfeed_'+k).getValue() == '009' && !field.getIndex()) {
											return l10n.errors.required.MilkBrand;
									}
									

								});
	
			        	 form.field('textbabyFirstName_'+ k ).mustValidate(function(field) {
									var j = field.name.split('_')[1];
									if (field.isEmpty() && babyNameNeedValidation(j)) {
										return l10n.errors.required.sponsorFirstName;
									}
									
								});
						
					}
					
					
			        
					return l10n.errors.form;
					
			  });
	
}

var nineMonthValidator = function(m){
	var theDay=form.field('babyday_'+m).getValue()
	var theMonth=form.field('babymonth_'+m).getValue()
	var theYear=form.field('babyyear_'+m).getValue()
	
	
	if (theDay&&theMonth&&theYear){
	 
	  var d =new Date();
	  var nowDate=parseDate(d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate());
	  var selectDate=parseDate(theYear+"-"+theMonth+"-"+theDay);
	  var diff=daydiff(nowDate,selectDate)
	  if(diff<0){
  		$('#textbabyFirstNameRequired_' + m).show();
		$('#Unknowsex_' + m ).parent("li").hide();
		$('#Unknowbreastfeed_' + m ).parent("li").hide();
		$('#Unknowbreastfeed_' + m ).parent("li").parent("ul").parent(".radios").children(".legend").children(".haveBaby").hide();
		$('#Unknowbreastfeed_' + m ).parent("li").parent("ul").parent(".radios").children(".legend").children(".haveBabyAlt").show();
		$('#MilkBrandError_' + m ).parent("label").children(".haveBaby").hide();
		$('#MilkBrandError_' + m ).parent("label").children(".haveBabyAlt").show();
		
	  }else{
	  	$('#textbabyFirstNameRequired_' + m).hide();
		$('#Unknowsex_' + m ).parent("li").show();
		$('#Unknowbreastfeed_' + m ).parent("li").show();
		$('#Unknowbreastfeed_' + m ).parent("li").parent("ul").parent(".radios").children(".legend").children(".haveBaby").show();
		$('#Unknowbreastfeed_' + m ).parent("li").parent("ul").parent(".radios").children(".legend").children(".haveBabyAlt").hide();
		$('#MilkBrandError_' + m ).parent("label").children(".haveBaby").show();
		$('#MilkBrandError_' + m ).parent("label").children(".haveBabyAlt").hide();
	  }
	  
	  if(diff>275){
		$('#babyBirthdayError_' + m ).parent().addClass('error');
		$('#babyBirthdayError_' + m ).html(l10n.errors.invalid.nineMonth);	
		return ' ';
	  }
	  else if(diff<-458){
		$('#babyBirthdayError_' + m ).parent().addClass('error');
		$('#babyBirthdayError_' + m ).html(l10n.errors.invalid.fifteenMonth);	
		return ' ';
		  
	  }else{
		  $('#babyBirthdayError_' + m ).parent().removeClass('error');
		  $('#babyBirthdayError_' + m ).html('');
	  }
	}	
}

///Check for mandatory name if birthdate is before today 
var babyNameNeedValidation = function(m){
	var theDay=form.field('babyday_'+m).getValue()
	var theMonth=form.field('babymonth_'+m).getValue()
	var theYear=form.field('babyyear_'+m).getValue()
	
	
	if (theDay&&theMonth&&theYear){
	 
	  var d =new Date();
	  var nowDate=parseDate(d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate());
	  var selectDate=parseDate(theYear+"-"+theMonth+"-"+theDay);
	  var diff=daydiff(nowDate,selectDate)
	  //If baby birth is done return true because need validation
	  return (diff<0);
	}
	return false;	
}

/*format input string to date*/
function parseDate(str) {    
var mdy = str.split('-')   ; 
return new Date(mdy[0], mdy[1]-1, mdy[2]);}

/* get day difference between two date*/
function daydiff(first, second) {    
return (second-first)/(1000*60*60*24)};




