Truncating FILE data BASED ON A PATTERN

HI I HAVE A PROBLEM,MY SOURCE FILE IS OF PATTERN
S1,E-Certified,29,29,2.7,Certified,4,3,2.7,,0,0,0
S2,Certified,4,3,2.7,,0,0,0,,0
S3,E-Certified,29,29,2.7,,0,0,0
S4,,0,0,0,,0,0,0,,0,0,0,,0,0,0

AND THE EXPECTED OUTPUT IS

S1,E-Certified,29,29,2.7
S1,Certified,4,3,2.7
S2,Certified,4,3,2.7
S3,E-Certified,29,29,2.7

THE NUMBER OF FIELDS(NF) IN SOURCE FILE MAY BE MORE THAN 500. WHEREEVER THE FIRST NULL VALUE COMES IT SHOULD TRUNCATE THE ROW.
I TRIED TO SOLVE N WROTE THIS CODE,

awk -F\, '{
        if ($2!="") printf$1FS fi;c=0
        for(i=2;i<=NF;i++)
        {
        if ($i=="") i=NF+1 fi;
        printf$i ($i!=""?++c%4?i==NF?RS:FS:(i<NF?RS$1FS:RS):EXIT);
}
        }'

bUT THE OUTPUT COMING IS
S1,E-Certified,29,29,2.7
S1,Certified,4,3,2.7
S1,S2,Certified,4,3,2.7
S2,S3,E-Certified,29,29,2.7
S3,
I AM NOT ABLE TO FIND OUT THE ERROR. IF ANYONE FINDS ANY PROBABLE SOLUTION PLZ SUGGEST ME.

I Solved the problem. The code should be

awk -F\, '{
if ($2!="") printf$1FS fi;c=0
for(i=2;i<=NF;i++)
{
if ($i=="") i+=NF fi;
printf$i ($i!=""?++c%4?i==NF?RS:FS:($(i+1)!=""?RS$1FS:RS):EXIT);
}
}'

What's going on when field 2 is blank?
If I understand you correctly, you want:

awk  'BEGIN { FS=OFS="," } !length($2) { next; } {
   for (i=3;i<=NF;++i) {
      if ($i=="") { NF=i-1; break;}
   }
   print $0;
}'