function ejectCard()
{
    try
    {
        CardReader.mEjectCard();
    }
    catch( err )
    {
    }
}

/*---------------------------------------------------------------------------------------------------------------*/
/*----------------------------------------SCRIPT CARD READER-----------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------------*/
//var cardReaderBASE_ActivateX = null;
//---------------------------------------------------------------------------------------------------------------
//function initTransportActiveX()
//{
//    if( cardReaderBASE_ActivateX == null ) cardReaderBASE_ActivateX = new ActiveXObject("CardReaderActiveX.CardReaderAX");
//    return 1;
//}
//---------------------------------------------------------------------------------------------------------------
//function resetCard( timeout )
//{
//    CardReader.reset(timeout);
//}
////---------------------------------------------------------------------------------------------------------------
//function ReadBlock( aSectorNo, aBlockNo )
//{
//    return CardReader.readBlock(parseInt(aSectorNo, 10), parseInt(aBlockNo, 10));
//}
////---------------------------------------------------------------------------------------------------------------
//function WriteBlock( aSectorNo, aBlockNo, aBlockData )
//{
//    CardReader.writeBlock(parseInt(aSectorNo, 10), parseInt(aBlockNo, 10)) = aBlockData;
//}
//---------------------------------------------------------------------------------------------------------------

/*var CATEGORY_HTML_TEMPLATE = "<span style='font-size:14pt;'>CategoryName</span><br><span style='font-weight:bold;'>Срок действия:</span><span>CategoryPeriod</span><br><br>";

function parseCategory( paramsCadegories, element )
{
    formatDate = function( d )
    {
        try
        {
            var month = d.getMonth() + 1;
            return (d.getDate() < 10 ? "0" + d.getDate() : d.getDate()) + "." + (month < 10 ? "0" + month : month) + "." + d.getYear();
        }
        catch( err )
        {
        }
        return "";
    }
    renderCategoriesHTML = function( params )
    {
        try
        {
            var _templateCategory = CATEGORY_HTML_TEMPLATE;
            _templateCategory = _templateCategory.replace(/CategoryName/, CardReader.getCategoryDescription(params[0]));
            if( params[3] > 0 )
            {
                var dateBegin = new Date(params[3] * 1000);
            }
            if( params[4] > 0 )
            {
                var dateEnd = new Date(params[4] * 1000);
            }

            if( params[1] == 0 )
            {
                //html = html + " бессрочно" + "<br><br>";
                _templateCategory = _templateCategory.replace(/CategoryPeriod/," бессрочно");
            }
            if( params[1] == 1 )
            {
                if( params[3] > 0 )
                {
                    _templateCategory = _templateCategory.replace(/CategoryPeriod/," с " + formatDate(dateBegin));
                }
            }
            if( params[1] == 2 )
            {
                if( params[4] > 0 )
                {
                    _templateCategory = _templateCategory.replace(/CategoryPeriod/," по " + formatDate(dateEnd));
                }
            }
            if( params[1] == 3 )
            {
                if( params[3] > 0 && params[4] > 0 && (params[4] >= params[3]) )
                {
                    _templateCategory = _templateCategory.replace(/CategoryPeriod/," с " + formatDate(dateBegin) + " по " + formatDate(dateEnd));
                }
            }
        }
        catch( err )
        {
        }
        return _templateCategory;
    }
    var paramsForParse = new Array();
    var paramsCategory = paramsCadegories.split("@");
    var j = 0;
    for( var i = 0; i < paramsCategory.length; i++ )
    {
        var params = paramsCategory[i].split(":");

        if( params.length == 5 )
        {
            paramsForParse[j] = params;
            j++;
        }
    }

    if( paramsForParse.length > 0 )
    {
        var categoriesHTML = "";

        for( var i = 0; i < paramsForParse.length; i++ )
        {
            var params = paramsForParse[i];
            try
            {
                //params[0] + " " + params[1] + " " + params[2] + " " + params[3] + " " + params[4]
                categoriesHTML += renderCategoriesHTML(params);
            }
            catch( errWrite )
            {
            }
        }
        element.innerHTML = categoriesHTML;
    }
}*/

//function readAllLocal()
//{
////    var blocks40 = "00000000000000000000000000000000";
////    var blocks41 = "00000000000000000000000000000000";
////    var blocks42 = "00000000000000000000000000000000";
////    var temporarysum = "00000000000000000000000000000000";
//
////    var blocks120 = "00000000000000000000000000000000";
////    var blocks121 = "00000000000000000000000000000000";
////    var blocks122 = "00000000000000000000000000000000";
//
////    var blocks40 = CardReader.readBlock(parseInt(4, 10), parseInt(0, 10));
////    var blocks41 = CardReader.readBlock(parseInt(4, 10), parseInt(1, 10));
////    var blocks42 = CardReader.readBlock(parseInt(4, 10), parseInt(2, 10));
////    var blocks120 = CardReader.readBlock(parseInt(12, 10), parseInt(0, 10));
////    var blocks121 = CardReader.readBlock(parseInt(12, 10), parseInt(1, 10));
////    var blocks122 = CardReader.readBlock(parseInt(12, 10), parseInt(2, 10));
////    var temporarysum = CardReader.readBlock(parseInt(4, 10), parseInt(1, 10));
//    try
//    {
//        var readcategories = CardReader.readCategories();
//    }
//    catch( err )
//    {
//        if( 4003 != CardReader.getLastErrorCode() )
//        {
//            throw err;
//        }
//        readcategories="";
//    }
////    return "readcategories="+readcategories+ "&temporarysum=" + temporarysum + "&blockcode0=" + blocks40 + "&blockcode1=" + blocks41 + "&blockcode2=" + blocks42;
//    return "readcategories="+readcategories;
//}

function getFirstName()
{
    try
    {
        var vStr = CardReader.readSocialData();
        var vParams = vStr.split(':');
        return vParams[4];
    }
    catch( err )
    {
    }
    return "";
}
function getSecondName()
{
    try
    {
        var vStr = CardReader.readSocialData();
        var vParams = vStr.split(':');
        return vParams[5];
    }
    catch( err )
    {
    }
    return "";
}
function getLastName()
{
    try
    {
        var vStr = CardReader.readSocialData();
        var vParams = vStr.split(':');
        return vParams[6];
    }
    catch( err )
    {
    }
    return "";
}
function getCardnumber()
{
    try
    {
        var vStr = CardReader.readSocialData();
        var vParams = vStr.split(':');
        return vParams[0];
    }
    catch( err )
    {
    }
    return "";
}

function mEjectCard_Click()
{
    try
    {
        CardReader.mEjectCard();
    }
    catch( err )
    {
    }
}

function identificationCard()
{

    var chip = "";
    var cardSeries = "0000";
    var validThruDate = "0000";
    try
    {
        var vStr = CardReader.readSocialData();
        var vParams = vStr.split(':');
        validThruDate = vParams[2].substr(2, 2) + vParams[2].substr(0, 2);
        cardSeries = vParams[1];
        chip = CardReader.getCardSN();
        return "chip=" + chip + "&cs=" + cardSeries + "&vd=" + validThruDate;
    }
    catch( e )
    {
    }
    return "chip=" + chip + "&cs=" + cardSeries + "&vd=" + validThruDate;
}

function ShowError( e )
{
    if( e == null )
    {
        alert("Error object is null. no script error");
    }
    var Msg;
    Msg = 'Error object\n' +
          '  Message: ' + e.message + '\n' +
          '  Description: ' + e.description + '\n' +
          '  Name: ' + e.name + '\n' +
          '  Facility code: ' + ((e.number >> 16) & 0x1FFF) + '\n' +
          '  Error code: ' + (e.number & 0xFFFF) + '\n';
    if( CardReader != null )
    {
        Msg = Msg + '\n' +
              'ActiveX Error Functions' + '\n' +
              '  Error code: ' + CardReader.getLastErrorCode() + '\n' +
              '  Error message: ' + CardReader.getLastErrorMsg();
    }
    alert(Msg);
}
