var objImages = new function() {
    this.normal = "../img/green_ce.png";
    this.normalHead = "../img/green_ceh.png";
    this.normalTail = "../img/green_cet.png";
    this.wrong = "../img/red_ce.png";
    this.wrongHead = "../img/red_ceh.png";
    this.wrongTail = "../img/red_cet.png";
}

function clsMarker(prmId, prmMarker, prmImage) {
    this.id = prmId;
    this.marker = prmMarker;
    this.defaultImage = prmImage;
    this.currentImage = prmImage;
    this.prevImage = prmImage;
    this.isSelected = false;
    this.lstLineStart = new Array(); // lista linii rozpoczynajacyh sie danym przystankiem
    this.lstLineEnd = new Array(); // lista linii konczaca sie danym przystankiem

    var icon = new GIcon();
    icon.iconSize = new GSize(16, 16); //G_DEFAULT_ICON ma szerokosc 16??
    icon.iconAnchor = new GPoint(8, 8);

    this.putHead = function() {
        this.prevImage = this.currentImage;
        var marker2;
        if (this.defaultImage == objImages.normal) {
            this.currentImage = objImages.normalHead;                        
            icon.image = objImages.normalHead;
            marker2 = new GMarker(this.marker.getLatLng(), { icon: icon, title: this.id, zIndexProcess: function() {return 200;} });                        
            objMap.getMap().removeOverlay(this.marker);
            this.marker = marker2;
            //this.marker.setImage(objImages.normalHead);
            objMap.getMap().addOverlay(marker2);
        }
        else {
            this.currentImage = objImages.wrongHead;
            icon.image = objImages.wrongHead;
            marker2 = new GMarker(this.marker.getLatLng(), { icon: icon, title: this.id, zIndexProcess: function() {return 200;} });
            objMap.getMap().removeOverlay(this.marker);
            this.marker = marker2;
            //this.marker.setImage(objImages.wrongHead);
            objMap.getMap().addOverlay(marker2);
        }
    }

    this.putTail = function() {
        this.prevImage = this.currentImage;
        var marker2;
        if (this.defaultImage == objImages.normal) {            
            this.currentImage = objImages.normalTail;
            icon.image = objImages.normalTail;
            marker2 = new GMarker(this.marker.getLatLng(), { icon: icon, title: this.id, zIndexProcess: function() {return 200;} });
            objMap.getMap().removeOverlay(this.marker);
            this.marker = marker2;
            //this.marker.setImage(objImages.normalTail);
            objMap.getMap().addOverlay(marker2);
        }
        else {
            this.currentImage = objImages.wrongTail;
            icon.image = objImages.wrongTail;
            marker2 = new GMarker(this.marker.getLatLng(), { icon: icon, title: this.id, zIndexProcess: function() {return 200;} });
            objMap.getMap().removeOverlay(this.marker);
            this.marker = marker2;
            //this.marker.setImage(objImages.wrongTail);
            objMap.getMap().addOverlay(marker2);
        }
    }

    this.putDefault = function() {
        this.prevImage = this.currentImage;
        this.currentImage = this.defaultImage;
        icon.image = this.defaultImage;
        var marker2 = new GMarker(this.marker.getLatLng(), { icon: icon, title: this.id, zIndexProcess: function() {return 100;} });
        objMap.getMap().removeOverlay(this.marker);
        this.marker = marker2;
        //this.marker.setImage(this.defaultImage);
        objMap.getMap().addOverlay(marker2);
    }

    this.putPrev = function() {        
        this.currentImage = this.prevImage;
        icon.image = this.prevImage;
        var marker2 = new GMarker(this.marker.getLatLng(), { icon: icon, title: this.id, zIndexProcess: function() {return 200;} });
        objMap.getMap().removeOverlay(this.marker);
        this.marker = marker2;
        //this.marker.setImage(this.prevImage);
        objMap.getMap().addOverlay(marker2);
    }
}

function clsMarkersCollection() {
    this.array = new Object();
}



