var JSModules = function(){
	var docroot = Session.docroot;
	var modules = [
		/******************** CSS *********************/
		{
			name: "lat49container-css",
			type: "css",
			fullpath: docroot+"/css/lat49/container.css",
			requires: ["container"]
		},
		{
			name: "lat49datatable-css",
			type: "css",
			fullpath: docroot+"/css/lat49/datatable.css",
			requires: []
		},
		{
			name: "button-css",
			type: "css",
			fullpath: docroot+"/css/lat49/buttons.css",
			requires: []
		},
		{
			name: "geopolygon-css",
			type: "css",
			fullpath: docroot+"/css/lat49/geopolygon.css",
			requires: []
		},
		
		
		/******************** JS *********************/
		{
			name: "geopolygon",
			type: "js",
			fullpath: docroot+"/utilities/geopolygon.js",
			varName: "GeoPolygon",
			requires: ["geopolygon-css","json"]
		},
		{
			name: "helper",
			type: "js",
			fullpath: docroot+"/utilities/helper.js",
			varName: "Helper",
			requires: []
		},		
		{
			name: "distributionchart",
			type: "js",
			fullpath: docroot+"/utilities/distributionchart.js",
			varName: "DistributionChart",
			requires: []
		},				
		{
			name: "lat49uploader",
			type: "js",
			fullpath: docroot+"/utilities/lat49uploader.js",
			varName: "Lat49Uploader",
			requires: ["uploader"]
		},		
		{
			name: "lat49adpopup",
			type: "js",
			fullpath: docroot+"/apis/v1.0/userUtilities/lat49adpopup.js",
			varName: "Lat49AdPopup",
			requires: []
		},	        
		{
			name: "lat49date",
			type: "js",
			fullpath: docroot+"/utilities/lat49date.js",
			varName: "Lat49Date",
			requires: []
		},	        
		{
			name: "stringvalidation",
			type: "js",
			fullpath: docroot+"/utilities/stringvalidation.js",
			varName: "StringValidation",
			requires: []
		},		
		{
			name: "formvalidation",
			type: "js",
			fullpath: docroot+"/utilities/formvalidation.js",
			varName: "FormValidation",
			requires: ["stringvalidation"]
		},		
		{
			name: "lat49paginator",
			type: "js",
			fullpath: docroot+"/utilities/lat49yuipaginator.js",
			varName: "Lat49YUIPaginator",
			requires: ["paginator"]
		},
		{
			name: "stwyuidialog",
			type: "js",
			fullpath: docroot+"/utilities/stwyuidialog.js",
			varName: "STWYUIDialog",
			requires: ["container","dragdrop","animation","lat49container-css"]
		},
		{
			name: "stwalertdialog",
			type: "js",
			fullpath: docroot+"/utilities/stwalertdialog.js",
			varName: "STWAlertDialog",
			requires: ["stwyuidialog"]
		},
		{
			name: "stwconfirmdialog",
			type: "js",
			fullpath: docroot+"/utilities/stwconfirmdialog.js",
			varName: "STWConfirmDialog",
			requires: ["stwyuidialog"]
		},
		{
			name: "stwprogressdialog",
			type: "js",
			fullpath: docroot+"/utilities/stwprogressdialog.js",
			varName: "STWProgressDialog",
			requires: ["stwyuidialog"]
		},
		{
			name: "calheader",
			type: "js",
			fullpath: docroot+"/utilities/calheader.js",
			varName: "CalHeader",
			requires: ["lat49date"]
		},				
		{
			name: "lat49charts",
			type: "js",
			fullpath: docroot+"/utilities/lat49charts.js",
			varName: "Lat49Charts",
			requires: ["charts", "calheader"]
		},
		{
			name: "editcampaign",
			type: "js",
			fullpath: docroot+"/utilities/editcampaign.js",
			varName: "EditCampaign",
			requires: ["stwyuidialog","stwprogressdialog","connection","json"]
		}        
	];

	return {
		registerWithYUILoader: function(yuiloader)
		{
			var i;
			for (i=0; i<modules.length; i++)
				yuiloader.addModule(modules[i]);
			
			yuiloader.moduleInfo.datatable.requires.push("lat49datatable-css");
			yuiloader.moduleInfo.button.requires.push("button-css");
		}
	}

}();