﻿
function nfm_articles(a) {
    for (i = 0; i < a.length; i++) {
        document.writeln('<p style="padding:0.5em 1em;margin:0px;">');
        document.writeln('<a style="color:#1265b1;font-size:11px;text-decoration:underline;" target="_blank"'
			+ 'href="' + unescape(a[i][0]) + '&code=48ba5bb5">' + unescape(a[i][1]) + '<' + '/a>');
        if (a[i][4].length) a[i][2] = a[i][2] + ',';
        document.writeln('<span style="color:#1265b1;font-size:9px;text-decoration:none;">'
			+ unescape(a[i][2]) + '<' + '/span>');
        document.writeln('<span style="color:#1265b1;font-size:9px;text-decoration:none;">'
			+ unescape(a[i][4]) + '<' + '/span>');
        if (a[i][3].length) {
            document.writeln('<br>');
            document.writeln('<span style="color:#666666;font-size:9px;text-decoration:none;">'
			+ unescape(a[i][3]) + '<' + '/span>');
        }
        document.writeln('<' + '/p>');
    }
}

function nfm_articles_error(e) {
    document.writeln('<p style="padding:0.5em 1em;margin:0px;">');
    document.writeln('<span style="color:#666666;font-size:9px;text-decoration:none;">'
			+ e.replace(/a href/g, 'a style="color:#1265b1;font-size:12px;text-decoration:underline;" href') + '<' + '/span>');
    document.writeln('<' + '/p>');
}


function ChartOTDLoad() {
    var img = new Image();


    var chartWindow = $('ChartOfTheDay');
    img.onload = function(event) {
        chartWindow.style.width = (img.width + 80) + "px";
        chartWindow.style.height = (img.height + 70) + "px";
        var chartImg = $('imgChartOfTheDay');
        chartImg.src = img.src;

        ShowItemEditor(chartWindow);


    }

    var res = DojitAjax.GetDailyChart();
    if (res.error != null) {
        alert(res.error);
        return;
    }
    if (res.value.Text) {
        $('spnChartDesc').innerHTML = res.value.Text;
    }
    img.src = "/CmsItems/" + res.value.Param;

}

function CloseRegisterNotify() {
    /*
    if (totMs) {
    setTimeout("RegisterNotify();", totMs);
    }
    */
    window.onscroll = null;
    CloseItemEditor();


}

function RegisterNotify() {

    ShowItemEditor('RegisterNotify');
    window.onscroll = ShowItemEditorProx;
}




function BrokerCheckChange(cb) {

    if (cb.checked) {
        $('divBrokerInfo').style.display = '';

    } else {
        $('divBrokerInfo').style.display = 'none';
    }
}



/**
*
*  AJAX IFRAME METHOD (AIM)
*  http://www.webtoolkit.info/
*
**/

AIM = {

    frame: function(c) {
        var n = 'f' + Math.floor(Math.random() * 99999);
        var d = document.createElement('DIV');
        d.innerHTML = '<iframe style="display:none" src="about:blank" id="' + n + '" name="' + n + '" onload="AIM.loaded(\'' + n + '\')"></iframe>';
        document.body.appendChild(d);

        var i = document.getElementById(n);
        if (c && typeof (c.onComplete) == 'function') {
            i.onComplete = c.onComplete;
        }

        return n;
    },

    form: function(f, name) {
        f.setAttribute('target', name);
    },

    submit: function(f, c) {
        AIM.form(f, AIM.frame(c));
        if (c && typeof (c.onStart) == 'function') {
            return c.onStart();
        } else {
            return true;
        }
    },

    loaded: function(id) {
        var i = document.getElementById(id);
        if (i.contentDocument) {
            var d = i.contentDocument;
        } else if (i.contentWindow) {
            var d = i.contentWindow.document;
        } else {
            var d = window.frames[id].document;
        }
        if (d.location.href == "about:blank") {
            return;
        }

        if (typeof (i.onComplete) == 'function') {
            i.onComplete(d.body.innerHTML);
        }
    }

}












var BrowserDetect = {
    init: function() {
        this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
        this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
        this.OS = this.searchString(this.dataOS) || "an unknown OS";
    },
    searchString: function(data) {
        for (var i = 0; i < data.length; i++) {
            var dataString = data[i].string;
            var dataProp = data[i].prop;
            this.versionSearchString = data[i].versionSearch || data[i].identity;
            if (dataString) {
                if (dataString.indexOf(data[i].subString) != -1)
                    return data[i].identity;
            }
            else if (dataProp)
                return data[i].identity;
        }
    },
    searchVersion: function(dataString) {
        var index = dataString.indexOf(this.versionSearchString);
        if (index == -1) return;
        return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
    },
    dataBrowser: [
		{ string: navigator.userAgent,
		    subString: "OmniWeb",
		    versionSearch: "OmniWeb/",
		    identity: "OmniWeb"
		},
		{
		    string: navigator.vendor,
		    subString: "Apple",
		    identity: "Safari"
		},
		{
		    prop: window.opera,
		    identity: "Opera"
		},
		{
		    string: navigator.vendor,
		    subString: "iCab",
		    identity: "iCab"
		},
		{
		    string: navigator.vendor,
		    subString: "KDE",
		    identity: "Konqueror"
		},
		{
		    string: navigator.userAgent,
		    subString: "Firefox",
		    identity: "Firefox"
		},
		{
		    string: navigator.vendor,
		    subString: "Camino",
		    identity: "Camino"
		},
		{		// for newer Netscapes (6+)
		    string: navigator.userAgent,
		    subString: "Netscape",
		    identity: "Netscape"
		},
		{
		    string: navigator.userAgent,
		    subString: "MSIE",
		    identity: "Explorer",
		    versionSearch: "MSIE"
		},
		{
		    string: navigator.userAgent,
		    subString: "Gecko",
		    identity: "Mozilla",
		    versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
		    string: navigator.userAgent,
		    subString: "Mozilla",
		    identity: "Netscape",
		    versionSearch: "Mozilla"
		}
	],
    dataOS: [
		{
		    string: navigator.platform,
		    subString: "Win",
		    identity: "Windows"
		},
		{
		    string: navigator.platform,
		    subString: "Mac",
		    identity: "Mac"
		},
		{
		    string: navigator.platform,
		    subString: "Linux",
		    identity: "Linux"
		}
	]

};
BrowserDetect.init();




function ChangeImage(imageElem, newImage) {
    imageElem.src = newImage.src;
}

function AddtoFavorites() {

    var BookmarkURL = "http://www.dodjit.com";
    var BookmarkTitle = "Dodjit";

    // If the browser is Internet Explorer
    if (BrowserDetect.browser == "Explorer") {
        // Add to Favorites (Internet Explorer)
        window.external.AddFavorite(BookmarkURL, BookmarkTitle);
    }
    else if (BrowserDetect.browser == "Firefox") {
        // Add to Bookmarks (Mozilla Firefox)
        window.sidebar.addPanel(BookmarkTitle, BookmarkURL, '');
    }


}

///Register Functions







function setHome() {
    document.body.style.behavior = 'url(#default#homepage)';
    document.body.setHomePage(window.location.href);
}

function SearchOnEnter(e) {
    var key;
    if (window.event)
        key = window.event.keyCode; //IE
    else
        key = e.which; //firefox      

    if (key == 13) {


        var textField = $('ctl00_txtQuery');
        if (textField == null) return false;
        if (Trim(textField.value) == '') return false;

        var btn = $('ctl00_btnSearch');
        if (btn) btn.click();
        return false;

    }
}


function disableEnterKey(e) {
    var key;
    if (window.event)
        key = window.event.keyCode; //IE
    else
        key = e.which; //firefox      

    return (key != 13);
}








function removeItems(array, item) {
    var i = 0;
    while (i < array.length) {
        if (array[i] == item) {
            array.splice(i, 1);
        } else {
            i++;
        }
    }
    return array;
}

function containsItem(array, item) {
    var i = 0;
    while (i < array.length) {

        if (array[i] == item) {
            return true;
        }

        i++;

    }

    return false;

}


function Trim(strTrim) {
    while (strTrim.substring(0, 1) == ' ') strTrim = strTrim.substring(1, strTrim.length);
    while (strTrim.substring(strTrim.length - 1, strTrim.length) == ' ') strTrim = strTrim.substring(0, strTrim.length - 1);
    return strTrim;
}


function SelectItem(listBox, item) {

    for (index1 = 0; index1 < listBox.options.length; index1++) {

        if (listBox.options[index1].value == item) {
            listBox.options[index1].selected = true; break;
        }
    }
}

function DeleteValue(listBox, value) {

    for (index1 = 0; index1 < listBox.options.length; index1++) {


        if (listBox.options[index1].value == value) {

            listBox.remove(index1);
            break;
        }
    }
}





/*world map*/
var onFlag = false;
function WorldMapShowCountry(id, elem) {
    if (WorldMapLoaded) {
        onFlag = true;

        $('WorldMapCPI').innerHTML = WorldMapInfo.get(id).cpi;
        $('WorldMapGDP').innerHTML = WorldMapInfo.get(id).gdp;
        $('WorldMapURATE').innerHTML = WorldMapInfo.get(id).uerate;
        $('WorldMapPPI').innerHTML = WorldMapInfo.get(id).ppi;
        document.getElementById('WorldMapBubble').style.display = 'inline';
    }

}



function SwapVisibility(elemId) {

    var elem = $(elemId);
    if (elem) {
        if (elem.style.display === '') {
            elem.style.display = 'none';
        } else {
            elem.style.display = '';


        }
    }
}














//CalendarNewItem CalendarDelteItem CalendarEditItem
function WorldMapGetCountries() {

    var res = DojitAjax.WorldMapGetCountries();


    if (res.error != null) {
        return;
    }

    return res.value;

}




function WorldMapCloseBubble(id) {
    onFlag = false;
    document.getElementById('WorldMapBubble').style.display = 'none';
    document.getElementById('WorldMapBubble').style.top = "-100px";
    document.getElementById('WorldMapBubble').style.left = "-100px";

}

function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent)
        while (1) {
        curleft += obj.offsetLeft;
        if (!obj.offsetParent)
            break;
        obj = obj.offsetParent;
    }
    else if (obj.x)
        curleft += obj.x;
    return curleft;
}

function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent)
        while (1) {
        curtop += obj.offsetTop;
        if (!obj.offsetParent)
            break;
        obj = obj.offsetParent;
    }
    else if (obj.y)
        curtop += obj.y;
    return curtop;
}


var viewportwidth;
var viewportheight;

function GetViewPort() {
    // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight

    if (typeof window.innerWidth != 'undefined') {
        viewportwidth = window.innerWidth,
      viewportheight = window.innerHeight
    }

    // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)

    else if (typeof document.documentElement != 'undefined'
     && typeof document.documentElement.clientWidth !=
     'undefined' && document.documentElement.clientWidth != 0) {
        viewportwidth = document.documentElement.clientWidth,
       viewportheight = document.documentElement.clientHeight
    }

    // older versions of IE

    else {
        viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
       viewportheight = document.getElementsByTagName('body')[0].clientHeight
    }

}

function getScrollXY() {
    var scrOfX = 0, scrOfY = 0;
    if (typeof (window.pageYOffset) == 'number') {
        //Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
        //DOM compliant
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    } else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
        //IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
    }
    return [scrOfX, scrOfY];
}


var severity = { error: "error", info: "info" };


function ApplyElemMessage(elem_name, msg, elem_class) {
    var elem = $(elem_name);
    elem.innerHTML = msg;
    elem.className = elem_class;
}


function ScrollFixBarPosition() {
    StatusBar.style.top = (viewportheight + getScrollXY()[1] - 20) + "px";

}


function StatusBarShowMessage(message, msgSeverity) {

    switch (msgSeverity) {

        case severity.error:
            StatusSpan.style.color = "red";
            break;

        case severity.info:
            StatusSpan.style.color = "black";
            break;

    }
    StatusSpan.innerHTML = message;
    StatusBar.fade(1);
    setTimeout(StatusBarFadeMessage, 6000);
}

function StatusBarFadeMessage() {
    StatusBar.fade(0);
}





function GetDemmisonANumber(prop) {

    return parseInt(prop.substring(0, prop.length - 2));


}




function ShowCalendarItemText(id) {

    elem = $('RowText' + id);
    content = $('RowTextContent' + id);
    if (content.innerHTML == '') {
        var res = DojitAjax.CalendarGetItemText(id);
        if (res.error != null) {
            return;
        }


        content.innerHTML = res.value;
    }
    SwapVisibility('RowText' + id);


}

var CurrentEditor;

function ShowItemEditorProx() {
    ShowItemEditor(CurrentEditor);

}


function SetAfterLoginURL(url) {

    var res = DojitAjax.SetLoginRedirectURL(url);
    if (res.error != null) {
        return;
    }

}


function DoLogout() {

    var res = DojitAjax.Logout();
    if (res.error != null) {
        return;
    }

    window.location.reload();

}



function GoToLogin() {
    SetAfterLoginURL(window.location);
    window.location = '/Login.aspx';

}

function ShowItemEditor(elementToDisplayId) {

    if (!elementToDisplayId) elementToDisplayId = CurrentEditor;
    GetViewPort();
    itemEditor = $('ItemEditor');
    if (document.body.clientWidth < viewportwidth) {
        itemEditor.style.width = viewportwidth + "px";
    } else {
        itemEditor.style.width = document.body.clientWidth + "px";
    }

    if (document.body.clientHeight < viewportheight) {
        itemEditor.style.height = viewportheight + "px";
    }
    else {
        itemEditor.style.height = document.body.clientHeight + "px";
    }



    itemEditor.style.display = '';

    elementToDisplay = $(elementToDisplayId);
    var ScrollXY = getScrollXY();
    elementToDisplay.style.left = (ScrollXY[0] + ((viewportwidth - GetDemmisonANumber(elementToDisplay.style.width)) / 2)) + "px";

    if (viewportheight < GetDemmisonANumber(elementToDisplay.style.height)) {
        elementToDisplay.style.top = (ScrollXY[1] + 20) + "px";
    } else {
        elementToDisplay.style.top = (ScrollXY[1] + ((viewportheight - GetDemmisonANumber(elementToDisplay.style.height)) / 2)) + "px";
    }
    elementToDisplay.style.display = '';
    CurrentEditor = elementToDisplay;

    if (GetDemmisonANumber(itemEditor.style.height) < GetDemmisonANumber(elementToDisplay.style.height)) {
        itemEditor.style.height = (GetDemmisonANumber(elementToDisplay.style.height) + 40) + "px";
    }

}


function CloseItemEditor() {

    itemEditor.style.display = 'none';
    CurrentEditor.style.display = 'none';

}


function NewsLetterJoin(text_elem, msg_elem) {

    var email = $(text_elem).value;
    var res = DojitAjax.NewsLetterJoin(0, email);
    if (res.error != null) {
        ApplyElemMessage(msg_elem, res.error.description, 'SmallRed');
        return;
    }

    $(text_elem).value = '';

    if (text_elem == 'txtNewsletterEmail') {
        $(text_elem).style.display = 'none';
    }
    ApplyElemMessage(msg_elem, 'You have signed up successfully.', 'SmallGreen');

}


function MailSend() {

    window.location = '/MailCompose.aspx?to=' + MemberMenuUserId;
}
function MemberMenuClose() {
    MemberMenuUserId = -1;
    MemberMenuClosed = true;
    $('MemberMenu').style.display = 'none';
}
var MemberMenuUserId;
var MemberMenuUserName;
var MemberMenuClosed = true;
function MemberMenuShow(eleme, userId, UserName) {

    if ((MemberMenuUserId != userId) || (MemberMenuClosed == true)) {
        $('MemberMenu').style.left = (findPosX(eleme)) + "px";
        $('MemberMenu').style.top = (findPosY(eleme) + 18) + "px";
        $('MemberMenu').style.display = 'inline';
        MemberMenuUserId = userId;
        MemberMenuUserName = UserName;
        $('MemberMenuUser').innerHTML = UserName;

        MemberMenuClosed = false;
    } else {
        MemberMenuClose();

    }




}

var coursesMenuClosed = true;

function CloseSchoolMenu() {
    coursesMenuClosed = true;
    $('SchoolCoursesMenu').style.display = 'none';
}
function ShowSchoolMenu(eleme) {


    var coursesMenu = $('SchoolCoursesMenu');
    if (coursesMenuClosed == true) {
        var xOffset = (BrowserDetect.browser == "Explorer") ? 277 : 275;
        coursesMenu.style.left = (findPosX(eleme)-xOffset) + "px";
        coursesMenu.style.top = (findPosY(eleme) + 22) + "px";
        coursesMenu.style.display = 'inline';
        coursesMenuClosed = false;
    } else {
        CloseSchoolMenu();
    }




}


var SearchMenuClosed = true;


function SearchMenuSelectItem(name, id) {



    $('spnSearchType').innerHTML = name;
    $('ctl00_hiSearchType').value = id;
    SearchMenuClose();
}

function SearchMenuClose() {


    $('SearchMenu').style.display = 'none';
    SearchMenuClosed = true;
}

function SearchMenuShow(eleme) {


    if (SearchMenuClosed == true) {
        $('SearchMenu').style.left = (findPosX(eleme) - 64) + "px";
        $('SearchMenu').style.top = (findPosY(eleme) + 18) + "px";
        $('SearchMenu').style.display = 'inline';
        SearchMenuClosed = false;
    } else {

        SearchMenuClose();

    }
}

function IsConnected() {
    if (currentUserId == -1) {
        return false;
    }
    return true;
}

function RequireConnection() {
    if (!IsConnected()) {
        window.location = '/Login.aspx';
    }
}

function PrintPage(pageURL) {
    var uniqueName = new Date();
    var windowName = 'Print' + uniqueName.getTime();
    var printWindow = window.open(pageURL, windowName, 'left=50000,top=50000,width=0,height=0');

}


function SendMailToUser(user) {
    RequireConnection();
    window.location = "/MailCompose.aspx?to=" + user;

}





