/**
 * @author MTB
 */
var MyIndex;

function Marker(ThemeName, StdName, MarkerId, Position, IconName, IconWidth, IconHeight, DataActive, ShowCircle, CircleRadius, BorderColor, BorderWidth, BorderOpacity, FillColor, FillOpacity){
	this.ThemeName_ = ThemeName;
	this.StdName_ = StdName;
	if (MarkerId == undefined) {
		if (MyIndex == null) 
			MarkerId = 0;
		else 
			MarkerId = MyIndex;
	}
	this.MarkerId_ = MarkerId;
	this.Position_ = Position;
	this.IconName_ = IconName || "MTB_Default";
	this.IconWidth_ = IconWidth || 34;
	this.IconHeight_ = IconHeight || 34;
	this.DataActive_ = DataActive || null;
	this.ShowCircle_ = ShowCircle || false;
	this.CircleRadius_ = CircleRadius || 10;
	this.BorderColor_ = BorderColor || "#222222";
	if (BorderWidth == null) {
		BorderWidth = 1;
	}
	if (BorderWidth <= 0) {
		BorderWidth = 1;
	}
	this.Borderwidth_ = BorderWidth || 1;
	if (BorderOpacity == null) {
		BorderOpacity = 0.5;
	}
	if (BorderOpacity < 0) {
		BorderOpacity = 0.5;
	}
	this.BorderOpacity_ = BorderOpacity || 0.5;
	this.FillColor_ = FillColor || "#222222";
	if (FillOpacity == null) {
		FillOpacity = 0.5;
	}
	if (FillOpacity < 0) {
		FillOpacity = 0.5;
	}
	this.FillOpacity_ = FillOpacity || 0.5;
	if (MyIndex == null) {
		MyIndex = 0;
	}
	else {
		MyIndex += 1;
	}
	
}	
	
Marker.prototype.initialize = function(){}

Marker.prototype.GetObject = function(){
	return this;
}
	
Marker.prototype.GetThemeName = function(){
	return this.ThemeName_;
}
	
Marker.prototype.SetThemeName = function(ThemeName){
	this.ThemeName_ = ThemeName;
}
	
Marker.prototype.GetStdName = function(){
	return this.StdName_;
}
	
Marker.prototype.SetStdName = function(StdName){
	this.StdName_ = StdName;
}
	
Marker.prototype.GetId = function(){
	return this.MarkerId_;
}
	
Marker.prototype.SetId = function(ObjId){
	this.MarkerId_ = ObjId;
}
	
Marker.prototype.GetIdToMap = function(){
	return this.ThemeName_ + ">" + this.StdName_ + ">" + this.MarkerId_
}
	
Marker.prototype.GetPosition = function(){
	return this.Position_;
}
	
Marker.prototype.SetPosition = function(NewPosition){
	this.Position_ = NewPosition;
}
	
Marker.prototype.GetIconName = function(){
	return this.IconName_;
}
	
Marker.prototype.SetIconName = function(IconName){
	this.IconName_ = IconName;
}
	
Marker.prototype.GetIconWidth = function(){
	return this.IconWidth_;
}
	
Marker.prototype.SetIconWidth = function(IconWidth){
	this.IconWidth_ = IconWidth;
}
	
Marker.prototype.GetIconHeight = function(){
	return this.IconHeight_;
}

Marker.prototype.SetIconHeight = function(IconHeight){
	this.IconHeight_ = IconHeight;
}
	
Marker.prototype.ClearData = function(){
	this.DataActive_ = null;
}
	
Marker.prototype.AddData = function(DataActive){
	var arr = new Array();
	var i = 0;
	if (IsArray(this.DataActive_) == true) {
		arr = this.DataActive_;
		i = arr.length;
		arr[i] = DataActive;
		this.DataActive_ = arr;
	}
	else {
		arr[0] = DataActive;
		this.DataActive_ = arr;
	}
}
	
Marker.prototype.GetDataActive = function(){
	return this.DataActive_;
}
	
Marker.prototype.GetShowCircle = function(){
	return this.ShowCircle_;
}
	
Marker.prototype.SetShowCircle = function(ShowCircle){
	this.ShowCircle_ = ShowCircle;
}

Marker.prototype.GetCircleRadius = function(){
	return this.CircleRadius_;
}
	
Marker.prototype.SetCircleRadius = function(Radius){
	if (Radius > 0) {
		this.CircleRadius_ = Radius;
	}
}
	
Marker.prototype.GetBorderColor = function(){
	return this.BorderColor_;
}
	
Marker.prototype.SetBorderColor = function(BorderColor){
	this.BorderColor_ = BorderColor || "#222222";
}
	
Marker.prototype.GetBorderOpacity = function(){
	return this.BorderOpacity_;
}
	
Marker.prototype.SetBorderOpacity = function(BorderOpacity){
	if (BorderOpacity > 0 && BorderOpacity <= 1) {
		this.BorderOpacity_ = BorderOpacity;
	}
}
	
Marker.prototype.GetBorderWidth = function(){
	return this.Borderwidth_;
}

Marker.prototype.SetBorderWidth = function(BorderWidth){
	if (BorderWidth > 0) {
		this.Borderwidth_ = BorderWidth;
	}
}
	
Marker.prototype.GetFillColor = function(){
	return this.FillColor_;
}
	
Marker.prototype.SetFillColor = function(FillColor){
	this.FillColor_ = FillColor || "#222222"
}

Marker.prototype.GetFillOpacity = function(){
	return this.FillOpacity_;
}
	
Marker.prototype.SetFillOpacity = function(FillOpacity){
	if (FillOpacity > 0 && FillOpacity <= 1) {
		this.FillOpacity_ = FillOpacity;
	}
}
	
function IsArray(obj){
	if (obj.constructor.toString().indexOf("array") == -1) 
		return false;
	else 
		return true;
}


