﻿function makeInnerLink(){
    var myNews = document.getElementById('newsCont');
    var myLink = document.getElementById('fullNewsLink');
    
    if (myNews.lastChild.tagName=='P')
    {
        myNews.lastChild.appendChild(myLink);
    }
    else if(myNews.lastChild.nodeType==3)
    {
        myNews.appendChild(myLink);
    }
}

function CutHTML(q,ObjId)
{   
    var OurObj_back = document.getElementById(ObjId).innerHTML;        
    var OurObj = OurObj_back;        
    var patt1 = new RegExp("[<>]");  
                   
    TagText = -1; 
    counterFull = 0; 
    counterTags = 0;    
    counterText = 0;    
    IsNonpairTag = false;
    
    var steckT = new Array();    
    var steckS = new Array(); 
    while(OurObj.search('><')!=-1)    {
        OurObj = OurObj.replace('><','>$<');                
    }
    
    DocText = OurObj.split(patt1);                                
    
    if(OurObj.charAt(0)!='<') TagText = 1    
    else 
    {
        var agent = navigator.userAgent;	    
        if(!(agent.contains("MSIE"))) TagText = 1;        
    }
    
    while(DocText!='' && counterText <= q)   
    {    
        TagText = -1*TagText;        
        if (TagText == 1) 
        {
            // WORK WITH TAGS               
            if(DocText[0].indexOf('/')==-1) 
            {
                currentTag = DocText[0];                
                n1 = currentTag.indexOf(' ');                
                if (n1!=-1) currentTag = currentTag.substring(0,n1);                                  
                
                IsNonpairTag = TagPairs(currentTag); 
                if (IsNonpairTag) 
                {                    
                    steckT.push(DocText[0]);
                    counterTags = counterTags + steckT[steckT.length-1].length + 2;                                  
                }
                else counterTags = counterTags + DocText[0].length + 2;                  
            }
            else 
            {   
                currentTag = DocText[0];
                n2 = currentTag.lastIndexOf('/');
                if (n2 != 0) steckT.pop();                            
                
                counterTags = counterTags + DocText[0].length + 2;                                  
            }                        
            DocText = DocText.slice(1);                                    
        }
        else 
        {
            // WORK WITH STRING
            steckS.push(DocText[0]);            
            if(steckS[steckS.length-1].indexOf('$')!= 0 && steckS[steckS.length-1].length!=1) counterText = counterText + steckS[steckS.length-1].length;            
            DocText = DocText.slice(1);                                    
        };
    };   
    
    counterFull = counterTags + q;        
    text="";
    text = OurObj_back.substring(0,counterFull);    
    
    while(steckT.length>0)
    {
        currentTag = steckT.pop();
        n = currentTag.indexOf(' ');
        if (n!=-1) currentTag = currentTag.substring(0,n);                
        text = text + '</' + currentTag + '>';                 
    }
    document.getElementById(ObjId).innerHTML=text;
}


function TagPairs(tag)
{
    var result = new Boolean(false);  
    var ArrNonpairTegs = new Array();
    ArrNonpairTegs[0] = '!DOCTYPE';
    ArrNonpairTegs[1] = 'AREA';    
    ArrNonpairTegs[2] = 'BASE';    
    ArrNonpairTegs[3] = 'BASEFONT';
    ArrNonpairTegs[4] = 'BR';    
    ArrNonpairTegs[5] = 'BGSOUND';    
    ArrNonpairTegs[6] = 'DT';    
    ArrNonpairTegs[7] = 'FRAME'; 
    ArrNonpairTegs[8] = 'HR';    
    ArrNonpairTegs[9] = 'IMG';   
    ArrNonpairTegs[10] = 'INPUT'; 
    ArrNonpairTegs[11] = 'ISINDEX';    
    ArrNonpairTegs[12] = 'LINK';    
    ArrNonpairTegs[13] = 'META';    
    ArrNonpairTegs[14] = 'PARAM';
    
    for(var i=0; i < ArrNonpairTegs.length; i++)    
        if (tag.toUpperCase() == ArrNonpairTegs[i]) result=true;
      
    return result;
}
