  var updateInProgress = false;
  var rootDivs         = null;
  var divIndex         = -1;
  
  var ajaxReq          = null;
  var ajaxDoc          = null;
  var ajaxDiv          = null;  
	var IE;
         
  function newRequest() {
    if (IE == true)  {
      return new ActiveXObject("Microsoft.XMLHTTP");    
    } else {
      return new XMLHttpRequest();
    }
  } // newRequest()

  function processPollminicrap() {
    if ((ajaxReq.readyState == 4) && (ajaxReq.status == 200)) {
      ajaxDoc           = ajaxReq.responseText;
      ajaxDiv.innerHTML = ajaxDoc;
      divIndex          += 1;
      processPollMini();
    }
  } // processAjax()  
  
  function processPollMini() {
    if (divIndex < rootDivs.length) {
      try {
        ajaxDiv                    = rootDivs[divIndex].getElementsByTagName('div')[0];
        var pollMiniFrm            = rootDivs[divIndex].getElementsByTagName('form')[0];
        var pollminiURL            = pollMiniFrm.url.value;
        ajaxReq                    = newRequest();
        ajaxReq.onreadystatechange = processPollminicrap;
        ajaxReq.open("GET", pollminiURL, true);
        ajaxReq.send(null);
    } catch(e) {
      alert(e);  
    }  
    } else {
      updateInProgress = false;
    }  
  } // processPollMini()
  
  
  /* update all pollmini tags*/ 
  function updatePollMini() {
    if (!updateInProgress) {
      updateInProgress = true;
      rootDivs         = document.getElementsByName("pollMini");
      if (rootDivs.length == 0) {
        rootDivs = new Array;
        var divs = document.getElementsByTagName('div');
        for (var i = 0; i < divs.length; i++) {
          if (divs[i].name == "pollMini") {
            rootDivs.push(divs[i]);
          }   
        }  
      }          
      if (rootDivs.length > 0) {
        divIndex = 0;
        processPollMini();
      } else {
        updateInProgress = false;
      }
    }  
  } // updatePollMini()  
  
  
  function processAjaxPollResult() {
    if ((ajaxReq.readyState == 4) && (ajaxReq.status == 200)) {
      ajaxDoc           = ajaxReq.responseText;
      ajaxDiv.innerHTML = ajaxDoc;
    }
  } // processAjaxPollResult()
  
  
    function processPollMiniResult(aURL, aDivTag, parameters) {
    try {
      ajaxDiv = aDivTag;
      ajaxReq = newRequest();
      ajaxReq.onreadystatechange = processAjaxPollResult;
      ajaxReq.open("POST", aURL, true);
      ajaxReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      ajaxReq.setRequestHeader("Content-length", parameters.length);
      ajaxReq.setRequestHeader("Connection", "close");      
      ajaxReq.send(parameters);
    } catch(e) {
      alert(e);  
    }  
  }  // processPollMiniResult()

  function checkPollForm(aFormId, aDivTagId) {	
  	formErrors      = true;
  	aForm           = document.getElementById(aFormId);
    aDivTagToUpdate = document.getElementById(aDivTagId);
  	for (i=aForm.q1.length-1; i > -1; i--){
    	if (aForm.q1[i].checked) {
  		  formErrors = false;
  		  break;
  	  }
  	} 
  	if (formErrors) {
  		alert("You must choose an answer");
  	} else {
    var getstr = '';
    for (i=0; i<aForm.childNodes.length; i++) {
       if (aForm.childNodes[i].tagName == "INPUT") {
          if (aForm.childNodes[i].type == "text") {
             getstr += aForm.childNodes[i].name + "=" + aForm.childNodes[i].value + "&";
          }
          if (aForm.childNodes[i].type == "checkbox") {
             if (aForm.childNodes[i].checked) {
                getstr += aForm.childNodes[i].name + "=" + aForm.childNodes[i].value + "&";
             } else {
                getstr += aForm.childNodes[i].name + "=&";
             }
          }
          if (aForm.childNodes[i].type == "radio") {
             if (aForm.childNodes[i].checked) {
                getstr += aForm.childNodes[i].name + "=" + aForm.childNodes[i].value + "&";
             }
          }
       }   
       if (aForm.childNodes[i].tagName == "SELECT") {
          var sel = aForm.childNodes[i];
          getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
       }
       if (aForm.childNodes[i].type == "hidden") {
         getstr += aForm.childNodes[i].name + "=" + aForm.childNodes[i].value + "&";       
       }
    }
    processPollMiniResult(aForm.PostUrl.value, aDivTagToUpdate, getstr);
  	}
  }  

  if ((document.all) && (navigator.userAgent.indexOf('Opera')== -1)) {
    IE = true;
  } else {
    IE = false;
  }
