
function openImageWindow(src) {
	if(src=="")
		return false;
	var theImage = new Image();
	theImage.src = src;
	var heightWidth = "";
	if(theImage.width)
		heightWidth += "height="+(theImage.height+40)+",";
	else
		heightWidth += "height=600,";
	if(theImage.height)
		heightWidth += "width="+(theImage.width+40)+",";
	else
		heightWidth += "width=800,";

	window.open(src,'',heightWidth+'status=no,toolbar=no,menubar=no,location=no,resizable=yes,scrollbars=yes');
        return false;
}

function shortenURL(the_url,href_id,callback_function)
{
    var url_element = document.getElementById(href_id);
    if(the_url=='' || (!url_element && callback_function==''))
    {
        return;
    }
    AjaxRequest.get(
    {
    'url':"http://api.bit.ly/shorten?version=2.0.1&longUrl="+the_url+"&login=mnmbitly&apiKey=R_35356b38c47c35d2d00126378867898e&format=xml"
    ,'onSuccess':function(req) {
        xmldom = req.responseXML;
        var xml_status;

        if(xmldom)
        {
            if((xml_status = xmldom.getElementsByTagName('statusCode')))
            { //alert((typeof xml_status));
                var success = (xml_status.length>0?xml_status[0].nodeValue:'');

                if(!success || success!='OK')
                {
                    xml_status = false;
                } else
                {
                    var short_url = xmldom.getElementsByTagName('shortUrl');
                    if(short_url)
                    {
                        if(url_element)
                        {
                            url_element.href = short_url[0].nodeValue;
                            url_element.innerHTML = short_url[0].nodeValue;
                        }                        
                    } else
                    {
                        xml_status = false;
                    }
                }
            }
        }

        if(!xml_status)
        {
            url_element.href = "javascript:alert('There was an error in generating the short url: "+the_url+", please try again later');"
            url_element.innerHTML = "URL generation error";
        }
    }
    ,'timeout':5000
    ,'onTimeout':function(){ 
        alert('URL generation timed out, please try again.');}
    ,'onError':function(){ 
        alert('There was an error in generating the short url: '+the_url+', please try again later');}
    }
    );
}

function openWindow(src,height,width) {
    if(src=="")
    {
        return false;
    }

    var heightWidth = '';
    if(!height && height!='')
    {
        heightWidth = 'height='+600+',';
    } else
    {
        heightWidth = 'height='+height+',';
    }
    if(!width && width!='')
    {
        heightWidth += 'width='+990+',';
    } else
    {
        heightWidth = 'width='+width+',';
    }

    window.open(src,'',heightWidth+'status=yes,toolbar=yes,menubar=yes,location=yes,resizable=yes,scrollbars=yes');
    return false;
}

function restrictCharacterLength(evt,element,max_chars)
{
    if(max_chars && element && element.value.length >= max_chars)
    {
        var keycode;
        if(window.event) // IE
        {
            keycode = evt.keyCode
        }
        else if(evt.which) // Netscape/Firefox/Opera
        {
            keycode = evt.which
        }
        //block alphabet/digit keys from being pressed
        if(keycode != 8 && keycode != 46 && keycode != 224 && keycode != 17
            && (keycode < 37 || keycode > 40) && (keycode < 16 || keycode > 18))
        {
            return false;
        }
    }
    return true;
}

function countCharacters(form_input,container_id,field_total,countdown)
{
    if(typeof(form_input)!= "object" && typeof(document.getElementById(container_id)) != "object") {
        return;
    }

    var container = document.getElementById(container_id);
    field_total = parseInt(field_total);

    if(countdown==true) {
        total = field_total - (form_input.value.length);
        if(total<0) {
            total = 0;
        }
    } else {
        total = field_total + (form_input.value.length);
    }

    container.innerHTML = total;
}

function getUrlGetValue( name, url )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var my_url = (!url ? window.location.href : url);
  if(my_url.length<=0)
  {
      return "";
  }
  var results = regex.exec( my_url );
  if( results == null )
    return "";
  else
    return results[1];
}


function getFilterContainerHeight(div_properties)
{
    var div_id = div_properties[0];
    var collapse_height = div_properties[1];
    var additional_height = div_properties[2];
    additional_height = additional_height<0?0:additional_height;
    //window.status = 'addt_height='+additional_height+';collapse_height='+collapse_height;
    var div_element = document.getElementById(div_id);
    if(div_element)
    {
       var region = YAHOO.util.Region.getRegion(div_element);
       if(region)
       {
           var new_height = collapse_height+additional_height+52;
           if(new_height<=region.height)
           {              
                _SITE_FILTER_CONTAINER_HEIGHT = (region.height<0 ? 0 : (region.height+32));
           } else
           {              
                _SITE_FILTER_CONTAINER_HEIGHT = new_height;
           }
           collapse_height = (!collapse_height || collapse_height==''?0:parseInt(collapse_height));
            if(getUrlGetValue('tid')=='' && _SITE_FILTER_CONTAINER_HEIGHT > collapse_height)
            {
                div_element.style.overflow = 'hidden';
                div_element.style.height = collapse_height+'px';
                var div_link = document.createElement('a');
                div_link.id = 'toggle_div';                
                div_link.href = "javascript:toggleExpand('"+div_link.id+"','"+div_id+"','"+collapse_height+"');";
                div_link.innerHTML = "more";
                div_element.parentNode.appendChild(div_link);
                //div_element.style.padding = '0';
                //div_element.style.visibility = 'hidden';
            }
       }
    }
}


function toggleExpand(toggle_text,div_id,collapse_height)
{
    var div_element = document.getElementById(div_id);
    var toggle_element = document.getElementById(toggle_text);
    if(!div_element || !toggle_element)
    {
        alert('The element to expand/collapse could not be found');
        return;
    }

    if(isNaN(_SITE_FILTER_CONTAINER_HEIGHT))
    {
       return;
    }

    var my_from;
    var my_to;
    //var collapse;
    collapse_height = (!collapse_height || collapse_height==''?0:parseInt(collapse_height));
    //collapse
    if(YAHOO.util.Region.getRegion(div_element).height > collapse_height)
    {
        my_from = _SITE_FILTER_CONTAINER_HEIGHT;
        my_to = collapse_height;
        toggle_element.innerHTML = 'more';
        //div_element.style.padding = '0';
        //div_element.style.visibility = 'hidden';
        //collapse = true;
        
    } else
    //expand
    {
        my_from = collapse_height;
        my_to = _SITE_FILTER_CONTAINER_HEIGHT;
        toggle_element.innerHTML = 'less';
        //div_element.style.padding = '8px 0px 8px 0px';
        //collapse = false;
        //setExpandValue(1);
    }

    var stretch_attributes = {
        height: { from: my_from, to: my_to }
    };

    var stretch_anim = new YAHOO.util.Anim(div_id, stretch_attributes, 1);
    stretch_anim.animate();

}


function cancelForm(url,confirm_text)
{
    if(url=='')
    {
        return false;
    }

    confirm_text = (confirm_text!=''?confirm_text:'Please Confirm');
    if(confirm(confirm_text))
    {
        window.location.href = url;
    }
    return false;
}

function loadXMLDOM(txt)
{
    var xmlDoc;
    try //Internet Explorer
    {
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async="false";
        xmlDoc.loadXML(txt);
        return xmlDoc;
    }
    catch(e)
    {
        try //Firefox, Mozilla, Opera, etc.
        {
            var parser=new DOMParser();
            xmlDoc=parser.parseFromString(txt,"text/xml");
            return xmlDoc;
        }
        catch(e)
        {
            alert(e.message)
        }
    }
    return null;
}

function getNodeCDATA(node)
{
    if (node.hasChildNodes())
    {
        //crsXMLDOM.getText(node); //firefox & IE
        var node2=node.firstChild;
        while ((node2) && (node2.nodeType!=4))
            node2=node2.nextSibling;
        if ((node2) && (node2.nodeType==4))
            return node2; //encontrou CDATA
    }
    return null;
}

function getFormattedFileSize(size, decimal_places)
{
    if(!size || size==='')
    {
        return 'n/a';
    }
    if(!decimal_places || decimal_places=='')
    {
        decimal_places = 2;
    }
    //var units = new Array(" b"," kb"," mb"," gb")
    size = parseInt(size);
    if( size < 1024 )
    {
            return size + ' b';
    }
    else if( size < 1048576 )
    {
            return ((size / 1024).toFixed(decimal_places)) + ' kb';
    }
    else if( $size < 1073741824 )
    {
            return ((size / 1048576).toFixed(decimal_places)) + ' mb';
    }

    return ((size / 1073741824).toFixed(decimal_places)) + ' gb';
}

function selectImageCheckboxes(option_id,checkbox_name,select_checkbox)
{
    var selectObj;
    var value = '';
    if(option_id!='')
    {
        if((selectObj = document.getElementById(option_id)))
        {
            value = selectObj.options[selectObj.selectedIndex].value;
        }
    } 
    select_checkbox = document.getElementById(select_checkbox);

    if((option_id!='' && !selectObj) || !select_checkbox)
    {
        return;
    }

    //set the toggle (for checked or unchecked)    
    select_checkbox.checked = (select_checkbox.checked == true ? false : true);
    var select = select_checkbox.checked;

    var elements = document.getElementsByName(checkbox_name);

    for(var i=0; i<elements.length; i++)
    {
        if(value=='public')
        {
            if(elements[i].title == 'public')
            {
                elements[i].checked = select;
            } else
            {
                elements[i].checked = false;
            }
        } else if(value=='private')
        { 
            if(elements[i].title == 'private')
            {
                elements[i].checked = select;
            } else
            {
                elements[i].checked = false;
            }
        } else
        {
            elements[i].checked = select;
        }
    }
}

function selectEditAvatar(path)
{
    if(path=='')
    {
        alert('No path is available to set for this avatar');
    }
    var selected_avatar = document.getElementById('selected_avatar');
    if(!selected_avatar)
    {
        return;
    }
    selected_avatar.style.width = '';
    selected_avatar.style.height = '';
    selected_avatar.style.border = 'none';
    selected_avatar.innerHTML = '<img src="'+path+'" alt="" />';
}

function toggleView(div_id,toggle_link_id)
{
    var div;
    var toggle_link;
    div = document.getElementById(div_id);
    toggle_link = document.getElementById(toggle_link_id);
    if(div && toggle_link)
    {
        if(div.style.display=='none' || div.style.display=='')
        {
            div.style.display = 'block';
            toggle_link.innerHTML = 'Collapse';
        } else
        {
            div.style.display = 'none';
            toggle_link.innerHTML = 'Expand';
        }
    }
}

function stripHTML(oldString)
{
    return oldString.replace(/<&#91;^>&#93;*>/g, ""); 
}