jQuery(document).ready(function() {
	jQuery('#menu').tabs();
	jQuery('.jcalendar').jcalendar();
	jQuery('.datepicker').datepick({dateFormat: "dd/mm/yy"});
	jQuery('.avoiding').slideUp();
	jQuery('.trying').slideDown();
});

function toggle(){
	jQuery('#main').toggleClass('hidden');
	jQuery('#listOV').toggleClass('hidden');
}

function switcher(number){

	if(jQuery("#pregnant").attr("checked")){
		opredict_preg(number);
		jQuery('.avoiding').slideUp();
		jQuery('.trying').slideDown();
	} else {
		opredict_notpreg(number);
		jQuery('.trying').slideUp();
		jQuery('.avoiding').slideDown();
	}
}

function opredict_preg(number){
	
	if(!number){
		var number = jQuery('#number').val();
	}
	
	var last = jQuery('#dateofLast').val();
	
	if(last){
		var length = parseInt(jQuery('#cycleLength').val());
		
		var lastArray = last.split("/");
		
		var lastDate = new Date(lastArray[2],lastArray[1]-1,lastArray[0],00,00,00);
		
		var i = 0;
		var periodDay = new Array();
		
		for (i=0;i<number;i++){
			periodDay[i] = new Date(lastDate.setDate(parseInt(lastDate.getDate()) + length));
		}
		
		var $remove = jQuery('.weekday').children();
		$remove.removeClass('fertile');
		$remove.removeClass('ovulation');
		$remove.removeClass('period');
		$remove.removeClass('ovulationa');
		$remove.removeClass('avoid');
		
		var $remove2 = jQuery('.weekend').children();
		$remove2.removeClass('fertile');
		$remove2.removeClass('ovulation');
		$remove2.removeClass('period');
		$remove2.removeClass('ovulationa');
		$remove2.removeClass('avoid');
		
		var displayList = '<table cellpadding=10 cellspacing=0 width=470 class=ov-list>';
		displayList += '<tr><th width=160 class=table-top-left-pink>Fertile between</th><th width=120>Ovulation date</th><th width=120 class=table-top-right-pink>Start of period</th></tr>';
		for (var g in periodDay){
			var tempDate = new Date (periodDay[g]);
			var period = new Date (periodDay[g]);
			var periodHolder = new Date(period);
			jQuery('[rel='+periodHolder+']').addClass('period');
			for (ip=0;ip<4;ip++){
				pd = new Date(period.setDate(parseInt(period.getDate()) + 1));
				jQuery('[rel='+pd+']').addClass('period');
			}
			period = new Date(periodHolder);
			var ovulation = new Date(tempDate.setDate(parseInt(tempDate.getDate()) - (length/2)));
			jQuery('[rel='+ovulation+']').addClass('ovulation');
			var ovholder = new Date(ovulation);
			for (iw=0;iw<2;iw++){
				fd = new Date(ovulation.setDate(parseInt(ovulation.getDate()) + 1));
				if(fd != ovholder){
					jQuery('[rel='+fd+']').addClass('fertile');
				}
			}
			ovulation = new Date(ovholder);
			for (iw=0;iw<5;iw++){
				fd = new Date(ovulation.setDate(parseInt(ovulation.getDate()) - 1));
				if(fd != ovholder){
					jQuery('[rel='+fd+']').addClass('fertile');
				}
			}
			ovulation = new Date(ovholder);
			var fertileStart = new Date(ovulation.setDate(parseInt(ovulation.getDate()) - 5));
			var fertileEnd = new Date(ovulation.setDate(parseInt(ovulation.getDate()) + 8));
			displayList += '<tr><td>'+fertileStart.toLocaleDateString()+' -<br />'+fertileEnd.toLocaleDateString()+'</td><td>'+ovulation.toLocaleDateString()+'</td><td>'+period.toLocaleDateString()+'</td></tr>';
		}
		displayList += '<tr><td colspan=3 class=table-bottom-pink></td></tr></table>';
		
		jQuery('#list').html(displayList);
	}

}

function opredict_notpreg(number){

	if(!number){
		var number = jQuery('#number').val();
	}
	
	var last = jQuery('#dateofLast').val();
	
	if(last){
		var length = parseInt(jQuery('#cycleLength').val());
		
		var lastArray = last.split("/");
		
		var lastDate = new Date(lastArray[2],lastArray[1]-1,lastArray[0],00,00,00);
		
		var i = 0;
		var periodDay = new Array();
		
		for (i=0;i<number;i++){
			periodDay[i] = new Date(lastDate.setDate(parseInt(lastDate.getDate()) + length));
		}
		
		var $remove = jQuery('.weekday').children();
		$remove.removeClass('fertile');
		$remove.removeClass('ovulation');
		$remove.removeClass('period');
		$remove.removeClass('ovulationa');
		$remove.removeClass('avoid');
		
		var $remove2 = jQuery('.weekend').children();
		$remove2.removeClass('fertile');
		$remove2.removeClass('ovulation');
		$remove2.removeClass('period');
		$remove2.removeClass('ovulationa');
		$remove2.removeClass('avoid');
		
		var displayList = '<table cellpadding=10 cellspacing=0 width=470 class=ov-list>';
		displayList += '<tr><th width=170 class=table-top-left-pink>Avoid intercourse between</th><th width=120>Ovulation date</th><th width=120 class=table-top-right-pink>Start of period</th></tr>';
		for (var g in periodDay){
			var tempDate = new Date (periodDay[g]);
			var period = new Date (periodDay[g]);
			var periodHolder = new Date(period);
			jQuery('[rel='+periodHolder+']').addClass('period');
			for (ip=0;ip<4;ip++){
				pd = new Date(period.setDate(parseInt(period.getDate()) + 1));
				jQuery('[rel='+pd+']').addClass('period');
			}
			period = new Date(periodHolder);
			var ovulation = new Date(tempDate.setDate(parseInt(tempDate.getDate()) - (length/2)));
			jQuery('[rel='+ovulation+']').addClass('ovulationa');
			var ovholder = new Date(ovulation);
			for (iw=0;iw<3;iw++){
				fd = new Date(ovulation.setDate(parseInt(ovulation.getDate()) + 1));
				if(fd != ovholder){
					jQuery('[rel='+fd+']').addClass('avoid');
				}
			}
			ovulation = new Date(ovholder);
			for (iw=0;iw<6;iw++){
				fd = new Date(ovulation.setDate(parseInt(ovulation.getDate()) - 1));
				if(fd != ovholder){
					jQuery('[rel='+fd+']').addClass('avoid');
				}
			}
			ovulation = new Date(ovholder);
			var fertileStart = new Date(ovulation.setDate(parseInt(ovulation.getDate()) - 6));
			var fertileEnd = new Date(ovulation.setDate(parseInt(ovulation.getDate()) + 10));
			displayList += '<tr><td>'+fertileStart.toLocaleDateString()+' - <br /> '+fertileEnd.toLocaleDateString()+'</td><td>'+ovulation.toLocaleDateString()+'</td><td>'+period.toLocaleDateString()+'</td></tr>';
		}
		displayList += '<tr><td colspan=3 class=table-bottom-pink></td></tr></table>';
		
		jQuery('#list').html(displayList);
	}
	
}
