var agt = navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);

var is_gecko = (agt.indexOf('gecko') != -1);
var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_ie6 = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.") != -1));
var is_safari = ((agt.indexOf('safari') != -1) && (agt.indexOf('mac') != -1));

var is_mac = (agt.indexOf('mac') != -1);
var is_win32 = ((is_major >= 4) && (navigator.platform == "Win32")
		|| (agt.indexOf("win32") != -1) || (agt.indexOf("32bit") != -1));


//console.log(BrowserDetect.browser.toLowerCase());
//console.log(BrowserDetect.version)
dojo.require("dojo.parser");
//dojo.require("dojox.data.QueryReadStore");
//dojo.require("dijit.layout.BorderContainer");
//dojo.require("dijit.layout.ContentPane");
//dojo.require("dijit.layout.SplitContainer");
//dojo.require("dijit.TitlePane");
//dojo.require("dijit.Tree");
//dojo.require("dijit.layout.TabContainer");
//dojo.require("dijit.Dialog");
//dojo.require("dojox.collections");
//dojo.require("dojox.collections.Dictionary");
//dojo.require("dijit.Menu");
//dojo.require("dijit.MenuItem");
dojo.require("dojox.grid.DataGrid");
dojo.require("dojox.grid.cells.dijit");
dojo.require("dojo.data.ItemFileWriteStore");
dojo.require("dijit.layout.LayoutContainer");
dojo.require("dijit.layout.StackContainer");
dojo.require("dijit.Tooltip");
dojo.require("dijit.Toolbar");
dojo.require("dijit.form.Slider");

if (dojo.byId("url") != null) {
	var url = dojo.byId("url").value;
}

if (is_safari) {
	document.write("<link rel='stylesheet' href='" + url
			+ "dojo-release-1.2/dijit/themes/dijit.css' type='text/css' />");
	document.write("<link rel='stylesheet' href='" + url
			+ "customization/"+colorScheme+"/styles/_102dojorelease.css' type='text/css' />");

} else if ((is_mac) && (is_gecko)) {
	document.write("<link rel='stylesheet' href='" + url
			+ "dojo-release-1.2/dijit/themes/dijit.css' type='text/css' />");
	document.write("<link rel='stylesheet' href='" + url
			+ "customization/"+colorScheme+"/styles/_102dojorelease.css' type='text/css' />");
} else if (is_win32) {
	document.write("<link rel='stylesheet' href='" + url
			+ "dojo-release-1.2/dijit/themes/dijit.css' type='text/css' />");
	document.write("<link rel='stylesheet' href='" + url+ "/customization/"+colorScheme+"/styles/_102dojorelease.css' type='text/css' />");

} else {
	alert("Doesn't support this platform");
	window.location.href = "http://www.sharestream.com";
}



/** ********************************************************************************************* */

dojo.declare("custom.TreeQueryReadStore", dojox.data.QueryReadStore, {

	fetch : function(request) {
		request.store = null;
		// console.log('fetching objectId: ' + request.objectId);
		request.serverQuery = {
			objectId :request.objectId,
			uuid :new Date()
		};

		// Call superclasses' fetch
		return this.inherited("fetch", arguments);
		
	}

	/*refresh: function() {
        this._itemNodeMap = {};
        this.model.root = null;
        if (this.rootNode) {
            this.rootNode.destroyRecursive();
        }
        this._load();
    }*/
});

dojo.declare(
		"AdvancedTree",
		dijit.Tree,
		{
			path: '',
			getPath: function (node, separator) {
				var path = separator;
				do {
					path = separator + this.tree.store.getIdentity(node.item) + path;
					node = node.getParent();
				} while ('dijit._TreeNode' == node.declaredClass);
				return path;
			},
			expander: function (node)
			{
				if (node.declaredClass == 'dijit._TreeNode') {
					dojo.connect(node, 'addChild', this, 'expander');
				}
				var nodePath = this.getPath(node, '/');
				if ((this.path.substr(0, nodePath.length) == nodePath) && node.isFolder) {
					this._controller._expand(node);
				}
			},
			addChild: function ()
			{
				dijit.Tree.prototype.addChild.apply(this, arguments);
				this.expander(arguments[0], 1);
			},
			
			setChildren: function(childrenArray){
				// Create _TreeNode widget for each specified tree node
				dojo.forEach(childrenArray, function(childParams){
					var child = new dijit._TreeNode(dojo.mixin({
						tree: this.tree,
						label: this.tree.store.getLabel(childParams.item)
					}, childParams));
					this.addChild(child);
					nodeMap[this.tree.store.getIdentity(childParams.item)] = child;
				}, this);
			},
			
			_firstNodeExpanded: 0,
            
		       _createTreeNode: function()
		       {
	               var r = this.inherited(arguments);
	               if (this._firstNodeExpanded == 0)
	               {
	                   this._firstNodeExpanded = 1; // (root-Node überspringen)
	               } else if (this._firstNodeExpanded == 1)
	               {
	            	   
	                   if(r.item.i.objectId=="101" || r.item.i.objectId==r.item.i.defaultSelectedNode) {
	            		   collectionTreeHandlerOnSelect(r.item,r);
	            		   
	            		   //this._expandNode(r);
	            	   }
	                   this._firstNodeExpanded = 2;
	                   dict.add(r.id, r.item.i.objectId);      
	               }
	               
		          return r;
		       }
			
});
/** ******************************************************************* */
