

function OpenForwardFriendsWindow(clientId) {
    Modalbox.options.title = "'Email link to:";
    ForwardFriendsModalbox = Modalbox.show(prototypeJs(clientId), { width: 700, height: 600, autoFocusing: false });
}

function SendClick() {
    var forwardContainerBody = prototypeJs(document.body).select('.ReceiptsContainer');
    if (forwardContainerBody.length > 0) {
        var forwardItemWrappers = prototypeJs(forwardContainerBody[0]).select('.ReceiptsItemWrapper');
        for (var i = 0; i < forwardItemWrappers.length; i++) {
            AddNameEmail(forwardItemWrappers[i]);
        }
    }
}

function AddNameEmail(forwardItemWrapper) {
    var nameInput = prototypeJs(forwardItemWrapper).select('.NameInput');
    var emailInput = prototypeJs(forwardItemWrapper).select('.EmailInput');
    var name, email = '';
    if (nameInput.length > 0) {
        name = nameInput[0].value;
    }
    if (emailInput.length > 0) {
        email = emailInput[0].value;
    }
    if (name != '' && email != '') {
        AddToHiddenFields(name, email)
    }
}

function AddToHiddenFields(name, email) {
    var hiddens = prototypeJs(document.body).select('.ShareHiddenValue');
    if (hiddens.length > 0) {
        var hiddenValue = hiddens[0].value
        if (hiddenValue.length == 0)
            hiddens[0].value = name + "=" + email;
        else {
            //Logic to reduct to add the duplicate name and email.
            var isExists = false;
            var hiddenValues = hiddens[0].value.split(";");
            for (var i = 0; i < hiddenValues.length; i++) {
                var rValues = hiddenValues[i].split("=");
                if (rValues.length > 1) {
                    if ((rValues[0] == name && rValues[1] == email)) {
                        isExists = true;
                        break;
                    }
                }
            }
            if (isExists == false) {
                hiddens[0].value = hiddenValue + ";" + name + "=" + email;
            }
        }
    }
}

function DeleteFriend(deleteInput) {
    var receiptItemWrapper = prototypeJs(deleteInput).up();
    prototypeJs(receiptItemWrapper).remove();
    ValidatorOnLoad();
    var hiddens = prototypeJs(document.body).select('.ShareHiddenValue');
    if (hiddens.length > 0) {
        hiddens[0].value = "";
    }
    SendClick();
}

function ReceiptsItemWrapper() {
    var itemBody = prototypeJs(document.body).select('.ReceiptsContainer');
    if (itemBody.length > 0) {
        var itemWrapperAttrs = { 'class': 'ReceiptsItemWrapper' };
        var newItemWrapper = new Element('div', itemWrapperAttrs);

        var newItemNameDivAttrs = { 'class': 'NameItemInput' };
        var newItemNameDiv = new Element('div', newItemNameDivAttrs);
        var newItemNameInputAttrs = { type: 'text', name: 'nameInput', id: 'nameInput_' + controlId, 'class': 'NameInput' };
        var newItemNameInput = new Element('input', newItemNameInputAttrs);
        var newItemNameRequireValidatorAttrs = { 'class':'EnquiryError','style': 'color: Red; display: none;', id: 'nameInputRequiredValidator_' + controlId };
        var newItemNameRequireValidator = new Element('span', newItemNameRequireValidatorAttrs).update('Please type name');
        prototypeJs(newItemNameDiv).insert(newItemNameInput);

        prototypeJs(newItemNameDiv).insert(newItemNameRequireValidator);

        var newItemEmailDivAttrs = { 'class': 'EmailItemInput' };
        var newItemEmailDiv = new Element('div', newItemEmailDivAttrs);
        var newItemEmailInputAttrs = { type: 'text', name: 'emailInput', id: 'emailInput_' + controlId, 'class': 'EmailInput' };
        var newItemEmailInput = new Element('input', newItemEmailInputAttrs);
        var newItemEmailRequireValidatorAttrs = { 'class':'EnquiryError', 'style': 'color: Red; display: none;', id: 'emailInputRequiredValidator_' + controlId };
        var newItemEmailRequireValidator = new Element('span', newItemEmailRequireValidatorAttrs).update('Please type email address');

        var newItemEmailRegularExpressionValidatorAttrs = { 'class':'EnquiryError','style': 'color: Red; display: none;', id: 'emailInputRegularExpressionValidator_' + controlId };
        var newItemEmailRegularExpressionValidator = new Element('span', newItemEmailRegularExpressionValidatorAttrs).update('Enter a valid email address');
        prototypeJs(newItemEmailDiv).insert(newItemEmailInput);

        prototypeJs(newItemEmailDiv).insert(newItemEmailRequireValidator);
        prototypeJs(newItemEmailDiv).insert(newItemEmailRegularExpressionValidator);


        var newItemDeleteInputAttrs = { type: 'button', id: 'deleteInput_' + controlId, 'onclick': 'DeleteFriend(this)', 'value': '-', 'class': 'ForwardDeleteButton' };
        var newItemDeleteInput = new Element('input', newItemDeleteInputAttrs);

	var newClearDivAttrs = {'style': 'clear: both;'};
	var newClearDiv = new Element('div', newClearDivAttrs);

        prototypeJs(newItemWrapper).insert(newItemNameDiv);
        prototypeJs(newItemWrapper).insert(newItemEmailDiv);
        prototypeJs(newItemWrapper).insert(newItemDeleteInput);
	prototypeJs(newItemWrapper).insert(newClearDiv);
        prototypeJs(itemBody[0]).insert(newItemWrapper);


        if (typeof (Page_Validators) != 'undefined') {
            var nameRequiredValidator = document.getElementById('nameInputRequiredValidator_' + controlId);
            Page_Validators.push(nameRequiredValidator);
            nameRequiredValidator.controltovalidate = 'nameInput_' + controlId;
            nameRequiredValidator.errormessage = "Please type name";
            nameRequiredValidator.display = "Dynamic";
            nameRequiredValidator.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
            nameRequiredValidator.initialvalue = "";

            var emailRequiredValidator = document.getElementById('emailInputRequiredValidator_' + controlId);
            Page_Validators.push(emailRequiredValidator);
            emailRequiredValidator.controltovalidate = 'emailInput_' + controlId;
            emailRequiredValidator.errormessage = "Please type email address";
            emailRequiredValidator.display = "Dynamic";
            emailRequiredValidator.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
            emailRequiredValidator.initialvalue = "";

            var emailRegularExpressionValidator = document.getElementById('emailInputRegularExpressionValidator_' + controlId);
            Page_Validators.push(emailRegularExpressionValidator);
            emailRegularExpressionValidator.controltovalidate = 'emailInput_' + controlId;
            emailRegularExpressionValidator.focusOnError = "t";
            emailRegularExpressionValidator.errormessage = "Enter a valid email address";
            emailRegularExpressionValidator.display = "Dynamic";
            emailRegularExpressionValidator.evaluationfunction = "RegularExpressionValidatorEvaluateIsValid";
            emailRegularExpressionValidator.validationexpression = "^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\\-+)|([A-Za-z0-9]+\\.+)|([A-Za-z0-9]+\\++))*[A-Za-z0-9]+@((\\w+\\-+)|(\\w+\\.))*\\w{1,63}\\.[a-zA-Z]{2,6}$";
        }
        else {
            alert('error to load the page validator');
            return;
        }
        ValidatorOnLoad();
    }

    controlId = controlId + 1;
    SendClick();
}

function PrintPage(url) {
    var printWin = window.open(url, 'SharePrint', 'height=800,width=1024,scrollbars=yes,toolbar=no,resizable=yes,location=no,status=no,menubar=yes');
}

