function f_tdmouseover(){event.srcElement.parentElement.bgColor = "#E6E9EA";}
function f_tdmouseout(){event.srcElement.parentElement.bgColor = "#FFFFFF";}

function ChangeRowBgCollor(fRow)
{
  fRow.onmouseover = function mouseover(){this.style.backgroundColor='#E6E9EA'};
  fRow.onmouseout = function mouseout(){this.style.backgroundColor='#FFFFFF'}; 
}

function f_mouseover(aId)
{
  var tdElement = document.getElementById(aId);
  tdElement.bgColor = "#E6E9EA";
}

function f_mouseout(aId)
{
  var tdElement = document.getElementById(aId);
  tdElement.bgColor = "#FFFFFF";
}


function f_numberformat(number, decimals, point, separator){
	if(!isNaN(number)){
		point = point ? point : '.';
		number = number.toString().split('.');
		if(separator){
			var tmp_number = new Array();
			for(var i = number[0].length, j = 0; i > 0; i -= 3)
			{
				var pos = i > 0 ? i - 3 : i;
				tmp_number[j++] = number[0].substring(i, pos);
			}
			number[0] = tmp_number.reverse().join(separator);
		}
		if(decimals){
			number[1] = number[1] ? number[1] : '0';
			number[1] = Math.round(parseFloat(number[1].substr(0, decimals) + '.' + number[1].substr(decimals, number[1].length), 10));
			var size = decimals - number[1].toString().length;
			for(var i = 0; i < size; i++) number[1] += '0'; }
		return(number.join(point));
	}
	else return(null);
}

function f_round(number,X){
        // rounds number to X decimal places
        var n;
        X = (!X ? 0 : X);
        n=Math.round(number*Math.pow(10,X))/Math.pow(10,X);
        return f_numberformat(n,X,"."," ");
}

function Fill_date(f_date)
{
var s_data, s_date, len, start, end, s_part, s_data = f_date; len = s_data.length; if (len == -1) {
        return(s_data);
}
else
{
end = s_data.indexOf('; ');
        if (end == -1)
        {
                return(s_data);
        }
        else
        {
                s_part = s_data.substring(0, end);

                s_date = s_part;

                do
                {
                        start = end
                        s_data = s_data.substring(start + 2, len);
                        end = s_data.indexOf('; ');
                        if (end == -1)
                        {
                        end = len
                        }
                        s_part = s_data.substring(0, end);

                        s_date = s_date + '<br>' + s_part;
                }
                while (end == -1)

        }
}
return(s_date);
}

function Change_Number(f_number)
{
 var res_string
 var len, start, end
 var left_part, right_part, part
 len = f_number.length;
 res_string = f_number.toString();
 if (len == -1)
 {
 return(res_string);
 }
 else
 {
 end = f_number.indexOf(',');
 if (end == -1)
 {
 return(res_string);
 }
 else
 {
        res_string = '';
        left_part = f_number.substring(0, end);
        right_part = f_number.substring(end+1, len);

        do
        {

                start = end - 3;
                if (start < 0)
                {
                        start = 0;
                }

                part = left_part.substring(start, end);
                if (start == 0)
                {
                        res_string = part + res_string;
                }
                else
                {
                        res_string = ',' + part + res_string;
                }
                end = start;
        }
        while (start > 0);

        res_string = res_string /*+ '.' + right_part*/;  }  }

 return(res_string);
}

function FindParam(curentURL, findSTR)
{
var start, end;
start = curentURL.indexOf(findSTR);
if (start == -1)
{
        return('');
}
else
{
        start = curentURL.indexOf('=', start);
        if (start == -1)
        {
                return('');
        }
        else
        {
                end = curentURL.indexOf('$', start);
                if (end == -1)
                {
                        end = curentURL.indexOf('&', start);
                                if (end == -1)
                                {
                                end = curentURL.length;
                                }
                }
                partURL = curentURL.substring(start + 1, end);
                return(partURL);
        }
}
}

function ChangeURL(curentURL, findSTR, changeSTR)
{
var start, end;
var newURL;
var partURL;
start = curentURL.indexOf('?');
if (start == -1)
{
        newURL = curentURL + '?' + changeSTR;
        return(newURL);
}
else
{
        start = curentURL.indexOf(findSTR, start);
        if (start == -1)
        {
                newURL = curentURL + '&' + changeSTR;
                return(newURL);
        }
        else
        {
                end = curentURL.indexOf('&', (start));
                if (end == -1)
                {
                        end = curentURL.length;
                }
                partURL = curentURL.substring(start, end);
                newURL = curentURL.replace(partURL, changeSTR);
                return(newURL);
        }
}
}

function ChangeASP(curentURL, changeSTR)
{
        var start, end;
        var newURL;
        var partURL;
        end = curentURL.indexOf('?');
        if (end == -1)
        {
           end = curentURL.length;
        }
        start = curentURL.lastIndexOf('/', end);


        partURL = curentURL.substring(start + 1, end);
        newURL = curentURL.replace(partURL, changeSTR);
        return(newURL);
}
function urlCut(url,what){ //вырезает параметр из адресной строки
    var start,end,str;
    what=what + '=';
    start=url.indexOf(what);
    if(start==-1) return(url);
    end=url.indexOf('&',start)+1;
    if(end==0) end=url.length;
    str=url.substr(0,start)
    if(end<url.length-1) str=str + url.substr(end,url.length-1);
    
    if(str.lastIndexOf('?')==str.length-1 || str.lastIndexOf('&')==str.length-1) str=str.substr(0,str.length-1);
    
    return(str)
}

function getParam(name)
{
	var pname=name + '=';
	var ps=window.location.search;
	if(ps.length>0)
	{
		var start=ps.indexOf(pname);
		if(start!=-1)
		{
			start+=pname.length;
			var end=ps.indexOf('&',start);
			if(end==-1) end=ps.length;
				return ps.substring(start,end);
		}
	}
	return 0;
}

function replaceAll(str, what, rpls)
{
	while(str.indexOf(what)!=-1) str=str.replace(what,rpls);
	return(str);
}

function valueofA(str) //return the value of tag (for example,<a >value</a>)
{
        var start, end;
	if(str.length>0)
	{
        	start=str.indexOf('>');
		end=str.indexOf('<',start);
		return str.substring(start+1,end);
	}
	return 0;
}

function attributeAdd(str,attr) //add attribute to tag (for example, <a attr> </a>)
{
	var start=str.indexOf('<');
	if(start==-1) return str;
	var sps=str.indexOf(' ',start);
	return str.substring(0,sps+1) + attr + ' ' + str.substring(sps+1);
}

function readCookie(name)  //read cookies
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) 
		{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
	return null;
}


function SetCookie(sName, sValue)
{
  document.cookie = sName + "=" + escape(sValue);
  // Expires the cookie in one year
  var date = new Date();
  date.setYear(date.getYear()+1);
  document.cookie += ("; expires=" + date.toUTCString()); 
}

//create dinamical special cell ( header, body) of table
// and add to row
function CreateTableCell(fTitle, fRow, fCellType, fCollSpan) 
{
var oCell
oCell = document.createElement(fCellType);
oCell.colSpan = fCollSpan;
oCell.innerHTML = fTitle;
fRow.appendChild(oCell);
}

//create dinamical special cell ( header, body) of table
// and add to row
function CreateTableCell2(fTitle, fRow, fCellType, fCollSpan, fRowSpan) 
{
var oCell
oCell = document.createElement(fCellType);
oCell.colSpan = fCollSpan;
oCell.rowSpan = fRowSpan;
oCell.innerHTML = fTitle;
fRow.appendChild(oCell);
}

//replace work phone number from full variant to short(IP) variant
function ReplacePhoneNumber(sNumber)
{
var expr = new RegExp('-', 'ig');
sNumber = sNumber.replace(expr , "");
var expr = new RegExp(' ', 'ig');
sNumber = sNumber.replace(expr , "");
var expr = new RegExp('\\(', 'ig');
sNumber = sNumber.replace(expr , "");
var expr = new RegExp('\\)', 'ig');
sNumber = sNumber.replace(expr , "");
sNumber = sNumber.replace(expr , "");
if (sNumber.length >= 4)
{
sNumber = sNumber.substring(sNumber.length - 4);
}
else
{
sNumber ='';
}
return(sNumber);
}





