//--------------------------------------
//          Dom Framework
//
//        For documentation or 
//    if you have any issues, visit
//         wrench.kulestar.com
//
//    Copyright © 2013 Kulestar Ltd
//          www.kulestar.com
//--------------------------------------

using System;
using Css;
using UnityEngine;


namespace Dom{
	
	public partial class MLNamespace{
		
		/// <summary>The default CSS style sheet for this namespace. Contains styling for e.g. div/span etc.</summary>
		private StyleSheet DefaultStyleSheet_;
		
		/// <summary>The default CSS style sheet for this namespace. Contains styling for e.g. div/span etc.</summary>
		public StyleSheet DefaultStyleSheet{
			get{
				
				if(DefaultStyleSheet_==null){
					
					// No default styles loaded yet. Load them now. (e.g. xhtml-style)
					DefaultStyleSheet_=new StyleSheet(null);
					DefaultStyleSheet_.Priority=0;
					DefaultStyleSheet.Location=new Dom.Location("resources://"+Prefix+"-style.html");
					
					string styleText=((TextAsset)Resources.Load(Prefix+"-style")).text;
					
					// Check for any extensions:
					int i=1;
					while(true){
						
						// Get the extension:
						TextAsset ext=Resources.Load(Prefix+"-style-extension"+i) as TextAsset;
						
						if(ext==null){
							break;
						}else{
							// Append it:
							styleText+=ext.text;
						}
						
						i++;
					}
					
					if(Prefix=="xhtml"){
						
						// Have they applied any overrides?
						TextAsset extraStyle=Resources.Load("customStyle") as TextAsset;
						
						if(extraStyle!=null && extraStyle.text!=null){
							styleText+="\n\n"+extraStyle.text;
						}
						
					}
					
					DefaultStyleSheet_.ParseCss(styleText);
					
				}
				
				return DefaultStyleSheet_;
				
			}
		}
		
	}
	
}