﻿var Presslook = {};

Presslook.Related = new function() {
    var CN, NL, SOURCE, URL, UL;
    var styleadded = false;
    var C_BORDERS = '<div style="" id="presslookWidget">'
    + '<div id="plw_header"><h1>Stiri pe aceeasi tema</h1><div onclick="Presslook.Related.close()" id="plw_closeBtn"></div></div>'
    + '<div id="plw_body"><div class="clear"></div>'
    + '<div id="presslookContent"></div>'
    + '<div id="presslookLoading"><img src="http://news.presslook.com/app/images/loading2.gif" /></div>'
    + '<div id="plw_produce"><a href="http://www.presslook.com" target="_blank">Presslook.com</a></div>'
    + '</div>'
    + '<div id="plw_footer"></div>'
    + '</div>';
    //&nbsp;
    var C_SRC = 'http://www.presslook.com/widgets/related.aspx';
    var CONTENT = '';
    this.widget = null;
    var dragObj = {};

    this.getContent = function() {
        var wf = document.getElementById('presslookWidget');
        if (!wf) {
            //this.log('element is null');
            return;
        }
        var src = C_SRC + '?url=' + encodeURIComponent(URL) + '&cn=' + CN + '&ul=' + UL + '&nl=' + NL + '&sourceid=' + SOURCE + '&pagesize=4';
        var txt = "<iframe style='display:none;' id='presslookframe' frameborder='0' src='" + src + "'></iframe>";
        CONTENT = txt;
    }
    this.putContent = function() {
        var c = document.getElementById('presslookContent');
        c.innerHTML = CONTENT;
        setTimeout(this._loading, 1600);
    }
    this._loading = function() {
        Presslook.Related.hideLoading();
        var c = document.getElementById('presslookframe');
        c.style.display = 'block';
        c.style.height = '200px';
        c.style.width = '100%';
    }
    this.showLoading = function() {
        var c = document.getElementById('presslookLoading');
        c.style.display = '';
        var l = document.getElementById('presslookClose');
        if (l) l.style.display = '';
    }
    this.hideLoading = function() {
        var c = document.getElementById('presslookLoading');
        c.style.display = 'none';

        var l = document.getElementById('presslookClose');
        if (l) l.style.display = '';
    }
    this.close = function() {
        var w = document.getElementById('presslookWidget');
        if (w) w.style.display = 'none';
    }
    this.log = function(text) {
        var t = document.getElementById('logging');
        t.innerHTML += text + '<br/>';
    }
    this.show = function() {
        var wf = document.getElementById('presslookWidget');
        if (!wf) {
            var w = document.createElement('div');
            w.id = 'presslook_widget';
            w.innerHTML = C_BORDERS;
            document.body.appendChild(w);
        } else {
            var _w = document.getElementById('presslookWidget');
            if (_w) _w.style.display = 'block';
        }
        //wf.left =(document.documentElement.clientWidth || document.body.clientWidth)/2 - document.getElementById('sphere_widget').clientWidth/2 + 'px';
        //wf.top = (document.documentElement.scrollTop || document.body.scrollTop) + (document.documentElement.clientHeight || document.body.clientHeight)/2 - document.getElementById('sphere_widget').clientHeight/2 + 'px';
        this.widget = wf;
        var widgetHeader = document.getElementById('plw_header');
        if (Presslook.Browser.isIE) {
            widgetHeader.attachEvent("onmousedown", dragStart);
        }
        if (Presslook.Browser.isNS) {
            widgetHeader.addEventListener("mousedown", dragStart, true);
        }
    }
    this.appendStylesheet = function() {
        var stylesheet = document.createElement("link");
        stylesheet.rel = "stylesheet";
        stylesheet.type = "text/css";
        stylesheet.href = "http://www.presslook.com/widgets/css/add.css";
        stylesheet.media = "all";
        document.lastChild.firstChild.appendChild(stylesheet);
        styleadded = true;
    }
    this.search = function(url, ul, cn, nl, source) {
        if (!url && !URL) return;
        URL = url;
        if (ul) UL = ul;
        if (nl) NL = nl;
        if (cn) CN = cn;
        if (source) SOURCE = source;
        this.show();
        if (!styleadded)
            this.appendStylesheet();
        this.showLoading();
        this.getContent();
        this.putContent();

        return false;
    }

    function dragStart(event, id) {
        dragObj = {};

        dragObj.elNode = document.getElementById('presslookWidget');
        //dragObj.elNode = Presslook.Related.widget;
        //alert('satrt drag');
        //if (!Presslook.Related.widget) alert('no!');
        if (Presslook.Browser.isIE) {
            x = window.event.clientX + document.documentElement.scrollLeft
		    + document.body.scrollLeft;
            y = window.event.clientY + document.documentElement.scrollTop
		    + document.body.scrollTop;
        }
        if (Presslook.Browser.isNS) {
            x = event.clientX + window.scrollX;
            y = event.clientY + window.scrollY;
        }


        dragObj.cursorStartX = x;
        dragObj.cursorStartY = y;
        dragObj.elStartLeft = parseInt(dragObj.elNode.style.left, 10);
        dragObj.elStartTop = parseInt(dragObj.elNode.style.top, 10);

        if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = 0;
        if (isNaN(dragObj.elStartTop)) dragObj.elStartTop = 0;

        if (Presslook.Browser.isIE) {
            document.attachEvent("onmousemove", dragGo);
            document.attachEvent("onmouseup", dragStop);
            window.event.cancelBubble = true;
            window.event.returnValue = false;
        }
        if (Presslook.Browser.isNS) {
            document.addEventListener("mousemove", dragGo, true);
            document.addEventListener("mouseup", dragStop, true);
            event.preventDefault();
        }

    }
    function dragGo(event) {
        var x, y;
        if (Presslook.Browser.isIE) {
            x = window.event.clientX + document.documentElement.scrollLeft
		    + document.body.scrollLeft;
            y = window.event.clientY + document.documentElement.scrollTop
		    + document.body.scrollTop;
        }
        if (Presslook.Browser.isNS) {
            x = event.clientX + window.scrollX;
            y = event.clientY + window.scrollY;
        }

        dragObj.elNode.style.left =
	        (dragObj.elStartLeft + x - dragObj.cursorStartX) + "px";
        dragObj.elNode.style.top =
	        (dragObj.elStartTop + y - dragObj.cursorStartY) + "px";

        if (Presslook.Browser.isIE) {
            window.event.cancelBubble = true;
            window.event.returnValue = false;
        }
        if (Presslook.Browser.isNS)
            event.preventDefault();
    }
    function dragStop(event) {
        if (Presslook.Browser.isIE) {
            document.detachEvent("onmousemove", dragGo);
            document.detachEvent("onmouseup", dragStop);
        }
        if (Presslook.Browser.isNS) {
            document.removeEventListener("mousemove", dragGo, true);
            document.removeEventListener("mouseup", dragStop, true);
        }
    }
};

Presslook.Browser = new function() {
    var ua, s, i;

    this.isIE = false;
    this.isNS = false;
    this.version = null;

    ua = navigator.userAgent;
    s = "MSIE";
    if ((i = ua.indexOf(s)) >= 0) {
        this.isIE = true;
        this.version = parseFloat(ua.substr(i + s.length));
        return;
    }
    s = "Netscape6/";
    if ((i = ua.indexOf(s)) >= 0) {
        this.isNS = true;
        this.version = parseFloat(ua.substr(i + s.length));
        return;
    }
    s = "Gecko";
    if ((i = ua.indexOf(s)) >= 0) {
        this.isNS = true;
        this.version = 6.1;
        return;
    }
}