
String.prototype.replaceAll=function(s1, s2) 
{ 
    return this.split(s1).join(s2); 
};

String.prototype.addHDots=function(startString, maxWidth)
{
    
    var addDotsDiv = document.getElementById('addHDotsDiv');
    if(!addDotsDiv)
    {
        addDotsDiv = document.createElement('addVDotsDiv');
        addDotsDiv.setAttribute('id', 'addVDotsDiv');
        addDotsDiv.className = 'addVDotsDiv';
        document.appendChild(addDotsDiv);
    }
    
    
    addDotsDiv.style.display='block';
    var dottedString=""+this;
    addDotsDiv.innerHTML='<span id=ellipsisSpan style="white-space:nowrap;" >'+startString+dottedString+'</span>';
    var inSpan = document.getElementById('ellipsisSpan');
    
    if(inSpan.offsetWidth>=maxWidth)
    {
        while(inSpan.offsetWidth>=maxWidth && dottedString.length>0)
        {
            var pos=dottedString.lastIndexOf(" ");
            if(pos<0 && dottedString.lastIndexOf("/")>0) 
            {
                pos=dottedString.lastIndexOf("/");
            }
            if(pos>=0)
            {
                dottedString=dottedString.substring(0,pos);
            }
            else 
            {
                dottedString="";
            }
            inSpan.innerHTML=startString+dottedString+'...';
        }
        if(dottedString!=="") 
        {
            dottedString+="...";
        }
    }
    inSpan.innerHTML="";
    addDotsDiv.innerHTML="";
    addDotsDiv.style.display='none';
    return dottedString;
};


String.prototype.addVDots=function(startString, divName , maxHeight)
{
    
    var addDotsDiv = document.getElementById(divName);
    if(!addDotsDiv) 
    {
        return ""+this;
    }
    
    var dottedString=""+this;
    addDotsDiv.innerHTML=startString+dottedString;
    if(addDotsDiv.offsetHeight>=maxHeight)
    {
        while(addDotsDiv.offsetHeight>=maxHeight && dottedString.length>0)
        {
            var pos=dottedString.lastIndexOf(" ");
            if(pos>=0)
            {
                dottedString=dottedString.substring(0,pos);
            }
            else 
            {
                dottedString="";
            }
            addDotsDiv.innerHTML=startString+dottedString+'...';
        }
        if(dottedString!=="") 
        {
            dottedString+="...";
        }
    }
    addDotsDiv.innerHTML="";
    return dottedString;
};


String.prototype.toDMY=function()
{
    var str=this.split("-");
    return str[2]+"-"+str[1]+"-"+str[0];
};

String.prototype.toHM=function()
{
    return this.substring(0,5);
};

String.prototype.toHome=function()
{
     return this.substring(0,37);
};

String.prototype.urlEncode=function()
{
    var str = escape(this);
    str = str.replace('+', '%2B');
    str = str.replace('%20', '+');
    str = str.replace('*', '%2A');
    str = str.replace('/', '%2F');
    str = str.replace('@', '%40');
    return str;
};

String.prototype.toDigit=function(numDigits)
{
    var ret=this;
    while(ret.length<numDigits)
    {
        ret="0"+ret;
    }
	return ret;		
};
