function setGradient(srccol, trgcol, lfactor, axis, inc, srcdiv, brdr, brdrcol,hgt){
//		var inc = 20;
if(axis=='M'){
    setGradient(srccol, trgcol, lfactor, 'V', inc, srcdiv, brdr, brdrcol);
    setGradient(trgcol, srccol, lfactor, 'V', inc, srcdiv, brdr, brdrcol);   
    return false;
}
	var arrcol = ['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'];
	var arrcoln = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
	var sr1, sr2, sg1, sg2, sb1, sb2;
	var tr1, tr2, tg1, tg2, tb1, tb2;
	var sr, sg, sb, tr, tg, tb;
	
	for(i=0;i<arrcol.length;i++){
	//Calculating for source Color String
	     if(srccol.substring(0,1)==arrcol[i]){
		sr1 = 16*arrcoln[i];
	     }	
	     if(srccol.substring(1,2)==arrcol[i]){
		sr2 = arrcoln[i];
	     }	
	     if(srccol.substring(2,3)==arrcol[i]){
		sg1 = 16*arrcoln[i];
	     }	
	     if(srccol.substring(3,4)==arrcol[i]){
		sg2 = arrcoln[i];
	     }	
	     if(srccol.substring(4,5)==arrcol[i]){
		sb1 = 16*arrcoln[i];
	     }	
	     if(srccol.substring(5,6)==arrcol[i]){
		sb2 = arrcoln[i];
	     }
	//Calculating for target Color String
	     if(trgcol.substring(0,1)==arrcol[i]){
		tr1 = 16*arrcoln[i];
	     }	
	     if(trgcol.substring(1,2)==arrcol[i]){
		tr2 = arrcoln[i];
	     }	
	     if(trgcol.substring(2,3)==arrcol[i]){
		tg1 = 16*arrcoln[i];
	     }	
	     if(trgcol.substring(3,4)==arrcol[i]){
		tg2 = arrcoln[i];
	     }	
	     if(trgcol.substring(4,5)==arrcol[i]){
		tb1 = 16*arrcoln[i];
	     }	
	     if(trgcol.substring(5,6)==arrcol[i]){
		tb2 = arrcoln[i];
	     }
	 }	
	
	sr = sr1+sr2;	
	sg = sg1+sg2;
	sb = sb1+sb2;
	
	tr = tr1+tr2;	
	tg = tg1+tg2;
	tb = tb1+tb2;

	var incfr, incfg, incfb ;
	
		incfr = ((tr - sr)/inc) + lfactor;
		incfg = ((tg - sg)/inc) + lfactor;		
		incfb = ((tb - sb)/inc) + lfactor;
    
    var strHTML = '<table cellpadding=0 cellspacing=0 border=0 width="100%" style="border:solid '
				+brdr+'px #'+brdrcol+';'+((axis=='H')?'height:'+hgt+'px;':'')+';">';
	if(axis=='H'){
		strHTML += '<tr>';
	}		
	
	//var str = '<table align="center" width="50%" class="tablestyle"><tr><td>Sr</td><td>R</td><td>G</td><td>B</td></tr>';	
	
	var orr = sr;
	var org = sg;
	var orb = sb;	
	for(var k=0;k<=inc;k++){
	    
	    if(k>0){
	        orr = orr + incfr;
		    org = org + incfg;
		    orb = orb + incfb;
			
		    if(orr<=255){
			    sr = parseInt(formatNumber(orr,1));
		    }
		    if(org<=255){
			    sg = parseInt(formatNumber(org,1));			
		    }
		    if(orb<=255){
			    sb = parseInt(formatNumber(orb,1));
		    }			
		}
	    //str += '<tr><td>'+(k+1)+'</td><td>'+sr+'</td><td>'+sg+'</td><td>'+sb+'</td></tr>';
	   		    
		if(axis=='V'){
		strHTML += '<tr><td style="background-color:' + 'rgb(' + sr + ',' + sg + ',' + sb + ')' + 	
					'; height:1px;"><div></div></td></tr>' ;	
		}
		else if(axis=='H'){
		strHTML += '<td style="background-color:' + 'rgb(' + sr + ',' + sg + ',' + sb + ')' + 	
					';" >&nbsp;</td>' ;	
		}
	}
	//document.writeln(str);
	if(axis=='H'){
		strHTML += '</tr>';
	}
	strHTML += '</table>';
    document.getElementById(srcdiv).innerHTML += strHTML;       
 }		

function getColToHex(colstr){ 
    colstr = colstr.substring('rgb('.length,colstr.lastIndexOf(')')).split(',');
    var r=colstr[0],g=colstr[1],b=colstr[2];
    var sr = Math.floor(r/16);
    var sr1 = (r - (sr*16));
    var sg = Math.floor(g/16);
    var sg1 = (g - (sg*16));
    var sb = Math.floor(b/16);
    var sb1 = (b - (sb*16));
    var arrcol = ['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'];
    var arrcoln = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]; 
    for(i=0;i<arrcol.length;i++){
        if(sr==arrcoln[i]){
           sr=arrcol[i];
        }
        if(sr1==arrcoln[i]){
           sr1=arrcol[i];
        }
        if(sg==arrcoln[i]){
           sg=arrcol[i];
        }
        if(sg1==arrcoln[i]){
           sg1=arrcol[i];
        }
        if(sb==arrcoln[i]){
           sb=arrcol[i];
        }
        if(sb1==arrcoln[i]){
           sb1=arrcol[i];
        }
    }    
    return (sr+sr1+sg+sg1+sb+sb1);    
}

function formatNumber (num, decplaces) {
    // convert in case it arrives as a string value
    num = parseFloat(num);
    // make sure it passes conversion
    if (!isNaN(num)) {
        // multiply value by 10 to the decplaces power;
        // round the result to the nearest integer;
        // convert the result to a string
        var str = "" + Math.round (eval(num) * Math.pow(10,decplaces));
        // exponent means value is too big or small for this routine
        if (str.indexOf("e") != -1) {
            return "Out of Range";
        }
        // if needed for small values, pad zeros
        // to the left of the number
        while (str.length <= decplaces) {
            str = "0" + str;
        }
        // calculate decimal point position
        var decpoint = str.length - decplaces;
        // assemble final result from: (a) the string up to the position of
        // the decimal point; (b) the decimal point; and (c) the balance
        // of the string. Return finished product.
        return str.substring(0,decpoint) + "." + str.substring(decpoint,str.length);
    } else {
        return "NaN";
    }
}