//Left Trim
function ltrim ( s )
{
	return s.replace( /^\s*/, "" );
}
//Right Trim
function rtrim ( s )
{
	return s.replace( /\s*$/, "" );
}
//Trim
function trim ( s )
{
	return rtrim(ltrim(s));
}

// Funcion de la sección de añadir tags/logarse para añadir tags.
function seccion_tags(id, cod)
{
	var vrandom = '&rnd=' + Math.floor(Math.random()*1000001);
    load_url = '/miatrapalo/do_ajax_tags?action=seccion_tags&id_producto=' + id + '&cod_producto=' + cod + vrandom;

    YAHOO.util.Connect.asyncRequest("get", load_url, {
          timeout: 10000,
          success: function(o) {
             $('div_tags').innerHTML = o.responseText;
             return true;
          },
          failure: function() {
             return false;
          }
        });
}

// Funcion para obtener la nube de tags.
function seccion_nube_tags(id, cod, primera)
{
	var vrandom = '&rnd=' + Math.floor(Math.random()*1000001);
    load_url = '/miatrapalo/do_ajax_tags?action=seccion_nube_tags&id_producto=' + id + '&cod_producto=' + cod + vrandom;

    YAHOO.util.Connect.asyncRequest("get", load_url, {
          timeout: 10000,
          success: function(o) {
             $('div_nube_tags').innerHTML = o.responseText;
             if (primera)
             {
                    $('mis_tags_borrar').style.display='none';
             }
             return true;
          },
          failure: function() {
             return false;
          }
        });
}

function abrir_edicion_tag()
{
    $('div_tags').style.display='none';
}

function cerrar_edicion_tag()
{
    $('mis_tags_borrar').style.display='none';
    $('div_tags').style.display='block';
    $('div_edicion_tags').innerHTML = '';
}

// Seccion de edicion de tags.
/*
var panel_editar_tags;

function editarTags(producto, id, ambito)
{
    if(isObject(panel_editar_tags)) panel_editar_tags.destroy();

    var vrandom = Math.floor(Math.random()*1000001);

    panel_editar_tags = new YAHOO.widget.Panel("panel_editar_tags",
    {
        width:'400px',
        height:'400px',
        underlay:"shadow",
        close:true,
        draggable:false,
        fixedcenter:true,
        modal:true,
        // iframe:true,
        constraintoviewport: true,
        zIndex:1000
    });

    load_url = '/miatrapalo/do_ajax_tags?action=editar_tags&rnd=' + vrandom + '&producto=' + producto + '&id=' + id + '&ambito=' + ambito;
    YAHOO.util.Connect.asyncRequest("GET", load_url, {
        timeout: 10000,
        success: function(o) {
            panel_editar_tags.setHeader('EDITAR TAGS');
            panel_editar_tags.setBody(o.responseText);
            panel_editar_tags.render(document.body);
        },
        failure: function() {
            return false;
        }
        });
}
*/

function editarTags(producto, id, ambito)
{
    var vrandom = Math.floor(Math.random()*1000001);

    // Mostrar tags a borrar.
    $('mis_tags_borrar').style.display='block';

    load_url = '/miatrapalo/do_ajax_tags?action=editar_tags&rnd=' + vrandom + '&producto=' + producto + '&id=' + id + '&ambito=' + ambito;
    YAHOO.util.Connect.asyncRequest("GET", load_url, {
        timeout: 10000,
        success: function(o) {
            $('div_edicion_tags').innerHTML = o.responseText;
        },
        failure: function() {
            return false;
        }
    });
}

function setTag(tag)
{
    if ($('tags').value)
        $('tags').value = $('tags').value + ', ' + tag;
    else
        $('tags').value = tag;
}

function getTags(producto, id, ambito)
{
    var vrandom = Math.floor(Math.random()*1000001);
    load_url = '/miatrapalo/do_ajax_tags?action=get_tags&rnd=' + vrandom + '&producto=' + producto + '&id=' + id + '&ambito=' + ambito;
    YAHOO.util.Connect.asyncRequest("GET", load_url, {
        timeout: 10000,
        success: function(o) {
            $('tags').value = o.responseText;
        },
        failure: function() {
            $('tags').value = '';
        }
    });
}

function getMisTags(producto, id, ambito)
{
    var vrandom = Math.floor(Math.random()*1000001);
    load_url = '/miatrapalo/do_ajax_tags?action=get_mis_tags&rnd=' + vrandom + '&producto=' + producto + '&id=' + id + '&ambito=' + ambito;
    YAHOO.util.Connect.asyncRequest("GET", load_url, {
        timeout: 10000,
        success: function(o) {
            $('mis_tags').innerHTML = o.responseText;
        },
        failure: function() {
            $('mis_tags').innerHTML = '';
        }
    });
}

function getTagsPopulares(producto, ambito)
{
    var vrandom = Math.floor(Math.random()*1000001);
    load_url = '/miatrapalo/do_ajax_tags?action=get_tags_populares&rnd=' + vrandom + '&producto=' + producto + '&ambito=' + ambito;
    YAHOO.util.Connect.asyncRequest("GET", load_url, {
        timeout: 10000,
        success: function(o) {
            $('tags_populares').innerHTML = o.responseText;
        },
        failure: function() {
            $('tags_populares').innerHTML = '';
        }
    });
}

function guardarTags(producto, id, tags)
{
    if(tags.length > 600)
    {
        alert('Demasiados tags introducidos');
        return false;
    }
    if(tags.length == 0)
    {
        alert('Hay que introducir un tag');
        return false;
    }
    if(tags.replace(/([, ])+/i, '').length == 0)
    {
        alert('Hay que introducir un tag');
        return false;
    }
    if(tags.indexOf("'") != -1 || tags.indexOf('"') != -1 ||tags.indexOf('\\')!=-1)
    {
    	alert('Los tags no pueden incluir comillas.');
    	return false;
    }
    
    palabras_tag = tags.split(',');

	for (var i=0; i < palabras_tag.length; i++)
	{
	   var dummy = trim(palabras_tag[i]);
	   dummy = dummy.split(" ");
	   if (dummy.length > 3)
	   {
	       alert('Hay mas de 3 palabras por tag o has puesto espacios en blanco: '+palabras_tag[i]+'\nUn tag puede contener un máximo de 3 palabras seguidas.');
		   return false;		       
	   }
	}
	
    var vrandom  = Math.floor(Math.random()*1000001);
    var ambito   = $('ambito').value;
    var load_url = '/miatrapalo/do_ajax_tags';
    var tags     = tags.replace(/\+/g, 'signomas');
    var params   = 'action=add_tags&producto=' + producto + '&id=' + id + '&ambito=' + ambito + '&tags=' + tags + '&rnd=' + vrandom;

    YAHOO.util.Connect.asyncRequest("POST", load_url, {
         timeout: 20000,
         success: function(o) {
            if (!o.responseText) alert('Operación no disponible');
            else
            {
                if (o.responseText == 'No session')
                {
                    alert('Debe estar logado para realizar esta operación');
                }
                else
                {
                    // alert(o.responseText);
                    $('tags').value = '';
                    // Actualizar nube.
                    seccion_nube_tags(id, producto, false);
                    // Actualizar populares
                    getTagsPopulares(producto, ambito);
                }
            }
         },
         failure: function() {
            alert('Operación no disponible');
            return false;
         }
    }, params);

    return false;
}

function borraTag(producto, id, tag)
{
    var vrandom = Math.floor(Math.random()*1000001);
    var ambito = $('ambito').value;
    load_url = '/miatrapalo/do_ajax_tags?action=delete_tag&rnd=' + vrandom + '&producto=' + producto + '&id=' + id + '&tag=' + tag;
    YAHOO.util.Connect.asyncRequest("GET", load_url, {
        timeout: 10000,
        success: function(o) {
            // Actualizar nube.
            seccion_nube_tags(id, producto, false);
            // Actualizar populares
            getTagsPopulares(producto, ambito);
            alert(o.responseText);
        },
        failure: function() {
            alert('Operación no disponible');
        }
    });
}

function cambiarAmbito(producto)
{
    var ambito = $('ambito').value;
    getTagsPopulares(producto, ambito);
}