function DsProxyLauncher(){
	
	this.baseLoc = '/';
	this.proxFrameID = 'proxyLauncher';
	this.preservedPaneList = [ 'sitePg' ];
	this.targPaneID = 'cams';
	
}

DsProxyLauncher.prototype.openLocation = function( loc ){
	
	// if the calling window's name is not in the preserved name list, rename it 
	if( this.preservedNameIndex( window.name ) == -1 ) window.name = this.targPaneID;
	
	// trigger the proxy launch
	window.frames[ this.proxFrameID ].location = this.baseLoc + '&rseed=' + (Math.random() * 100000) + '#' + escape( loc );
	
}

DsProxyLauncher.prototype.preservedNameIndex = function ( paneID ){
	
	var i = this.preservedPaneList.length;
	var nameIndex = -1;
	
	while( --i > -1 ){
		
		if( this.preservedPaneList[ i ] == paneID ){
			nameIndex = i;
			break;
		}
		
	}
	
	return nameIndex;
	
}

DsProxyLauncher.addPreservedPaneID = function( paneID ){
	
	if( this.preservedNameIndex( window.name ) != -1 ) this.preservedPaneList.push( paneID );
	
}
