﻿////////////////////////////////////////////////////////////////////////////////
//
// create default site
//

function createDefaultSite()
{
	// create site folder
	var siteFolder = new JSXFile( module.folder.absurl + "/wsSite" );
	
	if( !siteFolder.exists )
		siteFolder.createFolder();
		
	// get template file
	var template = new JSXFile( module.folder.absurl + "/wsTemp.html" );
		
	if( siteFolder.exists && template.exists )
	{
		// progress
		app.startProgress( "Creating default reference site", "Creating default reference site..." );
		
		var mlsettings = settings.markup.markupSettings['html'];
		
		for( var i=0; i<mlsettings.elements.length; i++ )
		{
			app.setProgress( i/mlsettings.elements.length );
			
			// get tag name
			var tagName = mlsettings.elements[i].name;

			// copy template to folder 
			if( template.copy( siteFolder.absurl + "/" + tagName + ".html" ) )
			{
				var newFile = new JSXFile( siteFolder.absurl + "/" + tagName + ".html" );
				var newDoc = newFile.openMarkup();
				
				if( newDoc != null )
				{
					// insert tag name
					var tnElement = newDoc.getElementsByTagName( "td" )[0];
					tnElement.setInnerHTML( "<code><b><font size=\"+6\">" + tagName + "</font></b></code>" );
					
					// insert tag description
					var tagInfo = mlsettings.elements[i].comment;
					var tiElement = newDoc.getElementsByTagName( "td" )[2];
					tiElement.setInnerHTML( "<font face=\"Arial,Helvetica,Geneva,Swiss,SunSans-Regular\">" + tagInfo + "</font>" );
					
					// attributes
					for( var j=0; j<mlsettings.elements[i].attributes.length; j++ )
					{
						var attrName = mlsettings.elements[i].attributes[j].name;
						var attrInfo = mlsettings.elements[i].attributes[j].comment;
						
						// table row for attribute description
						var tr  = newDoc.createElement( "tr" );
						newDoc.getElementsByTagName( "table" )[0].appendChild( tr );
						
						var rows = newDoc.getElementsByTagName( "tr" )
						rows[rows.length-1].setInnerHTML( "<td align=\"center\"></td><td><code><b>" + attrName + "</b></code></td><td><font face=\"Arial,Helvetica,Geneva,Swiss,SunSans-Regular\">" + attrInfo + "</font></td>" );
					}
					
					newDoc.save();
					newDoc.close();
				}
			}
		}
	
		app.stopProgress();	
		
		// definition file
		var defFile = new JSXFile( module.folder.absurl + "/ws.xml" );
		
		if( defFile.copy( module.folder.absurl + "/dat/ws.xml" ) )
		{
			var defFile = new JSXFile( module.folder.absurl + "/dat/ws.xml" );
			var defDoc = defFile.openMarkup();
			
			if( defDoc != null )
			{
				var baseurl = siteFolder.absurl + "/";
				
				if( baseurl.search("Volumes") == 8 )
					baseurl = "file:///" + baseurl.substr( 16, baseurl.length-16 );
					
				var ident = defDoc.getElementsByTagName( "ident" )[0];
				ident.setAttribute( "baseurl", baseurl );
				defDoc.save();
				defDoc.close();
			} 
		}
	}
}