﻿// JScript File
// start Support menu flyout

var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;

// open hidden layer
function mopen(id) {
    // cancel close timer
    mcancelclosetime();

    // close old layer
    if (ddmenuitem) ddmenuitem.style.visibility = 'hidden';

    // get new layer and show it
    ddmenuitem = document.getElementById(id);
    ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose() {
    if (ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime() {
    closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime() {
    if (closetimer) {
        window.clearTimeout(closetimer);
        closetimer = null;
    }
}

// close layer when click-out
document.onclick = mclose;

// end support menu flyout


// This next little bit of code tests whether the user accepts cookies.
var WM_acceptsCookies = false;
if(document.cookie == '') {
    document.cookie = 'WM_acceptsCookies=yes'; // Try to set a cookie.
    if(document.cookie.indexOf('WM_acceptsCookies=yes') != -1) {
	WM_acceptsCookies = true; 
    }// If it succeeds, set variable
} else { // there was already a cookie
  WM_acceptsCookies = true;
}


function WM_setCookie (name, value, hours, path, domain, secure) {
    if (WM_acceptsCookies) { // Don't waste your time if the browser doesn't accept cookies.
	var not_NN2 = (navigator && navigator.appName 
		       && (navigator.appName == 'Netscape') 
		       && navigator.appVersion 
		       && (parseInt(navigator.appVersion) == 2))?false:true;

	if(hours && not_NN2) { // NN2 cannot handle Dates, so skip this part
	    if ( (typeof(hours) == 'string') && Date.parse(hours) ) { // already a Date string
		var numHours = hours;
	    } else if (typeof(hours) == 'number') { // calculate Date from number of hours
		var numHours = (new Date((new Date()).getTime() + hours*3600000)).toGMTString();
	    }
	}
	document.cookie = name + '=' + escape(value) + ((numHours)?(';expires=' + numHours):'') + ((path)?';path=' + path:'') + ((domain)?';domain=' + domain:'') + ((secure && (secure == true))?'; secure':''); // Set the cookie, adding any parameters that were specified.
    }
} // WM_setCookie


function WM_readCookie(name) {
    if(document.cookie == '') { // there's no cookie, so go no further
	return false; 
    } else { // there is a cookie
	var firstChar, lastChar;
	var theBigCookie = document.cookie;
	firstChar = theBigCookie.indexOf(name);	// find the start of 'name'
	var NN2Hack = firstChar + name.length;
	if((firstChar != -1) && (theBigCookie.charAt(NN2Hack) == '=')) { // if you found the cookie
	    firstChar += name.length + 1; // skip 'name' and '='
	    lastChar = theBigCookie.indexOf(';', firstChar); // Find the end of the value string (i.e. the next ';').
	    if(lastChar == -1) lastChar = theBigCookie.length;
	    return unescape(theBigCookie.substring(firstChar, lastChar));
	} else { // If there was no cookie of that name, return false.
	    return false;
	}
    }	
} // WM_readCookie

function WM_killCookie(name, path, domain) {
  var theValue = WM_readCookie(name); // We need the value to kill the cookie
  if(theValue) {
      document.cookie = name + '=' + theValue + '; expires=Fri, 13-Apr-1970 00:00:00 GMT' + ((path)?';path=' + path:'') + ((domain)?';domain=' + domain:''); // set an already-expired cookie
  }
} // WM_killCookie

//End Check Cookie Code
//

/*news ticker*/
var headline_count;
var headline_interval;
var old_headline = 0;
var current_headline = 0;

$(document).ready(function() {
    headline_count = $("div.tickerheadline").size();
    $("div.tickerheadline:eq(" + current_headline + ")").css('top', '5px');

    headline_interval = setInterval(headline_rotate, 5000); //time in milliseconds
    $('#tickerscrollup').hover(function() {
        clearInterval(headline_interval);
    }, function() {
        headline_interval = setInterval(headline_rotate, 5000); //time in milliseconds
        headline_rotate();
    });
});

function headline_rotate() {
    current_headline = (old_headline + 1) % headline_count;
    $("div.tickerheadline:eq(" + old_headline + ")").animate({ top: -5 }, "fast", function() {
        $(this).css('top', '30px');
    });
    $("div.tickerheadline:eq(" + current_headline + ")").show().animate({ top: 5 }, "slow");
    old_headline = current_headline;
}
//end of news ticker


function toggleElement(elementToToggle) {
    //debugger;
    $(elementToToggle).slideToggle("slow");
}

// allow events to be attached and fired after a async partial page postback triggered in a update panel
// "asyncTriggerControlId" should be the ClientID of the server control that should trigger the event
// "func" is the method the should be invoked when the pageLoaded event fires
function attachPageLoadedEvent(asyncTriggerControlId, func) {
    var postbackElement;
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequest);
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded);

    function beginRequest(sender, args) {
        try { postbackElement = args.get_postBackElement(); }
        catch (err) { }
    }

    function pageLoaded(sender, args) {
        try {
            var updatedPanels = args.get_panelsUpdated();

            if (typeof (postbackElement) === "undefined") {
                return;
            }
            else if (postbackElement.id == asyncTriggerControlId) {
                func();
            }
        }
        catch (err) { }
    }
}



