﻿// Copyright (c) Microsoft Corporation. All rights reserved.

function Microsoft_Live_Messenger_PresenceButton_startConversation(conversationUrl) {
    var url = conversationUrl + "&buttonhost=" + document.location.hostname;
    window.open(url, '_blank', 'height=500px,width=500px');
}

function Microsoft_Live_Messenger_PresenceButton_onStyleChange(element) {
    if (element && element.presence) {
        Microsoft_Live_Messenger_PresenceButton_onPresence(element.presence);
    }
}

function Microsoft_Live_Messenger_PresenceButton_onPresence(presence) {
    var idx = presence.id.indexOf('@');
    if (idx >= 0) {
        var id = presence.id.substr(0, idx);

        var element = document.getElementById('Microsoft_Live_Messenger_PresenceButton_' + id);
        if (element) {
            element.innerHTML = "";

            var conversationUrl = element.attributes['msgr:conversationUrl'].value;
            var width = parseInt(element.attributes['msgr:width'].value);
            var height = 28;

            var bgColor = element.attributes['msgr:backColor'].value;
            var altBgColor = element.attributes['msgr:altBackColor'].value;
            var color = element.attributes['msgr:foreColor'].value;
            var ButtonName = element.attributes['msgr:ButtonName'].value;

            element.className = 'Microsoft_Live_Messenger_PresenceButton';
            element.style.textAlign = 'left';
            element.style.border = 'solid 0px #36849a'; //'solid 1px #36849a'; Kenarlık
            element.style.width = width + 'px';

            var outerFrame = document.createElement('div');
            outerFrame.style.border = 'solid 0px #36849a'; //'solid 1px ' + altBgColor; İç Kenarlık
            //outerFrame.style.backgroundColor = bgColor; Arka Plan Rengi
            //outerFrame.style.backgroundPosition = 'left'; //'center top'; Ortalı
            //outerFrame.style.backgroundRepeat = 'repeat-x';
            outerFrame.style.overflow = 'hidden';
            outerFrame.style.textOverflow = 'ellipsis';
            outerFrame.style.whiteSpace = 'nowrap';
            outerFrame.style.width = (width - 2) + 'px';
            outerFrame.style.fontWeight = 'bold';
            outerFrame.style.height = height + 'px';

            var link = document.createElement('a');
            link.style.textDecoration = 'none';
            link.style.color = color;
            link.href = 'javascript:Microsoft_Live_Messenger_PresenceButton_startConversation("' + conversationUrl + '");';

            var innerFrame = document.createElement('div');
            innerFrame.style.padding = '4px';
            innerFrame.style.textAlign = 'left'; //'center'; Ortalıydı yazı

            var canvas = document.createElement('canvas');
            if (canvas.getContext) {
                // For Firefox, Safari, Opera
                canvas.width = width - 2;
                canvas.height = height - 2;
                canvas.style.position = 'absolute';
                canvas.style.zIndex = 1;

                var ctx = canvas.getContext('2d');
                /*Arka Plan Renk Geçişi*/
                
                //var gradient = ctx.createLinearGradient(0, 0, 0, canvas.height);
                //gradient.addColorStop(0, altBgColor);
                //gradient.addColorStop(1, bgColor);
                //ctx.fillStyle = gradient;
                //ctx.fillRect(0, 0, canvas.width, canvas.height);

                innerFrame.style.position = 'absolute';
                innerFrame.style.zIndex = 2;
                innerFrame.style.paddingLeft = '0px';
                innerFrame.style.paddingRight = '0px';
                innerFrame.style.height = (height - 2) + 'px';
                innerFrame.style.width = (width - 4) + 'px';
                innerFrame.style.overflow = 'hidden';

                link.appendChild(canvas);
            }
            else {
                // For IE
               // outerFrame.style.filter = 'progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=' + altBgColor + ',endColorStr=' + bgColor + ')';
            }

            var statusIcon = document.createElement('img');
            statusIcon.style.border = 'none';
            statusIcon.style.verticalAlign = 'middle';
            statusIcon.src = '/images/Support/SupportIcon.png'; //presence.icon.url;
            statusIcon.width = '30'; //presence.icon.width;
            statusIcon.height = '18'; //presence.icon.height;
            statusIcon.alt = presence.statusText;
            statusIcon.title = presence.statusText;

            var displayName = document.createElement('span');
            displayName.style.fontFamily = 'Tahoma';
            displayName.style.fontSize = '8pt';
            displayName.style.fontWeight = 'bold';
            displayName.style.fontVariant = 'normal';
            displayName.style.fontStyle = 'normal';
            displayName.title = ' ' + ButtonName; //presence.displayName;

            if (displayName.innerText !== undefined) {
                displayName.innerText = ' ' + ButtonName; //presence.displayName;
            }
            else if (displayName.textContent !== undefined) {
            displayName.textContent = ' ' + ButtonName; //presence.displayName;
            }

            innerFrame.appendChild(statusIcon);
            innerFrame.appendChild(displayName);
            link.appendChild(innerFrame);
            outerFrame.appendChild(link);
            element.appendChild(outerFrame);

            element.presence = presence;
        }
    }
}
