function CMS_preload(img)
{
	if (!document.images) { return; }
	if (!document.ImgArr) { document.ImgArr = new Array(); }
	
	for(i=0; i < arguments.length; i++) {
		var modstr = ( arguments[i+1] == null ) ? "1" : String(arguments[i+1]);
		document.ImgArr.push(new Image());
		document.ImgArr[document.ImgArr.length-1].src = img.src.substr(0, img.src.lastIndexOf("_")) + "_" + modstr + img.src.substr(img.src.lastIndexOf(".")); 
	}
}



function CMS_imgswap(img, mode)
{
	var modstr = ( mode == null ) ? "0" : String(mode);
	if ( !document.SwpArr ) { document.SwpArr = new Array() };
	while ( document.SwpArr.length > 0 ) 
	{ 
		var swpimg = CMS_swapone(document.SwpArr.pop(), "0");
	}
	CMS_swapone(img, modstr);	
	if ( mode > 0 ) { document.SwpArr.push(img); }
}


function CMS_swapone(img, modstr)
{
	img.src = img.src.substr(0, img.src.lastIndexOf("_")) + "_" + modstr + img.src.substr(img.src.lastIndexOf("."));
}


function CMS_openwin( url, param )
{
	param.l = (param.l) ? param.l : 100;
	param.t = (param.t) ? param.t : 100;
	param.w = (param.w) ? param.w : 800;
	param.h = (param.h) ? param.h : 600;
	
	if ( param.centered ) {
		param.l = (screen.width - param.w) / 2;
		param.t = (screen.height - param.h) / 2;
	}
	
	var winprops = "height="+param.h+",width="+param.w+",top="+param.t+",left="+param.l+",resizable";
	winprops += ( param.scroll != true ) ? ( ",scrollbars=no" ) : ( ",scrollbars=yes" );
	winprops += ( param.status != true ) ? ( ",status=no" ): ( ",status=yes" );
	winprops += ( param.location != true ) ? ( ",location=no" ) : ( ",location=yes" );
	winprops += ( param.menubar != true ) ? ( ",menubar=no" ) : ( ",menubar=yes" );
	
	winname = ( param.name ) ? param.name : "newwindow";	
	win = window.open( url, winname, winprops);
	
	if ( parseInt(navigator.appVersion) >= 4 ) { win.window.focus(); }
}



function CMS_assetswap( imgref, swaptarget, swapurl, capttxt, captlyr )
{	
	var swapimg = CMS_findObj(swaptarget);
	swapimg.src = swapurl;
	if ( capttxt != null ) {
		captlyr = ( captlyr != null ) ? captlyr : "caption";
		var layer = CMS_findObj(captlyr);
		layer.innerHTML = capttxt;
	}
}





function CMS_filitoggle( pRef, pId )
{	
	var lFGLyr = CMS_findObj("Fass_" + pId);
	
	if ( lFGLyr.className.indexOf("filiclose") != -1 ) {
		lFGLyr.className = "fgroup filiopen";
	
	} else {
		lFGLyr.className = "fgroup filiclose";
	}

}









function CMS_openasset( url, param )
{
	param.l = (param.l) ? param.l : 100;
	param.t = (param.t) ? param.t : 100;
	param.w = (param.w) ? param.w : 800;
	param.h = (param.h) ? param.h : 600;
	
	if ( param.centered != undefined ) {
		param.l = (screen.width - param.w) / 2;
		param.t = (screen.height - param.h) / 2;
	}
	
	url = ( url != undefined ) ? url : param.url;
	url = ( url.indexOf("http://") == -1 ) ? "/static/images/" + url : url; 
		
	var winprops = "height="+param.h+",width="+param.w+",top="+param.t+",left="+param.l+",resizable";
	winprops += ( param.scroll != true ) ? ( ",scrollbars=no" ) : ( ",scrollbars=yes" );
	winprops += ( param.status != true ) ? ( ",status=no" ): ( ",status=yes" );
	winprops += ( param.location != true ) ? ( ",location=no" ) : ( ",location=yes" );
	winprops += ( param.menubar != true ) ? ( ",menubar=no" ) : ( ",menubar=yes" );
	
	
	winname = ( param.name ) ? param.name : "newwindow";	
	win = window.open( url, winname, winprops);
	
	if ( parseInt(navigator.appVersion) >= 4 ) { win.window.focus(); }
}




/* * * * * * * * * * * * * * * * * * 
 * find images by name
 *
 * * * * * * * * * * * * * * * * * */
 
function CMS_lnkswap(imgname, mode)
{
	if ( (img = CMS_findObj(imgname)) != null )
	{
		CMS_imgswap(img, mode);
	}
}

function CMS_findObj(obj, scope) 
{ 
  	var p,i,x;  
  
	if (!scope){ scope=document };
	
	if ((( p = obj.indexOf("?")) > 0) && parent.frames.length ) {
		scope = parent.frames[obj.substring(p+1)].document; 
		obj=obj.substring( 0, p );
    }

	if (!(x = scope[obj]) && scope.all) { x = scope.all[obj]; }	
	for( i=0; !x && i < scope.forms.length; i++) { x = scope.forms[i][obj]; }	
	for( i=0; !x && scope.layers && i < scope.layers.length; i++) { x = CMS_findObj( obj, scope.layers[i].document); }
	if ( !x && scope.getElementById ) { x = scope.getElementById(obj); }	
	return x;
}
