﻿function webSignerControlInsert(ctl) {

    return insertEidControl(ctl, "Nexus.SignerCtl", "application/x-personal-signer", "websigner", "CLSID:6969E7D5-223A-4982-9B79-CC4FAC2D5E5E", "<PARAM NAME='CharacterEncoding' VALUE='UTF8'><PARAM NAME='SignReturnName' VALUE='signature'><PARAM NAME='Base64' VALUE='true'><PARAM NAME='IncludeCaCert' VALUE='true'>");
}

function eIdSignatureControlInsert(ctl) {

    return insertEidControl(ctl, "Nexus.SignerV2Ctl", "application/x-personal-signer2", "signer", "CLSID:FB25B6FD-2119-4CEF-A915-A056184C565E", "");
}

function eIdAuthenticationControlInsert(ctl) {

    return insertEidControl(ctl, "Nexus.AuthenticationCtl", "application/x-personal-authentication", "auth", "CLSID:DD137900-E4D7-4b86-92CC-2E968F846047", "");
}

function teliaControlInsert(ctl) {

    return insertEidControl(ctl, "IID.iIDCtl", "application/x-iid", "iid", "CLSID:5BF56AD2-E297-416E-BC49-00B327C4426E", "");
}

function insertEidControl(ctl, activeXObjectName, mimeType, objectId, objectClassId, objectParams) {
    var explorer = false;
    var plugin = null;
    if (navigator.appName.indexOf("Explorer") == -1) {
        explorer = false;
        plugin = navigator.mimeTypes[mimeType];
    }
    else {
        explorer = true;
        plugin = new ActiveXObject(activeXObjectName);
    }
    if (plugin) {
        if (explorer)
            ctl.innerHTML = "<object name=\"" + objectId + "\" id=\"" + objectId + "\" CLASSID=\"" + objectClassId + "\" width=\"0\" height=\"0\">" + objectParams + "</object>";
        else
            ctl.innerHTML = "<object name=\"" + objectId + "\" id=\"" + objectId + "\" type=\"" + mimeType + "\" width=\"0\" height=\"0\">" + objectParams + "</object>";

        return true;
    }
    else {
        return false;
    }
}
