$().ready(function(){	updateDate();	updatePrice();		$("#main_collect1, #main_collect2, #main_additionaladdress").click(updatePrice).click(updateDate);	$("#main_pocket_nopocket, #main_pocket_paper, #main_pocket_plastic, #main_hardback1, #main_hardback2, #main_paperback1, #main_paperback2, #main_blackandwhite, #main_colour").change(updatePrice);		$("#main_additionaladdress").click(function(event){		if (event.target.checked)		{			$(".inactive").addClass("active").removeClass("inactive");		}		else		{			$(".active").addClass("inactive").removeClass("active");		}		})	//echo event(null,'"covertext"','"onkeypress"','if (cross.specialkey!="normal" || cross.ctrlKey){r = true;}if (cross.specialkey=="normal"){if (allowcharacters){r = allowcharacters.test(cross.character);}else{r = true;}}if (!r){cross.preventDefault();}',true); ?>//echo event(null,'"spineleft"','"onkeypress"','if (cross.specialkey!="normal" || cross.ctrlKey){r = true;}if (cross.specialkey=="normal"){if (allowcharacters){r = allowcharacters.test(cross.character);}else{r = true;}}if (!r){cross.preventDefault();}',true); ?>//echo event(null,'"spinemiddle"','"onkeypress"','if (cross.specialkey!="normal" || cross.ctrlKey){r = true;}if (cross.specialkey=="normal"){if (allowcharacters){r = allowcharacters.test(cross.character);}else{r = true;}}if (!r){cross.preventDefault();}',true); ?>//echo event(null,'"spineright"','"onkeypress"','if (cross.specialkey!="normal" || cross.ctrlKey){r = true;}if (cross.specialkey=="normal"){if (allowcharacters){r = allowcharacters.test(cross.character);}else{r = true;}}if (!r){cross.preventDefault();}',true); ?>//echo event(null,'"additionaladdress"','"onclick"','var fs = document.getElementById("address2");fs.style.display=fs.style.display=="none"?"":"none";',true); ?>});function updatePrice(event){    var paperback = 0;	var hardback = 0;	var carriagecost = 0;		var pb = parseInt($("#main_paperback1").attr("value"));    var hb = parseInt($("#main_hardback1").attr("value"));    var currentcarriage = $("#main_collect1").get(0).checked?"collect":"dhl";    	paperback += isNaN(pb)?0:pb;    hardback += isNaN(hb)?0:hb;    if ((paperback >= 1) || (hardback >= 1)) {    	carriagecost += parseInt(carriage[currentcarriage]);   	}	    if ($('#main_additionaladdress').get(0).checked) {		pb = parseInt($("#main_paperback2").attr("value"));    	hb = parseInt($("#main_hardback2").attr("value"));    	currentcarriage = $("#main_collect2").get(0).checked?"collect":"dhl";    		paperback += isNaN(pb)?0:pb;		additionalpb = isNaN(pb)?0:pb;    	hardback += isNaN(hb)?0:hb;		additionalhb = isNaN(hb)?0:hb;		if ( (additionalpb >= 1) || (additionalhb >= 1) ) {			carriagecost += parseInt(carriage[currentcarriage]);		}	}	        var blackandwhitepage = parseInt($("#main_blackandwhite").attr("value"));    var colourpage = parseInt($("#main_colour").attr("value"));	    blackandwhitepage = isNaN(blackandwhitepage)?0:blackandwhitepage;    colourpage = isNaN(colourpage)?0:colourpage;    	var printingcost = blackandwhitepage*tariff['blackandwhitepage']+colourpage*tariff['colourpage'];    var bindingcost = paperback*parseInt(tariff['paperback'])+hardback*parseInt(tariff['hardback']);    var totalcopies = paperback+hardback;    printingcost = printingcost*totalcopies;    bindingcost += $("#main_pocket_paper").get(0).checked||$("#main_pocket_plastic").get(0).checked?tariff['pocket']:0;        var percent = 0;    for (var i=0;i<discount.length;i++)    {        if ((!discount[i].min || totalcopies>=parseInt(discount[i].min)) && (!discount[i].max || totalcopies<=parseInt(discount[i].max)) && discount[i].percent)        {            percent = parseInt(discount[i].percent);            break;        }    }        $("#printingcost").text("£"+(printingcost/100.0).toFixed(2));    $("#bindingcost").text("£"+(bindingcost/100.0).toFixed(2));    $("#discount").text(percent+"%");        $("#carriagecost").text("£"+(carriagecost/100.0).toFixed(2));    $("#totalcost").text("£"+(((bindingcost+printingcost)*((100.0-percent)/100.0)+carriagecost)/100.0).toFixed(2));}function updateDate(){	$("#estimate1").text(getDate($("#main_collect1").get(0).checked?"collect":"dhl"));	if ($('#main_additionaladdress').get(0).checked)	{		$("#estimate2").text(getDate($("#main_collect2").get(0).checked?"collect":"dhl"));	}}function getDate(currentcarriage){    service = service<0?3:service;    currentcarriage = currentcarriage=="dhl"?1:(currentcarriage=="collect"?0:-1);    var estimate = "";    if (service >= 0 && currentcarriage >= 0)    {        //<12 noon monday dispatched weds (2 days) following monday (5 days) 12 noon +1 day        // 24dec to fri4jan inclusive non working days*/        // current format ddmmyyyyhhmmssmonday        var arr = /^([0-9]{2})([0-9]{2})([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([a-zA-Z]*)$/.exec(current);        var day = arr[1], month = arr[2], year = arr[3], hour = arr[4], minute = arr[5],second = arr[6], dayofweek = arr[7];        var number = service+currentcarriage;                if (hour >= 12) number++; // if after 12pm add a day        var today = new Date(year,month-1,day); // today date object, no time        while (number>0)        {        // increment day by one        today.setTime(today.getTime()+1*24*60*60*1000);        if (today.getDay()>0 && today.getDay()<6) // only count week days        {            for (var i = 0; i < holidays.dates.length; i++)            {                if (holidays.dates[i] == (parseInt(today.getDate())*100+parseInt(today.getMonth())+1))                {                    break;                }            }            if (i==holidays.dates.length)                number--;        }        }        switch(today.getDay())        {            case 0: estimate = "Sunday"; break;            case 1: estimate = "Monday"; break;            case 2: estimate = "Tuesday"; break;            case 3: estimate = "Wednesday"; break;            case 4: estimate = "Thursday"; break;            case 5: estimate = "Friday"; break;            case 6: estimate = "Saturday"; break;        }        estimate += " "+today.getDate()+"/"+(today.getMonth()+1)+"/"+today.getFullYear();    }	return estimate;}