﻿var changecolor='';

function SetChangeColor(_changecolor)
{
    if(_changecolor.indexOf('#')!=-1)
    { 
        if(_changecolor.length<7)
        {
            var newchangecolor='';
            newchangecolor='#'+_changecolor.charAt(1)+_changecolor.charAt(1)+_changecolor.charAt(2)+_changecolor.charAt(2)+_changecolor.charAt(3)+_changecolor.charAt(3);
            return newchangecolor;
        }
    }
    return _changecolor;
}

var HistoryColor='#cccc99';//We still need to paametrize this 
var KeepHistoryCount=10;//We still need to parametrize this

function d2h(d) {return d.toString(16);}

function h2d(h) {return parseInt(h,16);} 

function dec2Hex(dec) 
{
    dec = parseInt(dec, 10);
    if (!isNaN(dec))
    {
        hexChars = "0123456789ABCDEF";
        if (dec > 255)
        {
            return "Out of Range";
        }
        var i = dec % 16;
        var j = (dec - i) / 16;
        result = hexChars.charAt(j) + hexChars.charAt(i);
        return result;
    } 
    else 
    {
        return NaN;
    }
}

function tohex(input)
{
    if(input!='')
    {
        if(input.indexOf('(')!=-1)
        {
            var dat1=input.substring(4,input.length-1);
            var dat2=dat1.split(',');
            var rtrn="#"+dec2Hex(dat2[0]).toLowerCase()+dec2Hex(dat2[1]).toLowerCase()+dec2Hex(dat2[2]).toLowerCase();
            return rtrn;
        }
        else
        {
            return input; 
        }
    }
}

function GetColor(old_color)
{
    if(old_color=='')
    return '';
    else
    {
        var old_color_hex=tohex(old_color);
        if(old_color_hex==changecolor)
            return HistoryColor;
        else
        {
            var old_color_dec=h2d(old_color_hex.substring(1));
            var history_dec=h2d(tohex(HistoryColor).substring(1));
            var color_differnece=parseInt(old_color_dec)-parseInt(history_dec);
            if(color_differnece>=(KeepHistoryCount-1))
                return '';
            else
            {
                var new_color_dec=parseInt(old_color_dec)+1;
                var new_color_hex=d2h(new_color_dec);
                var  new_color='#'+new_color_hex;
                return new_color;
            }
        }
    }  
}      


