function PressButtonOnEnter(e, btnID)
{	
	var evt=(e) ? e : (window.event) ? window.event : null;
	if(evt){		
		var key=(evt.charCode) ? evt.charCode:
			((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0));
		
		if( key == '13')
		{	
			var source;
			if (evt.target) 
				source = evt.target;
			else if (evt.srcElement) 
				source = evt.srcElement;
			if (source.value != '')		 
				document.getElementById(btnID).click();
			return false;
		}		
	}
	return true;
}
var m_DatePickerControls = new Object();

function ShowCalendar(strInputId, strSelDateParam)
{
	m_DatePickerControls.DateInputId = strInputId;
	var win = window.open(strCmsUrl + "/Popups/Calendar.aspx?" + strSelDateParam + "=" + document.getElementById(strInputId).value, 'DatePicker', 'width=230, height=230, resizable=1, scrollbars=0, channelmode=0, directories=0, location=0, menubar=0, status=0, titlebar=1, toolbar=0');
	win.focus();
	return false;
}

function CalendarReturnDate(strDate)
{
	var retValue = new Object();
	retValue.SelectedDate = strDate;
	window.opener.OnGetDate(retValue);
	window.close();
}

function OnGetDate(o)
{
	document.getElementById(m_DatePickerControls.DateInputId).value = o.SelectedDate;
}
var m_DatePickerControls = new Object();

function ShowCalendar(strInputId, strSelDateParam)
{
	m_DatePickerControls.DateInputId = strInputId;
	var win = window.open(strBaseURL + "/Popups/Calendar.aspx?" + strSelDateParam + "=" + document.getElementById(strInputId).value, 'DatePicker', 'width=230, height=230, resizable=1, scrollbars=0, channelmode=0, directories=0, location=0, menubar=0, status=0, titlebar=1, toolbar=0');
	win.focus();
	return false;
}

function CalendarReturnDate(strDate)
{
	var retValue = new Object();
	retValue.SelectedDate = strDate;
	window.opener.OnGetDate(retValue);
	window.close();
}

function OnGetDate(o)
{
	document.getElementById(m_DatePickerControls.DateInputId).value = o.SelectedDate;
}

var m_ImageViewer = null;
var m_nCurrentImage = 0;
function PrepareImageViewer() {
    if (m_ImageViewer == null) {
        m_ImageViewer = document.createElement('div');
        m_ImageViewer.setAttribute("id","imageviewcontainer");
        m_ImageViewer.setAttribute("style","display:none");
        m_ImageViewer.innerHTML = "<div class='imgviewer'><a href='#' id='close-img' onclick='return CloseImageViewer();'>Close</a><a href='#' id='save-img'>Save</a><img id='imageview-image' src='#'><a href='#' id='nextimage' onclick='return NextImage();'>Next</a><a href='#' id='previmage' onclick='return PrevImage();'>Prev</a></div>";
        document.body.appendChild(m_ImageViewer);
    }
}

function ViewImage(nImage) {
    PrepareImageViewer();
    
    m_nCurrentImage = nImage;
    m_ImageViewer.style.display = "block";

    if (m_nCurrentImage == 0)
        document.getElementById("previmage").style.display = "none";
    else
        document.getElementById("previmage").style.display = "block";

    if (m_nCurrentImage == m_saImages.length - 1)
        document.getElementById("nextimage").style.display = "none";
    else
        document.getElementById("nextimage").style.display = "block";

    document.getElementById("imageview-image").src = m_saImages[m_nCurrentImage];
    document.getElementById("save-img").href = '?dlf=' + m_nCurrentImage;
    return false;
}

function CloseImageViewer() {
    m_ImageViewer.style.display = "none";
}

function NextImage() {
    if (m_nCurrentImage < m_saImages.length - 1)
        m_nCurrentImage++;

    ViewImage(m_nCurrentImage);
    return false;
}

function PrevImage() {
    if (m_nCurrentImage > 0)
        m_nCurrentImage--;

    ViewImage(m_nCurrentImage);
    return false;
}

function ShowBigImage(objLink) {
    window.open(objLink.href, "_blank", 'width=700, height=600, resizable=1, scrollbars=1, channelmode=0, directories=0, location=0, menubar=0, status=0, titlebar=1, toolbar=0');
    return false;
}

function InitPreview() {
    var links = document.getElementsByClassName("reachoutpreview", document);
    var firstLink = links[0].getElementsByTagName("a");
    PreviewReachout(firstLink[0]);
}

function PreviewReachout(objLink) {
    var objImgs = objLink.parentNode.getElementsByTagName("img");

    var objBigImage = document.getElementsByClassName("reachbigimg-img", document)[0];
    objBigImage.src = objImgs[0].src;

    var objBigImageLinks = document.getElementsByClassName("bigimglink", document);
    var objLinks = objLink.parentNode.getElementsByTagName("a");
    objBigImageLinks[0].href = objLinks[1].href;
    objBigImageLinks[1].href = objLinks[1].href;

    var objCurrentPreview = document.getElementsByClassName("currentpreview", document)[0];
    if (objCurrentPreview != null)
        objCurrentPreview.className = objCurrentPreview.className.replace(" currentpreview", "");

    objLink.className += " currentpreview";
    return false;
}

document.getElementsByClassName = function(cl, root) {
    var retnode = [];
    var myclass = new RegExp('(^|\\s)' + cl + '(\\s|$)');
    var elem = root.getElementsByTagName('*');
    for (var i = 0; i < elem.length; i++) {
        var classes = elem[i].className;
        if (myclass.test(classes)) retnode.push(elem[i]);
    }
    return retnode;
};

function hasClassName(el, strClassName) {
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    return oRegExp.test(el.className);
}

var addEvListener = function(element, event, listener, bubble) {
    if (element.addEventListener) {
        if (typeof (bubble) == "undefined") bubble = false;
        element.addEventListener(event, listener, bubble);
    } else if (this.attachEvent) {
        element.attachEvent("on" + event, listener);
    }
};

var m_Ticker = null;
var m_Newsitems = null;
var m_nCurrentNewsItem;
var m_nNextArticleTimer;
var m_nRevealArticleTimer;
var m_Revealer;
var m_nCurWidth;
var m_bPreventNext = false;

function InitNewsTicker() {
    m_Ticker = document.getElementById('newsticker');
    m_Revealer = document.createElement("div");
    m_Revealer.innerHTML = "_";
    m_Revealer.setAttribute("id", "revealer");
    m_Ticker.appendChild(m_Revealer);

    addEvListener(m_Ticker, "mouseover", function() { StopTicker(); });
    addEvListener(m_Ticker, "mouseout", function() { StartRevealer(); });

    m_Newsitems = m_Ticker.getElementsByTagName("li");
    m_nCurrentNewsItem = -1;
    m_nNextArticleTimer = 0;
    if (m_Newsitems.length > 0) {
        //Trace('before the first call');
        ShowNextArticle();
    }
}

function StopTicker() {
    if (m_nNextArticleTimer > 0)
        clearTimeout(m_nNextArticleTimer);

    StopRevealer();
}

function StartTicker() {
    //Trace('called start ticker');
    if (m_nNextArticleTimer > 0)
        clearTimeout(m_nNextArticleTimer);
    //Trace('will show now the next article in the ');
    //m_nNextArticleTimer = setTimeout("ShowNextArticle();", 5000);

   // Trace('now starting revealer');
    StartRevealer();
}

function ShowNextArticle() {
    if (m_bPreventNext)
        return;
    m_nCurrentNewsItem++;
    if (m_nCurrentNewsItem >= m_Newsitems.length)
        m_nCurrentNewsItem = 0;

    for (var nArticle = 0; nArticle < m_Newsitems.length; nArticle++) {
        if (nArticle == m_nCurrentNewsItem) {
            m_Newsitems[nArticle].className = " show"; //m_Newsitems[nArticle].setAttribute("class","show");
            var aLink = $(m_Newsitems[nArticle]).find('a');
            m_nCurWidth = $(aLink).width() + 102;
            
        }
        else
            m_Newsitems[nArticle].className = "";  //m_Newsitems[nArticle].className.replace("show", "");
    }
    //Trace('before calling StartTicker from ShowNextArticle');
    StartTicker();
    
}

function StartRevealer() {
    m_CurrentMarginLeft = 80;
    TickerReveal();
}

function StopRevealer() {
    //m_Revealer.style.marginLeft = "1000px";
    m_Revealer.style.marginLeft = m_nCurWidth + 'px';

    if (m_nRevealArticleTimer > 0)
        clearTimeout(m_nRevealArticleTimer);
}

function TickerReveal() {
    //if (m_CurrentMarginLeft >= 1000)
    //    return;
    if (m_CurrentMarginLeft >= m_nCurWidth) {
        m_nNextArticleTimer = setTimeout("ShowNextArticle();", 5000);
        return;
    }

    m_CurrentMarginLeft += 2;
    m_Revealer.style.marginLeft = m_CurrentMarginLeft + "px";
    m_nRevealArticleTimer = setTimeout("TickerReveal();", 20);
}


var m_bTraceContainerCreated = false;
var m_divTrace;
function Trace(strMessage) {
    if (!m_bTraceContainerCreated) {
        var objBody = document.getElementsByTagName('BODY')[0];
        m_divTrace = document.createElement('DIV');
        objBody.appendChild(m_divTrace);
        m_divTrace.innerHTML = 'TRACE <br />';
        m_bTraceContainerCreated = true;
        m_divTrace.style.position = 'absolute';
        m_divTrace.style.backgroundColor = '#f00';
        m_divTrace.style['color'] = 'white';
        m_divTrace.style.top = '0';
        m_divTrace.style.right = '0';
    }

    m_divTrace.innerHTML += strMessage + '<br />';
}
