function forms_setInputValue(targetControl, value){
  var targetControl = element_isObject(targetControl);
  
  targetControl.value = value;
  
  return true;
}

function forms_initImageSelectFields(parentID){
  var parentObj = element_isObject(parentID);
  var obj = null;
    
  for(var i in parentObj.childNodes){   
    for(var j in parentObj.childNodes[i].childNodes){
      obj = parentObj.childNodes[i].childNodes[j].id;
      if(obj == null) continue;
      if(typeof obj == 'undefined') continue;            
      if(obj.substr(0,parentID.length)!=parentID) continue;

      var nameParts = obj.split('_label__');
      if(nameParts[0]!=parentID) continue;

      event_add(obj, 'mouseover', forms_setHover);
      event_add(obj, 'mouseout', forms_setHover);
      event_add(obj, 'mousedown', forms_setStatus);
      event_add(obj, 'mousedown', forms_setActive);
      event_add(obj, 'mouseup', forms_setActive);      
    }
  }
}



function forms_setHover(e){ 
       
  if(e.type=='mouseover'){        
    element_addClassName(this,'hover');          
  } else {
    element_removeClassName(this,'hover');
  }         
}

function forms_setActive(e){ 
  element_removeClassName(this,'active');  
  element_addClassName(this,'active',' ');                     
}

function forms_setStatus(e){
  var objID = this.id;  
  var nameParts = objID.split('_label__');
  var parentID = nameParts[0];
  
  var parentObj = element_isObject(parentID);
  for(var i in parentObj.childNodes){   
    for(var j in parentObj.childNodes[i].childNodes){
		obj = parentObj.childNodes[i].childNodes[j].id;
      if(obj == null) continue;
      if(typeof obj == 'undefined') continue;            
      if(obj == objID) continue;
      if(obj.substr(0,parentID.length)!=parentID) continue;
      
      var nameParts = obj.split('_label__');
      if(nameParts[0]!=parentID) continue;      

      element_removeClassName(obj,'active');             
    }
  }  
}

function forms_doEffect(e){
//__debug(this);
  var rowObj = this.parentNode;  
  var nameParts = rowObj.id.split('_');  
  var rowid = nameParts[(nameParts.length-1)];
    
  var currentPanelSize = element_getSize('form_panel_id');
  
  var nextRowid = parseInt(rowid)+1;
  if(typeof sfxFormData[nextRowid]=='undefined') return null;
  /*
  if(currentPanelSize.height>=sfxFormData[nextRowid].size.height){
    nextRowid = rowid;
  } 
  */
  
  var preloadImage = image_preload_get('form_panel_id',nextRowid);
  var img = element_isObject('stepimage');
  /*                       
  var imageFadeOut = new JAVASCRIPT_SFX_FADE(img,'0',65,1,true);
  var imageFadeIn = new JAVASCRIPT_SFX_FADE(img,'100',65,1,true);
  
  imageFadeOut.registerFollowingObject(imageFadeIn);
  imageFadeOut.start();
  */
  img.src = preloadImage.src;
  
  if(nextRowid>=sfxFormData.length && nextRowid==rowid) return null;

  var followOptions = new Object();
  followOptions['unlock_sizing'] = false;
  var effect = new JAVASCRIPT_SFX_ROLLOUT("form_panel_id","size","100%",sfxFormData[nextRowid].size.height+"px",65,1,1,true,followOptions);
  effect.start();
  
  
}


function forms_initFieldEvents(parentID){
  var parentObj = element_isObject(parentID);
  var obj = null;
  
  for(var i in parentObj.childNodes){ 
    for(var j in parentObj.childNodes[i].childNodes){
      row = parentObj.childNodes[i].childNodes[j]; //rows

      for(var k in row.childNodes){
        obj = row.childNodes[k];
        
        if(obj.nodeName!='SELECT' && !strstr(obj.className,'image_select_panel')) continue;

        if(obj.nodeName=='SELECT'){ //items flat
          event_add(obj, 'change', forms_doEffect);               
        } else if(strstr(obj.className,'image_select_panel')){                        
           event_add(obj, 'mouseup', forms_doEffect);          
        } 
      }
    }
  }
}

function forms_initCommandSelectAllCheckboxes(checkboxObj, formObj){
  checkboxObj = element_isObject(checkboxObj);
  formObj     = element_isObject(formObj);


  var checkboxList = formObj.getElementsByTagName('INPUT');

  checkboxObj.alvine_checkboxList = new Array();

  for(var i in checkboxList){
    if(checkboxList[i].type!='checkbox') continue;

    checkboxObj.alvine_checkboxList.push(checkboxList[i]);
  }

  event_add(checkboxObj, 'change', forms_toggleCommandSelectAllCheckboxes);

  return true;
}

function forms_toggleCommandSelectAllCheckboxes(ev){
  if(!ev) ev = window.event;
  
  for(var i in this.alvine_checkboxList){
    this.alvine_checkboxList[i].checked = this.checked;
  }

  return true;
}

function markFocus(obj) {
  var found = obj.className.search(/inputfocus/);
  if (found == -1){
    obj.className+=" inputfocus";
  }else{
    obj.className=obj.className.replace(new RegExp(" inputfocus\\b"), "");
  }
  return true;
}

