
function $(id)
{
    return document.getElementById(id);
}

function construct()
{
    PedidoGaleria.startRequest();
}

function getElementsByClassName(classname, node) 
{
    if(!node) node = document.getElementsByTagName("body")[0];
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    for(var i=0,j=els.length; i<j; i++)
    if(re.test(els[i].className))a.push(els[i]);
    return a;
}

function DisplayMenu(element, img)
{
	if (element)
	{
		element.src = img;
	}
}

function GetPageWidth()
{
	 var viewportwidth;
	 if (typeof window.innerWidth != 'undefined')
	 {
		  viewportwidth = window.innerWidth;
	 }
	 else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0)
	 {
		  viewportwidth = document.documentElement.clientWidth;
	 }
	 else
	 {
		  viewportwidth = document.getElementsByTagName('body')[0].clientWidth;
	 }
	 return viewportwidth;
}

function GetPageHeight()
{
	var pageheight = document.getElementsByTagName('body')[0].clientHeight;
	var windowheight = GetWindowHeight();
	if (pageheight < windowheight)
	{
		return windowheight;
	}
	else
	{
		return pageheight;
	}
}

function GetWindowHeight()
{
	 var viewportheight;
	 if (typeof window.innerHeight != 'undefined')
	 {
		  viewportheight = window.innerHeight;
	 }
	 else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientHeight != 'undefined' && document.documentElement.clientHeight != 0)
	 {
		  viewportheight = document.documentElement.clientHeight;
	 }
	 else
	 {
		  viewportheight = document.getElementsByTagName('body')[0].clientHeight;
	 }
	 return viewportheight;
}

function OpenModalDiv(idmodaldiv)
{
	var modaldivbg = document.getElementById(idmodaldiv + 'Bg');
	var modaldiv = document.getElementById(idmodaldiv);
	if (modaldiv && modaldivbg)
	{
		document.getElementsByTagName("html")[0].style.overflow = "hidden";
		modaldivbg.style.width = GetPageWidth() + 'px';
		modaldivbg.style.height = GetPageHeight() + 'px';
		modaldivbg.style.display = 'block';
		modaldiv.style.display = 'block';
		modaldiv.style.left = ((GetPageWidth() / 2) - (modaldiv.offsetWidth / 2)) + 'px';
		modaldiv.style.top = (((GetWindowHeight() / 2) - ((modaldiv.offsetHeight) / 2)) + f_scrollTop()) + 'px';
	}
}



function OpenModalDiv2(idmodaldiv, idbg)
{
	var modaldivbg = document.getElementById(idbg);
	var modaldiv = document.getElementById(idmodaldiv);
	if (modaldiv && modaldivbg)
	{
		document.getElementsByTagName("html")[0].style.overflow = "hidden";
		modaldivbg.style.width = GetPageWidth() + 'px';
		modaldivbg.style.height = GetPageHeight() + 'px';
		modaldivbg.style.display = 'block';
		modaldiv.style.display = 'block';
		modaldiv.style.left = ((GetPageWidth() / 2) - (modaldiv.offsetWidth / 2)) + 'px';
		modaldiv.style.top = (((GetWindowHeight() / 2) - ((modaldiv.offsetHeight) / 2)) + f_scrollTop()) + 'px';
	}
}

function CloseModalDiv(idmodaldiv)
{
	var modaldivbg = document.getElementById(idmodaldiv + 'Bg');
	var modaldiv = document.getElementById(idmodaldiv);
	if (modaldiv && modaldivbg)
	{
		modaldivbg.style.display = 'none';
		modaldiv.style.display = 'none';
		document.getElementsByTagName("html")[0].style.overflow = "scroll";
	}
}

function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}

function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

var arrEllipsisFallados = [];

function Ellipsis(id, height, add, complete)
{
    var contenedor = document.getElementById(id);
    if (contenedor)
    {
        if (contenedor.offsetHeight == 0)
        {
            var element = {
                "id" : id,
                "height" : height,
                "add" : add,
                "complete" : complete
            }
            arrEllipsisFallados.push(element);
        }
        else
        {
            if (complete)
            {
                contenedor.innerHTML += ' ';
                if (contenedor.offsetHeight < height)
                {
                    while (contenedor.offsetHeight < height)
                    {
                        contenedor.innerHTML += '&nbsp;<br/>';
                    }
                }
            }
            
            if (contenedor.offsetHeight > height)
            {
                while(contenedor.offsetHeight > height)
                {
                    SetInnerText(contenedor,GetInnerText(contenedor).substr(0,GetInnerText(contenedor).length-1));
                }
                
                if (add != '')
                {
                    var elementaux = document.createElement("div");
                    elementaux.innerHTML = add;
                    var addtext = GetInnerText(elementaux);
                    SetInnerText(contenedor, GetInnerText(contenedor) + addtext );
                    while (contenedor.offsetHeight > height)
                    {
                        SetInnerText(contenedor, GetInnerText(contenedor).substr(0,GetInnerText(contenedor).length - (addtext.length + 1)));
                        SetInnerText(contenedor, GetInnerText(contenedor) + addtext );
                    }
                    SetInnerText(contenedor, GetInnerText(contenedor).substr(0,GetInnerText(contenedor).length - addtext.length));
                }
                
                SetInnerText(contenedor, GetInnerText(contenedor).substr(0, GetInnerText(contenedor).length-4));
                SetInnerText(contenedor, GetInnerText(contenedor) + '...');
                
                if (add != '')
                {
                    contenedor.innerHTML = contenedor.innerHTML + ' ' +  add;
                }
            }
            else
            {
                if (add != '')
                {
                    contenedor.innerHTML = contenedor.innerHTML + ' ' +  add;
                }
            }
        }
    }
}

function SetInnerText(object, value)
{
    if(document.all)
    {
        object.innerText = value;
    } 
    else
    {
        object.textContent = value;
    }
}

function GetInnerText(object)
{
    if(document.all)
    {
        return object.innerText;
    } 
    else
    {
        return object.textContent;
    }
}


function RemoveElement(id)
{
    var element = document.getElementById(id);
    if (element)
    {
        var parent = element.parentNode;
        if (parent)
        {
            parent.removeChild(element);
        }
    }
}


function OpenActivityDescription(button, idactividad)
{
    var descripcionactividad = document.getElementById(idactividad);
    if (descripcionactividad)
    {
        if (descripcionactividad.style.display == 'none')
        {
            var x = 0;
	        var y = 0;
        	var btn = button;
	        while(button.offsetParent && String(button).indexOf('HTMLBodyElement') == -1)
	        {
		        x += button.offsetLeft;
	            y += button.offsetTop;
	            button = button.offsetParent;
	        }
        	
	        var formsstatus = getElementsByClassName('actividaddescripcion');
	        if (formsstatus)
	        {
		        for (var i = 0; i<formsstatus.length; i++)
		        {
			        formsstatus[i].style.display = 'none';
		        }
	        }
        	
	        var formstatus = document.getElementById(idactividad);
	        if (formstatus)
	        {
	            /*el 282 es el ancho de la caja*/
	            var anchototal = x + btn.offsetWidth + 282;
	            if (anchototal > GetPageWidth())
	            {
	                formstatus.style.top = (y + btn.offsetHeight) + 'px';
		            formstatus.style.left = (x + btn.offsetWidth - btn.offsetWidth - 282) + 'px';
		            formstatus.style.display = 'block';
	            }
	            else
	            {
	                formstatus.style.top = (y + btn.offsetHeight) + 'px';
		            formstatus.style.left = (x + btn.offsetWidth) + 'px';
		            formstatus.style.display = 'block';
	            }
	        }
        }
        else if (descripcionactividad.style.display == 'block')
        {
            descripcionactividad.style.display = 'none';
        }
    }

    
}

function RecorrerURLYouTube(iframe, id)
{
    if(iframe.length > 0)
    {
        iframe = '<div style="position:absolute;top:4px;left:13px"><iframe width="326"' + ' height="244"' + iframe.substring(iframe.lastIndexOf(" src="),iframe.length) + '</div>';
    }
    $(id).innerHTML = iframe;
}
function RecorrerURLYouTubeChico(iframe, id)
{
    iframe = '<div style="position:absolute;top:30px;left:20px"><iframe width="271"' + ' height="203"' + iframe.substring(iframe.lastIndexOf(" src="),iframe.length) + '</div>';
    $(id).innerHTML = iframe;
}
function RecorrerURLYouTubeGrande(iframe, id)
{
    iframe = '<div style="position:absolute;top:10px;left:10px"><iframe width="571"' + ' height="370"' + iframe.substring(iframe.lastIndexOf(" src="),iframe.length) + '</div>';
    $(id).innerHTML += iframe;
}

function cortarTexto(id,largo)
{
    var texto = $(id).innerHTML;
    var aux;
    if (texto.length > largo)
    {
        aux = GetInnerText($(id)).substring(0,largo); //+ "...";
        $(id).innerHTML = aux.substr(0,aux.lastIndexOf(" ")) + "...";
    }
    else
    {
        if (texto.length > 20)
        {
            $(id).innerHTML = texto.substr(0,texto.lastIndexOf(" ")) + "...";
            if(texto.substr(0,texto.lastIndexOf(" ")).length == 0)
            {
                $(id).innerHTML= texto;
            }
        }
        else
        {
            $(id).innerHTML = "";
        }
    }
}
function SetInnerText(object, value)
{
    if(document.all)
    {
        object.innerText = value;
    } 
    else
    {
        object.textContent = value;
    }
}

function GetInnerText(object)
{
    if(document.all)
    {
        return object.innerText;
    } 
    else
    {
        return object.textContent;
    }
}

function search()
{
    var btnSearch = document.getElementsByClassName('TextBuscar')[0];
    if (btnSearch.value.length < 3) {
        var msg = document.getElementById('hidErrorSearch').value;
        alert(msg);
        btnSearch.value = '';
        btnSearch.focus();
        return false;
    }
    return true;
}
