	//v2.0.3

	function DomControl() {
		
	}

	DomControl.Handle_error = function ( error_obj ) {
		
		try {
			if ( DomControl.Debug ) {
				alert( error_obj.message );
			}
		}
		catch(e){
		}
		
	}

	DomControl.Get_object_by_id = function( object_id, frame ) {
	
		try {

			if( document.getElementById ) {

				// W3C DOM
				if ( frame != null ) {
					if ( frame == 'parent' ) {
						if ( parent.document.getElementById(object_id) ) {
							return parent.document.getElementById(object_id);
						}
					}
					else {
						if ( document.frames ) {
							var frame_obj = eval( 'document.frames.' + frame );
							if ( frame_obj.document.getElementById(object_id) ) {
								return frame_obj.document.getElementById(object_id);
						}
						}
						else {
							return false;
						}
					}
				}
				else {
					if ( document.getElementById(object_id) ) {
						return document.getElementById(object_id);
					}
				}
    			}	 
    			else if (typeof(document.all) != 'undefined' ) {
				// MSIE 4 DOM
				if ( frame != null ) {
					if ( frame == 'parent' ) {
						if ( parent.document.all(object_id) ) {
							return parent.document.all(object_id);
						}
					}
					else {
						var frame_obj = eval( 'document.frames.' + frame );

						if ( frame_obj.document.all(object_id) ) {
							return frame_obj.document.all(object_id);
						}
					}
				}	
				else {
					return document.all(object_id);
				}
    			} 
    			else if (document.layers && document.layers[object_id]) {
				// NN 4 DOM.. note: this won't find nested layers
				return document.layers[object_id];
   	 		} 
   	 		else {
 				return false;
  	 		}

	   	}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}
	}


	DomControl.Document_get_width_or_height = function( width_or_height ) {
		
		try {

			  var docWidth = 0;
			  var docHeight = 0;

			if( typeof( window.innerWidth ) == 'number' ) {
				//Non-IE
			    docWidth = window.innerWidth;
    			docHeight = window.innerHeight;
  			} 
  			else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
				    //IE 6+ in 'standards compliant mode'
				    docWidth = document.documentElement.clientWidth;
				    docHeight = document.documentElement.clientHeight;
			} 
			else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    				//IE 4 compatible
    				docWidth = document.body.clientWidth;
    				docHeight = document.body.clientHeight;
  			}

			if ( width_or_height == DomControl.FLAG_HEIGHT ) {
				return docHeight;
			}
			
			return docWidth;
		}
		catch (e) {
			DomControl.Handle_error(e);
	   	}
		
	}


	DomControl.Document_get_width = function() {
		
		try {

			return DomControl.Document_get_width_or_height( DomControl.FLAG_WIDTH );
		}
		catch (e) {
			DomControl.Handle_error(e);
	   	}
		
	}

	DomControl.Document_get_height = function() {
		
		try {

			return DomControl.Document_get_width_or_height( DomControl.FLAG_WIDTH );
		}
		catch (e) {
			DomControl.Handle_error(e);
	   	}
		
	}


	
	DomControl.Add_event_listener = function( obj, event_type, callback, capture_bubble ) {
		
		try {
			
			var func_string = '';
			var event_listener = false;
			var property_name = 'on' + event_type;
			var j;

			capture_bubble = ( capture_bubble ) ? capture_bubble : false;

			if ( typeof(obj.addEventListener) != 'undefined' ) {
				event_listener = true;
				obj.addEventListener( event_type, callback, capture_bubble );
				return true;
			}
		
			
			if ( typeof(obj.attachEvent) != 'undefined' ) {
				if ( !event_listener ) {

					obj.attachEvent(property_name, callback);
					return true;
				}
			}
			else {
				if ( typeof(eval('obj.' + property_name)) != 'undefined' ) {
					//eval('obj.' + property_name) = callback;
					return true;
				}
			}
			
	
			return false;
			
		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}
		
		
	}
	
	
	DomControl.Set_inner_text_by_id = function( obj_id, text ) {

    	try {
        	var obj;

           	if ( obj = DomControl.Get_object_by_id(obj_id) ) {
            	return DomControl.Set_inner_text(obj, text);
            }

            return null;
        }
        catch (e) {
        	DomControl.Handle_error(e);
        }


	}

	DomControl.Set_inner_text = function ( obj, text ) {

		try {
			DomControl.clear_inner_text(obj);
			DomControl.add_inner_text( obj, text );

        }
        catch (e) {
        	DomControl.Handle_error(e)
        }

	}

	DomControl.Add_inner_text = function( obj, text ) {

		try {
			if ( typeof(document.createTextNode) == 'function' ) {
				obj.appendChild( document.createTextNode(text) );
			}
			else {
				obj.innerHTML = obj.innerHTML + text;
			}
        }
        catch (e) {
        	DomControl.Handle_error(e);
        }

	}

	DomControl.Clear_inner_text = function( obj ) {

		try {
			while( obj.firstChild ) {
				 obj.removeChild(obj.firstChild);
			}

		}
        catch (e) {
        	DomControl.Handle_error(e);
        }

	}

	DomControl.Set_inner_html_by_id = function( obj_id, html ) {

    	try {
        	var obj;

            if ( obj = DomControl.Get_object_by_id(obj_id) ) {
            	return DomControl.Set_inner_html(obj, html);
            }

            return null;
        }
        catch (e) {
        	DomControl.Handle_error(e);
        }

	}

	DomControl.Set_inner_html = function( obj, html ) {

		try {
			
			DomControl.Clear_inner_html(obj);
			DomControl.Add_inner_html( obj, html );
        }
        catch (e) {
        	DomControl.Handle_error(e);
        }


	}

	DomControl.Add_inner_html = function( obj, html ) {

		try {
	
			obj.innerHTML = obj.innerHTML + html;

        }
        catch (e) {
        	DomControl.Handle_error(e);
        }

	}

	DomControl.Clear_inner_html = function( obj ) {

		try {
			obj.innerHTML = '';
        }
        catch (e) {
        	DomControl.Handle_error(e);
        }

	}	

	
	DomControl.Enable_display_by_id = function ( obj_id, display_type ) {

		try {
			var obj_id;

			if ( obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Enable_display( obj, display_type );
			}

			return false;

		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}


	}

	DomControl.Table_row_enable_display_by_id = function( obj_id ) {

		try {
			var obj_id;
			
			if ( obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Table_row_enable_display( obj );
			}

			return false;

		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}


	}

	DomControl.Table_row_enable_display = function( obj  ) {

		try {

			var display_type;

			if ( navigator.appName == "Microsoft Internet Explorer" ) { 
				display_type = 'block';
			}
			else {
				display_type = 'table-row';
			}

			return DomControl.Change_display_type( obj, display_type );

		}
		catch(e) { 
			DomControl.Handle_error(e);
		}

	}

	DomControl.Table_row_disable_display_by_id = function( obj_id ) {

		try {
			var obj_id;
			
			if ( obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Table_row_disable_display( obj );
			}

			return false;

		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}


	}

	DomControl.Table_row_disable_display = function( obj  ) {

		try {

			return DomControl.Disable_display(obj);

		}
		catch(e) { 
			DomControl.Handle_error(e);
		}

	}


	DomControl.Enable_display = function( obj, display_type ) {

		try {
			if ( !display_type ) {
				display_type = 'block';
			}

			return DomControl.Change_display_type( obj, display_type );

		}
		catch(e) { 
			DomControl.Handle_error(e);
		}

	}

	DomControl.Disable_display_by_id = function( obj_id, display_type ) {

		try {
			var obj_id;

			if ( obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Disable_display( obj, display_type );
			}

			return false;

		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}


	}

	DomControl.Disable_display = function( obj, display_type ) {

		try {
			if ( !display_type ) {
				display_type = 'none';
			}

			return DomControl.Change_display_type( obj, display_type );

		}
		catch(e) { 
			DomControl.Handle_error(e);
		}

	}


	DomControl.Change_display_type = function( obj, new_display_type ) {

		try { 
			var style_object;
	
			if ( (new_display_type == 'table-row' || new_display_type == 'table') && navigator.appName == "Microsoft Internet Explorer" ) {
				new_display_type = 'block';
			}

			if ( style_object = DomControl.Get_style(obj) ) {

				style_object.display = new_display_type;
				return true;
    			} 
			else {
				// we couldn't find the object, so we can't change its visibility
				return false;
		    	}
		}
		catch (e) {
			DomControl.Handle_error(e);
		}

	}


	DomControl.Get_style_by_id = function( obj_id ) {

		try {
			var obj;
	
			if ( obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Get_style(obj);
			}

			return null;
		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}

	}

	DomControl.Get_style = function( obj ) {

		try {
			
			if ( obj && (typeof(obj.style) != 'undefined') ) {
				return obj.style;		
			}

			return null;

	   	}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}

	}

	DomControl.Make_visible = function( obj ) {

		try {
			return DomControl.Set_visibility(obj, 'visible');

	   	}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}
	}


	DomControl.Make_visible_by_id = function( obj_id ) {

		try {
			var obj;

			if ( obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Make_visible(obj);				
			}

			return false;
			

	   	}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}
	}


	DomControl.Make_invisible_by_id = function( obj_id ) {

		try {
			var obj;

			if ( obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Make_invisible(obj);				
			}

			return false;
			

	   	}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}
	}



	DomControl.Make_invisible = function( obj ) {

		try {
			return DomControl.Set_visibility(obj, 'hidden');

	   	}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}
	}

	DomControl.Set_visibility_by_id = function( obj_id ) {
		
		try {
			var obj;

			if ( obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Set_visibility(obj);
			}

		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}

	}

	DomControl.Set_visibility = function( obj, new_visibility ) {

		try {
			var obj_style;

			if ( obj_style = DomControl.Get_style(obj) ) {
				obj_style.visibility = new_visibility;
			}
		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}

	}

	DomControl.Get_visibility_by_id = function( obj_id ) {
		
		try {
			var obj;

			if ( obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Get_visibility(obj);
			}

		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}

	}

	DomControl.Get_visibility = function( obj ) {
		
		try {
			var obj_style;

			if ( obj_style = DomControl.Get_style(obj) ) {
				return obj_style.visibility;
			}

		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}

	}

	DomControl.Is_visible_by_id = function( obj_id ) {

		try {
			var obj;

			if ( obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Is_visible(obj);
			}

			return null;

		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}
		

	}

	DomControl.Is_visible = function( obj ) {

		try {
			var obj_style;

			if ( obj_style = DomControl.Get_style(obj) ) {
				if ( obj_style.visibility != 'hidden' ) {
					
					return true;
				}
				else {
					return false;
				}
			}

			return null;

		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}
		

	}

	DomControl.Get_scroll_top = function() {

		try { 
			pos = 0;

			if (typeof(window.innerHeight) != 'undefined' && window.innerHeight) {
				pos = window.pageYOffset;
			}
			else if (typeof(document.documentElement) != 'undefined' && document.documentElement && typeof(document.documentElement.scrollTop) != 'undefined' && document.documentElement.scrollTop) {
				pos = document.documentElement.scrollTop;
			}
			else if (typeof(document.body) != 'undefined' && document.body) {
				pos = document.body.scrollTop;
			}

			return pos;
		}
		catch( e ) {
			DomControl.Handle_error(e);
		}
		
	}

	DomControl.Change_opacity_by_id = function( obj_id, opacity ) {

		try {
			var dom_obj;

			if ( dom_obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Change_opacity(dom_obj, opacity);
			}

			return false;

		}
		catch(e) {
			DomControl.Handle_error(e);
		}

	}


	DomControl.Change_opacity = function( obj, opacity ) {


		try { 

			var new_filter_string;
			var cur_filter_string;
			var opacity_filter = "alpha(opacity=" + opacity + ")";
			var match;


			if ( typeof(obj.style.opacity) != 'undefined' ) {		  
			    	obj.style.opacity = (opacity / 100); 
			}

			else if ( typeof(obj.style.MozOpacity) != 'undefined' ) {		  
			    	obj.style.MozOpacity = (opacity / 100);   
			}

			else if ( typeof(obj.style.KhtmlOpacity) != 'undefined' ) {		  
			    	obj.style.KhtmlOpacity = (opacity / 100);
			}

		    	else if ( typeof(obj.style.filter) != 'undefined' ) {

				if ( obj.style.filter ) {
					var opacRegexp = new RegExp("alpha\s*\\(\s*opacity\s*=\s*([0-9]+\\)\s*)");

					cur_filter_string = new String(obj.style.filter);	

				    	if ( cur_filter_string.match(opacRegexp) ) {

						new_filter_string = cur_filter_string.replace( opacRegexp, opacity_filter );
						obj.style.filter = new_filter_string;
					}
				    	else { 
					    	obj.style.filter = obj.style.filter + opacity_filter;
			    		}
			 	 }
				 else {
				 	obj.style.filter = opacity_filter;
	
				 }
			}

			
		}
		catch (e) {
			DomControl.Handle_error(e);
		}


	}

	DomControl.Get_opacity_by_id = function( obj_id  ) {

		try {
			var dom_obj;

			if ( dom_obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Get_opacity(dom_obj);
			}

			return false;

		}
		catch(e) {
			DomControl.Handle_error(e);
		}

	}

	DomControl.Get_opacity = function( obj ) {


		try { 

			var found_opacity = false;
			var opacity_fractional = false; //some browsers use .2 to be 20% opacity, others use 20...
			var opacity_val;
			
			if ( typeof(obj.style.opacity) != 'undefined' ) {
				opacity_val = obj.style.opacity; 
				found_opacity = true;
				opacity_fractional = true;
			}

			else if ( typeof(obj.style.MozOpacity) != 'undefined' ) {	
			    	opacity_val = obj.style.MozOpacity;
				found_opacity = true;
				opacity_fractional = true;

			}

			else if ( typeof(obj.style.KhtmlOpacity) != 'undefined' ) {		  
			    	opacity_val = obj.style.KhtmlOpacity;
				found_opacity = true;
				opacity_fractional = true;
			}

		    	else if ( typeof(obj.style.filter) != 'undefined' ) {

				var cur_filter_string;
				var matches;
				var opacRegexp = new RegExp("alpha\s*\\(\s*opacity\s*=\s*(([0-9]+)\\)\s*)");

				cur_filter_string = new String(obj.style.filter);	

			    	if ( matches = cur_filter_string.match(opacRegexp) ) {
					opacity_val = matches[2];
				}
				else {
					opacity_val = 100;
				}

				found_opacity = true;
				opacity_fractional = false;


		 	 }

			 if ( found_opacity ) {
				if ( opacity_val ) {	

					if ( opacity_val < 1 ) {
						opacity_val = opacity_val * 100;
					}
					else if ( opacity_val == 1 && opacity_fractional ) {
						opacity_val = 100;
					}

				}
				else {
					opacity_val = 100;
				}

				return opacity_val;
			}

			return false;
			
		}
		catch (e) {
			DomControl.Handle_error(e);
		}


	}

	DomControl.Opacity_fade_up_by_id = function( obj_id, end_value, increment, delay ) {

		try {
			var dom_obj;

			if ( dom_obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Opacity_fade_up(dom_obj, end_value, increment, delay);
			}

			return false;

		}
		catch(e) {
			DomControl.Handle_error(e);
		}
	}


	DomControl.Opacity_fade_down_by_id = function( obj_id, end_value, increment, delay ) {

		try {
			var dom_obj;

			if ( dom_obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Opacity_fade_down(dom_obj, end_value, increment, delay);
			}

			return false;

		}
		catch(e) {
			DomControl.Handle_error(e);
		}
	}

	DomControl.Opacity_fade_up = function( obj, end_value, increment, delay ) {

		try {
			
			return DomControl.Opacity_fade( obj, end_value, increment, delay, DomControl.OPACITY_DIRECTION_UP );
		}
		catch (e) {
			DomControl.Handle_error(e);
		}


	}

	DomControl.Opacity_fade_down = function( obj, end_value, increment, delay ) {

		try {
			return DomControl.Opacity_fade( obj, end_value, increment, delay, DomControl.OPACITY_DIRECTION_DOWN );
		}
		catch (e) {
			DomControl.Handle_error(e);
		}


	}


	DomControl.Opacity_fade = function( obj, end_value, increment, delay, direction ) {

		try {

			var cur_opacity;
			var new_opacity;
			var obj_id;
			var continue_fade = false;
			var interval;

			if ( !delay ) {
				delay = 10;
			}

			if ( !increment ) {
				increment = 10;
			}

			if ( !direction ) {
				throw 'Direction must be specified in dom_object_fade_opacity';
			}
		
			obj_id = obj.id;
			
			if ( typeof(DomControl.Opacity_faders[obj_id]) == 'undefined' ) {
				DomControl.Opacity_faders[obj_id] = new Array();
			}
			
			if ( !isNaN(cur_opacity = DomControl.Get_opacity(obj)) ) {
				
				if ( direction == DomControl.OPACITY_DIRECTION_UP ) {

					if ( cur_opacity < end_value ) {
						continue_fade = true;
						
					}

					new_opacity = parseInt(cur_opacity) + increment;
				}
				else if ( direction == DomControl.OPACITY_DIRECTION_DOWN ) {
					if ( cur_opacity > end_value ) {
						continue_fade = true;

					}

					new_opacity = parseInt(cur_opacity) - increment;
				}

				if ( continue_fade ) {
					
					if ( new_opacity > 100 ) {
						new_opacity = 100;
					}
					else if ( new_opacity < 0 ) {
						new_opacity = 0;
					}
					

					DomControl.Change_opacity( obj, new_opacity );
					
					if ( typeof(window.setInterval) != 'undefined' ) {
						if ( typeof(DomControl.Opacity_faders[obj_id][direction]) == 'undefined' || DomControl.Opacity_faders[obj_id][direction] == null ) {
							DomControl.Opacity_faders[obj_id][direction] = window.setInterval( function() { DomControl.Opacity_fade(obj, end_value, increment, delay, direction) }, delay);
						}
					}
					else {					
						if ( typeof(DomControl.Opacity_faders[obj_id][direction]) == 'undefined' || DomControl.Opacity_faders[obj_id][direction] == null ) {
							DomControl.Opacity_faders[obj_id][direction] = window.setTimeout( function () { DomControl.Opacity_fade(obj, end_value, increment, delay, direction) }, delay );
						}
					}
				}
				else {
					if ( typeof(window.clearInterval) != 'undefined' ) {
						if ( typeof(DomControl.Opacity_faders[obj_id][direction]) != 'undefined' ) {
							window.clearInterval(DomControl.Opacity_faders[obj_id][direction]);
							DomControl.Opacity_faders[obj_id][direction] = null;
						}
					}
					else {
						if ( typeof(DomControl.Opacity_faders[obj_id][direction]) != 'undefined' ) {
							window.clearTimeout(DomControl.Opacity_faders[obj_id][direction]);
							DomControl.Opacity_faders[obj_id][direction] = null;
						}
						
					}
				}

				if ( new_opacity <= 0 ) {
					if ( DomControl.disable_display_on_zero_opacity ) {
						DomControl.Disable_display(obj);
					}
				}
				
				if ( typeof(DomControl.opacity_change_callback) == 'function' ) {
					DomControl.opacity_change_callback( obj, cur_opacity, direction );
				}
			}

		}
		catch (e) {
			DomControl.Handle_error(e);
		}



	}
	


	DomControl.Get_applied_height = function( obj ) {

		try {
			if ( typeof(obj.style.height) != 'undefined' && obj.style.height ) {
				var height = parseInt(obj.style.height);
				return height;
			}
			else {
				if ( (typeof(obj.offsetHeight) != 'undefined') && obj.offsetHeight ) {
					return obj.offsetHeight;
				}
			}

			return null;
			

		}
		catch(e) {
			DomControl.Handle_error(e);
		}


	}

	DomControl.Get_applied_width = function( obj ) {

		try {
			if ( typeof(obj.style.width) != 'undefined' && obj.style.width ) {
				var width = parseInt(obj.style.width);
				return width;
			}
			else {
				if ( (typeof(obj.offsetWidth) != 'undefined') && obj.offsetWidth ) {
					return obj.offsetWidth;
				}
			}

			return null;
			

		}
		catch(e) {
			DomControl.Handle_error(e);
		}


	}

	DomControl.Set_left_by_id = function( obj_id, left ) {

		try {
			if ( dom_obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Set_left(dom_obj, left);
			}

			return false;
		}
		catch(e) {
			DomControl.Handle_error(e);
		}
	}

	DomControl.Set_left = function( obj, left ) {

		try {
			obj.style.left = left.toString() + 'px';
		}
		catch(e) {
			DomControl.Handle_error(e);
		}

	}

	DomControl.Set_top_by_id = function( obj_id, top ) {

		try {
			if ( dom_obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Set_top(dom_obj, top);
			}

		}
		catch(e) {
			DomControl.Handle_error(e);
		}

	}

	DomControl.Set_top = function( obj, top ) {

		try {
			obj.style.top = top.toString() + 'px';
		}
		catch(e) {
			DomControl.Handle_error(e);
		}

	}

	DomControl.Get_x_offset = function ( obj ) {
	
		try {
			var curleft = 0;

			if (obj.offsetParent) {

				while (obj.offsetParent) {
					curleft += obj.offsetLeft
					obj = obj.offsetParent;
				}
			}
			else if (obj.x) {
				curleft += obj.x;
			}

			return curleft;
		}
		catch(e) {
			DomControl.Handle_error(e);
		}

	}

	DomControl.Get_y_offset = function( obj ) {
		
		try { 
			var curtop = 0;
			if (obj.offsetParent) {

				while (obj.offsetParent) {
					curtop += obj.offsetTop;
					obj = obj.offsetParent;
				}

			}
			else if (obj.y) {
				curtop += obj.y;
			}

			return curtop;
		}
		catch(e) {
			DomControl.Handle_error(e);
		}
	
	}

	DomControl.Browser_is_ie = function() {

		try {

			var user_agent = DomControl.Get_user_agent();
			if ( user_agent.indexOf('msie') != -1 ) {
				return true;
			}

			return false;
		}
		catch (e) {
			DomControl.Handle_error(e);
	   	}
		

	}

	DomControl.Get_user_agent = function() {

		try {

			return navigator.userAgent.toLowerCase();
		}
		catch (e) {
			DomControl.Handle_error(e);
	   	}

	}

	DomControl.Set_class_name_by_id = function( obj_id, class_name ) {

		try {
			var obj;
	
			if ( obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Set_class_name(obj, class_name);
			}

			return null;
		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}

	}

	DomControl.Set_class_name = function( obj, class_name ) {

		try {
			if ( obj ) {
				if ( typeof(obj.className) != 'undefined' ) {
					obj.className = class_name;
				}
			}
		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}

	}


	DomControl.Add_mouseover_by_id = function( obj_id, mouseover, capture_bubble ) {

		try {
			var obj_id;

			if ( obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Add_mouseover(obj, mouseover, capture_bubble );
			}

			return false;

		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}



	}

	DomControl.Add_mouseover = function( obj, mouseover, capture_bubble ) {

		try {
			var func_string = '';
			var event_listener = false;
			var j;

			capture_bubble = ( capture_bubble ) ? capture_bubble : false;

			if ( typeof(obj.addEventListener) != 'undefined' ) {
				event_listener = true;
				obj.addEventListener( 'mouseover', new Function(mouseover), capture_bubble );
			}

			if ( typeof(obj.onmouseover) != 'undefined' ) {
				if ( !event_listener ) {

					if ( DomControl.Mouseovers[obj.id] == null ) {
						DomControl.Mouseovers[obj.id] = new Array();
					}

					DomControl.Mouseovers[obj.id].push(mouseover);
				
				
					for ( j=0; j < DomControl.Mouseovers[obj.id].length; j++ ) {
						func_string = func_string + "\n" + DomControl.Mouseovers[obj.id][j];
					}
				
					obj.onmouseover = new Function( func_string );
							
					//alert( obj.onmouseover );

				}
				else {
					obj.onmouseover = null;
				}
			}
	
			return false;

		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}



	}

	DomControl.Set_mouseout_by_id = function( obj_id, mouseout ) {

		try {
			var obj_id;

			if ( obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Set_mouseout(obj, mouseout);
			}

			return false;

		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}



	}

	DomControl.Set_mouseout = function( obj, mouseout ) {

		try {
			var event_listener = false;

			if ( typeof(obj.addEventListener) != 'undefined' ) {
				event_listener = true;
				obj.addEventListener( 'mouseout', new Function(mouseout), false );
			}

			if ( typeof(obj.onmouseout) != 'undefined' ) {
				if ( !event_listener ) {
					obj.onmouseout = new Function ( mouseout );
				}
				else {
					obj.onmouseout = null;
				}
			}
	
			return false;

		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}



	}

	DomControl.Add_onclick_by_id = function( obj_id, click_event, capture_bubble ) {

		try {
			var obj_id;

			if ( obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Add_onclick(obj, click_event, capture_bubble );
			}

			return false;

		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}



	}

	DomControl.Add_onclick = function( obj, click_event, capture_bubble ) {

		try {

			var func_string = '';
			var event_listener = false;
			var j;

			capture_bubble = ( capture_bubble ) ? capture_bubble : false;

			if ( typeof(obj.addEventListener) != 'undefined' ) {
				event_listener = true;
				obj.addEventListener( 'click', new Function(click_event), capture_bubble );
			}

			if ( typeof(obj.onclick) != 'undefined' ) {
				if ( !event_listener ) {

					if ( DomControl.Click_events[obj.id] == null ) {
						DomControl.Click_events[obj.id] = new Array();
					}

					DomControl.Click_events[obj.id].push(click_event);
				
				
					for ( j=0; j < DomControl.Click_events[obj.id].length; j++ ) {
						func_string = func_string + "\n" + DomControl.Click_events[obj.id][j];
					}
				
					obj.onclick = new Function( func_string );
							
					//alert( obj.onmouseover );

				}
				else {
					obj.onclick = null;
				}
			}
	
			return false;

		}
   		catch (e) {
			DomControl.Handle_error(e);
	   	}



	}

	DomControl.Handle_error = function( error_obj ) {
		try { 
			if ( DomControl.Debug ) {
				alert( error_obj.message );
			}
		}
		catch (ex) {
		}
	}


	DomControl.Enable_by_id = function( obj_id ) { 

		try {
			var obj;

			if ( obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Enable(obj);
			}

			return false;
		}
		catch (e) {
			DomControl.Handle_error(e);
		}

	}

	DomControl.Enable = function( obj ) { 

		try {
			if ( typeof(obj.disabled) != 'undefined' ) {
				obj.disabled = false;
				return true;
			}

			return false;
		}
		catch (e) {
			DomControl.Handle_error(e);
		}

	}


	DomControl.Disable_by_id = function( obj_id ) { 

		try {
			var obj;

			if ( obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Disable(obj);
			}

			return false;
		}
		catch (e) {
			DomControl.Handle_error(e);
		}

	}

	DomControl.Disable = function( obj ) { 

		try {
			if ( typeof(obj.disabled) != 'undefined' ) {
				obj.disabled = true;
				return true;
			}

			return false;
		}
		catch (e) {
			DomControl.Handle_error(e);
		}

	}



	DomControl.Is_enabled_by_id = function( obj_id ) {

		try {
			var obj;

			if ( obj = DomControl.Get_object_by_id(obj_id) ) {
				return DomControl.Is_enabled(obj);
			}

			return false;
		}
		catch (e) {
			DomControl.Handle_error(e);
		}

	}

	DomControl.Is_enabled = function( obj ) { 

		try {
			if ( typeof(obj.disabled) != 'undefined' ) {
				if ( obj.disabled == true ) {
					return false;
				}
			}

			return true;
		}
		catch (e) {
			DomControl.Handle_error(e);
		}

	}

	
	DomControl.OPACITY_DIRECTION_UP   = 1;
	DomControl.OPACITY_DIRECTION_DOWN = 2;
	DomControl.FLAG_WIDTH = 1;
	DomControl.FLAG_HEIGHT = 2;
	DomControl.disable_display_on_zero_opacity = false;
	DomControl.event_listeners = new Array();
	DomControl.Debug = 1;
	DomControl.Opacity_faders = new Array();

	DomControl.Mouseovers = new Array();
	DomControl.Mouseouts = new Array();
	DomControl.Click_events = new Array();
	
