var stime=new Date();
var etime=new Date();
var min1=etime.getTime()+60000;
etime.setTime(min1);

function submitpage(myobj,doValidation,skiptimecheck)
{
   formobj = myobj.form;
   if(!formobj) { alert("Sorry, there was a problem with the form.\r\rSubmission failed!"); return; }
   //Validate here.
   if (doValidation)
   {
     var goodtogo = true;
     /*-----------------------------------------------------*/
     var badfield;
     var fieldname;
     var tempArray;
     var formsuffix;
     var firstbad
     for (i=0;i<formobj.length;i++)     
       { 
         //alert(0)
         badfield = false;
         var thisElem = formobj.elements[i]
         if (thisElem.type != "hidden")
           {
             fieldname = thisElem.name;
             temparray = fieldname.split("_")
             formsuffix = temparray[1]
             //if(debug)
             //{
             //  alert("formsuffix="+formsuffix+"\nfieldname="+fieldname)
             //}
             if ((thisElem.type=="text")&&(thisElem.value==""))
                {
                  badfield = true;
                }
             else if ((thisElem.type=="select-one")&&(thisElem.selectedIndex==0))
                {
                  badfield = true;
                }
             else if ((thisElem.type=="textarea")&&(thisElem.value==''))
                {
                  badfield = true;
                }
             else if ((thisElem.type=="radio")||(thisElem.type=="checkbox"))
               {
                 var notchecked=true
                 var radioName=thisElem.name
                 var radioArray=formobj.elements[radioName]
                 for (j=0;j<radioArray.length;j++,i++)
                   {
                    if (radioArray[j].checked)
                       {
                        notchecked=false
                       }
                   }
                 if (notchecked)
                   {
                   badfield = true;
                   }
                 i--
               }
               //asfku asfjhsgajhsagfhgasfjgsauifg asygf a8sygf yuasgf asfuygsaufygasuyfguywafsg
               //alert(2)
                //alert("badfield="+badfield)
                
            if (document.getElementById)
              {
                namestring = "qh_" + formsuffix;
                tempelem = document.getElementById(namestring);
                //alert("namestring="+namestring)
              }
             
            if(badfield)
              {
                goodtogo = false
                if (tempelem != null)
                  {
                    tempelem.style.border ="2px solid red"
                  }               
                if (!firstbad) firstbad = tempelem
                  
              }
            else
              if (tempelem != null)
                  {
                    tempelem.style.border ="0px none red"
                  }  
                  
         }//end, if not hidden field
            
       }//end for   
       
       
     
     /*-----------------------------------------------------*/
      
     
     if (!goodtogo)
      {     
        if(firstbad) eval('window.location=\"#' + firstbad.id + '\"')
        alert('Please answer the highlighted questions.')
      } 
      else
      {  
         var timenow=new Date();
         if(skiptimecheck || timenow > etime) {  formobj.submit(); }
         else { alert("Please take some time to read and answer\nthe questions thoughtfully before submitting!"); return; }
      }   
  }//end, if doValidation  
  
else {formobj.submit();}   
   
}//end, function

function modeaction(mode)
{
   formobj = myobj.form;
   if(!formobj) { alert("Sorry, there was a problem with the form.\r\rSubmission failed!"); return; }
   //Validate here.
   formobj.submit(); 
}

var lastselectiontime = new Date;

function setsavetime(myobj)
{
   formobj = myobj.form;
   if(!formobj) { alert("Sorry, there was a problem with the form.\r\rTime setting failed!"); return; }
   settimeobj = formobj.settime;
   if(!settimeobj) { alert("Sorry, there was a problem with the Set-Time field.\r\rTime setting failed!"); return; }
   thisqid = myobj.name;
   if(!thisqid) { alert("Sorry, there was a problem with this Question field's Name.\r\rTime setting failed!"); return; }
   /*var namepair = thisqid.split("_")
   var thisID = namepair[1];
   questionArray[thisID] = true*/
//alert(myobj.type)
   thisfieldtype = myobj.type;
   if(!thisfieldtype) { alert("Sorry, there was a problem with this Question form-field type.\r\rTime setting failed!"); return; }
   //read settime field value into an array
   var settimearray = new Array();
   settimearray = settimeobj.value.split("|");
   //alert("aray len="+settimearray.length);
   var updateposition = -1;
   var thispair = "";
   var pairarray = new Array();

   var now = new Date;
   //create a date string suitable for input into a SQL2000 Databse
   mymonth = now.getMonth() + 1;
   mydate = now.getDate();
   myyear =  now.getFullYear();
   myhour =  now.getHours();
   myminute =  now.getMinutes();
   mysecond =  now.getSeconds();
   mydatetimestring = "" + mymonth + "-" + mydate + "-" + myyear + " " + myhour + ":" + myminute + ":" + mysecond;
   
   for(i=0;i<settimearray.length;i++)
   {
      thispair = settimearray[i];
      pairarray = thispair.split("~");
      if (pairarray.length == 3 && pairarray[0] == thisqid)
      { updateposition=i; break; }
   }
//alert("myobj.length="+myobj.length)
   var myobjlen = myobj.length;
   var myqoid = "";   
   //deterine the form-field type and find the selected value to set with the Question ID as a new pair
   switch (thisfieldtype)
   {
      case "radio":
         if(myobjlen && myobjlen > 1)
         {
            for(x=0;x<myobjlen;x++)
            {
               if (myobj[x].checked == true)
               { myqoid = myobj[x].value; break; }
            }
         }
         else { myqoid = myobj.value; } 
         break;
         
      case "select-one":
         var thisidx = myobj.selectedIndex;
         myqoid = myobj.options[thisidx].value
         break;
         
      //this one will need looking at if the case of multiple answers arises
      case "select-multiple":
         var thisidx = myobj.selectedIndex;
         myqoid = myobj.options[thisidx].value
         break;
         
      case "checkbox":
         if(myobjlen && myobjlen > 1)
         {
            for(x=0;x<myobjlen;x++)
            {
               if (myobj[x].checked == true)
               { myqoid += myobj[x].value; }
            }
         }
         else
         {
            if(myobj.checked == true) { myqoid = myobj.value; }
         } 
         break;
         
      default : alert("Sorry, this Question form-field type was unrecognized.\r\rTime setting failed!"); return;
   }
   
   //If this question has been answered already (update)
   if (updateposition > -1)
   {
      settimearray[updateposition] = "" + thisqid + "~" + myqoid + "~" + mydatetimestring;
   }
   else //This answer is a new entry (append)
   {
      //append to the array (as a string).
      new_settime_string = settimearray.join("|");
      if(settimearray.length && settimearray.length > 0) { new_settime_string += "|" + thisqid + "~" + myqoid + "~" + mydatetimestring; }
      else { new_settime_string += thisqid + "~" + myqoid; }
      //set it back as an array
      settimearray = new_settime_string.split("|");
   }
   
   new_settime_string = settimearray.join("|");
  //alert("OLD\r"+settimeobj.value+"\r\rNEW\r"+new_settime_string);
   settimeobj.value = new_settime_string;
   
}

function setuseragent()
{
   formobj = document.quizform;
   formobj.browsertype.value     = navigator.appName + " (" +navigator.appCodeName+ ")";
   formobj.browserversion.value  = navigator.appVersion;
   formobj.operatingsystem.value = navigator.platform;
   formobj.useragent.value       = navigator.userAgent;
}

var sponscounter=9;
var sponsinterval="";
function sponsorcountdown()
{
   if(sponsinterval=="") { sponsinterval=setInterval("sponsorcountdown()",1000); }
   var countobj=document.getElementById("sponsorcountdowntxt");
   if (sponscounter >= 0) { countobj.innerHTML=sponscounter; sponscounter--; }
   else
   {
      clearInterval("sponsinterval");
      document.getElementById("sponsorcountdowntxt").style.display="none";
      document.getElementById("finalinfo").style.display="block";
   }
}