

var computersInAd = new Array()
function CForEach_computer ( collection  )		//recursivne jde do podkolekce
{

	////////////// constructor 
	this.collection = collection
	

	/////////////////////////////////
	this.MyNew = function MyNew( item  )
	{	
		return new CForEach_computer ( item )  
	}
	////////////////////////////////

	this.action = function action()
	{
			var strClass  = new String(this.collection.Class)
			var ADsPath = new String( this.collection.ADsPath)
			if ( strClass.toLocaleLowerCase() == "computer" )
			{
//				try
				{
					var object = GetObject( ADsPath )
					
//					object.GetInfo()
//					var computerRow = new Object()
//					for ( var i = 0 ; i < object.PropertyCount ;i++)
//					{
//						var item = object.Item(i)
//						computerRow [ item.Name ] = object.Get ( item.Name)
//					}
//					WriteToConsole(parseObject(computerRow))
//					computersInAd [computersInAd .length ] = computerRow

					computersInAd [computersInAd .length ] = object.Name

					
				}
//				catch ( e ){}
		}

	}
	////////////////////////////////


	this.go = function go()
	{

		
		var enm  ;
		try
		{
		enm = new Enumerator( this.collection  ) ;
		}
		catch (err )
		{
		}

		if (enm != null) 
		{
		for ( ; !enm.atEnd() ;enm.moveNext() )
		{
			var subObject = this.MyNew( enm.item() ) ;
			
			if ( subObject.action() )   return true;
			if ( subObject.go	 () )	return true;
			
			subObject.close();

		}
		}

		return false
		
	}

	////////////////////////////////
	this.close = function close()
	{
	}
	///////////////////////////////

}

function GetLDAPObjects_computers ( strDomain )
{
	var go = GetObject("LDAP://" + strDomain)
	var browse = new CForEach_computer( go )
	browse.action()
	browse.go()
	return computersInAd 

}


function compInAd(daysExpired)
{
	
	var store = LoadArray()
	
	
	
	try
	{
	if ( daysExpired < DateDiff( "d" , LoadArray_DateLastModified , new Date() )  )  
	{
		WriteToLog ( "Days Expired, store = null ")
		store = null 
	}
	}
	catch ( e ) {}		
	
	if ( store == null )
	{
		store = GetLDAPObjects_computers (  GetObject("LDAP://rootDSE").Get("defaultNamingContext")  )
		SaveArray(store)
	}
	return store
	
}
																	 
																	 
	