function Photo(data, idx){

    var that=this;
    this.uid=idx;
    this.file = data.file;
    this.year = data.year;
    this.description = data.description;
    this.title = data.title;
    this.structure = jQuery('<div class="galleryPhoto" id="p_'+this.uid+'"><a href="gallery/' + this.file + '" target="_blank" >\
    </a></div>');
    this.structure.css({
        "backgroundImage": 'url("gallery/thumbs/grey/' + this.file + '")'
    });
    var cat="";
    for (var i=0;i<data.categories.length;i++) {
        cat=cat+"_"+data.categories[i].uid;   
    }
    this.mark=jQuery('<span id="p'+this.uid+''+cat+'_" class="mark hidden">*</span>');
    this.overlay=jQuery('<a href="gallery/' + this.file + '" target="_blank" rel="work"\
    title="('+this.year+')'+this.title+' - '+this.description+'" class="overlay hidden"></a>');
    this.overlay.css({
        "backgroundImage": 'url("gallery/thumbs/' + this.file + '")',
        "display": "none"
    });
    this.info=jQuery('<div id="i_'+this.uid+'" class="description" style="display:none;"><span>('+this.year+') <b>'+this.title+'</b></span>\
    <br/><span>'+this.description+'</span></div>');
    this.structure.append(this.overlay);
    this.structure.append(this.mark);
    this.structure.append(this.info);
    jQuery(this.structure).mouseenter(function(){
        jQuery(that.overlay).show();
        jQuery(that.info).show();
        if (stateCounter == 0) {
            for (var i = 0; i < data.categories.length; i++) {
                //            jQuery("#c_"+data.categories[i].uid).fadeIn();
                jQuery("#b_" + data.categories[i].uid).addClass("active");
                //            console.log("#c_"+data.categories[i].uid);       
            }
        }
    });
    jQuery(this.structure).mouseleave(function(){
        jQuery(that.overlay).hide();
        jQuery(that.info).hide();
        if (stateCounter == 0) {
            for (var i = 0; i < data.categories.length; i++) {
                //            jQuery("#c_"+data.categories[i].uid).fadeOut();
                jQuery("#b_" + data.categories[i].uid).removeClass("active");
            }
        }
    });
}

Photo.prototype.getStructure = function(){
    return this.structure;
}

