[$] Pr1v473 xHeEl B4ckD00RzZ [$]

Current Path : D:/InetPub/vhosts/kuccs.com.kw/httpdocs/PortalCMS/scripts/editor/scripts/saf/
Upload File
Current File : D:/InetPub/vhosts/kuccs.com.kw/httpdocs/PortalCMS/scripts/editor/scripts/saf/hyperlink.htm

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="../style/editor.css" rel="stylesheet" type="text/css">
<script>
  var sLangDir=parent.oUtil.langDir;
  document.write("<scr"+"ipt src='../language/"+sLangDir+"/hyperlink.js'></scr"+"ipt>");
</script>
<script>writeTitle()</script>
<script>

var activeModalWin;

function GetElement(oElement,sMatchTag)
    {
    while (oElement!=null&&oElement.tagName!=sMatchTag)
        {
        if(oElement.tagName=="BODY")return null;
        oElement=oElement.parentNode;
        }
    return oElement;
    }

function doWindowFocus()
    {
    parent.oUtil.onSelectionChanged=new Function("realTime()");
    }

function bodyOnLoad()
    {
    loadTxt();

    window.onfocus=doWindowFocus;
    parent.oUtil.onSelectionChanged=new Function("realTime()");

    if(parent.oUtil.obj.cmdAssetManager!="")
    document.getElementById("btnAsset").style.display="block";
    if(parent.oUtil.obj.cmdFileManager!="")
    document.getElementById("btnAsset").style.display="block";

    realTime()
    }

function bodyOnUnload() {
  parent.oUtil.onSelectionChanged=null;
}

function openAsset()
    {
    if(parent.oUtil.obj.cmdAssetManager!="")
    eval(parent.oUtil.obj.cmdAssetManager);
  if(parent.oUtil.obj.cmdFileManager!="")
    eval(parent.oUtil.obj.cmdFileManager);
    }

function setAssetValue(v)
    {
    document.getElementById("inpURL").value = v;
    }

function modalDialogShow(url,width,height)
    {
    parent.modalDialogShow(url,width,height, window);
    }

function updateList()
    {
    var oEditor=parent.oUtil.oEditor;
    var inpBookmark = document.getElementById("inpBookmark");

    while(inpBookmark.options.length!=0)
        {
        //inpBookmark.options.remove(inpBookmark.options(0))
        inpBookmark.options[0] = null;
        }

    var aNode = oEditor.document.getElementsByTagName("A");
    for(var i=0;i<aNode.length;i++)
        {
        var op = document.createElement("OPTION");
        op.text=aNode[i].name;
        op.value="#"+aNode[i].name;
        inpBookmark.options[inpBookmark.options.length] = op;
        }
    }

function realTime()
    {

    var rdoLinkTo = document.getElementsByName("rdoLinkTo");
    var inpType = document.getElementById("inpType");
    var inpBookmark = document.getElementById("inpBookmark");
    var inpURL = document.getElementById("inpURL");
    var inpTargetCustom = document.getElementById("inpTargetCustom");
    var inpTarget = document.getElementById("inpTarget");
    var inpTitle = document.getElementById("inpTitle");
    var inpRel = document.getElementById("inpRel");

    var btnInsert = document.getElementById("btnInsert");
    var btnApply = document.getElementById("btnApply");
    var btnOk = document.getElementById("btnOk");

    var oEditor=parent.oUtil.oEditor;

    var oSel = oEditor.getSelection();
    //var oEl = parent.getSelectedElement(oSel);
    var oEl = GetElement(parent.getSelectedElement(oSel),"A");//new

    updateList();

    if(!oEl)//yus
    {
        btnInsert.style.display="block";
        btnApply.style.display="none";
        btnOk.style.display="none";

        inpTarget.value="";
        inpTargetCustom.value="";
        inpTitle.value="";
        inpRel.value="";

        inpType.value="";
        inpURL.value="";
        inpBookmark.value="";

        inpBookmark.disabled=true;
        inpURL.disabled=false;
        inpType.disabled=false;
        rdoLinkTo[0].checked=true;
        rdoLinkTo[1].checked=false;
        return;
    }

    //Is there an A element ?
    if (oEl.nodeName == "A")
        {

        var range =oEditor.document.createRange();
        range.selectNode(oEl);
        oSel.removeAllRanges();
        oSel.addRange(range);

        btnInsert.style.display="none";
        btnApply.style.display="block";
        btnOk.style.display="block";


        var sURL = oEl.getAttribute("HREF");

        inpTarget.value="";
        inpTargetCustom.value="";
        var trg = oEl.getAttribute("TARGET");
        if(trg=="_self" || trg=="_blank" || trg=="_parent")
            inpTarget.value=trg;//inpTarget
        else
            inpTargetCustom.value=trg;

        inpTitle.value="";
        if(oEl.getAttribute("TITLE")!=null) inpTitle.value=oEl.getAttribute("TITLE");//inpTitle //1.5.1

        inpRel.value="";
        if(oEl.getAttribute("REL")!=null) inpRel.value=oEl.getAttribute("REL");

    if(sURL==null)sURL="";

        if(sURL.substr(0,7)=="http://")
            {
            inpType.value="http://";//inpType
            inpURL.value=sURL.substr(7);//idLinkURL

            inpBookmark.disabled=true;
            inpURL.disabled=false;
            inpType.disabled=false;
            rdoLinkTo[0].checked=true;
            rdoLinkTo[1].checked=false;
            }
        else if(sURL.substr(0,8)=="https://")
            {
            inpType.value="https://";
            inpURL.value=sURL.substr(8);

            inpBookmark.disabled=true;
            inpURL.disabled=false;
            inpType.disabled=false;
            rdoLinkTo[0].checked=true;
            rdoLinkTo[1].checked=false;
            }
        else if(sURL.substr(0,7)=="mailto:")
            {
            inpType.value="mailto:";
            inpURL.value=sURL.split(":")[1];

            inpBookmark.disabled=true;
            inpURL.disabled=false;
            inpType.disabled=false;
            rdoLinkTo[0].checked=true;
            rdoLinkTo[1].checked=false;
            }
        else if(sURL.substr(0,6)=="ftp://")
            {
            inpType.value="ftp://";
            inpURL.value=sURL.substr(6);

            inpBookmark.disabled=true;
            inpURL.disabled=false;
            inpType.disabled=false;
            rdoLinkTo[0].checked=true;
            rdoLinkTo[1].checked=false;
            }
        else if(sURL.substr(0,5)=="news:")
            {
            inpType.value="news:";
            inpURL.value=sURL.split(":")[1];

            inpBookmark.disabled=true;
            inpURL.disabled=false;
            inpType.disabled=false;
            rdoLinkTo[0].checked=true;
            rdoLinkTo[1].checked=false;
            }
        else if(sURL.substr(0,11).toLowerCase()=="javascript:")
            {
            inpType.value="javascript:";
            //inpURL.value=sURL.split(":")[1];
            inpURL.value=sURL.substr(sURL.indexOf(":")+1);

            inpBookmark.disabled=true;
            inpURL.disabled=false;
            inpType.disabled=false;
            rdoLinkTo[0].checked=true;
            rdoLinkTo[1].checked=false;
            }
        else
            {
            inpType.value="";

            if(sURL.substring(0,1)=="#")
                {
                inpBookmark.value=sURL;
                inpURL.value="";
                inpBookmark.disabled=false;
                inpURL.disabled=true;
                inpType.disabled=true;
                rdoLinkTo[0].checked=false;
                rdoLinkTo[1].checked=true;
                }
            else
                {
                inpBookmark.value=""
                inpURL.value=sURL;
                inpBookmark.disabled=true;
                inpURL.disabled=false;
                inpType.disabled=false;
                rdoLinkTo[0].checked=true;
                rdoLinkTo[1].checked=false;
                }
            }
        }
    else
        {
        btnInsert.style.display="block";
        btnApply.style.display="none";
        btnOk.style.display="none";

        inpTarget.value="";
        inpTargetCustom.value="";
        inpTitle.value="";
        inpRel.value="";

        inpType.value="";
        inpURL.value="";
        inpBookmark.value="";

        inpBookmark.disabled=true;
        inpURL.disabled=false;
        inpType.disabled=false;
        rdoLinkTo[0].checked=true;
        rdoLinkTo[1].checked=false;
        }
    }

function applyHyperlink()
    {

    var oEditor=parent.oUtil.oEditor;

    var oSel=oEditor.getSelection();
    var range = oSel.getRangeAt(0);
    parent.oUtil.obj.saveForUndo();

    var rdoLinkTo = document.getElementsByName("rdoLinkTo");
    var inpType = document.getElementById("inpType");
    var inpBookmark = document.getElementById("inpBookmark");
    var inpURL = document.getElementById("inpURL");
    var inpTargetCustom = document.getElementById("inpTargetCustom");
    var inpTarget = document.getElementById("inpTarget");
    var inpTitle = document.getElementById("inpTitle");
    var inpRel= document.getElementById("inpRel");

    var sURL;
    if(rdoLinkTo[0].checked)
        sURL=inpType.value + inpURL.value;
    else
        sURL=inpBookmark.value;

    if((inpURL.value!="" && rdoLinkTo[0].checked) ||
        (inpBookmark!="" && rdoLinkTo[1].checked))
        {
        var emptySel = false;
        if(document.getElementById("btnInsert").style.display=="block" ||
            document.getElementById("btnInsert").style.display=="")
            {

            if(range.toString()=="")
                { //If no (text) selection, then build selection using the typed URL
                if (range.startContainer.nodeType==Node.ELEMENT_NODE)
                    {
                    if (range.startContainer.childNodes[range.startOffset].nodeType != Node.TEXT_NODE)
                        {
                        if (range.startContainer.childNodes[range.startOffset].nodeName=="BR") emptySel = true; else emptySel=false;
                        }
                        else
                        {
                        emptySel = true;
                        }
                    } else {
                        emptySel = true;
                    }
                }

            if (emptySel)
                {
                var node = oEditor.document.createTextNode(sURL);
                range.insertNode(node);

                range = oEditor.document.createRange();
                range.setStart(node, 0);
                range.setEnd(node, sURL.length);

                oSel = oEditor.getSelection();
                oSel.removeAllRanges();
                oSel.addRange(range);
                }

            }

        oEditor.document.execCommand("CreateLink", false, sURL);

        oSel = oEditor.getSelection();

        var oEl = parent.getSelectedElement(oSel);
        if(oEl)
            {
            if(oEl.tagName=="IMG") {
            	if(oEl.parentNode.tagName=="A") {
            		oEl = oEl.parentNode;
            	}
            }

            if(inpTarget.value=="" && inpTargetCustom.value=="") oEl.removeAttribute("target",0);//target
            else
                {
                if(inpTargetCustom.value!="")
                    oEl.target=inpTargetCustom.value;
                else
                    oEl.target=inpTarget.value;
                }

            if(inpTitle.value=="") oEl.removeAttribute("title",0);//1.5.1
            else oEl.title=inpTitle.value;

            if(inpRel.value=="") oEl.removeAttribute("rel",0);
            else oEl.rel=inpRel.value;

            }


        parent.realTime(parent.oUtil.obj);
        parent.oUtil.obj.selectElement(0);
        }
    else
        {
        oEditor.document.execCommand("unlink", false, null);//unlink
        parent.realTime(parent.oUtil.obj);
        parent.oUtil.activeElement=null;
        }
    realTime();
    window.focus();
    }

function changeLinkTo()
    {
    var rdoLinkTo = document.getElementsByName("rdoLinkTo");
    var inpType = document.getElementById("inpType");
    var inpBookmark = document.getElementById("inpBookmark");
    var inpURL = document.getElementById("inpURL");

    if(rdoLinkTo[0].checked)
        {
        inpBookmark.disabled=true;
        inpURL.disabled=false;
        inpType.disabled=false;
        }
    else
        {
        inpBookmark.disabled=false;
        inpURL.disabled=true;
        inpType.disabled=true;
        }
    }
</script>
</head>
<body style="overflow:hidden;">

<table width=100% height=100% align=center cellpadding=0 cellspacing=0>
<tr>
<td valign=top style="padding:5;">
    <table width=100%>
    <tr>
        <td nowrap>
            <input type="radio" value="url" name="rdoLinkTo" class="inpRdo" checked onclick="changeLinkTo()">
            <span id="txtLang" name="txtLang">Source</span>:
        </td>
        <td width="100%">
            <table cellpadding="0" cellspacing="0" width="100%">
            <tr>
            <td nowrap>
            <select ID="inpType" NAME="inpType" class="inpSel">
                <option value=""></option>
                <option value="http://">http://</option>
                <option value="https://">https://</option>
                <option value="mailto:">mailto:</option>
                <option value="ftp://">ftp://</option>
                <option value="news:">news:</option>
                <option value="javascript:">javascript:</option>
            </select>
            </td>
            <td width="100%"><INPUT type="text" ID="inpURL" NAME="inpURL" style="width:100%" class="inpTxt"></td>
            <td><input type="button" value="" onclick="openAsset()" id="btnAsset" name="btnAsset" style="display:none;background:url('openAsset.gif');width:20px;height:16px;border:#a5acb2 1px solid;margin-left:1px;"></td>
            </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td nowrap>
            <input type="radio" value="bookmark" name="rdoLinkTo" class="inpRdo" onclick="changeLinkTo()">
            <span id="txtLang" name="txtLang">Bookmark</span>:
        </td>
        <td>
        <select name="inpBookmark" id="inpBookmark" class="inpSel" disabled style="width:160px">
        </select></td>
    </tr>
    <tr>
        <td nowrap>&nbsp;<span id="txtLang" name="txtLang">Target</span>:</td>
        <td><INPUT type="text" ID="inpTargetCustom" NAME="inpTargetCustom" size=15 class="inpTxt">
        <select ID="inpTarget" NAME="inpTarget" class="inpSel">
            <option value=""></option>
            <option value="_self" id="optLang" name="optLang">Self</option>
            <option value="_blank" id="optLang" name="optLang">Blank</option>
            <option value="_parent" id="optLang" name="optLang">Parent</option>
        </select></td>
    </tr>
    <tr>
        <td nowrap>&nbsp;<span id="txtLang" name="txtLang">Title</span>:</td>
        <td><INPUT type="text" ID="inpTitle" NAME="inpTitle" style="width:160px" class="inpTxt"></td>
    </tr>
    <tr>
        <td nowrap>&nbsp;<span id="txtLang" name="txtLang">Rel</span>:</td>
        <td><INPUT type="text" ID="inpRel" NAME="inpRel" style="width:160px" class="inpTxt"></td>
    </tr>
    </table>
</td>
</tr>
<tr>
<td class="dialogFooter" align="right">
    <table cellpadding=0 cellspacing=0>
    <tr>
    <td>
    <input type=button name=btnCancel id=btnCancel value="cancel" onclick="self.close()" class="inpBtn" onmouseover="this.className='inpBtnOver';" onmouseout="this.className='inpBtnOut'">
    </td>
    <td>
    <input type=button name=btnInsert id=btnInsert value="insert" onclick="applyHyperlink()" class="inpBtn" onmouseover="this.className='inpBtnOver';" onmouseout="this.className='inpBtnOut'">
    </td>
    <td>
    <input type=button name=btnApply id=btnApply value="apply" style="display:none" onclick="applyHyperlink()" class="inpBtn" onmouseover="this.className='inpBtnOver';" onmouseout="this.className='inpBtnOut'">
    </td>
    <td>
    <input type=button name=btnOk id=btnOk value=" ok " style="display:none;" onclick="applyHyperlink();self.close()" class="inpBtn" onmouseover="this.className='inpBtnOver';" onmouseout="this.className='inpBtnOut'">
    </td>
    </tr>
    </table>
</td>
</tr>
</table>

</body>
</html>