//マーカー用アイコン生成
//
// prototype.js(1.4)が必要 

var Icon = new Object();

Icon.ICON_ROOT = "icon/";
Icon.ICON_DAM_ROOT = "damicon/";

Icon.ICON_TYPE_DAMTYPE_PATH = "type/";
Icon.ICON_TYPE_MOKUTEKI_PATH = "mokuteki/";
Icon.ICON_TYPE_NO_PATH = "no/";

Icon.ICON_NORMAL_PATH = "red/";
Icon.ICON_MORIMIZU_PATH = "green/";
Icon.ICON_NORMAL_DIST_PATH = "redc/";
Icon.ICON_MORIMIZU_DIST_PATH = "greenc/";


Icon.ICON_DAM_SIZE = new GSize(35,20);
Icon.ICON_DAM_ANCHOR = new GPoint(15,20);
Icon.ICON_DAM_WINDOWANCHOR = new GPoint(17,0);

Icon.ICON_DAM_SHADOW_FILE = "shadow.png";
Icon.ICON_DAM_SHADOW_SIZE = new GSize(50,20);


//IconFactory
Icon.IconFactory = Class.create();
Icon.IconFactory.prototype = {

	initialize:function(){},

	createIcon:function(damdata){
		var icon = new GIcon();

		//アイコンの属性を設定する
		icon.image = this.getIconImage(damdata);
		icon.shadow = this.getShadowImage(damdata);
		icon.iconSize = this.getIconSize(damdata);
		icon.shadowSize = this.getShadowSize(damdata);
		icon.iconAnchor = this.getIconAnchor(damdata);
		icon.infoWindowAnchor = this.getInfoWindowAnchor(damdata);
		return icon;
	}
	
	,getIconImage:function(damdata){}
	,getShadowImage:function(damdata){}
	,getIconSize:function(damdata){}
	,getShadowSize:function(damdata){}
	,getIconAnchor:function(damdata){}
	,getInfoWindowAnchor:function(damdata){}
};

//ダム番号アイコン
Icon.DamNoIcon = Class.create();
Icon.DamNoIcon.prototype = Object.extend(new Icon.IconFactory(), {
	getIconImage:function(damdata){
		var resultPath = Icon.ICON_ROOT;
		resultPath += Icon.ICON_DAM_ROOT;
		resultPath += Icon.ICON_TYPE_NO_PATH;
		if(damdata.mmflag == '0'){
			resultPath += Icon.ICON_NORMAL_PATH;
		}
		else{
			resultPath += Icon.ICON_MORIMIZU_PATH;
		}
		if(damdata.distflag != '0'){
			resultPath += "c/";
		}
		resultPath += damdata.damno + ".png";
		return resultPath;
	}
	,getShadowImage:function(damdata){
		var resultPath = Icon.ICON_ROOT;
		resultPath += Icon.ICON_DAM_ROOT;
		resultPath += Icon.ICON_DAM_SHADOW_FILE;

		return resultPath;
	}
	,getIconSize:function(damdata){
		return Icon.ICON_DAM_SIZE;
	}
	,getShadowSize:function(damdata){
		return Icon.ICON_DAM_SHADOW_SIZE;
	}
	,getIconAnchor:function(damdata){
		return Icon.ICON_DAM_ANCHOR;
	}
	,getInfoWindowAnchor:function(damdata){
		return Icon.ICON_DAM_WINDOWANCHOR;
	}
});
