var daysOfMonth = new Array( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var daysOfMonthLY = new Array( 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var lucky_firsttime = 0; var match_firsttime = 0; var dob_firsttime = "00000000"; var dob_fulldate="00000000"; today_fulldate="00000000";
var dgr_length = 247; dgr_count = 0; dob_g_results = new Array (dgr_length); extra_factors = 0; max_extra_factors=48;
for (var dg = 0; dg <= dgr_length-1; dg++) {dob_g_results[dg] = "";}
var dmt_count=1; demit_length = 244; demit = new Array (demit_length);
for (var dmt = 0; dmt <= demit_length-3; dmt +=3) {demit[dmt]=dmt_count; dmt_count = dmt_count + 1; demit[dmt+1] = 0; demit[dmt+2]=0}
var lucky_today_fulldate=0; var lucky_dob_fulldate=0;
var luckyscore=["0","1","2","3","4","5"]; var balance=[25,35,20,11,2,1]; var totalbalance=eval(balance.join("+")); var balancescore=new Array(); var currentscore=0;
while (currentscore<luckyscore.length) {
 for (i=0; i<balance[currentscore]; i++)
 balancescore[balancescore.length]=luckyscore[currentscore]
 currentscore++
}
dob_g_results[0]=100;  dob_g_results[1]=1;    dob_g_results[2]=" 4   -   2 "; dgr_count=dgr_count+3;
dob_g_results[3]=100;  dob_g_results[4]=2;    dob_g_results[5]=" 0   -   2 "; dgr_count=dgr_count+3;
dob_g_results[6]=100;  dob_g_results[7]=3;    dob_g_results[8]=" 1   -   0 "; dgr_count=dgr_count+3;
dob_g_results[9]=100;  dob_g_results[10]=4;  dob_g_results[11]=" 0   -   0 "; dgr_count=dgr_count+3;
dob_g_results[12]=100; dob_g_results[13]=5;  dob_g_results[14]=" 2   -   1 "; dgr_count=dgr_count+3;
dob_g_results[15]=100; dob_g_results[16]=6;  dob_g_results[17]=" 0   -   1 "; dgr_count=dgr_count+3;
dob_g_results[18]=100; dob_g_results[19]=7;  dob_g_results[20]=" 3   -   1 "; dgr_count=dgr_count+3;
dob_g_results[21]=100; dob_g_results[22]=8;  dob_g_results[23]=" 0   -   1 "; dgr_count=dgr_count+3;
dob_g_results[24]=100; dob_g_results[25]=9;  dob_g_results[26]=" 3   -   1 "; dgr_count=dgr_count+3;
dob_g_results[27]=100; dob_g_results[28]=10;  dob_g_results[29]=" 0   -   3 "; dgr_count=dgr_count+3;
dob_g_results[30]=100; dob_g_results[31]=11;  dob_g_results[32]=" 2   -   0 "; dgr_count=dgr_count+3;
dob_g_results[33]=100; dob_g_results[34]=12;  dob_g_results[35]=" 2   -   1 "; dgr_count=dgr_count+3;
dob_g_results[36]=100; dob_g_results[37]=13;  dob_g_results[38]=" 0   -   0 "; dgr_count=dgr_count+3;
dob_g_results[39]=100; dob_g_results[40]=14;  dob_g_results[41]=" 1   -   0 "; dgr_count=dgr_count+3;
dob_g_results[42]=100; dob_g_results[43]=15;  dob_g_results[44]=" 4   -   0 "; dgr_count=dgr_count+3;
dob_g_results[45]=100; dob_g_results[46]=16;  dob_g_results[47]=" 2   -   2 "; dgr_count=dgr_count+3;
dob_g_results[48]=100; dob_g_results[49]=17;  dob_g_results[50]=" 1   -   0 "; dgr_count=dgr_count+3;
dob_g_results[51]=100; dob_g_results[52]=18;  dob_g_results[53]=" 3   -   0 "; dgr_count=dgr_count+3;
dob_g_results[54]=100; dob_g_results[55]=19;  dob_g_results[56]=" 2   -   0 "; dgr_count=dgr_count+3;
dob_g_results[57]=100; dob_g_results[58]=20;  dob_g_results[59]=" 1   -   0 "; dgr_count=dgr_count+3;
dob_g_results[60]=100; dob_g_results[61]=21;  dob_g_results[62]=" 6   -   0 "; dgr_count=dgr_count+3;
dob_g_results[63]=100; dob_g_results[64]=22;  dob_g_results[65]=" 2   -   1 "; dgr_count=dgr_count+3;
dob_g_results[66]=100; dob_g_results[67]=23;  dob_g_results[68]=" 0   -   0 "; dgr_count=dgr_count+3;
dob_g_results[69]=100; dob_g_results[70]=24;  dob_g_results[71]=" 2   -   0 "; dgr_count=dgr_count+3;
dob_g_results[72]=100; dob_g_results[73]=25;  dob_g_results[74]=" 0   -   2 "; dgr_count=dgr_count+3;
dob_g_results[75]=100; dob_g_results[76]=26;  dob_g_results[77]=" 1   -   1 "; dgr_count=dgr_count+3;
dob_g_results[78]=100; dob_g_results[79]=27;  dob_g_results[80]=" 0   -   0 "; dgr_count=dgr_count+3;
dob_g_results[81]=100; dob_g_results[82]=28;  dob_g_results[83]=" 2   -   0 "; dgr_count=dgr_count+3;
dob_g_results[84]=100; dob_g_results[85]=29;  dob_g_results[86]=" 1   -   1 "; dgr_count=dgr_count+3;
dob_g_results[87]=100; dob_g_results[88]=30;  dob_g_results[89]=" 0   -   2 "; dgr_count=dgr_count+3;
dob_g_results[90]=100; dob_g_results[91]=31;  dob_g_results[92]=" 0   -   4 "; dgr_count=dgr_count+3;
dob_g_results[93]=100; dob_g_results[94]=32;  dob_g_results[95]=" 3   -   1 "; dgr_count=dgr_count+3;
dob_g_results[96]=100; dob_g_results[97]=33;  dob_g_results[98]=" 0   -   3 "; dgr_count=dgr_count+3;
dob_g_results[99]=100; dob_g_results[100]=34;  dob_g_results[101]=" 1   -   2 "; dgr_count=dgr_count+3;
dob_g_results[102]=100; dob_g_results[103]=35;  dob_g_results[104]=" 2   -   2 "; dgr_count=dgr_count+3;
dob_g_results[105]=100; dob_g_results[106]=36;  dob_g_results[107]=" 2   -   0 "; dgr_count=dgr_count+3;
dob_g_results[108]=100; dob_g_results[109]=37;  dob_g_results[110]=" 2   -   1 "; dgr_count=dgr_count+3;
dob_g_results[111]=100; dob_g_results[112]=38;  dob_g_results[113]=" 1   -   1 "; dgr_count=dgr_count+3;
dob_g_results[114]=100; dob_g_results[115]=39;  dob_g_results[116]=" 0   -   0 "; dgr_count=dgr_count+3;
dob_g_results[117]=100; dob_g_results[118]=40;  dob_g_results[119]=" 3   -   2 "; dgr_count=dgr_count+3;
dob_g_results[120]=100; dob_g_results[121]=41;  dob_g_results[122]=" 0   -   2 "; dgr_count=dgr_count+3;
dob_g_results[123]=100; dob_g_results[124]=42;  dob_g_results[125]=" 2   -   1 "; dgr_count=dgr_count+3;
dob_g_results[126]=100; dob_g_results[127]=43;  dob_g_results[128]=" 1   -   4 "; dgr_count=dgr_count+3;
dob_g_results[129]=100; dob_g_results[130]=44;  dob_g_results[131]=" 2   -   2 "; dgr_count=dgr_count+3;
dob_g_results[132]=100; dob_g_results[133]=45;  dob_g_results[134]=" 0   -   1 "; dgr_count=dgr_count+3;
dob_g_results[135]=100; dob_g_results[136]=46;  dob_g_results[137]=" 1   -   0 "; dgr_count=dgr_count+3;
dob_g_results[138]=100; dob_g_results[139]=47;  dob_g_results[140]=" 0   -   2 "; dgr_count=dgr_count+3;
dob_g_results[141]=100; dob_g_results[142]=48;  dob_g_results[143]=" 2   -   0 "; dgr_count=dgr_count+3;
dob_g_results[144]=100; dob_g_results[145]=49;  dob_g_results[146]=" 2   -   0 "; dgr_count=dgr_count+3;
dob_g_results[147]=100; dob_g_results[148]=50;  dob_g_results[149]=" 2   -   1 "; dgr_count=dgr_count+3;
dob_g_results[150]=100; dob_g_results[151]=51;  dob_g_results[152]=" 1   -   0 "; dgr_count=dgr_count+3;
dob_g_results[153]=100; dob_g_results[154]=52;  dob_g_results[155]=" 1   -   0 "; dgr_count=dgr_count+3;
dob_g_results[156]=100; dob_g_results[157]=53;  dob_g_results[158]=" 1   -   0 "; dgr_count=dgr_count+3;
dob_g_results[159]=100; dob_g_results[160]=54;  dob_g_results[161]=" 0   -   0 "; dgr_count=dgr_count+3;
dob_g_results[162]=100; dob_g_results[163]=55;  dob_g_results[164]=" 3   -   0 "; dgr_count=dgr_count+3;
dob_g_results[165]=100; dob_g_results[166]=56;  dob_g_results[167]=" 1   -   3 "; dgr_count=dgr_count+3;
dob_g_results[168]=100; dob_g_results[169]=57;  dob_g_results[170]=" 1   -   1 "; dgr_count=dgr_count+3;
dob_g_results[171]=100; dob_g_results[172]=58;  dob_g_results[173]=" 3   -   0 "; dgr_count=dgr_count+3;
dob_g_results[174]=100; dob_g_results[175]=59;  dob_g_results[176]=" 0   -   0 "; dgr_count=dgr_count+3;
dob_g_results[177]=100; dob_g_results[178]=60;  dob_g_results[179]=" 0   -   1 "; dgr_count=dgr_count+3;
dob_g_results[180]=100; dob_g_results[181]=61;  dob_g_results[182]=" 0   -   2 "; dgr_count=dgr_count+3;
dob_g_results[183]=100; dob_g_results[184]=62;  dob_g_results[185]=" 0   -   1 "; dgr_count=dgr_count+3;
dob_g_results[186]=100; dob_g_results[187]=63;  dob_g_results[188]=" 3   -   1 "; dgr_count=dgr_count+3;
dob_g_results[189]=100; dob_g_results[190]=64;  dob_g_results[191]=" 1   -   1 "; dgr_count=dgr_count+3;
function isLeapYear(year) {
  year = year - 0;
  if ((year/4)   != Math.floor(year/4)) return false; 
  if ((year/100) != Math.floor(year/100)) return true; 
  if ((year/400) != Math.floor(year/400)) return false;
  return true;
}
function isValidDate(day, month, year) {
  day = day - 0; month = month - 0; year = year - 0;
  if ((isLeapYear(year) && day > daysOfMonthLY[month-1]) || (!isLeapYear(year) && day > daysOfMonth[month-1]) || (day < 1 ) || (month < 1 ) || (year < 1900)) return false;
  else return true;
}
function numero(input,ln) {
  input = input - 0; ln = ln - 0; var sum = 0;
  for (var i = 1; i <= ln; i++){x = input - (Math.floor((input/10))*10); sum = sum + x; input = Math.floor(input/10);}
  if (sum > 9){
   sum2 = sum; sum = 0;
   for (var i = 1; i <= 2; i++){x = sum2 - (Math.floor((sum2/10))*10); sum = sum + x; sum2 = Math.floor(sum2/10);}
  }
  return sum;
}
function CheckBirthDay(dob){
today = new Date(); year = today.getYear();  if (year < 1000) year += 1900; month = today.getMonth()+1; day = today.getDate();
doblength=dob.value.length; today_fulldate=(year*10000)+(month*100)+day; var dob_ok = -1; 
if (doblength!=8){ alert("There appears to be an error in the date. Please enter your birth date in DDMMYYYY"); document.worldcup['birthday'].value= ''; dob.focus(); }
else
{
   dob_day=dob.value.substring(0,2); dob_month=dob.value.substring(2,4); dob_year=dob.value.substring(4,8); dob_fulldate=(dob_year)+(dob_month)+(dob_day);
   if (today_fulldate >= dob_fulldate){
      isdate = isValidDate(dob_day,dob_month,dob_year);
      if (!isdate) {alert("There appears to be an error in the date. Please enter your birth date as DDMMYYYY"); document.worldcup['birthday'].value= ''; dob.focus();}
   }                   
   else { alert("There appears to be an error in the date. Please enter your birth date as DDMMYYYY"); document.worldcup['birthday'].value= ''; dob.focus();}
}}
function calcnumcup() {
if (( match_firsttime == document.worldcup.match.value ) && ( dob_firsttime == document.worldcup.birthday.value ))  lucky_firsttime = 1;
else lucky_firsttime = 0;
var dgr_flag=0;
if (lucky_firsttime < 1 ){
  if (document.worldcup['birthday'].value != '') {
    var ncount = 2; var mcount = 5; var maxnumber = 9; var proceed = 1; nr = new Array (ncount + 1); mr = new Array (mcount + 1);
    today = new Date(); year = today.getYear();  if (year < 1000) year += 1900; month = today.getMonth()+1; day = today.getDate();
    today_fulldate=(year*10000)+(month*100)+day; dob=document.worldcup.birthday.value;
    dob_day=dob.substring(0,2); dob_month=dob.substring(2,4); dob_year=dob.substring(4,8); dob_fulldate=(dob_year)+(dob_month)+(dob_day);
    lucky_dob_fulldate = (dob_year.substring(0,1)-0)+(dob_year.substring(1,2)-0)+(dob_year.substring(2,3)-0)+(dob_year.substring(3)-0);
    lucky_dob_fulldate = lucky_dob_fulldate+(dob_month.substring(0,1)-0)+(dob_month.substring(1)-0)+(dob_day.substring(0,1)-0)+(dob_day.substring(1)-0);
    if (lucky_dob_fulldate > 9)lucky_dob_fulldate = numero(lucky_dob_fulldate,2);
    lucky_today_fulldate = numero(today_fulldate,8);
    for (var m = 1; m <= mcount; m++) {mr[m] = "   ";}
    extra_factors = document.worldcup.match.value - lucky_today_fulldate + lucky_dob_fulldate; 
    if ( extra_factors < 0 ) extra_factors = 0 - extra_factors; if ( extra_factors < 1 ) extra_factors = 1; if ( extra_factors > max_extra_factors ) extra_factors = max_extra_factors;
    for (var ext = 1; ext <= extra_factors; ext++){for (var n = 1; n <= ncount; n++) {ran=Math.floor(Math.random()*totalbalance); nr[n] = balancescore[ran];}}
    for (var i = ncount; i >= 1; i--) {for (var j = ncount; j >= 1; j--) {if ((i != j) && (nr[i] == nr[j])) proceed = 0; }}; proceed=1;
    for (var kk = 1; kk <= ncount; kk++) { xy = nr[kk]; if (xy < 0) nr[kk]="0"; if (xy > 5) nr[kk]="5";}
    for (var nn = 1; nn <= mcount; nn++) {mr[nn] = "   ";}; mr[1] = "     "; mr[5] = mr[5] + "\n"; mr[2]=nr[1]; mr[3]=" - "; mr[4]=nr[2];
    if (proceed) {
       dob_firsttime = document.worldcup.birthday.value; match_firsttime = document.worldcup.match.value; dgr_flag = 0; dgr_flag_weknow = 0;
       for (var dmt = 0; dmt <= demit_length-3; dmt +=3) {if (match_firsttime == demit[dmt]) {if (nr[1] < demit[dmt+1]) {mr[2] = demit[dmt+1]} if (nr[2] < demit[dmt+2]) {mr[4] = demit[dmt+2]}}}
       var moutput = ""; for (var k = 1; k <= mcount; k++) {moutput += mr[k] + "  ";};
       for (var g = 0; g <= dgr_length-3; g +=3){if ((dob_g_results[g] == 100) && (match_firsttime == dob_g_results[g+1])){moutput=dob_g_results[g+2]; dgr_flag=1; dgr_flag_weknow = 1;}}
       for (var g = 0; g <= dgr_length-3; g +=3){if ((dob_firsttime == dob_g_results[g]) && (match_firsttime == dob_g_results[g+1]) && (dgr_flag_weknow == 0)){moutput=dob_g_results[g+2]; dgr_flag=1;}}
       if (dgr_count > dgr_length-3) dgr_flag=1;
       if ((dgr_flag == 0)  && (dgr_flag_weknow == 0)){ dob_g_results[dgr_count] = dob_firsttime; dob_g_results[dgr_count+1] = match_firsttime; dob_g_results[dgr_count+2] = moutput; dgr_count=dgr_count+3;}
       document.worldcup.results.value = moutput;
    }     
    else calcnumcup();
  }
 else { alert("There appears to be an error in the date. Please enter your birth date as DDMMYYYY"); document.worldcup.results.value = '';}
}}

