﻿/**
 * Media
 *
 * $Id: media.js 3314 2008-07-04 09:23:41Z javer $
 *
 * @copyright Copyright (c) 2007, Effective Solution Band Ltd, All rights reserved.
 * @url http://www.esb.com.ua
*/

var g_media_id;
var MEDIA_COUNT_PHOTO_ON_PAGE = 7;
var NEWS_COUNT_PHOTO_ON_PAGE = 3;
var COUNT_PHOTO_ON_PAGE = MEDIA_COUNT_PHOTO_ON_PAGE;
var g_media_path = g_base_url + 'resource/media/';
var g_video_amateur_path = g_base_url + 'resource/video/amateur/';
var g_media_type = '';
var g_module = '';

/* Photo */

function MediaListClass(){
    this.module_name = '';
    this.media_type = 'photo';
    this.items = new Object();
    this.page_index = new Object();
    this.items_index = new Array()
    this.current_page = 1;
    this.last_page = 1;
    this.count_all = 0;

    this.addItems =  function(items){
        var media_id;
        for(var property in items){
            media_id = items[property].media_id;
            this.items[media_id] = items[property];
            this.items_index.push(media_id);
        }
    }

    this.getItem = function(id){
        return this.items[id];
    }

    this.getCurrentPage = function(){
        return this.current_page;
    }

    this.addItemsToIndex  = function(arr){
        var last = 0;
        for(var i=0; i< Math.ceil(arr.length/COUNT_PHOTO_ON_PAGE); i++ ){
            last = (i+1)*COUNT_PHOTO_ON_PAGE;
            if(last>arr.length){
                last = arr.length;
            }
            this.page_index[i+1] = new Array();
            for(var j=i*COUNT_PHOTO_ON_PAGE; j<last; j++){
                this.page_index[i+1].push(arr[j]);
            }
        }
    }


    this.setup = function(module_name, media_type, count_all, arr){
        this.module_name = module_name;
        this.media_type = media_type;
        this.count_all = count_all;
        if(module_name=='news') COUNT_PHOTO_ON_PAGE=NEWS_COUNT_PHOTO_ON_PAGE;
        this.last_page = Math.ceil(count_all/COUNT_PHOTO_ON_PAGE);
        this.addItemsToIndex(arr);
    }

    this.getModuleName = function(){
        return this.module_name;
    }

    this.getMediaType = function(){
        return this.media_type;
    }
}

var g_media_photo_list = new MediaListClass();
var imageArray = new Array();

function mediaShowFile(media_id){
    hideFlash();
    hideAllSelect();
    g_media_type = 'photo';
    g_media_id = media_id;

    var img_desc = g_media_photo_list.items[media_id].desc;
    var img_width = parseInt(g_media_photo_list.items[media_id].width, 10);
    var img_height = parseInt(g_media_photo_list.items[media_id].height, 10);
    var img_path = g_media_path + g_media_photo_list.getMediaType() + '/' + media_id  + '.jpg';
    if(g_module == 'casting') var img_path = g_media_path + g_media_photo_list.getMediaType() + '/' + media_id  + '_1.jpg';


    var media_position = arrayPosition(g_media_photo_list.items_index, media_id);
    var media_item_number = (media_position + 1) + '/' + g_media_photo_list.count_all;

    var rewind_img = 'popup_nav_left.gif';
    var rewind_onclick = 'onclick="mediaShowPrevImage()" class="imgNavButton"';
    var forward_img = 'popup_nav_right.gif';
    var forward_onclick = 'onclick="mediaShowNextImage()" class="imgNavButton"';

    if(0 === media_position){
        rewind_img = 'popup_nav_left_dis.gif';
        rewind_onclick = 'class="imgNavButtonDisabled"';
    }
    if((g_media_photo_list.count_all -1) === media_position ){
        forward_img = 'popup_nav_right_dis.gif';
        forward_onclick = 'class="imgNavButtonDisabled"';
    }



    var oBody = document.body;
//    oBody.style.overflow = 'hidden';
    var oShadow = document.createElement('div');
    oShadow.id = 'modal_shadow';
    oShadow.style.height = window.getScrollHeight() + 'px';
    oBody.appendChild(oShadow);

    var oModal = document.createElement('div');
    oModal.id = 'modal_window';
    margin_top=Math.round((img_height-60)/2);

    out = '<div class="photo_window">' +
            '<div>' +
              '<table border="0" cellpadding="0" cellspacing="0" style="position:relative;width:100%"><tr>' +
                '<td id="mediaItemNumber" style="font-size: 30px; color: #ffffff; padding-bottom: 10px; width: 20%">' +media_item_number+ '</td>' +
                '<td style="width: 60%; text-align: center">' +
                  '<img id="mediaPicturePrev" src="' +g_base_url+ 'img/' +rewind_img+ '" alt="" ' +rewind_onclick+ '/>&nbsp;&nbsp;' +
                  '<img id="mediaPictureNext" src="' +g_base_url+ 'img/' +forward_img+ '" alt="" ' +forward_onclick+ '/>&nbsp;&nbsp;' +
                '</td>' +
                '<td style="width: 20%; text-align: right">' +
                  '<img onclick="closeModalMessage()" class="imgNavButton" src="' +g_base_url+ 'img/popup_close.gif" alt="" />' +
                '</td>' +
              '</tr></table>' +
            '</div>' +
            '<div id="tdMediaPicture" style="width:'+img_width+'px;height:'+img_height+'px">' +
            	'<div id="divLoading" style="margin-top:'+margin_top+'px"><img src="'+g_base_url+'img/ajax-loader_popup.gif" style="width:60px;height:60px; border: none"></div>' +
            '</div>' +
            '<div id="mediaPictureDesc" style="padding-top: 10px; font-size: 1.4em; color: #ffffff">' +img_desc+ '</div>' +
        '</div>'
    ;

    oModal.innerHTML = out;
    if(img_width <500)
        img_width = 500;
    if(img_height<600)
        img_height = 600;
    oModal.style.width = img_width + 44 + 'px';
    oModal.style.height = img_height + 'px';

    var modal_width = parseInt(oModal.style.width, 10);
    oModal.style.top = document.documentElement.scrollTop  + 1 + "px";

    var wnd_width = document.documentElement.scrollWidth;
    if(wnd_width > document.documentElement.clientWidth * 2)
        wnd_width = document.documentElement.clientWidth; // Opera 9.5 Hack
    var left = (wnd_width - modal_width)/2;
    if(left<0)
        left = 0;
    oModal.style.left =  left + "px";

    oBody.insertBefore(oModal,oBody.firstChild);
    document.addEvent('keydown', modalEvent);

	showImage(img_path);
}

/**
 * Отображение фото, если вставлять код IMG непосредственно при создании
 * окна, то в ИЕ он не загрузиться
 */
function showImage(src, is_slide_mode){
//  console.log('showImage: src=' + src + ' , imageArray.length=' + imageArray.length);
	var last_index, img_index;
	is_slide_mode = (undefined === is_slide_mode) ? false : is_slide_mode;
	$('divLoading').style.display = 'block';
	if($('mediaPicture')){
	  $('mediaPicture').style.display = 'none';
	}
  if(false === (img_index = getImageIndex(src)))
  {
    last_index = imageArray.length;
    imageArray[last_index] = {src: src, imgObject: new Image()};
    imageArray[last_index].imgObject.id = 'mediaPicture';
    imageArray[last_index].imgObject.style.display = 'block';
    imageArray[last_index].imgObject.onload = function(){
        $('divLoading').style.display = 'none';
        removeMySelf($('mediaPicture'));
        $('tdMediaPicture').appendChild(imageArray[last_index].imgObject);
        imageArray[last_index].imgObject.onload = new Function();
    }
    imageArray[last_index].imgObject.src = src + '?' + new Date();
  }
  else
  {
    $('divLoading').style.display = 'none';
    removeMySelf($('mediaPicture'));
    imageArray[img_index].imgObject.style.display = 'block';
    $('tdMediaPicture').appendChild(imageArray[img_index].imgObject);
  }
}

function getImageIndex(src){
	for(var i=0; i<imageArray.length; i++)
	{
		if(imageArray[i].src == src)
			return i;
	}
	return false;
}



function hideAllSelect(){
    var oSel = document.getElementsByTagName("select");
    for(var i=0;i<oSel.length;i++){
        oSel[i].style.visibility = 'hidden';
    }
}

function showAllSelect(){
    var oSel = document.getElementsByTagName("select");
    for(var i=0;i<oSel.length;i++){
        oSel[i].style.visibility = 'visible';
    }
}

function closeModalMessage(){
/*    alert('closeModalMessage');*/
    document.removeEvent('keydown', modalEvent);

    if($('divFlvPlayer')){
        $('divFlvPlayer').parentNode.removeChild($('divFlvPlayer'));
    }

    var oDiv = document.getElementById('modal_shadow');
    if(oDiv){
        oDiv.parentNode.removeChild(oDiv);
    }

    var oDiv = document.getElementById('modal_window');
    if(oDiv){
        oDiv.parentNode.removeChild(oDiv);
    }
    showFlash();
    showAllSelect();
}

function modalEvent(event){
    var event = new Event(event);
    // Close
    if(event.code == Event.keys.esc){
        document.removeEvent('keydown', modalEvent);
        closeModalMessage();
    }

    if('photo' == g_media_type){
        // Ctrl + right
        if(event.code == Event.keys.right && true === event.control ){
            mediaShowNextImage();
        }
        // Ctrl + left
        if(event.code == Event.keys.left && true === event.control ){
            mediaShowPrevImage();
        }
    }
}


function mediaPhotoShowNextPage(){
    if(g_media_photo_list.current_page === g_media_photo_list.last_page){
        return true;
    }
    if(g_media_photo_list.module_name=='news') {
      var btn_prev='news_arrow_left_act.gif'; var btn_prev_dis='news_arrow_left.gif';
      var btn_next='news_arrow_right_act.gif'; var btn_next_dis='news_arrow_right.gif.gif';
    }
    else {
      var btn_prev='media_button_prev.gif'; var btn_prev_dis='media_button_prev_dis.gif';
      var btn_next='media_button_next.gif'; var btn_next_dis='media_button_next_dis.gif';
    }
    var oImg = $('mediaPrevButton');
    //if( /media_button_prev_dis.gif/.test(oImg.src) ){
    if(oImg.src.indexOf(btn_prev_dis)>0) oImg.src = g_base_url + 'img/' + btn_prev;
    g_media_photo_list.current_page = g_media_photo_list.current_page + 1;
    if(g_media_photo_list.current_page === g_media_photo_list.last_page){
        $('mediaNextButton').src =  $('mediaNextButton').src.replace(btn_next, btn_next_dis);
    }
    mediaBuildLiObject();
//    console.log('mediaPhotoShowNextPage: g_media_photo_list.current_page=' + g_media_photo_list.current_page);
}

function mediaPhotoShowPrevPage(){
    if(g_media_photo_list.current_page === 1){
        return true;
    }
    if(g_media_photo_list.module_name=='news') {
      var btn_prev='news_arrow_left_act.gif'; var btn_prev_dis='news_arrow_left.gif';
      var btn_next='news_arrow_right_act.gif'; var btn_next_dis='news_arrow_right.gif.gif';
    }
    else {
      var btn_prev='media_button_prev.gif'; var btn_prev_dis='media_button_prev_dis.gif';
      var btn_next='media_button_next.gif'; var btn_next_dis='media_button_next_dis.gif';
    }
    var oImg = $('mediaNextButton');
    //if( /media_button_next_dis.gif/.test(oImg.src) ){
    if(oImg.src.indexOf(btn_next_dis)>0)  oImg.src = g_base_url + 'img/' + btn_next;
    g_media_photo_list.current_page = g_media_photo_list.current_page - 1;
    if(1 === g_media_photo_list.current_page){
        $('mediaPrevButton').src =  $('mediaPrevButton').src.replace(btn_prev, btn_prev_dis);
    }
    mediaBuildLiObject();
}


/**
 * g_media_photo_preview[page] = {src:[], oImg:[]}
 */
var g_media_photo_preview = new Array();


function mediaBuildLiObject(page){
    var page = g_media_photo_list.current_page;
    var items = new Object();
    var id;
    var is_upload_photo = false;

    if('undefined' === typeof(g_media_photo_preview[page])){
        is_upload_photo = true;
        g_media_photo_preview[page] = {src:[], oImg:[]};
    }

    for(var i=0; i< g_media_photo_list.page_index[page].length; i++){
        id = g_media_photo_list.page_index[page][i];
        items['0' + id] = g_media_photo_list.getItem(id); // for Opera
        if(true === is_upload_photo){
            g_media_photo_preview[page].src.push( g_media_path + g_media_photo_list.getMediaType() + '/' + id  + '_sm.jpg' );
        }
    }
    mediaBuildLiHtml(items);

    if(true === is_upload_photo){
        // loading image
        for(var i=0; i<g_media_photo_preview[page].src.length; i++){
            g_media_photo_preview[page].oImg[i] = new Image(70, 52);
            g_media_photo_preview[page].oImg[i].onload = new Function('showPhotoPreviewImage(this,'+i+','+id+')');
            g_media_photo_preview[page].oImg[i].src = g_media_photo_preview[page].src[i];
        }
    } else{
        // show image
        for(var i=0; i<g_media_photo_preview[page].src.length; i++){
            showPhotoPreviewImage(g_media_photo_preview[page].oImg[i],i,id);
        }
    }
}

function showPhotoPreviewImage(oImg, image_number, media_id){
    $('photoPreview'+image_number).src = oImg.src;
    //$('photoPreview'+image_number).style.backgroundImage = 'url('+oImg.src+')';
    //$('photoPreview'+image_number).style.backgroundPosition = 'top left';
    //$('photoPreview'+image_number).style.backgroundRepeat = 'no-repeat';
}

function mediaBuildLiHtml(items){
    var out = '', count_items=0;
    var n=0; var img='';
    var page = g_media_photo_list.current_page;
    for(var i=g_media_photo_list.page_index[page].length; i<COUNT_PHOTO_ON_PAGE; i++) items['0999' + i]=9999;
    if(g_media_photo_list.module_name=='news') {
      if(g_media_photo_list.current_page==1) img='news_arrow_left.gif';
      else img='news_arrow_left_act.gif';
      out+='<li><a href="javascript:void(0)" onclick="mediaPhotoShowPrevPage()"><img id="mediaPrevButton" src="'+g_base_url+'img/'+img+'" alt="" /></a></li>\n';
      for(var media_id in items){
          media_id = parseInt(media_id, 10);
          n++;
          if(media_id>9990) {
            out += '<li class="full_news_photo_item"><img src="' + g_base_url + 'img/news_photo_none.jpg" style="width:170px;height:124px" alt="" /></li>\n';
          }
          else {
            out += '<li class="full_news_photo_item"><a href="javascript:void(0)" onclick="mediaShowFile(' + media_id + ')"><img src="'+ g_base_url + 'img/news-loader.gif" id="photoPreview'+count_items+'" alt="" style="width:170px;height:124px" /></a></li>\n';
          }
          count_items++;
      }
      if(g_media_photo_list.current_page === g_media_photo_list.last_page) img='news_arrow_right.gif';
      else img='news_arrow_right_act.gif';
      out+='<li><a href="javascript:void(0)" onclick="mediaPhotoShowNextPage()"><img id="mediaNextButton" src="'+g_base_url+'img/'+img+'" alt="" /></a></li>\n';
    }
    else {
      for(var media_id in items){
          media_id = parseInt(media_id, 10);
          n++;
          if(n==4) {
             if(g_media_photo_list.current_page==1) img='media_button_prev_dis.jpg';
             else img='media_button_prev.jpg';
             out+='<li><a href="javascript:void(0)" onclick="mediaPhotoShowPrevPage()"><img id="mediaPrevButton" style="width:70px;height:52px;border:1px solid #FFFFFF" src="'+g_base_url+'img/'+img+'" alt="" /></a></li>\n';
          }
          if(n==5) {
             if(g_media_photo_list.current_page === g_media_photo_list.last_page) img='media_button_next_dis.jpg';
             else img='media_button_next.jpg';
             out+='<li><a href="javascript:void(0)" onclick="mediaPhotoShowNextPage()"><img id="mediaNextButton" style="width:70px;height:52px;border:1px solid #FFFFFF" src="'+g_base_url+'img/'+img+'" alt="" /></a></li>\n';
          }
          if(media_id>9990) {
            out += '<li><img src="' + g_base_url + 'img/projects_photo_none.jpg" alt="" style="width:70px;height:52px" /></li>\n';
          }
          else {
            out += '<li><a href="javascript:void(0)" onclick="mediaShowFile(' + media_id + ')"><img src="'+ g_base_url + 'img/project-loader.gif" id="photoPreview'+count_items+'" alt=""  style="width:70px;height:52px" /></a></li>\n';
          }
          count_items++;
      }
    }
    /*    if(n+1==5) {
           if(g_media_photo_list.current_page === g_media_photo_list.last_page) img='media_button_next_dis.jpg';
           else img='media_button_next.jpg';
           out+='<li><a href="javascript:void(0)" onclick="mediaPhotoShowNextPage()"><img id="mediaNextButton" style="width:70px;height:52px;border:1px solid #FFFFFF" src="'+g_base_url+'img/'+img+'" alt="" /></a></li>\n';
        }

    for(var i=count_items; i<MEDIA_COUNT_PHOTO_ON_PAGE; i++){
        out += '<li><img src="' + g_base_url + 'img/1px.gif" alt="" style="width:70px;height:52px;border:1px solid #FFFFFF" /></li>\n';
    }*/

    $('mediaListItems').innerHTML = out;
}

function mediaShowNextImage(){
    var media_position = arrayPosition(g_media_photo_list.items_index, g_media_id);
    var next_media_position = media_position + 1;

//   console.log('mediaShowNextImage=' + g_media_id + ', media_position=' + media_position + ', last_load_index=' + (g_media_photo_list.items_index.length - 1) );

    if( next_media_position < g_media_photo_list.items_index.length  ){
        var page = Math.ceil((next_media_position+1)/COUNT_PHOTO_ON_PAGE);
        if(page > g_media_photo_list.current_page){
            mediaPhotoShowNextPage();
        }
        mediaShowImage(next_media_position);
    }
}


function mediaShowPrevImage(){
    var media_position = arrayPosition(g_media_photo_list.items_index, g_media_id);
    var prev_media_position = media_position - 1;

//    console.log('mediaShowPrevImage=' + g_media_id + ', media_position=' + media_position);

    if(prev_media_position >= 0){
        var page = Math.ceil((prev_media_position+1)/COUNT_PHOTO_ON_PAGE);
        if(page < g_media_photo_list.current_page){
            mediaPhotoShowPrevPage();
        }
        mediaShowImage(prev_media_position);
    }
}

function mediaShowImage(media_position){
//    console.log('mediaShowImage: media_position = ' + media_position);
    media_id = g_media_photo_list.items_index[media_position];
    g_media_id = media_id;
    media_position = arrayPosition(g_media_photo_list.items_index, media_id);

    $('mediaItemNumber').innerHTML = (media_position + 1) + '/' + g_media_photo_list.count_all;

    var img_desc = g_media_photo_list.items[media_id].desc;
    var img_width = parseInt(g_media_photo_list.items[media_id].width, 10);
    var img_height = parseInt(g_media_photo_list.items[media_id].height, 10);
    var img_path = g_media_path + g_media_photo_list.getMediaType() + '/' + media_id  + '.jpg';
    if(g_module == 'casting') var img_path = g_media_path + g_media_photo_list.getMediaType() + '/' + media_id  + '_1.jpg';

    var document_scroll_width = document.documentElement.scrollWidth;

//    console.log('mediaShowImage: media_id=' + media_id + ', media_position='+media_position + ' , img_path=' + img_path);

    $('mediaPictureDesc').innerHTML = img_desc;
//    $('mediaPicture').style.width = img_width + 'px';
//    $('mediaPicture').style.height = img_height + 'px';
//    $('mediaPicture').src = img_path;
	  showImage(img_path, true);

    var oImgPrev = $('mediaPicturePrev');
    var btn_prev_act='popup_nav_left.gif'; var btn_prev='popup_nav_left_dis.gif';
    var btn_next_act='popup_nav_right.gif'; var btn_next='popup_nav_right_dis.gif';
    if(0 === media_position){
        oImgPrev.onclick = '';
        oImgPrev.className = 'imgNavButtonDisabled';
        oImgPrev.src = g_base_url + 'img/' + btn_prev;
    } else {
        oImgPrev.onclick = new Function('mediaShowPrevImage()');
        if(oImgPrev.src.indexOf(btn_prev)>0) {
            oImgPrev.className = 'imgNavButton';
            oImgPrev.src =  oImgPrev.src.replace(btn_prev, btn_prev_act);
        }
    }

    var oImgNext = $('mediaPictureNext');
    if( (g_media_photo_list.count_all -1) === media_position){
        oImgNext.onclick = '';
        oImgNext.className = 'imgNavButtonDisabled';
        oImgNext.src = g_base_url + 'img/' + btn_next;
    } else {
        oImgNext.onclick = new Function('mediaShowNextImage()');
        if(oImgNext.src.indexOf(btn_next)>0) {
            oImgNext.className = 'imgNavButton';
            oImgNext.src =  oImgNext.src.replace(btn_next, btn_next_act);
        }

    }

    var oModal = $('modal_window');
    var modal_width = img_width;
    var modal_height = img_height;
    if(modal_width <500){
        modal_width = 500;
    };
    if(modal_height <600){
        modal_height = 600;
    };
    oModal.style.width = modal_width + 44 + 'px';
    oModal.style.height = modal_height + 'px';

    $('tdMediaPicture').style.width=img_width+'px';
    $('tdMediaPicture').style.height=img_height+'px';
    //style="width:'+img_width+'px;height:'+img_height+'px"

    var modal_width = parseInt(oModal.style.width, 10);

    // Изображение меньше размеров экрана
    var left = 0;

    var wnd_width = document.documentElement.scrollWidth;
    if(wnd_width > document.documentElement.clientWidth * 2)
        wnd_width = document.documentElement.clientWidth; // Opera 9.5 Hack
    if(oModal.offsetWidth < wnd_width)
        var left = (wnd_width - modal_width)/2;
    oModal.style.left =  left + "px";
}

function arrayPosition(arr, id){
    var pos = -1;
    for(var i = 0; i < arr.length; i++){
        if(arr[i] == id){
            pos = i;
        }
    }
    return pos;
}

/* Video */
// var g_media_video = new Array(); in media_list.php

function mediaVideoShowPreview(media_id,module){
    var oImg = $('mediaVideoPreview');
    var fn_append = '_sm';
    if(module=='casting') fn_append = '';
    var re = new RegExp('/video/' + media_id + fn_append + '.jpg');

    if(false === re.test(oImg.style.background)){
        //$('mediaVideoPreview').style.background = 'url(' + g_media_path + 'video/' + media_id + fn_append + '.jpg' + ') no-repeat left top';
        $('mediaVideoPreview').src = g_media_path + 'video/' + media_id + fn_append + '.jpg';
        $('mediaVideoPreview').onclick = function() { mediaShowVideoPlayer(media_id); };
    }


    for(var i=0; i<g_media_video.length; i++){
        if(g_media_video[i] != media_id){
            $('mediaVideoBt'+g_media_video[i]).className = '';
        }
    }
    $('mediaVideoBt'+media_id).className = 'active';
}


function mediaShowVideoPlayer(media_id, desc, is_show_video_amateur){
    hideFlash();
    hideAllSelect();
    g_media_type = 'video';

    if(undefined === desc){
        var img_desc = $('mediaVideoBt'+media_id).getAttribute('title');
    } else {
        var img_desc = desc;
    }
    if(img_desc == null) img_desc=''; // Opera fix

    var img_path = '';
    var img_width = 300;
    var img_height = 300;
    var media_item_number = 1;

    var oBody = document.body;
    var oShadow = document.createElement('div');
    oShadow.id = 'modal_shadow';
    oShadow.style.height = window.getScrollHeight() + 'px';
    oBody.appendChild(oShadow);

    var oModal = document.createElement('div');
    oModal.id = 'modal_window';

    out = '' +
        '<div class="video_window">' +
            '<div>' +
            	'<div id="divFlvPlayer" style="text-align:center;">' +
            	localization.web_main_non_flash +
            	'</div>' +
            '</div>' +
            '<br/>' +
            '<table border="0" cellpadding="0" cellspacing="0" style="position:relative;width:100%;clear:both"><tr>' +
              '<td id="mediaPictureDesc" style="padding-top: 10px; font-size: 1.4em; color: #ffffff;">&nbsp;' +img_desc+ '</td>' +
              '<td style="text-align: right; padding-top: 10px; padding-right: 40px;"><img onclick="closeModalMessage()" class="imgNavButton" width="42" height="42" src="' +g_base_url+ 'img/popup_close.gif" alt="" /></td>' +
            '</tr></table>' +
        '</div>'
    ;

    oModal.innerHTML = out;
    if(img_width <500){
        img_width = 500;
    };
    if(img_height<600){
        img_height = 600;
    }
    oModal.style.width = img_width + 0 + 'px';
    oModal.style.height = img_height + 'px';

    var modal_width = parseInt(oModal.style.width, 10);
    oModal.style.top = document.documentElement.scrollTop  + 1 + "px";

    var wnd_width = document.documentElement.scrollWidth;
    if(wnd_width > document.documentElement.clientWidth * 2)
        wnd_width = document.documentElement.clientWidth; // Opera 9.5 Hack

    var left = (wnd_width - modal_width)/2;
    if(left<0)
        left = 0;
    oModal.style.left =  left + "px";

    oBody.insertBefore(oModal,oBody.firstChild);
    document.addEvent('keydown', modalEvent);

    var FO = { movie: g_base_url + "img/flvplayer.swf", width:"420", height:"320", majorversion:"7", build:"0", id:"flvPlayer" };
    if(undefined === is_show_video_amateur){
        FO.flashvars = 'file='+ g_media_path + 'video/' + media_id +'.flv&showdigits=true&autostart=true';
    } else {
        FO.flashvars = 'file='+ g_video_amateur_path + media_id +'.flv&showdigits=true&autostart=true';
    }
    var obj = UFO.create(FO, "divFlvPlayer");
}

// ---------------------------------------------------

function showFlash(){
	var flashObjects = document.getElementsByTagName("object");
	for (i = 0; i < flashObjects.length; i++) {
		flashObjects[i].style.visibility = "visible";
	}

	var flashEmbeds = document.getElementsByTagName("embed");
	for (i = 0; i < flashEmbeds.length; i++) {
		flashEmbeds[i].style.visibility = "visible";
	}
}


function hideFlash(){
	var flashObjects = document.getElementsByTagName("object");
	for (i = 0; i < flashObjects.length; i++) {
		flashObjects[i].style.visibility = "hidden";
	}

	var flashEmbeds = document.getElementsByTagName("embed");
	for (i = 0; i < flashEmbeds.length; i++) {
		flashEmbeds[i].style.visibility = "hidden";
	}

}

function toLog(value){
  if($('debugLog'))
  {
    var oDiv = $('debugLog');
    oDiv.innerHTML += value + '<br/>';
  }
  else
  {
    var oDiv = document.createElement('div');
    oDiv.id = 'debugLog';
    oDiv.style.textAlign = 'left';
    oDiv.innerHTML = 'Logging...' + '<br/>';
    document.body.appendChild(oDiv);
    toLog(value);
  }
}

function removeMySelf(id){
    if($(id)){
        $(id).parentNode.removeChild($(id));
        return true;
    }
    return false;
}
