﻿// JScript File
    //var address = "_address\"]";
var address = "_direccion\"]";
//var textoEnlace = "_text[/";
var textoEnlace = "_texto[/";



function guardarCursor(oControl)
{
	if (oControl.createTextRange) 
		oControl.caretPos = document.selection.createRange().duplicate()
}

function insertarEn (sAccion, oControl, actionType)
{
   	if(actionType == "tool")
	{
		oControl = document.getElementById(oControl)
		oControl.focus()
		guardarCursor(oControl)
		if (oControl.createTextRange && oControl.caretPos)
		{
			var posCursor  = oControl.caretPos;
			posCursor.text = posCursor.text.charAt(posCursor.text.length - 1) == ' ' ? "[" + sAccion + "]" + posCursor.text +"[/" + sAccion + "]" + ' ' : "[" + sAccion + "]" + posCursor.text + "[/" + sAccion + "]"
		}
		else
		{
			if (oControl.selectionEnd && (oControl.selectionStart || oControl.selectionStart == 0))
				insertaFireFox(oControl, "[" + sAccion +"]", "[/" + sAccion + "]")
			else		
				oControl.value  += "[" + sAccion +"][/" + sAccion + "]"
		}
		
		oControl.focus()
		guardarCursor(oControl)
	}
	else
	{
	  
		oControl = document.getElementById(oControl)
		oControl.focus()
		guardarCursor(oControl)	   
		if (oControl.createTextRange && oControl.caretPos)
		{
			var posCursor  = oControl.caretPos;
			posCursor.text = sAccion + " ";
		}
		else
		{
			if (oControl.selectionEnd && (oControl.selectionStart || oControl.selectionStart == 0))
				insertaFireFox(oControl, sAccion, "")
			else		
				oControl.value  += sAccion
		}
		
		oControl.focus()
		guardarCursor(oControl)
		
	}
}

function insertaFireFox(oControlFireFox, abreTag, cierraTag) 
{ 
	if (oControlFireFox.selectionEnd > oControlFireFox.value.length)
		oControlFireFox.selectionEnd = oControlFireFox.value.length
	
    
	var iPosIni   = oControlFireFox.selectionStart
	var iPosFinal = oControlFireFox.selectionEnd + abreTag.length
    
	oControlFireFox.value = oControlFireFox.value.slice(0,iPosIni) + abreTag + oControlFireFox.value.slice(iPosIni)
	oControlFireFox.value = oControlFireFox.value.slice(0,iPosFinal) + cierraTag + oControlFireFox.value.slice(iPosFinal)
        
	oControlFireFox.selectionStart = iPosIni + abreTag.length
	oControlFireFox.selectionEnd   = iPosFinal
	oControlFireFox.focus()
}


function insertAdvancedTag (sControlId, tag)
{ 
     
	oControl = document.getElementById(sControlId)
	oControl.focus()
	guardarCursor(oControl)
	
	if (oControl.createTextRange && oControl.caretPos && oControl.caretPos.text.length > 0)
	{	
		var posCursor  = oControl.caretPos;
		var url = window.prompt(tag + " text","Enter the url for the " + tag);
		posCursor.text = "[" + tag + " href=\"" + url +"\"]" + posCursor.text + "[/" + tag + "] "
	}
	else
	{	
	    
		if (oControl.selectionEnd && (oControl.selectionStart || oControl.selectionStart == 0))
		{				    
			if (oControl.selectionEnd > oControl.value.length)
			{
				oControl.selectionEnd = oControl.value.length
			}
				
			var abreTag = "[" + tag  + " href=\""
			var cierraTag = "[/" + tag +"]"
    
			var iPosIni   = oControl.selectionStart
			var iPosFinal = oControl.selectionEnd
			var iTagLen   = abreTag.length
			
			if(oControl.value.slice(iPosIni,iPosFinal).length > 0)
			{
				var url = window.prompt(tag + " text","Enter the text for the " + tag);
				oControl.value = oControl.value.slice(0,iPosIni) + abreTag + url + "\"]" + oControl.value.slice(iPosIni,iPosFinal) + cierraTag + oControl.value.slice(iPosFinal)
				oControl.selectionStart = iPosIni + abreTag.length
				oControl.selectionEnd   = iPosFinal
			}
			else
			{
				oControl.value = oControl.value.slice(0,iPosIni) + "[" + tag + " href=\"" + tag + address + tag + textoEnlace + tag + "]" + oControl.value.slice(iPosFinal)
				
			}
			oControl.focus()
		}
		else 
		{		    	 
		    if(oControl.caretPos)
		    {				    
			    oControl.caretPos.text  = "[" + tag + " href=\"" + tag + address + tag + textoEnlace + tag + "] "
		    }
		    else
		    {
                oControl.value = oControl.value.slice(0,iPosIni) + "[" + tag + " href=\"" + tag + address + tag + textoEnlace + tag + "] " + oControl.value.slice(iPosFinal)
		    }
	    }
	}
	
	oControl.focus()
	guardarCursor(oControl)
}

function insertLinkDialog(oControl)
{
	oControl = document.getElementById(oControl)
	oControl.focus()
	guardarCursor(oControl)
    var tag = "link";
    var url
    var textoEnlace
    
    var abreTag = "[" + tag  + " href=\""
	var cierraTag = "[/" + tag +"]"
    
	if (oControl.createTextRange && oControl.caretPos)
	{		    		    
		var posCursor  = oControl.caretPos;	 
		url = window.prompt("Introduzca el enlace","http://");
		textoEnlace = '';
		
		if (url!=null)
		{				
		    if(posCursor.text=='')
	        {
    	        textoEnlace = window.prompt("Introduzca un texto para el enlace","");			      
	        }
		
		    if (textoEnlace!=null)
		    {
		        posCursor.text = "[" + tag + " href=\"" + url +"\"]" +  textoEnlace  + posCursor.text + "[/" + tag + "] "				        
		    }
		}
	} 
	else //entra por aqui en el navegador firefox
	{	   
	
	        //Si ha seleccionado algún bloque de texto
		if (oControl.selectionEnd && (oControl.selectionStart || oControl.selectionStart == 0))
		{				    
			if (oControl.selectionEnd > oControl.value.length)
			{
				oControl.selectionEnd = oControl.value.length
			} 		
    
			var iPosIni   = oControl.selectionStart
			var iPosFinal = oControl.selectionEnd
			var iTagLen   = abreTag.length
			
			url = window.prompt("Introduzca el enlace","http://");
			
			if (url!=null)
		    {				
			    if(oControl.value.slice(iPosIni,iPosFinal).length > 0)
			    {				 	 
				    oControl.value = oControl.value.slice(0,iPosIni) + abreTag + url + "\"]" + oControl.value.slice(iPosIni,iPosFinal) + cierraTag + oControl.value.slice(iPosFinal)
				    oControl.selectionStart = iPosIni + abreTag.length
				    oControl.selectionEnd   = iPosFinal
			    }
			    else
			    {			  
		            textoEnlace = window.prompt("Introduzca un texto para el enlace","");  
		            if (textoEnlace!=null)
		            {
    				    oControl.value = oControl.value.slice(0,iPosIni) + abreTag +  url + "\"]" +  textoEnlace + cierraTag + oControl.value.slice(iPosFinal)    				
				    }
	    		}
	    	}
			oControl.focus()
		}
		else 		
		{	
		    url = window.prompt("Introduzca el enlace","http://");	
		    if (url!=null)
		    {				 			    			
			    textoEnlace = window.prompt("Introduzca un texto para el enlace","");   
		  	 
		  	    if (textoEnlace!=null)
		  	    {
		            if(oControl.caretPos)
		            {						               
			            oControl.caretPos.text  = abreTag +  url  + "]"  + textoEnlace + cierraTag		 
		            }
		            else
		            {
                        oControl.value = oControl.value.slice(0,iPosIni) + abreTag +  url + "\"]"  + textoEnlace + cierraTag + oControl.value.slice(iPosFinal)
		            }
		        }
		    }
	    }
	}
	
	
	oControl.focus()
	guardarCursor(oControl)	
}

function insertQuotation(oControl)
{
	oControl = document.getElementById(oControl)
	oControl.focus()
	guardarCursor(oControl)
	if (oControl.createTextRange && oControl.caretPos)
	{
		var posCursor  = oControl.caretPos;
		//who are you quoting to?
		var name = window.prompt("Nombre","¿A quién vas a citar?");
		posCursor.text = "[quote name=\"" + name +"\"][/quote] ";
	}
	else
	{
		if (oControl.selectionEnd > oControl.value.length)
				oControl.selectionEnd = oControl.value.length
				
		var abreTag = "[quote name=\""
		var cierraTag = "[/quote]"

		var iPosIni   = oControl.selectionStart
		var iPosFinal = oControl.selectionEnd + abreTag.length
		var name = window.prompt("Nombre","¿A quién vas a citar?");

		oControl.value = oControl.value.slice(0,iPosIni) + abreTag + name + "\"]" + cierraTag + oControl.value.slice(iPosIni,iPosFinal)+ oControl.value.slice(iPosFinal)
				    
		oControl.selectionStart = iPosIni + abreTag.length
		oControl.selectionEnd   = iPosFinal
		oControl.focus()
	}
	
	oControl.focus()
	guardarCursor(oControl)	
}



function insertImage(oControl)
{
	oControl = document.getElementById(oControl)
	oControl.focus()
	guardarCursor(oControl)
	if (oControl.createTextRange && oControl.caretPos)
	{
		var posCursor  = oControl.caretPos;
		if(oControl.caretPos.text.length == 0)
		{
			var name = window.prompt("Image URL","Enter image url");
			posCursor.text = "[img src=\"" + name +"\"/] ";
		}
		else
			posCursor.text = "[img src=\"" + oControl.caretPos.text +"\"/] ";
	}
	else
	{
		if (oControl.selectionEnd > oControl.value.length)
				oControl.selectionEnd = oControl.value.length
				
		var abreTag = "[img src=\""
		var cierraTag = "/]"

		var iPosIni   = oControl.selectionStart
		var iPosFinal = oControl.selectionEnd
		var iTagLen   = abreTag.length

		if(oControl.value.slice(iPosIni,iPosFinal).length == 0)
		{
			var name = window.prompt("Image URL","Enter image url");			
			oControl.value = oControl.value.slice(0,iPosIni) + abreTag + name + "\"" + cierraTag + oControl.value.slice(iPosFinal)
		}
		else
		{		
			oControl.value = oControl.value.slice(0,iPosIni) 
							+ abreTag + oControl.value.slice(iPosIni,iPosFinal) 
							+ "\"" + cierraTag + oControl.value.slice(iPosFinal)
		}
		
		
		    
		oControl.selectionStart = iPosIni + abreTag.length
		oControl.selectionEnd   = iPosFinal
		oControl.focus()
	}
	
	oControl.focus()
	guardarCursor(oControl)
	
}

function controlaTeclado(oControl,evt)
{
	evt = (evt) ? evt : (window.event) ? event : null;
	/*if (evt)
	{
		var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0));
		 //alert(charCode);
		if(document.all)
		{
			//Explorer
			if(charCode==11) insertarEn("i",oControl, "tool");   // Ctrl + Shift + k
			if(charCode==19) insertarEn("u",oControl, "tool");   // Ctrl + Shift + s
			if(charCode==2)  insertarEn("b",oControl, "tool");   // Ctrl + Shift + b
			return false
		}
		else
		{
			if(charCode==75) insertarEn("i",oControl, "tool");   // Ctrl + Shift + k
			if(charCode==83) insertarEn("u",oControl, "tool");   // Ctrl + Shift + s
			if(charCode==66) insertarEn("b",oControl, "tool");   // Ctrl + Shift + b
			return false
		}
	}	*/
}

    function expandirContraer(id,url)
    {
        uList=document.getElementById(id);
        if(uList.style.display=="none")
            uList.style.display="block";
        else
            uList.style.display="none";
        
        var obj = window.event.srcElement;
        if(obj.attributes["src"].value.indexOf("contraer.jpg")>0)
            obj.attributes["src"].value=url + "img/expander.jpg";
        else
            obj.attributes["src"].value=url + "img/contraer.jpg";
    }
    
    function changeChecked()
    {
        var obj = window.event.srcElement;
        var treeNodeFound = false;
        var checkedState=obj.checked;
        if(obj.tagName == "INPUT" && obj.type == "checkbox") 
        {
            do
            {
                obj = obj.parentElement;
            } while (obj.tagName != "LI")
            for (var i=0; i < obj.children.length; i++)
            {
                if(obj.children[i].tagName=="UL")
                {
                    obj=obj.children[i];
                    break;
                }
            }
            recursivoChangeChecked(obj,checkedState);
        }
    }
    
    function recursivoChangeChecked(obj,checkedState)
    {
        var auxObj,auxObj1;
        for (var i=0; i < obj.children.length; i++)
        {
            if(obj.children[i].tagName=="LI")
            {
                auxObj=obj.children[i];
                for (var j=0; j < auxObj.children.length; j++)
                {
                    if(auxObj.children[j].tagName=="LABEL")
                    {
                        auxObj1=auxObj.children[j];
                        for (var k=0; k < auxObj1.children.length; k++)
                        {
                                if(auxObj1.children[k].className=="checkbox")
                                {
                                    auxObj1.children[k].checked=checkedState;
                                } 
                        }
                        
                    }else if(auxObj.children[j].tagName=="UL")
                    {
                        recursivoChangeChecked(auxObj.children[j],checkedState);
                    }
                    
                }
            }
        }
    }

