function getObjInnerText(obj)
{
    if (obj.innerText)
    { // IE;
        return obj.innerText;
    }
    else if (obj.textContent)
    {
        return obj.textContent;
    }
} 

function setObjInnerText(obj, text)
{
    if (obj.innerText)
    { // IE;
        obj.innerText = text;
    }
    else if (obj.textContent)
    {
        obj.textContent = text;
    }
} 
  
 function InitCheckBox(rowIndex, value)
 {
    var intRowIndex = 0;
    intRowIndex = 1 + parseInt(rowIndex);
    var gridView = document.getElementById('ctl00_OssPageContent_GridViewService');
    var gridRow = gridView.rows[intRowIndex];
    var gridCell = getObjInnerText(gridRow.cells[2]);   
    var result = gridCell.search(value);
    if (result == -1)
    {
        return false;
    }
    else
    {
        return true;
    }
 }
  
 function fakeClick(id)
 {
    var hidden =  document.getElementById('ctl00_OssPageContent_hiddenField');
    hidden.value = id;
    
    var panel = document.getElementById('ctl00_OssPageContent_PanelModal');
    var checkBoxObj = panel.getElementsByTagName("input");
    for(var i = 0; i < checkBoxObj.length; i++)
    {
         if(checkBoxObj[i].type == 'checkbox')
         {
            var attr = checkBoxObj[i].getAttribute("value");
            checkBoxObj[i].checked = InitCheckBox(id, attr);   
         }
    }
       
    var button = document.getElementById('ctl00_OssPageContent_ButtonFake');
    button.click();
 }     
 
function CheckAll(checkBox)
{
    var panel = document.getElementById('ctl00_OssPageContent_PanelModal');
    var checkBoxObj = panel.getElementsByTagName("input");
    for(var i = 0; i < checkBoxObj.length; i++)
    {
         if(checkBoxObj[i].type == 'checkbox')
         {
            checkBoxObj[i].checked = checkBox.checked;   
         } 
    }
} 
 
function ReadCheckBox(rowIndex, element, urbanCount, nonUrbanCount, totalOssObjectsCount)
{
    var intRowIndex = 0;
    intRowIndex = 1 + parseInt(rowIndex);
    var gridView = document.getElementById('ctl00_OssPageContent_GridViewService');
    var gridRow = gridView.rows[intRowIndex];
    
    var hiddenTaskID;
    var deleteCellObjects = gridRow.cells[0].getElementsByTagName("input");
    for(var i=0; i < deleteCellObjects.length; i++)
    {
        if (deleteCellObjects[i].id == gridRow.id + "_HiddenServID")
        {
            hiddenTaskID = deleteCellObjects[i].getAttribute("value");
        }
    }
    
    if (hiddenTaskID == '1001') // Идентификатор
    {
        var identifierCount;
        var cellRequestObjects = gridRow.cells[3].getElementsByTagName("input");
        for (var i=0; i < cellRequestObjects.length; i++)
        {
            if (cellRequestObjects[i].id == gridRow.id + "_TextBoxIdentifierCount")
            {
                identifierCount = cellRequestObjects[i].getAttribute("value");
            }
        }
        if (identifierCount == '')
        {
            totalOssObjectsCount = 1;
        }
        else
        {
            totalOssObjectsCount = identifierCount;
        }
    }
     
    var hiddenObjBaseCost;
    var cellOtherRequestObjects = gridRow.cells[6].getElementsByTagName("input");
    for (var i = 0; i < cellOtherRequestObjects.length; i++)
    {
        if (cellOtherRequestObjects[i].id == gridRow.id + "_HiddenCost")
        {
            hiddenObjBaseCost = cellOtherRequestObjects[i].getAttribute("value");
        }
    }
    hiddenObjBaseCost = hiddenObjBaseCost.replace(',', '.');
    setObjInnerText(gridRow.cells[4], hiddenObjBaseCost);
    setObjInnerText(gridRow.cells[5], parseFloat(hiddenObjBaseCost * totalOssObjectsCount));
        
    if (hiddenTaskID == '1020') //КРНИ
    {
        setObjInnerText(gridRow.cells[5], (urbanCount * 0.8) + (nonUrbanCount * 0.5));
    }    
        
    var checkBoxObject = gridRow.cells[3].getElementsByTagName("input");
    for (var j = 0; j < checkBoxObject.length; j++)
    {
        if (checkBoxObject[j].type == 'checkbox' && checkBoxObject[j].checked == true)
        {
            var attrValue = checkBoxObject[j].getAttribute("value");
            attrValue = attrValue.replace(',', '.');
            var foundKeyIndex = attrValue.search('-');
            var cost = attrValue.substring(0, foundKeyIndex);
            var base = attrValue.substring(foundKeyIndex + 1, attrValue.length);
            if (base == '1')
            {
                if (parseFloat(getObjInnerText(gridRow.cells[5])) > parseFloat(hiddenObjBaseCost * totalOssObjectsCount))
                    setObjInnerText(gridRow.cells[5], parseFloat(cost) * 1.2 * totalOssObjectsCount);
                else
                    setObjInnerText(gridRow.cells[5], cost * totalOssObjectsCount);        
            }
            else if (base == '2')
            {
                setObjInnerText(gridRow.cells[5], parseFloat(getObjInnerText(gridRow.cells[5])) * parseFloat(cost));
            }       
        }
        
    }
    
      setObjInnerText(gridRow.cells[4], parseFloat(getObjInnerText(gridRow.cells[5])) / totalOssObjectsCount);  // edenichna cena
      setObjInnerText(gridRow.cells[4], ParseDoubleValue(parseFloat(getObjInnerText(gridRow.cells[4])).toFixed(3)));
      setObjInnerText(gridRow.cells[5], ParseDoubleValue(parseFloat(getObjInnerText(gridRow.cells[5])).toFixed(3)));

    // calculate Document Total Cost    
    var totalCost = 0.0;
    for (var i = 1; i < gridView.rows.length; i++)
    {
        var currRow = gridView.rows[i];
        setObjInnerText(currRow.cells[5], getObjInnerText(currRow.cells[5]).replace(',', '.'));
        totalCost += parseFloat(getObjInnerText(currRow.cells[5]));
    }
    
    // set document total cost
    var labelTotalCost = document.getElementById('ctl00_OssPageContent_LabelTotalCost');
    setObjInnerText(labelTotalCost,ParseDoubleValue(totalCost.toFixed(3)));   
}

function ParseDoubleValue(number)
 {
    var decimals = 2;
	var newString;
	decimals = Number(decimals);
	if (decimals < 1) {
		newString = (Math.round(number)).toString();
	} else {
		var numString = number.toString();
		if (numString.lastIndexOf(".") == -1) 
		{
			numString += ".";
		}
		var cutoff = numString.lastIndexOf(".") + decimals;
		var d1 = Number(numString.substring(cutoff,cutoff+1));
		var d2 = Number(numString.substring(cutoff+1,cutoff+2));
		if (d2 >= 5)
		 {
			if (d1 == 9 && cutoff > 0) 
			{
				while (cutoff > 0 && (d1 == 9 || isNaN(d1)))
				{
					if (d1 != ".")
					{
						cutoff -= 1;
						d1 = Number(numString.substring(cutoff,cutoff+1));
					} else 
					{
						cutoff -= 1;
					}
				}
			}
			d1 += 1;
		} 
		newString = numString.substring(0,cutoff) + d1.toString();
	}
	if (newString.lastIndexOf(".") == -1)
	{
		newString += ".";
	}
	
	var decs = (newString.substring(newString.lastIndexOf(".")+1)).length;
	for(var i=0;i<decimals-decs;i++) newString += "0";
	
	return newString;
}

function KeyDown(evt,element)
{
    if(document.all)
    {
        if (window.event.keyCode == 45 || window.event.keyCode == 46 || window.event.keyCode == 13 || window.event.keyCode == 8 || window.event.keyCode == 9 || window.event.keyCode == 37 || window.event.keyCode == 39)
        {
            return true;
        }
        if (element.getAttribute('value') == '' && (window.event.keyCode == 48 || window.event.keyCode == 96))
        {
            return false;
        }
        if (((window.event.keyCode >= 48 && window.event.keyCode <= 58)|| (window.event.keyCode >= 96 && window.event.keyCode <= 105)) && element.getAttribute('value').length < 4)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    else
    {
        if (evt.which == 45 || evt.which == 46 || evt.which == 13 || evt.which == 8 || evt.which == 9 || evt.which == 37 || evt.which == 39)
        {
            return true;
        }
        if (element.getAttribute('value') == '' && (evt.which == 48 || evt.which == 96))
        {
            return false;
        }
        if (((evt.which >= 48 && evt.which <= 58)|| (evt.which >= 96 && evt.which <= 105)) && element.getAttribute('value').length < 4)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
}

//function KeyDown(element)
//{
//    if (window.event.keyCode == 45 || window.event.keyCode == 46 || window.event.keyCode == 13 || window.event.keyCode == 8 || window.event.keyCode == 9 || window.event.keyCode == 37 || window.event.keyCode == 39)
//    {
//        return true;
//    }
//    if (element.getAttribute('value') == '' && (window.event.keyCode == 48 || window.event.keyCode == 96))
//    {
//        return false;
//    }
//    if (((window.event.keyCode >= 48 && window.event.keyCode <= 58)|| (window.event.keyCode >= 96 && window.event.keyCode <= 105)) && element.getAttribute('value').length < 4)
//    {
//        return true;
//    }
//    else
//    {
//        return false;
//    }
//}


function confirmFunction(message)
{
    if (message == "")
    {
        document.getElementById('ButtonShowContent').click();
        return true;
    }
    
    var answer = confirm (message);
	if (answer)
	{
	    document.getElementById('ButtonShowContent').click();
	}
	else
	{
	    window.close();
	}
}



