function writeImageContent() {

    var mediaLinksDiv = document.getElementById('media_links');
    if (mediaLinksDiv == null) {
        return;
    }

    var mediaContentDiv = document.getElementById('media_content');
    if (mediaContentDiv == null) {
        return;
    }
    var mediaLinksArray = mediaLinksDiv.getElementsByTagName('a');
    if (mediaLinksArray == null) {
        return;
    }

    var image = mediaLinksDiv.getElementsByTagName('img');

    var thumb = document.createElement('img');
    thumb.setAttribute('src', getThumbByType(image, 'image'));

    var allImage = getAllMediaByType(mediaLinksArray, 'image');

    if (allImage.length == 0 && image != null && image.length != 0) {
        mediaContentDiv.appendChild(thumb);
    }

    if (allImage.length > 0) {
        var media = document.createElement('a');
        media.setAttribute('class', 'option');
        media.appendChild(thumb);
        media.setAttribute('rel', 'shadowbox[audio_gallery]');
        media.setAttribute('href', allImage[0]);
        mediaContentDiv.appendChild(media);
    }

    for (var i = 1; i < allImage.length; i++) {
        var media = document.createElement('a');
        media.setAttribute('class', 'hidden');
        media.setAttribute('rel', 'shadowbox[audio_gallery]');
        media.setAttribute('href', allImage[i]);
        mediaContentDiv.appendChild(media);
    }
}

function writeVideoContent() {

    var mediaLinksDiv = document.getElementById('media_links');
    if (mediaLinksDiv == null) {
        return;
    }
    var mediaContentDiv = document.getElementById('media_content');
    if (mediaContentDiv == null) {
        return;
    }
    var mediaLinksArray = mediaLinksDiv.getElementsByTagName('a');
    if (mediaLinksArray == null) {
        return;
    }

    var thumb = document.createElement('img');
    thumb.setAttribute('src', '/resources/images/camera.gif');

    var allVideo = getAllMediaByType(mediaLinksArray, 'video');

    if (allVideo.length > 0) {
        var media = document.createElement('a');
        media.setAttribute('class', 'option');
        media.appendChild(thumb);

        media.setAttribute('rel', 'shadowbox[video_gallery]&amp;height=344&amp;width=425');
        media.setAttribute('href', allVideo[0] + '&amp;rel=0&amp;disablekb=1&amp;showinfo=0');
        mediaContentDiv.appendChild(media);
    }

    for (var i = 1; i < allVideo.length; i++) {
        var media = document.createElement('a');
        media.setAttribute('class', 'hidden');
        media.setAttribute('rel', 'shadowbox[video_gallery]&amp;height=344&amp;width=425');
        media.setAttribute('href', allVideo[i] + '&amp;rel=0&amp;disablekb=1&amp;showinfo=0');
        mediaContentDiv.appendChild(media);
    }
}
function writeAudioContent() {

    var mediaLinksDiv = document.getElementById('media_links');
    if (mediaLinksDiv == null) {
        return;
    }
    var mediaLinksArray = mediaLinksDiv.getElementsByTagName('a');
    if (mediaLinksArray == null) {
        return;
    }

    var allAudio = getAllMediaByType(mediaLinksArray, 'audio');
    var allTitle = getAllAudioTitle(mediaLinksArray);

    var audioList = '';
    var titleList = '';
    for (var i = 0; i < allAudio.length; i++) {
        if (audioList != '') {
            audioList += '|';
            titleList += '|';
        }
        audioList += allAudio[i];
        titleList += allTitle[i];
    }
    var player = document.getElementById('audio_player');
    if (audioList != '') {
        var mediaFrameWidth = document.getElementById('materials').offsetWidth;
        var playerWidth = parseInt(mediaFrameWidth) - 10;

        player.innerHTML = '<object type="application/x-shockwave-flash" data="/resources/flash/player_mp3_multi.swf" width="100%" height="100">\
                    <param name="movie" value="/resources/flash/player_mp3_multi.swf" />\
                    <param name="bgcolor" value="#ffffff" />\
                    <param name="FlashVars" value="height=100&volume=75&showvolume=1&showplaylistnumbers=0&mp3=' + audioList + '&title=' + titleList + '&width=' + playerWidth + '"/>\
                </object>';
    } else {
        player.style.display = 'none';
    }
}

function getThumbByType(mediaLinks, type) {
    if (mediaLinks == null || mediaLinks.length == 0) {
        if (type.indexOf('image') != -1) {
            return 'http://www.spiv.org.ua/resources/thumbs/nobaton.jpg';
        }
        if (type.indexOf('video') != -1) {
            return 'http://www.spiv.org.ua/resources/thumbs/nobaton.jpg';
        }
        if (type.indexOf('audio') != -1) {
            return 'http://www.spiv.org.ua/resources/thumbs/nobaton.jpg';
        }
        return null;

    }
    return mediaLinks[0].src;
}

function getMediaByCriteria(mediaLinks, criteria) {
    var mediaHrefs = new Array();

    var k = 0;
    for (var i = 0; i < mediaLinks.length; i++) {
        for (var j = 0; j < criteria.length; j++) {
            if (mediaLinks[i].href.indexOf(criteria[j]) != -1) {
                mediaHrefs[k] = mediaLinks[i].href;
                k++;
            }
        }
    }
    return mediaHrefs;
}
function getAllMediaByType(mediaLinks, type) {
    if (type.indexOf('image') != -1) {
        return getMediaByCriteria(mediaLinks, ['.jpeg', '.jpg', '.gif', '.png']);
    }
    if (type.indexOf('video') != -1) {
        return getMediaByCriteria(mediaLinks, ['youtube']);
    }
    if (type.indexOf('audio') != -1) {
        return getMediaByCriteria(mediaLinks, ['.mp3']);
    }
    return null;
}
function getAllAudioTitle(mediaLinks) {
    var audioTitles = new Array();
    var criteria = new Array('.mp3');

    var k = 0;
    for (var i = 0; i < mediaLinks.length; i++) {
        for (var j = 0; j < criteria.length; j++) {
            if (mediaLinks[i].href.indexOf(criteria[j]) != -1) {
                audioTitles[k] = mediaLinks[i].innerHTML;
                k++;
            }
        }
    }
    return audioTitles;
}
function isMediaByCriteria(rawHref, criteria) {
    for (var j = 0; j < criteria.length; j++) {
        if (rawHref.indexOf(criteria[j]) != -1) {
            return true;
        }
    }
    return false;
}
function isMediaByType(rawHref, type) {
    if (type.indexOf('image') != -1) {
        return isMediaByCriteria(rawHref, ['.jpeg', '.jpg', '.gif', '.png']);
    }
    if (type.indexOf('video') != -1) {
        return isMediaByCriteria(rawHref, ['youtube']);
    }
    if (type.indexOf('audio') != -1) {
        return isMediaByCriteria(rawHref, ['.mp3']);
    }
    return null;
}
function openOwnItem(el) {

    var imageOnly = isMediaByType(el.href, 'image');
    var videoOnly = isMediaByType(el.href, 'video');
    var audioOnly = isMediaByType(el.rel, 'audio');

    var galleryArray = new Array();

    if (imageOnly) {
        galleryArray[0] = {
            player: 'img',
            content: el.href
        }
    }

    if (videoOnly) {
        galleryArray[0] = {
            player: 'iframe',
            content: el.href + '&amp;rel=0&amp;disablekb=1&amp;showinfo=0',
            height: 344,
            width: 425
        }
    }

    if (audioOnly) {
        galleryArray[0] = {
            player: 'swf',
            content: 'resources/flash/player_mp3_multi.swf?playlistalpha=0&amp;height=340&amp;width=405&amp;volume=75&amp;showvolume=1&amp;showplaylistnumbers=0' + el.rel,
            height: 340,
            width: 405
        }
    }

    if (!audioOnly) {
        var additionalGalleryDiv = document.getElementById(el.rel);
        var itemLinks;
        if (additionalGalleryDiv != null) {
            itemLinks = additionalGalleryDiv.getElementsByTagName('a');
        }

        if (itemLinks != null) {
            for (var i = 1; i <= itemLinks.length; i++) {
                if (imageOnly) {
                    galleryArray[i] = {
                        player: 'img',
                        content: itemLinks[i - 1].getAttribute('href')
                    }
                } else {
                    galleryArray[i] = {
                        player: 'iframe',
                        content: itemLinks[i - 1].getAttribute('href') + '&amp;rel=0&amp;disablekb=1&amp;showinfo=0',
                        height: 344,
                        width: 425
                    }
                }
            }
        }
    }

//    alert(galleryArray[0].content);

    window.parent.Shadowbox.open(galleryArray);

    return false;
}

function isImg(rawHref) {
    return rawHref.indexOf('youtube') == -1;
}

function writeSingleMediaGalleryByType(id, type, custom_galleries_item) {

    var images_div = document.getElementById('images');
    if (images_div == null) {
        return;
    }
    var custom_captions_div = document.getElementById('custom_captions');
    if (custom_captions_div == null) {
        return;
    }

    var divs = custom_galleries_item.getElementsByTagName('div');
    if (divs == null || divs.length == 0) {
        return;
    }

    var thumb = document.createElement('img');
    thumb.setAttribute('src', getThumbByType(divs[1].getElementsByTagName('img'), type));

    var allMedia = getAllMediaByType(divs[1].getElementsByTagName('a'), type);

    if (allMedia.length == 0) {
        var thumbLink = document.createElement('a');
        thumbLink.setAttribute('onclick', 'return false;');
        thumbLink.appendChild(thumb);
        images_div.appendChild(thumbLink);
    }

    if (allMedia.length > 0) {
        var media = document.createElement('a');
        media.setAttribute('rel', 'gallery' + id);
        media.setAttribute('href', allMedia[0]);
        if (YAHOO.util.Event.isIE) {
            media.setAttribute('onclick', function () {
                return openOwnItem(this);
            });
        } else {
            media.setAttribute('onclick', 'return openOwnItem(this);');
        }

        media.appendChild(thumb);
        images_div.appendChild(media);
    }

    if (allMedia.length > 1) {
        var galleryDiv = document.createElement('div');

        for (var i = 1; i < allMedia.length; i++) {
            var media = document.createElement('a');
            media.setAttribute('href', allMedia[i]);
            galleryDiv.appendChild(media);
        }

        galleryDiv.setAttribute('id', 'gallery' + id);
        document.body.appendChild(galleryDiv);
    }

    var titleDiv = document.createElement('div');
    titleDiv.innerHTML = divs[0].innerHTML;
    custom_captions_div.appendChild(titleDiv);
}

function writeSingleAudioGallery(id, custom_galleries_item) {

    var images_div = document.getElementById('images');
    if (images_div == null) {
        return;
    }
    var custom_captions_div = document.getElementById('custom_captions');
    if (custom_captions_div == null) {
        return;
    }

    var divs = custom_galleries_item.getElementsByTagName('div');
    if (divs == null || divs.length == 0) {
        return;
    }

    var thumb = document.createElement('img');
    thumb.setAttribute('src', getThumbByType(divs[1].getElementsByTagName('img'), 'audio'));

    var allMedia = getAllMediaByType(divs[1].getElementsByTagName('a'), 'audio');

    if (allMedia.length == 0) {
        var thumbLink = document.createElement('a');
        thumbLink.setAttribute('onclick', 'return false;');
        thumbLink.appendChild(thumb);
        images_div.appendChild(thumbLink);
    }

    if (allMedia.length > 0) {
        var allTitle = getAllAudioTitle(divs[1].getElementsByTagName('a'));

        var audioList = '';
        var titleList = '';
        for (var i = 0; i < allMedia.length; i++) {
            if (audioList != '') {
                audioList += '|';
                titleList += '|';
            }
            audioList += allMedia[i];
            //titleList += encodeURIComponent(allTitle[i]);
        }

        var media = document.createElement('a');
        //media.setAttribute('rel', '&amp;mp3=' + audioList + '&amp;title=' + titleList);
        media.setAttribute('rel', '&amp;mp3=' + audioList);
        media.setAttribute('href', '#');
        if (YAHOO.util.Event.isIE) {
            media.setAttribute('onclick', function () {
                return openOwnItem(this);
            });
        } else {
            media.setAttribute('onclick', 'return openOwnItem(this);');
        }

        media.appendChild(thumb);
        images_div.appendChild(media);
    }

    var titleDiv = document.createElement('div');
    titleDiv.innerHTML = divs[0].innerHTML;
    custom_captions_div.appendChild(titleDiv);
}

var blockIds = ['classes', 'materials', 'photo_galleries', 'video_galleries', 'audio_galleries', 'users', 'comments', 'page'];

function customShow(el) {
    for (var i = 0; i < blockIds.length; i++) {
        var block = document.getElementById(blockIds[i]);
        if (block != null) {
            block.style.display = 'none';
        }
    }
    var id = el.getAttribute('id');
    var blockId = id.substr(0, id.indexOf('_title'));
    var block = document.getElementById(blockId);
    block.style.display = 'block';

    var iframe = block.getElementsByTagName('iframe');
    if (iframe != null && iframe[0] != null) {
        iframe[0].src = iframe[0].src;
    }

    window.scroll(0, 0);

    return false;
}
