var init = function () {
    // look for content with media
    _ObjWithMedia = jQuery('.hasmedia');
    if ( jQuery('.hasmedia').length ){
        _parseMediaLinks(_ObjWithMedia);
    }
}


var _extractYoutubeId = function ( url ){
    var youtube_id;
    youtube_id = url.replace(/^[^v]+v.(.{11}).*/,"$1");
    return youtube_id;
}

var _parseMediaLinks = function( _objWithMedia ) {
    _links = jQuery('a, img', _objWithMedia);
    if (_links.length ) {
        _links.each(function(key, obj){
            obj = jQuery(obj);
                /** youtube **/
                if (obj.hasClass('youtube')) _embedYoutube(obj);
                if (obj.hasClass('music')) _embedMusic(obj, key);
                if (obj.hasClass('photo')) _embedImage(obj, key);
        });
    }
}

var _embedYoutube = function (obj){
    _ytid = _extractYoutubeId(obj.attr('href'));

    _width = '240px';
    if ( jQuery('body').hasClass('maakofkraak') ){ _width = '220px'; }

    /** begin :: build div **/
    _div  = jQuery('<div>');
    _div.attr('id', _ytid);
    _div.addClass('embedYoutube');
    /** end :: build div **/

    /** begin :: embed object **/
    jQuery(_div).jlEmbed({
        height: '200px',
        width: _width,
        youtube : _ytid
    });
    /** end :: embed object **/

    /** begin :: add comment-link **/
    _div.append(_addYoutubeDetailLink(_ytid));
    /** end :: add comment-link **/

    obj.replaceWith(_div);
}

var _embedMusic = function (obj, uid){

    /** begin :: build div **/
    _div  = jQuery('<div>');
    _div.attr('id', 'music_'+uid);
    _div.addClass('embedMusic');
    /** end :: build div **/

    /** begin :: create download link **/
    _link = jQuery('<a>');
    _link.attr('href', obj.attr('href'));
    _link.html(obj.attr('title'));
    _link.attr('title', 'Klik hier om het bestand te downloaden');
    /** end :: create download link **/

    /** begin :: embed object **/
    jQuery(_div).jlEmbed({
        musicplayer: 'BackgroundColor=000000 IconColor=CCCCCC IconActiveColor=C0C0C0 PlayIconActiveColor=33FF00 StopIconActiveColor=FF0000 Icons=yes Dividers=no Fader=no Autoplay=no Loop=no Shuffle=no',
        playlist : obj.attr('href'),
        titles : obj.attr('title')
    });
    /** end :: embed object **/

    /** begin :: insert title & link **/
    _div.prepend(_link);
    _div.append(_addMusicDetailLink(obj.attr('href')));
    /** end :: insert title **/
    obj.replaceWith(_div);
    
}

var _addYoutubeDetailLink = function ( ytid ) {
    _link = jQuery('<a>');
    _href = ABS_URI+'videos/item/';
        if ( ytid ) _href += '?id='+ytid;
    _link.attr('href', _href);
    _link.html('Klik hier om de reacties te bekijken');
    return _link;
}

var _addMusicDetailLink = function ( uri ) {
    _link = jQuery('<a>');
    _href = ABS_URI+'media/item/';
        if ( uri ) _href += '?uri='+uri;
    _link.attr('href', _href);
    _link.html('Klik hier om de reacties te bekijken');
    return _link;
}

var _addPhotoDetailLink = function ( uri ) {
    _link = jQuery('<a>');
    _href = ABS_URI+'photos/item/';
        if ( uri ) _href += '?uri='+uri;
    _link.attr('href', _href);
    _link.html('Klik hier om de reacties te bekijken');
    return _link;
}


var _embedImage = function (obj, uid){
    jQuery('br', obj.parent()).remove();
    _td = obj.parent();
    _maxwidth = 220;
    _width = (parseInt(obj.width()))

        if ( _width > _maxwidth ){
            _ratio = _width / _maxwidth;
            _height = obj.height() / _ratio;
            obj.css({
                'width'     : _maxwidth,
                'height'    : _height
            });
        }

    // build div
    _div = jQuery('<div>');
    _div.attr('class', 'photo');
    _div.html(obj.get());
    _div.append(jQuery('<br class="clr"/>'));
    _div.append(_addPhotoDetailLink(obj.attr('src')));

    _td.append(_div);

}

jQuery(document).ready(init);


