protected override void OnGUIWindow()
		{		
			base.OnGUIWindow();

			if (m_webview == null)
			{
				GUILayout.Label("Create WebView", kSubTitleStyle);
				
				if (GUILayout.Button("Create"))
				{
					GameObject _newWebviewGO	= new GameObject("WebView");
					m_webview					= _newWebviewGO.AddComponent<WebView>();
					
					AddNewResult("Successfully created new WebView.");
				}
				
				return;
			}

			RootScrollView.BeginScrollView();
			{
				DrawLoadAPI();
				DrawLifeCycleAPI();
				DrawPropertiesAPI();

				// Misc
				GUILayout.Label("Misc.", kSubTitleStyle);
				
				if (GUILayout.Button("AddNewURLSchemeName"))
				{
					AddNewURLSchemeName();
				}
				
				if (GUILayout.Button("ClearCache"))
				{		
					ClearCache();
				}
			}
			RootScrollView.EndScrollView();
			
			DrawResults();
			DrawPopButton();
		}
		private void DidFinishEvaluatingJavaScriptEvent (WebView _webview, string _result)
		{
			AddNewResult("Received Did Finish Evaluating JS Event");
			AppendResult("Result= " + _result);
		}
		private void DidReceiveMessageEvent (WebView _webview,  WebViewMessage _message)
		{
			AddNewResult("Received Did Receive Message Event");
			AppendResult("Message= " + _message);
		}
		private void DidFinishLoadEvent (WebView _webview)
		{
			AddNewResult("Received Did Finish Load Event");
		}
		private void DidFailLoadWithErrorEvent (WebView _webview, string _error)
		{
			AddNewResult("Received Did Fail To Load Event");
			AppendResult("Error= " + _error);
		}
		private void DidHideEvent (WebView _webview)
		{
			AddNewResult("Received Did Hide Webview Event");
		}
		private void DidDestroyEvent (WebView _webview)
		{
			AddNewResult("Received Did Destroy Webview Event");
		}
		private void DidFinishEvaluatingJavaScriptEvent (WebView _webview, string _result)
		{
			AddNewResult(string.Format("Webview with name {0} finished evaluating script.", _webview.name));
			AppendResult("Evaluation result is " + _result + ".");
		}
		private void DidReceiveMessageEvent (WebView _webview,  WebViewMessage _message)
		{
			AddNewResult(string.Format("Webview with name {0} received message from URL scheme {1}.", _webview.name, _message.SchemeName));
			AppendResult("Received message is " + _message + ".");
		}
		private void DidFinishLoadEvent (WebView _webview)
		{
			AddNewResult(string.Format("Webview with name {0} finished loading requested page.", _webview.name));
		}
		private void DidFailLoadWithErrorEvent (WebView _webview, string _error)
		{
			AddNewResult(string.Format("Webview with name {0} failed to load requested page. Error = {1}.", _webview.name, _error.GetPrintableString()));
		}
		private void DidStartLoadEvent (WebView _webview)
		{
			AddNewResult(string.Format("Webview with name {0} did start loading request.", _webview.name));
		}
		private void DidDestroyEvent (WebView _webview)
		{
			AddNewResult(string.Format("Webview with name {0} was destroyed.", _webview.name));
		}
		private void DidHideEvent (WebView _webview)
		{
			AddNewResult(string.Format("Webview with name {0} is removed from view.", _webview.name));
		}
		private void DidShowEvent (WebView _webview)
		{
			AddNewResult(string.Format("Webview with name {0} is currently being shown.", _webview.name));
		}
        protected override void OnGUIWindow()
        {
            base.OnGUIWindow();

            if (m_webview == null)
            {
                GUILayout.BeginVertical(UISkin.scrollView);
                {
                    GUILayout.Label("Create WebView", kSubTitleStyle);

                    if (GUILayout.Button("Create"))
                    {
                        GameObject _newWebviewGO	= new GameObject("WebView");
                        m_webview					= _newWebviewGO.AddComponent<WebView>();

                        AddNewResult("Successfully created new WebView.");
                    }
                }
                GUILayout.EndVertical();
                GUILayout.FlexibleSpace();

                return;
            }

            RootScrollView.BeginScrollView();
            {
                // Start vertical column
                GUILayout.BeginVertical(UISkin.scrollView);
                {
                    GUILayout.Label("Load API's", kSubTitleStyle);

                    if (GUILayout.Button("LoadRequest"))
                    {
                        LoadRequest();
                    }

                    if (GUILayout.Button("LoadHTMLString"))
                    {
                        LoadHTMLString();
                    }

                    if (GUILayout.Button("LoadHTMLStringWithJavaScript"))
                    {
                        LoadHTMLStringWithJavaScript();
                    }

                    if (GUILayout.Button("EvaluateJavaScript"))
                    {
                        EvaluateJavaScriptFromString();
                    }

                    if (GUILayout.Button("LoadFile"))
                    {
                        LoadFile();
                    }
                }
                GUILayout.EndVertical();

                GUILayout.BeginVertical(UISkin.scrollView);
                {
                    GUILayout.Label("Lifecycle", kSubTitleStyle);

                    if (GUILayout.Button("Show"))
                    {
                        ShowWebView();
                    }

                    if (GUILayout.Button("Hide"))
                    {
                        HideWebView();
                    }

                    if (GUILayout.Button("Destroy"))
                    {
                        DestroyWebView();
                    }
                }
                GUILayout.EndVertical();

                GUILayout.BeginVertical(UISkin.scrollView);
                {
                    GUILayout.Label("Properties", kSubTitleStyle);

                    GUILayout.BeginVertical(UISkin.scrollView);
                    GUILayout.BeginHorizontal();

                    bool _canHideNewValue				= GUILayout.Toggle(m_webview.CanHide, "CanHide");
                    bool _canBounceNewValue				= GUILayout.Toggle(m_webview.CanBounce, "CanBounce");
                    bool _showSpinnerOnLoadNewValue		= GUILayout.Toggle(m_webview.ShowSpinnerOnLoad, "ShowSpinnerOnLoad");

                    GUILayout.EndHorizontal();

                    GUILayout.BeginHorizontal();

                    bool _autoShowOnLoadFinishNewValue	= GUILayout.Toggle(m_webview.AutoShowOnLoadFinish, "AutoShowOnLoadFinish");
                    bool _scalesPageToFitNewValue		= GUILayout.Toggle(m_webview.ScalesPageToFit, "ScalesPageToFit");

                    GUILayout.EndHorizontal();
                    GUILayout.EndVertical();

                    // Update the value only on value change
                    if (_canHideNewValue != m_webview.CanHide)
                        m_webview.CanHide				= _canHideNewValue;

                    if (_canBounceNewValue != m_webview.CanBounce)
                        m_webview.CanBounce				= _canBounceNewValue;

                    if (_showSpinnerOnLoadNewValue != m_webview.ShowSpinnerOnLoad)
                        m_webview.ShowSpinnerOnLoad		= _showSpinnerOnLoadNewValue;

                    if (_autoShowOnLoadFinishNewValue != m_webview.AutoShowOnLoadFinish)
                        m_webview.AutoShowOnLoadFinish	= _autoShowOnLoadFinishNewValue;

                    if (_scalesPageToFitNewValue != m_webview.ScalesPageToFit)
                        m_webview.ScalesPageToFit		= _scalesPageToFitNewValue;

                    if (GUILayout.Button("SetFrame"))
                    {
                        SetFrame();
                    }
                }
                GUILayout.EndVertical();

                GUILayout.BeginVertical(UISkin.scrollView);
                {
                    GUILayout.Label("Misc.", kSubTitleStyle);

                    if (GUILayout.Button("AddNewURLSchemeName"))
                    {
                        AddNewURLSchemeName();
                    }

                    if (GUILayout.Button("ClearCache"))
                    {
                        ClearCache();
                    }
                }
                GUILayout.EndVertical();
            }
            RootScrollView.EndScrollView();

            // Draw results
            DrawResults();

            // Back button
            DrawPopButton();
        }