function engine_class(){

	this.custom_submit = function(field_names,form_id){
		//alert(field_names+' -- '+form_id);
		var frm = document.getElementById(form_id);
		if(frm != undefined){
			frm.submit();
		}
	}
	
	this.real_togle_element = function (el){
		
			//if($(el).style.display=="inline"){
			var el = document.getElementById(el);
			if(el == null || !el || el == 'undefined'){
				return;
			}
			if(el.style.display=="inline" || el.style.display=="" || el.style.display=="undefined"){
				this.togle_element(el,false);
				return false;
			}else{
				this.togle_element(el,true);
				return true;
			}
	}
	this.togle_element = function(el,bFlag){
		//better name for this function is switch_element
		if(el != null){
			try{
				//alert(el);
				if(bFlag){
					el.style.display="inline";
				}else{
					el.style.display="none";
				}
			}catch(err){/*alert("Error toggling element: "+el);*/}		
		}
	}	
	

	
	this.getClientWidth = function(){
		return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
	}
	this.getClientHeight = function(){								
		return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
	}	

	
	this.toggleOne = function(el){
		//same toggler, but not setting inline value
		var e = document.getElementById(el);
		if(e.style.display == 'none'){
			e.style.display = '';
		}else{						
			e.style.display = 'none';						
		}					
	}
	
	this.toggleSrc = function(el,newSrc){
		var e = document.getElementById(el);
		e.src = newSrc;
	}

//App specific methods

  this.getByID = function(el_id){
    return document.getElementById(el_id);
  }

  var menuDataHolder = new Array();
  
  this.addMenuDataHolder = function(dataHolderID){    
    menuDataHolder.push(dataHolderID);
  }
  
  this.toggleMenu = function(menuDataHolderID){
    var l = menuDataHolder.length;
    var tmp;
     for (var i = 0; i < l; i++){
       tmp = this.getByID(menuDataHolder[i]);
       //alert('checking '+menuDataHolder[i]+' comparing with '+menuDataHolderID);
         if(menuDataHolder[i] == menuDataHolderID){
           //alert('open '+menuDataHolder[i]);
//           this.togle_element(tmp,true);
           this.real_togle_element(menuDataHolderID);
         }else{
           //alert('close '+menuDataHolder[i]);
           this.togle_element(tmp,false);
         }
      }
      return false;
  }
  
	
}

var engine = new engine_class();


