/**
 *  Version   : 1.1.5.@2005026
 *  Author    : volkan.ozcelik
 *  Copyright : 2003-2005 (C) - volkan.ozcelik
 */
var g_blnCBObjectProtoCalled = false;

function CBObject(elmID) {
	if(!g_blnCBObjectProtoCalled) {
		g_blnCBObjectProtoCalled = true;
		var _this = CBObject.prototype;

		_this.exists = function() {return this.getObject()!=null;};

		_this.getObject = function() {return this._obj;};

		_this.getValidator = function() {return this._val;};

		_this.getID = function() {
			if(this.exists()) {return this.getObject().id;}
			else {return null;}
		};

		_this._getObject = function(elmID) {
			var v = this.getValidator();

			if(!v.isString(elmID)) {return elmID;}

			if(document.getElementById) {elmID = document.getElementById(elmID);}
			else if(document.all) {elmID = document.all[elmID];}
			else if(document.layers) {elmID = this._getLayer(elmID);}
			else if(document.forms) {
				for(var i=0; i<document.forms.length; i++) {
					if(document.forms[i][elmID]) {
						elmID = document.forms[i][elmID];
						break;
					}
				}
			}
			else {elmID = null;}

			return elmID;
		};

		_this._getLayer = function(elmID,objRoot) {
			var i = 0;
			var objLayer = null;
			var objFound = null;

			if(!objRoot) {objRoot = window;}

			for(i=0; i<objRoot.document.layers.length; i++) {
				objLayer = objRoot.document.layers[i];

				if(objLayer.id==elmID) {return objLayer;}

				if(objLayer.document.layers.length) { 
					objFound = this._getLayer(elmID,objLayer);
				}

				if(objFound) {return objFound;}
			}
			
			return null;
		};	
	}

	this._val = new Validator();
	this._obj = this._getObject(elmID);
}
