<?xml version="1.0" encoding="utf-8"?>
<!--
////////////////////////////////////////////////////////////////////////////////
// 株式会社　アイエルエス
// Copyright 2008 ILS
// All Rights Reserved.
//
// NOTICE:  BizViewer共通パネル
////////////////////////////////////////////////////////////////////////////////
-->
<TsAbstructPanel xmlns="cls.com.ils.biz.component.*" xmlns:mx="http://www.adobe.com/2006/mxml"
	creationComplete="init()"
	width="1024" height="300" layout="absolute" 
	styleName="screenPanel" 
	modalTransparency="1.0" modalTransparencyColor="#FFFFFF"
	horizontalScrollPolicy="off" verticalScrollPolicy="off"
	headerHeight="0" borderThicknessTop="10">
	<mx:Style>
	   .errorTip
	   {
	      fontSize: 12;
	   }
	</mx:Style>

	<mx:Script>
		<![CDATA[
			import cls.com.ils.common.model.MsgMgr;
			import cls.com.ils.common.component.*;
			import mx.managers.IFocusManagerComplexComponent;
			import mx.events.ValidationResultEvent;
			import mx.managers.IFocusManagerComponent;
			import mx.events.CloseEvent;
			import mx.core.Container;
			import mx.core.UIComponent;
			import mx.containers.Form;
			import mx.controls.Alert;
			import mx.validators.Validator;

			public var validator:Array;
			public var validatorBody:Array;
			private var _target:Object;
			public var lblErrMsg:IlsLabel;		//DataGridのエラーメッセージ用

			private function init():void{
				this.zoomEnabled = false;
			}

        	public function validate():Boolean {
        		if (validator) {
					var err_ary:Array = Validator.validateAll(validator);
		            if (err_ary.length > 0) {
		            	
		            	if(String(err_ary[0].currentTarget.source).indexOf("Editor")>0){
		            		// グリッドの配置されたコントロール
							//スクロール移動
							err_ary[0].currentTarget.source.owner.scrollToIndex(err_ary[0].currentTarget.source.rowIndex);
							//メッセージ表示
		            		MsgMgr.dispServerMsgAndCallEvent("【"+err_ary[0].currentTarget.source.label +"】",err_ary[0].message,this.title,Alert.OK,err_ary[0].currentTarget.source.owner.setFocus(),this);
		            	}else{
		            		// グリッドの配置されてないコントロール
			            	if(String(err_ary[0].currentTarget.source.parent.label) == ""){
			            		if(String(err_ary[0].currentTarget.source.parent.parent.label) == ""){
			            			MsgMgr.dispServerMsgAndCallEvent("【"+err_ary[0].currentTarget.source.parent.parent.parent.label +"】",err_ary[0].message,this.title,Alert.OK,err_ary[0].currentTarget.source.setFocus(),this);
			            		}else{
			            			MsgMgr.dispServerMsgAndCallEvent("【"+err_ary[0].currentTarget.source.parent.parent.label +"】",err_ary[0].message,this.title,Alert.OK,err_ary[0].currentTarget.source.setFocus(),this);
			            		}
			            	}else{
			            		MsgMgr.dispServerMsgAndCallEvent("【"+err_ary[0].currentTarget.source.parent.label +"】",err_ary[0].message,this.title,Alert.OK,err_ary[0].currentTarget.source.setFocus(),this);
			            	}
		            	}   
		                return false;
		            }
        		}
                return true;
	        }			

			/**
			 * ヘッダー上の入力検証
			 * 
			 */		
        	public function validateHead():Boolean {
        		if (validator) {
					var err_ary:Array = Validator.validateAll(validator);
		            if (err_ary.length > 0) {
		            	
		            	if(String(err_ary[0].currentTarget.source).indexOf("Editor")>0){
		            		// グリッドの配置されたコントロール
							//スクロール移動
							err_ary[0].currentTarget.source.owner.scrollToIndex(err_ary[0].currentTarget.source.rowIndex);
							//メッセージ表示
		            		MsgMgr.dispServerMsgAndCallEvent("【"+err_ary[0].currentTarget.source.label +"】",err_ary[0].message,this.title,Alert.OK,err_ary[0].currentTarget.source.owner.setFocus(),this);
		            	}else{
		            		if(err_ary[0].currentTarget.source.parent){
			            		// グリッドの配置されてないコントロール
				            	if(String(err_ary[0].currentTarget.source.parent.label) == ""){
				            		if(String(err_ary[0].currentTarget.source.parent.parent.label) == ""){
				            			MsgMgr.dispServerMsgAndCallEvent("【"+err_ary[0].currentTarget.source.parent.parent.parent.label +"】",err_ary[0].message,this.title,Alert.OK,err_ary[0].currentTarget.source.setFocus(),this);
				            		}else{
				            			MsgMgr.dispServerMsgAndCallEvent("【"+err_ary[0].currentTarget.source.parent.parent.label +"】",err_ary[0].message,this.title,Alert.OK,err_ary[0].currentTarget.source.setFocus(),this);
				            		}
				            	}else{
				            		MsgMgr.dispServerMsgAndCallEvent("【"+err_ary[0].currentTarget.source.parent.label +"】",err_ary[0].message,this.title,Alert.OK,err_ary[0].currentTarget.source.setFocus(),this);
				            	}
		            		}else{
			            		MsgMgr.dispServerMsgAndCallEvent("",err_ary[0].message,this.title,Alert.OK,err_ary[0].currentTarget.listener.setFocus(),this);
		            		}
		            	}   
		                return false;
		            }
        		}
                return true;
	        }			

		]]>
	</mx:Script>
</TsAbstructPanel>
