window.baby = {
	gestation: 40*7*24*60*60*1000,
	color: "#86ff51",
	today: new Date(),
	duedate: new Date(),
	init: function(ins){
		var ops = ins || {};
		if(ops.duedate){
			this.duedate = new Date(ops.duedate);
		}else{
			this.duedate = new Date(Date.parse(this.today) + this.gestation);
		}
		if(ops.gender) {
			if (ops.gender==="boy"){
				this.color = "#7f90ff";
			} else if(ops.gender==="girl") {
				this.color = "#ff77d6";
			}
		}

		this.update();
	},
	update: function(){
		var itemid = "babyprogress_" + Date.parse(this.duedate);
		var item = document.getElementById(itemid);
		var percentdone = (1 - (this.duedate - new Date()) / this.gestation) * 100;
		
		if (!item){
			var s = '<style>.babyprogress{border:1px solid #000;background:#eee;}.percentdone{background-color:'+this.color+';width:'+percentdone+'%;color:#fff;text-align:right;padding-right:2px;}</style>';
			document.write(s);
			
			var h = '<div id="' + itemid + '" class="babyprogress"><div class="percentdone">'+percentdone+'%</div></div>';
			document.write(h);
		} else {
			var done = item.getElementsByClassName("percentdone")[0];
			done.innerHTML = percentdone+"%";
			done.style.width = percentdone+"%";
		}
		
		var that = this;
		window.setTimeout(function(){that.update();}, 100);
	}
}