var win1, win2, win3, win4;

var isholdingCTRL =false;
var winnowingChanged = false;
var stopSubmit = false;

window.onload = init;

document.onkeydown = function(e) 
{              
      
    if (!e) { e = window.event; }   
    //alert("e.keyCode: " + e.keyCode);  
    var k = e.keyCode;                  
    if ( k == 17 ) 
    {                     
        isholdingCTRL = true;
        //alert(isholdingCTRL);
        return false;                 
    }  
    else if ( k == 16 ) 
    {                     
        isholdingCTRL = true;
        return false;                 
    }        
      
}
    
document.onkeyup = function(e) 
{                     
    if (!e) { e = window.event; }                   
    var k = e.keyCode;                 
    if ( k == 17 ) 
    {          
        isholdingCTRL = false; 
        
        if (winnowingChanged)
        {
            winnowingChanged = false;           
            doSubmit();                            
        }
        
        return false;                 
    }     
    else if ( k == 16 )    
    {          
        isholdingCTRL = false;         
        if (winnowingChanged)
        {
            winnowingChanged = false;           
            doSubmit();                            
        }
        
        return false;                 
    }     
              
}
    

function addEventHandler(obj)
{       
  if (obj != null)
  {
      if( obj.addEventListener ) 
      {     
        //alert('obj.addEventListener');
        obj.addEventListener('click',OnClick,false);
      } 
      else if ( obj.attachEvent ) 
      {       
        //alert('obj.attachEvent');     
        obj.attachEvent("onclick", OnClick);
      }
      else 
      {   
        //alert('else...');      
        obj.onclick = OnClick;
      }
  }
}

function init() {      
	var winForm = getElement("winnowingForm");
	if (winForm != null)
	{
	    var FormElements = getFormFields(winForm,'select');
    	
    	if (FormElements != null)
    	{
	        for (var i=0;i<FormElements.length;i++)
	        {	   	    
	            //addEventHandler(FormElements[i]);
	        }
	    }
	}	
}

function OnClick(e) { 
  /*
  alert("e: " + e);
  alert("e.type: " + e.type);
  alert("e.which: " + e.which);
  alert("e.ctrlKey: " + e.ctrlKey);
  alert("e.shiftKey: " + e.shiftKey);
  alert('isholdingCTRL : ' + isholdingCTRL);
  alert('winnowingChanged : ' + winnowingChanged);  
  if (e.ctrlKey || e.shiftKey)
  */
  if (isholdingCTRL)
  {    
    window.status='CTRL is pressed. We halt submitting...';
    winnowingChanged = true;      
  } 
  else
  { 
    window.status='We submit...'; 
    
    if (winnowingChanged)
    {
        winnowingChanged = false;        
    }

  }
  return false;  
}

function doSubmit()
{   
    //alert('isholdingCTRL : ' + isholdingCTRL);
    //alert('winnowingChanged : ' + winnowingChanged);
    if (!isholdingCTRL && !stopSubmit)
    {
        stopSubmit = true;
        document.winnowingForm.submit();
    }
    return false;   
}

                                             
      
         