Not working for me, just showing the "Results".
I also tried scaling it down since we don't need some of the other calculations there were in the original form.
Code:
{*
For http://forum.x-cart.com/showthread.php?t=53578
Call extra fields via this:
{$extra_fields.0.field_value}
{$extra_fields.1.field_value}
{$extra_fields.2.field_value}
*}
{literal}
<script type="text/javascript">
var startyear = "1950";
var endyear = "2010";
var dat = new Date();
var curday = dat.getDate();
var curmon = dat.getMonth()+1;
var curyear = dat.getFullYear();
function checkleapyear(datea)
{
if(datea.getYear()%4 == 0)
{
if(datea.getYear()% 10 != 0)
{
return true;
}
else
{
if(datea.getYear()% 400 == 0)
return true;
else
return false;
}
}
return false;
}
function DaysInMonth(Y, M) {
with (new Date(Y, M, 1, 12)) {
setDate(0);
return getDate();
}
}
function datediff(date1, date2) {
var y1 = date1.getFullYear(), m1 = date1.getMonth(), d1 = date1.getDate(),
y2 = date2.getFullYear(), m2 = date2.getMonth(), d2 = date2.getDate();
if (d1 < d2) {
m1--;
d1 += DaysInMonth(y2, m2);
}
if (m1 < m2) {
y1--;
m1 += 12;
}
return [y1 - y2, m1 - m2, d1 - d2];
}
function calage()
{
{/literal}
var calday = {$extra_fields.0.field_value};
var calmon = {$extra_fields.1.field_value};
var calyear = {$extra_fields.2.field_value};
{literal}
{
var curd = new Date(curyear,curmon-1,curday);
var cald = new Date(calyear,calmon-1,calday);
var diff = Date.UTC(curyear,curmon,curday,0,0,0) - Date.UTC(calyear,calmon,calday,0,0,0);
var dife = datediff(curd,cald);
document.birthday.age.value=dife[0]+" years, "+dife[1]+" months, and "+dife[2]+" days";
var monleft = (dife[0]*12)+dife[1];
var secleft = diff/1000/60;
var hrsleft = secleft/60;
var daysleft = hrsleft/24;
}
$(document).ready(function(){
calage();
});
</script>
{/literal}
<form name="age">
<input name="age" size="40" value="Result"><br>
</form>