var likeParams = ['tinypic_________','drawerbutton'];

var _listeners = [];
var _likeSID = '';
var _likeCID = '';
var _likeURL = '';
var _likeDL = '';
var _likeRoot = 'partner.like.com';
var _likeEnabled = true;

function _cancelBubble(_e) {
    if (!_e) return;

    if (_e.stopPropagation) {

        _e.stopPropagation();
        _e.preventDefault();

    } else if (typeof _e.cancelBubble != undefined) {

        _e.cancelBubble = true;
        _e.returnValue = false;

    } else {

        return false;
        _e = null;

    }
}

function _observe(_element, _type, _fn) {
    if (_element.addEventListener) {
        _listeners.push([_element, _type, _fn]);

        _element.addEventListener(_type, _fn, false);
    } else if (_element.attachEvent) {
        _listeners.push([_element, _type, _fn]);

        _element.attachEvent('on' + _type, _fn);
    }
}

_observe(window, 'unload', function() {
    if (!_listeners) return;
    for (var _ii = 0; _ii < _listeners.length; _ii++) {
        var _element = _listeners[_ii][0];
        var _type = _listeners[_ii][1];
        var _fn = _listeners[_ii][2];

        if (_element.removeEventListener) {
            _element.removeEventListener(_type, _fn, false);
        } else {
            _element.detachEvent('on' + _type, _fn);
        }

        _element = null;
    }
}
        );

function _waitfor(_drawerButton) {
    if (!_drawerButton.complete) {
        var _imgwait = setTimeout(function() {
            _waitfor(_drawerButton)
        }, 250);

    } else {
        if (_drawerButton.width > 1 && _drawerButton.height > 1) {
            // don't show results unless test parameter is passed
            if( location.search ) {
                if( location.search.indexOf('likeTest=true') < 0 ) {
                    return;
                }
            }

            var _drawerButtonElm = document.createElement('img');
            _drawerButtonElm.src = _drawerButton.src;
            _drawerButtonElm.width = _drawerButton.width;
            _drawerButtonElm.height = _drawerButton.height;

            with (_drawerButtonElm.style) {
                position = 'absolute';
                top = '50px';
                right = '-35px';
                cursor = 'pointer';
            }

            _observe(_drawerButtonElm, 'mouseover', function(_e) {
                if (_likeEnabled) {
                    _drawerButtonElm.style.display = 'none';
                    _iframeContainerElm.style.display = 'block';
                }
            }
                    );

            _observe(_drawerButtonElm, 'click', function(_e) {
                _cancelBubble(_e);

                _drawerButtonElm.style.display = 'none';
                _iframeContainerElm.style.display = 'block';
            }
                    );

            var _closeBtnElm = document.createElement('img');
            _closeBtnElm.src = 'http://' + _likeRoot + '/pictures/likesense/close.gif';
            _closeBtnElm.style.cursor = 'pointer';

            _observe(_closeBtnElm, 'click', function(_e) {
                _likeEnabled = false;

                _cancelBubble(_e);

                setTimeout(function() {
                    _likeEnabled = true;

                }, 1000
                        );

                _drawerButtonElm.style.display = 'block';
                _iframeContainerElm.style.display = 'none';
            }
                    );

            var _absIFrameElm = document.createElement('iframe');
            _absIFrameElm.src = 'http://' + _likeRoot + '/ls2/drawerframe?SID=' + _likeSID + '&CID=' + _likeCID + '&url=' + _likeURL + '&dl=' + _likeDL + '&r=' + Math.random();
            _absIFrameElm.id = 'likeDrawerFrame';

            with (_absIFrameElm) {
                frameBorder = 0;
                scrolling = 'no';
                width = 273;
                height = 550;
                marginWidth = 0;
                marginHeight = 0;
                topMargin = 0;
                leftMargin = 0;

                with (style) {
                    background = 'none';
                    border = 'none';
                    margin = '0px';
                    padding = '0px';
                    width = '273px';
                    height = '550px';
                }
            }


            var _iframeContainerElm = document.createElement('div');
            _iframeContainerElm.align = 'right';

            with (_iframeContainerElm.style) {
                position = 'absolute';
                top = '50px';
                right = '-273px';
                background = 'none';
                border = 'none';
                margin = '0px';
                padding = '0px';
                display = 'none';
                width = '273px';
                height = '575px';
                textAlign = 'right';
                border = '1px solid #9b9a9a';
                backgroundColor = '#afafaf';
            }
            _iframeContainerElm.appendChild(_closeBtnElm);
            _iframeContainerElm.appendChild(_absIFrameElm);

            var _mediaElm = document.getElementById('imgFrame').parentNode;
            _mediaElm.style.border = '1px solid #CCCCCC';

            var _parentElm = _mediaElm.parentNode;
            _parentElm.appendChild(_drawerButtonElm);
            _parentElm.appendChild(_iframeContainerElm);
        }
    }
}

setTimeout(function() {
    if( location.search ) {
        if( location.search.indexOf('likeTest2=true') < 0 ) {
            return;
        }
    }


    if (typeof likeParams == 'undefined') {
        return;
    }

    _likeSID = likeParams[0];
    _likeCID = likeParams[1];

    if (likeParams.length > 2) {
        _likeRoot = likeParams[2];
    }

    _likeURL = escape(location.href);
    _likeDL = escape(document.getElementById('imgElement').src);

    var _drawerButton = new Image();
    _drawerButton.src = 'http://' + _likeRoot + '/ls2/drawerbutton?SID=' + _likeSID + '&CID=' + _likeCID + '&url=' + _likeURL + '&dl=' + _likeDL + '&r=' + Math.random();

    _waitfor(_drawerButton);

}, 1000
        );
