function upper_layer_pos_msg() {
    __upper_layer_pos_back('upper_layer_back');
    __upper_layer_pos_content('upper_layer_content', 100, 100);
}
/*function upper_layer_pos_video() {
    __upper_layer_pos_back('upper_layer_back_video');
    __upper_layer_pos_content('upper_layer_content_video', 800, 600);
}*/
function upper_layer_pos_video(wi, he) {
    __upper_layer_pos_back('upper_layer_back_video');
    __upper_layer_pos_content('upper_layer_content_video', wi, he);
}
/*function upper_layer_pos_photo_album() {
    __upper_layer_pos_back('upper_layer_back_photo_album');
    __upper_layer_pos_content('upper_layer_content_photo_album', 800, 600);
}*/
function upper_layer_pos_photo_album(wi, he) {
    __upper_layer_pos_back('upper_layer_back_photo_album');
    __upper_layer_pos_content('upper_layer_content_photo_album', wi, he);
}
function upper_layer_pos_photo_album_edit() {
    __upper_layer_pos_back('upper_layer_back_photo_album_edit');
    __upper_layer_pos_content('upper_layer_content_photo_album_edit', 800, 600);
}
function upper_layer_pos_editorial() {
    __upper_layer_pos_back('upper_layer_back_editorial');
    __upper_layer_pos_content('upper_layer_content_editorial', 800, 500);
}
function upper_layer_pos_textarea() {
    __upper_layer_pos_back('upper_layer_back_textarea');
    __upper_layer_pos_content('upper_layer_content_textarea', 800, 600);
}
function upper_layer_pos_container() {
    __upper_layer_pos_back('upper_layer_back_container');
    __upper_layer_pos_content('upper_layer_content_container', 800, 600);
}

function upper_layer_video_redim(w, h){
    var upper_layer_content_video = document.getElementById('upper_layer_content_video');
    upper_layer_content_video.style.width = w + 'px';
    upper_layer_content_video.style.height = (h+110) + 'px';

    var details_bg = document.getElementById('details_bg');
    details_bg.style.width = (w-20) + 'px';

    var video_title = document.getElementById('video_title');
    video_title.style.width = w + 'px';

    var close = document.getElementById('close');
    close.style.marginLeft = (w-40) + 'px';

    upper_layer_pos_video(w, h);
}
function upper_layer_show_video(svideo_player_path, svideo_source, svideo_server, svideo_file_path, svideo_title){

    var player_code = '';
    //Dependiendo del origen del archivo...
    if(svideo_source == 1){ //Local
        //player_code = '<embed src="'+svideo_player_path+'?file='+svideo_file_path+'&autoStart=false" width="425" height="350" quality="high" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>';
        player_code = '<a id="flowplayer" href="'+svideo_file_path+'" style="display:block;width:425px;height:300px;"></a>';
    }else{ //Externo
        //Dependiendo del servidor utilizado...
        switch(svideo_server){
            case 'youtube':
                //alert(svideo_file_path);
                //player_code = '<object type="application/x-shockwave-flash" style="width:425px; height:350px;" data="http://www.youtube.com/v/'+svideo_file_path+'"><param name="movie" value="http://www.youtube.com/v/'+svideo_file_path+'" /></object>';
                player_code = '<object type="application/x-shockwave-flash" style="width:425px; height:350px;" data="http://www.youtube.com/v/'+svideo_file_path+'&rel=0"><param name="movie" value="http://www.youtube.com/v/'+svideo_file_path+'&rel=0" /></object>';
                //alert(player_code);
                break;
        }
    }

    var video_object = document.getElementById('video_object');
    if(video_object == null) return;
    var video_title = document.getElementById('video_title');
    if(video_title == null) return;

    //video_object.innerHTML = '<object type=%22application/x-shockwave-flash%22 style=%22width:425px; height:350px;%22 data=%22http://www.youtube.com/v/'+svideo_id+'%22><param name=%22movie%22 value=%22http://www.youtube.com/v/'+svideo_id+'%22 /></object>';
    video_object.innerHTML = player_code;
    video_title.innerHTML = svideo_title;

    upper_layer_pos_video(800, 600);

    upper_layer_show('upper_layer_back_video', 'upper_layer_content_video');

    if(svideo_source == 1){
        //flowplayer("flowplayer", svideo_player_path);
        flowplayer("flowplayer", svideo_player_path,{
        clip: {
          onStart: function(clip) {
            upper_layer_video_redim(clip.metaData.width, clip.metaData.height);
            var wrap = jQuery(this.getParent());
            wrap.css({width: clip.metaData.width, height: clip.metaData.height});
          }
        }
        });
    }else{
      upper_layer_video_redim(425, 350);
    }
}
function upper_layer_hide_video(){
    var video_object = document.getElementById('video_object');
    if(video_object == null) return;
    var video_title = document.getElementById('video_title');
    if(video_title == null) return;
    video_object.innerHTML = '';
    video_title.innerHTML = '';
}
function upper_layer_show_photo_album(s_photo_album_path, s_images, s_descriptions){

    set_album_vars(s_photo_album_path, s_images.split(','), s_descriptions.split(','));

    //upper_layer_pos_photo_album();

    upper_layer_show('upper_layer_back_photo_album', 'upper_layer_content_photo_album');
}
function upper_layer_show_photo_album_edit(s_photo_album_path, s_images){

    var album_conteiner = document.getElementById('upper_layer_content_photo_album_edit_bottom');
    if(album_conteiner == null) return;

    if(album_conteiner.innerHTML.length == 0){
        ar_images = s_images.split(',');
        if(ar_images.length > 0){
            album_conteiner.innerHTML = '<br /><span style="font-weight:bold; font-size:15px;">Haga click encima de las imágenes que quiere marcar para ser eliminadas.</span><br /><br />';
            for(i=0; i<ar_images.length; i++)
                album_conteiner.innerHTML += '<img src="'+s_photo_album_path+'/thumb-'+ar_images[i]+'" alt="photo_'+i+'" class="main_admin_photos_edit_green" style="cursor:pointer;" onclick="switch_className(this, \'main_admin_photos_edit_green\', \'main_admin_photos_edit_red\');document.getElementById(\'hidden_photo_'+i+'\').value = (document.getElementById(\'hidden_photo_'+i+'\').value == 1)?\''+ar_images[i]+'\':1;" />';
        }else{
            album_conteiner.innerHTML = 'No existen elementos.';
        }
    }
    upper_layer_pos_photo_album_edit();

    upper_layer_show('upper_layer_back_photo_album_edit', 'upper_layer_content_photo_album_edit');
}
function upper_layer_show_container(pw, ph){

    /*var container = document.getElementById('upper_layer_content_container_bottom');
    if(container == null) return;
    album_conteiner.innerHTML = html_content;*/

    //Redimensionar
    var container = document.getElementById('upper_layer_content_container');
    if(container != null){
        container.style.width = pw + 'px';
        container.style.height = ph + 'px';
    }
    //Posicionar el pantalla
    upper_layer_pos_container();
    //Mostrar
    upper_layer_show('upper_layer_back_container', 'upper_layer_content_container');
}


function upper_layer_hide(layer_back_id, layer_content_id){
	var back = document.getElementById(layer_back_id);
	var content = document.getElementById(layer_content_id);
	back.style.display = "none";
	content.style.display = "none";
	//document.body.style.overflow = '';
	/*
	- Si se elimina las barras de scroll, al calcular el tamaño de altura para el div transparente, no obtener
    la altura real del documento sino de la ventana, evitando que al hacer click y arrastrar hacia abajo, el
    documento se desplace a pesar de no tener scrolls (lo mismo para el ancho).
	*/
}
function upper_layer_show(layer_back_id, layer_content_id){
	var back = document.getElementById(layer_back_id);
	var content = document.getElementById(layer_content_id);
	back.style.display = "";
	content.style.display = "";
	//document.body.style.overflow = 'hidden';
}

function __upper_layer_pos_back(layer_back_id) {
    var back = document.getElementById(layer_back_id);
    if(back == null) return;

    //back.style.width = document.body.clientWidth + 'px';
    //back.style.height = document.body.scrollHeight + 'px';

    var data = getWindowData();
    back.style.width = data[4] + 'px';
    back.style.height = data[5] + 'px';

    //alert(screen.height);
    //alert(document.body.scrollHeight);
    /*
    - Si no hay scroll. utilizar "document.body.clientHeight". Comprobar también para scroll horizontal.
    */
    //return true;
}
function __upper_layer_pos_content(layer_content_id, pwidth, pheight){
    var content = document.getElementById(layer_content_id);
    if(content == null) return;
//alert(pwidth + ' - ' + pheight);
//alert(content.style.width + ' - ' + content.style.height);
    eleW = (content.style.width == '')?pwidth:content.style.width;
    eleH = (content.style.height == '')?pheight:content.style.height;

    var data = getWindowData();
    eleLeft = data[0]/2+data[2]-parseInt(eleW)/2+'px';
    eleTop = data[1]/2+data[3]-parseInt(eleH)/2+'px';

    if(parseInt(eleTop) < 0)  eleTop = '5px';
    if(parseInt(eleTop)+parseInt(eleH) > 768) eleTop = (parseInt(eleTop) - ((parseInt(eleTop)+parseInt(eleH))-(data[1]+data[3]))-5)+'px';
//alert('01');
//alert(eleW + ' - ' + eleH);
//alert(eleLeft);
    content.style.left = eleLeft;
    //alert('02');
    content.style.top = eleTop;
}


function getWindowData(){
    var widthViewport,heightViewport,xScroll,yScroll,widthTotal,heightTotal;
    if (typeof window.innerWidth != 'undefined'){
        widthViewport= window.innerWidth;
        heightViewport= window.innerHeight;
    }else if(typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth !='undefined' && document.documentElement.clientWidth != 0){
        widthViewport=document.documentElement.clientWidth;
        heightViewport=document.documentElement.clientHeight;
    }else{
        widthViewport= document.getElementsByTagName('body')[0].clientWidth;
        heightViewport=document.getElementsByTagName('body')[0].clientHeight;
    }
    xScroll=self.pageXOffset || (document.documentElement.scrollLeft+document.body.scrollLeft);
    yScroll=self.pageYOffset || (document.documentElement.scrollTop+document.body.scrollTop);
    widthTotal=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth,widthViewport);
    heightTotal=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight,heightViewport);
    return [widthViewport,heightViewport,xScroll,yScroll,widthTotal,heightTotal];
}



function pos_upper_layer(layer_back_id, layer_content_id) {
	pos_upper_layer_back(layer_back_id);
	pos_upper_layer_content(layer_content_id);
}

function pos_upper_layer_back(layer_back_id) {
	var back = document.getElementById(layer_back_id);
	back.style.width = document.body.clientWidth + 'px';
	back.style.height = document.body.scrollHeight + 'px';
	//alert(screen.height);
	//alert(document.body.scrollHeight);
	/*
    - Si no hay scroll. utilizar "document.body.clientHeight". Comprobar también para scroll horizontal.
	*/
}

function pos_upper_layer_content(layer_content_id){
    var content = document.getElementById(layer_content_id);
	/*
    content.style.left = Math.abs(((document.body.clientWidth/2)-100)) + 'px';
	content.style.top = Math.abs(((document.body.clientHeight/2)-100)) + 'px';
	*/

	var dimWH = getWidthHeight();
	var scrollY = getScrollXY()[1];

	var mw = 0;
	var mh = 0;
	if (layer_content_id == 'upper_layer_content_video'){
		mw = 400;
		mh = 250;
	}else{
		mw = 400;
		mh = 250;
	}

    content.style.left = Math.abs(((dimWH[0]/2)-mw)) + 'px';
	content.style.top = Math.abs(((dimWH[1]/2)-mh+scrollY)) + 'px';
}

function getWidthHeight() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return [ myWidth, myHeight ];
}
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

function upper_layer_vimage_change(layer_vimage_id, img_url){

	/*
	//Acondicionar el tamaño del contenedor al de la imágen
	var myImage = new Image();
	myImage.name = img_url;
   	myImage.src = img_url;

	var lcontent = document.getElementById('upper_layer_content');
	lcontent.style.width = myImage.width + 300 + 'px';
	lcontent.style.height = myImage.height + 'px';
	*/

	//Establecer la imágen especificada
	var vimage = document.getElementById(layer_vimage_id);
	vimage.src = img_url;
	//pos_upper_layer('upper_layer_back', 'upper_layer_content');
}















function set_album_vars(s_photo_album_path, ar_images, ar_descriptions){
    NumberOfImages = ar_images.length;
    img = ar_images;
    txt = ar_descriptions;
    imgNumber = 0;
    photo_album_path = s_photo_album_path;
    //Establecer el álbum en la primera imagen
    photo_album_set_image(0);
}
function preload_album(s_images_path, s_images){

    alert('pasa');
    alert(document.images);
    if (document.images) {
        alert('pasa1');
        ar_images = s_images.split(',');
        num_images = ar_images.length;
        preload_image_object = new Image();
        var i = 0;
        for(i=0; i<= num_images; i++){
            preload_image_object.src = s_images_path+'/'+ar_images[i];
            //alert(preload_image_object.src);
        }
    }
}
function NextImage() {
    imgNumber++;
    if (imgNumber == NumberOfImages) imgNumber = 0;
    //document.getElementById('photo_album_image').src = photo_album_path+'/'+img[imgNumber];
    //document.getElementById('photo_album_description').innerHTML = txt[imgNumber];
    photo_album_set_image(imgNumber);
}
function PreviousImage() {
    imgNumber--;
    if (imgNumber < 0) imgNumber = NumberOfImages - 1;
    //document.getElementById('photo_album_image').src = photo_album_path+'/'+img[imgNumber];
    //document.getElementById('photo_album_description').innerHTML = txt[imgNumber];
    photo_album_set_image(imgNumber);
}
function photo_album_set_image(number){

    imgNumber = number;
    //document.getElementById('photo_album_image').src = photo_album_path+'/'+img[number];
    document.getElementById('photo_album_description').innerHTML = 'Cargando...';

    var onComplete = 'photo_album_redim('+number+');';
    iLoadTask(photo_album_path+'/'+img[number], onComplete);

/*
    limg = iLoad(photo_album_path+'/'+img[number]);
    var h = limg.height;
    var w = limg.width;

    var upper_layer_content_photo_album = document.getElementById('upper_layer_content_photo_album');
    upper_layer_content_photo_album.style.width = w + 'px';
    upper_layer_content_photo_album.style.height = h + 'px';

    var details_bg = document.getElementById('details_bg');
    details_bg.style.width = (w-20) + 'px';

    var photo_album_description = document.getElementById('photo_album_description');
    photo_album_description.style.width = w + 'px';

    var close = document.getElementById('close');
    close.style.marginLeft = (w-40) + 'px';

    upper_layer_pos_photo_album(w, h);
*/
}
function photo_album_redim(number){
    document.getElementById('photo_album_image').src = photo_album_path+'/'+img[number];
    document.getElementById('photo_album_description').innerHTML = txt[number];

    var limg = new Image();
    limg.src = photo_album_path+'/'+img[number];
    var h = limg.height;
    var w = limg.width;

    var upper_layer_content_photo_album = document.getElementById('upper_layer_content_photo_album');
    upper_layer_content_photo_album.style.width = w + 'px';
    upper_layer_content_photo_album.style.height = h + 'px';

    var details_bg = document.getElementById('details_bg');
    details_bg.style.width = (w-20) + 'px';

    var photo_album_description = document.getElementById('photo_album_description');
    photo_album_description.style.width = w + 'px';

    var close = document.getElementById('close');
    close.style.marginLeft = (w-40) + 'px';

    upper_layer_pos_photo_album(w, h);
}

var iLoadTimer = null;
var iLoadisrc = '';
function iLoad(isrc) {
    var oImg = new Image();
    oImg.src = isrc;
    if (oImg.complete) {
        clearTimeout(iLoadTimer);
        return oImg;
    }
    else {
        iLoadTimer = setTimeout(function() { iLoad(isrc); }, 500);
    }
}
function iLoadTask(isrc, onComplete) {
    var oImg = new Image();
    oImg.src = isrc;
    if (oImg.complete) {
        clearTimeout(iLoadTimer);
        iLoadTimer = null;
        eval(onComplete);
    }else{
        iLoadTimer = setTimeout(function() { iLoadTask(isrc, onComplete); }, 500);
    }
}

/*
function iLoad(isrc) {
    var oImg = new Image();
    oImg.src = isrc;

    if (oImg.complete) {
        window.alert(oImg.src + ' ' + oImg.width + ' x ' + oImg.height);
    }
    else {
        window.setTimeout('iLoad(imgsrc)', 1000);
    }
}
*/
