//toggles visibility of an element
function showHide(obj) {
  obj = document.getElementById(obj);
  obj.style.display = (obj.style.display == 'block') ? 'none' : 'block';
}

var highPriorityCallbacks = null;
var lowPriorityCallbacks = null;

function FFAddOnLoad(callback, isHighPriority) {
  var c = null;
  if (isHighPriority) {
    if (highPriorityCallbacks == null) {
      highPriorityCallbacks = new Array(callback);
    } else {
      var tmpArray = new Array();
      for(index = 0; index < highPriorityCallbacks.length; index = index + 1) {
        tmpArray[index] = highPriorityCallbacks[index];
      }
      tmpArray[index] = callback;
      highPriorityCallbacks = tmpArray;
    }
  } else {
    if (lowPriorityCallbacks == null) {
      lowPriorityCallbacks = new Array(callback);
    } else {
      var tmpArray = new Array();
      var index = 0;
      for(index = 0; index < lowPriorityCallbacks.length; index = index + 1) {
        tmpArray[index] = lowPriorityCallbacks[index];
      }
      tmpArray[index] = callback;
      lowPriorityCallbacks = tmpArray;
    }
  }
}

//toggles visibility of an element and changes the class name of the element clicked
function showHideClassSwap(obj,toggleId) {
  var obj = document.getElementById(obj);
  var toggleIdent = document.getElementById(toggleId);
  
  obj.style.display = (obj.style.display == 'block') ? 'none' : 'block';
  if (obj.style.display == 'block') {
      YAHOO.util.Dom.addClass(toggleIdent, 'panel_toggle_open');
      YAHOO.util.Dom.removeClass(toggleIdent, 'panel_toggle_closed');
    } else {
      YAHOO.util.Dom.addClass(toggleIdent, 'panel_toggle_closed');
      YAHOO.util.Dom.removeClass(toggleIdent, 'panel_toggle_open');
  } 
}

//toggles visibility of an element and changes the class name of the element clicked
function showHideSwapClass(obj,toggleId) {
  var obj = document.getElementById(obj);
  var toggleIdent = document.getElementById(toggleId);
  
  obj.style.display = (obj.style.display == 'block') ? 'none' : 'block';
  if (obj.style.display == 'block') {
      toggleIdent.className = toggleId+"_open";
    } else {
      toggleIdent.className = toggleId+"_closed"; 
  } 
}

//toggles visibility of two elements
function showHideMulti(objToShow,objToHide) {
  objToShow = document.getElementById(objToShow);
  objToHide = document.getElementById(objToHide);
  objToShow.style.display = (objToShow.style.display == 'block') ? 'none' : 'block';
  objToHide.style.display = (objToHide.style.display == 'none') ? 'block' : 'none';
}

//create new group function for organizer
function showJump(obj) {
  createGroupInputBoxId = obj.replace( "new", "create" );
  var obj = document.getElementById(obj);
  obj.style.display = 'block';
  dojo.byId(createGroupInputBoxId).focus();
  var objPos = YAHOO.util.Dom.getY(obj);
  window.scroll(0,objPos-8);
}

//makes pop-up bubbles appear
function showBubble(element, bubble, xOffset, yOffset) {
    var element = document.getElementById(element);
    //captures the position of the clicked button
    var x = YAHOO.util.Dom.getX(element);
    var y = YAHOO.util.Dom.getY(element);
    var xLoc = x + xOffset;
    var yLoc = y + yOffset;
    var bubble = document.getElementById(bubble);
      bubble.style.display = "block";
      YAHOO.util.Dom.setX(bubble, xLoc);
      YAHOO.util.Dom.setY(bubble, yLoc);
}

//update the Hint for Search Forms
function updateFFHint(el, defaultText){
  if(el.className == "inputHint"){
    el.value = "";
    el.className = "inputNormal";
  }else if(el.value.length <= 0){
    el.value = defaultText;
    el.className = "inputHint";
  }
}

//toggles visibility of drop down
function selectMenu(id, menuOpener){
  var setId = YAHOO.util.Dom.get(id);
  //setId.style.display = "block";
  showHide(id);
  
  var children = YAHOO.util.Dom.getChildrenBy(YAHOO.util.Dom.getFirstChild(setId), function(child) { 
    return child.tagName.toLowerCase()=="li";
  });
  for (var i=0; i<children.length; i++) {
    var child = children[i];
    YAHOO.util.Event.addListener(child , "click" , function(evt, li) {  
      YAHOO.util.Dom.getFirstChild(menuOpener).innerHTML = li.title;
      YAHOO.util.Dom.getFirstChild(menuOpener).title = li.title;
      showHide(id);
    }, child);
  }   
}

// show a pop-in with a title, message and optional login links
function showFFPopIn(el,msg,title,login){
  var popIn = YAHOO.util.Dom.get('ffPopInBox');
  var popInTitle = YAHOO.util.Dom.getElementsByClassName("ffPopinTitle", "span", popIn)[0];
  var popInMsg = YAHOO.util.Dom.getElementsByClassName("ffPopinMsg", "p", popIn)[0];
  popInTitle.innerHTML = title;
  popInMsg.innerHTML = msg;
  if(login){
    var loginPrompt = '<a class="ffPopinJoin" onclick="submitRegister(); return false;" href="javascript:void()">Become a Member</a><a class="btnGreenGradiant" onclick="submitLogin(); return false;" href="javascript:void()" title="Log In"><span><span>Log In</span></span></a>';
    var popInLogin = document.createElement("div");
    YAHOO.util.Dom.addClass(popInLogin, "ffPoinLogin");
    popInLogin.innerHTML = loginPrompt;
    popInMsg.appendChild(popInLogin);
  }
  YAHOO.util.Dom.setStyle(popIn, "display", "block");
  var xyCoordinates = YAHOO.util.Dom.getXY(el);
  YAHOO.util.Dom.setXY('ffPopInBox', xyCoordinates);
}

// close a pop-in
function closeFFPopIn(el){
  el.parentNode.parentNode.style.display = "none";
}

// functional for the image hovers on category pages
dojo.addOnLoad(function imageGalleryHovers() {

  var galElements = dojo.query("a.imageThumb");
  
  for (i=0; i<galElements.length;i++) {
    YAHOO.util.Event.addListener(galElements[i],"mouseover", function(){
      var galElementFrames = dojo.query("div.frame_220x184", this);
      galElementFrames[0].style.display = "block";
      var galElementTexts= dojo.query("dl.imageThumbText", this);
      if (galElementTexts[0]) {galElementTexts[0].style.display = "block";};
    });
    YAHOO.util.Event.addListener(galElements[i],"mouseout", function(){
      var galElementFrames = dojo.query("div.frame_220x184", this);
      galElementFrames[0].style.display = "none";
      var galElementTexts= dojo.query("dl.imageThumbText", this);
      if (galElementTexts[0]) {galElementTexts[0].style.display = "none";};
    });
  }
});

// function for see large image overlay on all content pages when clicking the see larger link
FFAddOnLoad(function(){

  if (dojo.byId("triggerLarge")){
    var triggerLargeLClick = dojo.byId("triggerLarge");
    var triggerLargeSrc = triggerLargeLClick.getAttribute("href");
    var triggerLargeAlt = triggerLargeLClick.getAttribute("alt");
    var triggerLargeTarget = dojo.byId("imageGalleryOverlay");
    dojo.connect(triggerLargeLClick, "onclick", function(evt){
      triggerLargeTarget.innerHTML = '<a href="" id="overlayClose" title="Close">close X</a>' + '<img src="'+triggerLargeSrc+'" alt="'+triggerLargeAlt+'"/>';
      triggerLargeTarget.style.display = (triggerLargeTarget.style.display == 'block') ? 'none' : 'block';
      var triggerLargeCloseOverlay = dojo.byId("overlayClose");
      dojo.connect(triggerLargeCloseOverlay, "onclick", function(closeEvt){
        triggerLargeTarget.style.display = (triggerLargeTarget.style.display == 'block') ? 'none' : 'block';
        closeEvt.preventDefault();
      });
      evt.preventDefault();
    });
  }
}, true);


// function for see large image overlay on all content pages when clicking the image
FFAddOnLoad(function(){

  if (dojo.byId("imageTriggerLarge")){
    var imageTriggerLargeLClick = dojo.byId("imageTriggerLarge");
    var imageTriggerLargeSrc = imageTriggerLargeLClick.getAttribute("href");
    var imageTriggerLargeTarget = dojo.byId("imageGalleryOverlay");
    dojo.connect(imageTriggerLargeLClick, "onclick", function(evt){
      imageTriggerLargeTarget.innerHTML = '<a href="" id="overlayClose" title="Close">close X</a>' + '<img src="'+imageTriggerLargeSrc+'" />';
      imageTriggerLargeTarget.style.display = (imageTriggerLargeTarget.style.display == 'block') ? 'none' : 'block';
      var imageTriggerLargeCloseOverlay = dojo.byId("overlayClose");
      dojo.connect(imageTriggerLargeCloseOverlay, "onclick", function(closeEvt){
        imageTriggerLargeTarget.style.display = (imageTriggerLargeTarget.style.display == 'block') ? 'none' : 'block';
        closeEvt.preventDefault();
      });
      evt.preventDefault();
    });
  }
}, true);

// for optional ADs that may or may not serve into a page
function checkForEmptyInlineAd( adNode, adContainer )
{
  // since this version uses InlineReplace tags, check the DOM for empty nodes
  var adContainerObj = dojo.byId( adContainer );
  var adNodeObj = dojo.byId( adNode );

  var nodeText = adNodeObj.innerHTML;
  if( ( nodeText.replace(/^\s+|\s+$/g, '') != "" ) && ( nodeText.indexOf( "<!-- Blank -->" ) == -1 ) )
  {
    adContainerObj.style.display = "block";
    if( adNode == "banner2" ) dojo.byId( "footerbottomCap" ).style.marginBottom = "10px";
  }
}

// we hide the top banner if an OPA Pushdown is served
function checkforPushDownAndHideBanner( adNode, adContainer ){
	try{
		var adNodeObj = dojo.byId( adNode );
		var nodeText = adNodeObj.innerHTML;
		if( ( nodeText.replace(/^\s+|\s+$/g, '') != "" ) && ( nodeText.toLowerCase().indexOf( "<!-- blank -->" ) > -1 ) ){
		dojo.style(adContainer, "visibility", "hidden");
		}
	}catch(e){/*something went wrong*/ }
}

// form validation for default values - currently used by global magazine promo
function clearDefaultValue( input, defaultValue )             // if this input has the default value at the time of focus, clear it so the user can type in their own value
{ 
  if( input.value == defaultValue ) input.value = ""; 
}

function restoreDefaultValue( input, defaultValue )           // if this input box is left blank, restore the default value
{ 
  if( dojo.trim( input.value ) == "" ) input.value = defaultValue; 
}


function linkTrack( lid, lpos, obj )
{
  try
  {
    if( typeof( cto ) == "object" )
    {
      cto.linkId = lid;
      cto.linkPosition = lpos;
      cto.linkObj = obj;

      cto.trackLink();

      cto.linkId = "";
      cto.linkPosition = "";    
      cto.linkObj = "";
    }
  }
  catch( e ) {}
}

/* SITEWIDE SEARCH CODE */
/**************************************************************************************************************************************************************/
var submitSiteSearchAlreadyCalled = false;    // this is to get around a wierd IE bug which calls this function twice
var searchContentTypes = "",                  // extra filtering parameters (ex: left nav search uses these to search by a specific content type or category)
    searchCategories = "",
    facetNameIds = null;                      // facetNameIds is used by the finder pages

var useBrowseSearch = false;
var browseFaceName,
    browseFaceValue;

function submitSiteSearch( inputBoxId, filteredSearch, useTagFilters, searchType ) 
{
  if( !submitSiteSearchAlreadyCalled ) 
  {
    if( typeof( searchType ) != "undefined" && searchType != null && searchType != "" ) searchType = "?type=" + searchType;
    else searchType = "";
    
    useTagFilters = ( typeof( filteredSearch ) != "undefined" && filteredSearch ) ? true : false;
    
    var siteSearchQuery = ( inputBoxId == null ? "" : dojo.byId( inputBoxId ).value );
    siteSearchQuery = checkSearchQueryLength( siteSearchQuery );
    
    if( siteSearchQuery == "" ) siteSearchQuery = "*";
    
    if( typeof( filteredSearch ) != "undefined" && filteredSearch ) 
    {
      if( searchContentTypes != "" && searchCategories != "" ) 
      {
        siteSearchQuery += ";q1=" + searchCategories + ";x1=category;q2=" + searchContentTypes + ";x2=content-type";
        
        if( useBrowseSearch ) siteSearchQuery += ";q3=" + browseFacetValue + ";x3=" + browseFacetName;
        else if( useTagFilters ) siteSearchQuery = addTagFilters( siteSearchQuery, 3 );
      }
      else if( searchContentTypes != "" ) 
      {
        siteSearchQuery += ";q1=" + searchContentTypes + ";x1=content-type";
        
        if( useBrowseSearch ) siteSearchQuery += ";q2=" + browseFacetValue + ";x2=" + browseFacetName;
        else if( useTagFilters ) siteSearchQuery = addTagFilters( siteSearchQuery, 2 );
      }
      else if( searchCategories != "" ) 
      {
        siteSearchQuery += ";q1=" + searchCategories + ";x1=category";
        
        if( useBrowseSearch ) siteSearchQuery += ";q2=" + browseFacetValue + ";x2=" + browseFacetName;
        else if( useTagFilters ) siteSearchQuery = addTagFilters( siteSearchQuery, 2 );
      }
      else if( useTagFilters ) siteSearchQuery = addTagFilters( siteSearchQuery, 1 );
      else if( useBrowseSearch ) siteSearchQuery += ";q1=" + browseFacetValue + ";x1=" + browseFacetName;      
    }
    
    siteSearchQuery = encodeSearchQuery( siteSearchQuery );    
    
    window.location.href = "/sitesearch/results/q=" + siteSearchQuery + "/" + searchType;
    submitSiteSearchAlreadyCalled = true;  
  }
}


function linkSearch( query )
{
  var siteSearchQuery = encodeSearchQuery( query );

  window.location.href = "/sitesearch/results/q=*;" + siteSearchQuery + "/?type=link";  
}


function browseSearch( facetValue, facetName )
{
  useBrowseSearch = true;
  
  browseFacetName = facetName;
  browseFacetValue = facetValue;
  
  submitSiteSearch( null, true, false, "browselink" );
}


function addTagFilters( query, paramIndex )
{
  if( facetNameIds != null )
  {
    var facetForm,
        facetValues;
    
    for( var i = 0; i < facetNameIds.length; i++ )
    {
      facetForm = dojo.byId( facetNameIds[ i ] );
      facetValues = "";
      
      for( var k = 0; k < facetForm.length; k++ )
      {
        if( typeof( facetForm[ k ] ) != "undefined" && facetForm[ k ].checked ) facetValues += ( facetForm[ k ].value + "|" );
      }      
      
      if( facetValues != "" )
      {
        facetValues = facetValues.substring( 0, facetValues.lastIndexOf( "|" ) );
        query += ";q" + paramIndex + "=" + facetValues + ";x" + paramIndex + "=" + facetNameIds[ i ]; 
        paramIndex++;
      }
    }
  }
  
  return query;
}


function encodeSearchQuery( query ) { return encodeURIComponent( stripDangerousText( query ) ).split( "%" ).join( "%25" ).toLowerCase(); }


function stripDangerousText( str )
{
  // strip out the following characters <>/\{}"
  return str.split( "\"" ).join( "" ).split( "<" ).join( "" ).split( ">" ).join( "" ).split( "{" ).join( "" ).split( "}" ).join( "" ).split( "\\" ).join( "" );
}


function checkSearchQueryLength( str )
{
  if( str.length > 100 )
  {
    return str.substring( 0, 100 );
  }
  
  return str;
}

/* END SITEWIDE SEARCH CODE */
/**************************************************************************************************************************************************************/


/* Flag Inappropriate */
/**************************************************************************************************************************************************************/
var flaggedCommentId = "",
    flaggedCommentType = "";

var flagInappropriateConfirm = null,
    flagInappropriateThankYou = null;

function confirmInappropriate()
{
  var dataUrl, 
      contentLink, 
      contextLink;
  
  if( flaggedCommentType == "comment" ) 
  {
    dataUrl = "/svc_comment_v3/flagAsInappropriate/comment/" + flaggedCommentId + "/";
    contentLink = window.location.href.substring( 0, window.location.href.indexOf( "/comment-" ) + 1 );
    contextLink = window.location.href;
  }
  else if( flaggedCommentType == "reply" ) 
  {
    dataUrl = "/svc_comment_v3/flagAsInappropriate/reply/" + flaggedCommentId + "/";
    contentLink = contextLink = window.location.href;
  }
  

  dojo.xhrPost( {
    url: dataUrl,
    content: { contextLink: contextLink, contentLink: contentLink },
    load: function( response, ioArgs ) {
      showFlagThankyou();
    },
    error: function( response, ioArgs ) { 
      //if( response.status == 404 ) {}      
    }
  });
  
  closeFlagInappropriate();
}

function showFlagThankyou() 
{
  if( flagInappropriateThankYou == null ) flagInappropriateThankYou = dojo.byId( "inappThankYouMsg" );  

  var flaggedElement = dojo.byId( "not_acceptable_" + flaggedCommentType + "_" + flaggedCommentId );
  var xPos = YAHOO.util.Dom.getX( flaggedElement );
  var yPos = YAHOO.util.Dom.getY( flaggedElement );

  YAHOO.util.Dom.setX( flagInappropriateThankYou, xPos - 10 );
  YAHOO.util.Dom.setY( flagInappropriateThankYou, yPos - 150 );

  flagInappropriateThankYou.style.visibility = "visible";
}

function closeFlagThankyou() { flagInappropriateThankYou.style.visibility = "hidden"; }
function closeFlagInappropriate() { flagInappropriateConfirm.style.visibility = "hidden"; }

function flagAsInappropriate( tempFlaggedCommentId, tempFlaggedCommentType )
{
  if( flagInappropriateConfirm == null ) flagInappropriateConfirm = dojo.byId( "inappContentReport" );  

  flaggedCommentId = tempFlaggedCommentId;
  flaggedCommentType = tempFlaggedCommentType;
  
  var flaggedElement = dojo.byId( "not_acceptable_" + flaggedCommentType + "_" + flaggedCommentId );
  var xPos = YAHOO.util.Dom.getX( flaggedElement );
  var yPos = YAHOO.util.Dom.getY( flaggedElement );

  YAHOO.util.Dom.setX( flagInappropriateConfirm, xPos - 10 );
  YAHOO.util.Dom.setY( flagInappropriateConfirm, yPos - 150 );

  flagInappropriateConfirm.style.visibility = "visible";    
}

/* END Flag Inappropriate */
/**************************************************************************************************************************************************************/

// nav bar spacing fix for mac
if (navigator.appVersion.indexOf( "Mac" ) != -1 )
{
  document.write( '<style>.navWrapper #mainNav li a { padding: 0px 13px !important; }</style>' );   
}


function getQueryStringValue( name )   // utility
{ 
  try { return unescape( location.search.match( new RegExp( name + "=+([^&]*)" ) )[ 1 ] ); } 
  catch( e ) { return ""; }
}


function filterForTracking( str )
{
  str = removeHtmlEntities( str );
  return stripNonAlphaNumeric( str ).split( " " ).join( "_" );
}


function removeHtmlEntities( str )
{
  ampersandIndex = str.indexOf( "&" );
  while( ampersandIndex != -1 )
  {
    semicolonIndex = str.indexOf( ";", ampersandIndex )
    if( semicolonIndex != -1 )
    {
      str = str.substring( 0, ampersandIndex ) + str.substring( semicolonIndex + 1, str.length );
      ampersandIndex = str.indexOf( "&" );
    }
    else ampersandIndex = str.indexOf( "&", ampersandIndex + 1 );
  }

  return str;
}


function stripNonAlphaNumeric( str )
{
  return str.replace( /[^a-zA-Z 0-9]+/g, '' );
}

// these two includes are for running surveys accross the site
document.write( '<script type="text/javascript" src="http://a.dolimg.com/familyfun/assets/js/cookies.js"></script>' );
document.write( '<script type="text/javascript" src="http://a.dolimg.com/familyfun/assets/js/survey.js"></script>' );

// this include is part of the IE PNG Alpha Fix v2.0 Alpha 4 - adds support for background-repeat and background-position of transparent PNGs, which is needed for the transparent page borders to allow background sponsored wallpaper
if( navigator.appVersion.indexOf("MSIE 6") != -1 ) document.write('<script type="text/javascript" src="http://familyfun.go.com/assets/cms/frontend/iepngfix_v2_tilebg.js"><\/script>');

// IE issue: IE doesn't handle <input type="image" /> well (see JIRA FF-1045). The variable inputBoxInFocus is to prevent this issue and is used on the global search elements that use this type of submit button.
var inputBoxInFocus = "";


//scripts moved from defaultScript.tea

//Cookie code
//This next little bit of code tests whether the user accepts cookies.
var acceptsCookies = false;
if(document.cookie == '') {
document.cookie = 'acceptsCookies=yes'; // Try to set a cookie.
if(document.cookie.indexOf('acceptsCookies=yes') != -1)
acceptsCookies = true;
} else {
acceptsCookies = true;
}

function getCookie(name) {
if(document.cookie == '')
return false;
else {
var firstChar, lastChar;
var theBigCookie = document.cookie;
firstChar = theBigCookie.indexOf(name);
var NN2Hack = firstChar + name.length;
if((firstChar != -1) && (theBigCookie.charAt(NN2Hack) == '=')) {
 firstChar += name.length + 1;
 lastChar = theBigCookie.indexOf(';', firstChar);
 if(lastChar == -1)
   lastChar = theBigCookie.length;
 return unescape(theBigCookie.substring(firstChar, lastChar));
} else {
 return false;
}
}
}

var userName = getCookie('familyPortalUserName');

function submitLogin() {
var locationStr = document.location.href;
if (locationStr.lastIndexOf("http") == 0) {
window.location = secureUrl + "/accounts/login/?appName=familyfun&redirectUrl=" + document.location;
}else {
window.location = secureUrl + "/accounts/login/?appName=familyfun&redirectUrl=" + locationStr.substring(locationStr.lastIndexOf("http"));
}
return false;
}

function launch(newURL, newName, newFeatures) {
window.open(newURL, newName, newFeatures);
var printPopupToHide = document.getElementById("printOptions");
if (printPopupToHide) {
printPopupToHide.style.display = "none";
}
return false;
}

function submitLogout() {
var locationStr = document.location.href;
if (locationStr.lastIndexOf("http") == 0) {
window.location = secureUrl + "/logout/?redirectUrl=" + document.location;
}else {
window.location = secureUrl + "/logout/?redirectUrl=" + locationStr.substring(locationStr.lastIndexOf("http"));
}
}

function submitRegister() {
var locationStr = document.location.href;
if (locationStr.lastIndexOf("http") == 0) {
window.location = secureUrl + "/accounts/registration/?appName=familyfun&redirectUrl=" + document.location;
}else {
window.location = secureUrl + "/accounts/registration/?appName=familyfun&redirectUrl=" + locationStr.substring(locationStr.lastIndexOf("http"));
}
}

//*-- login support --*//
function LoginBoxTrigger(clickElement,iframeOffsetX,iframeOffsetY) {

this.loginBox = YAHOO.util.Dom.get('login_box');
this.clickElement = YAHOO.util.Dom.get(clickElement);
           
var offsetX = -30;
var offsetY = -100;

if (iframeOffsetX) {
   //alert('LoginBoxTrigger: ' + iframeOffsetX + ',' + iframeOffsetY);
   offsetX = iframeOffsetX;
   offsetY = iframeOffsetY;
}

// strip events and clear href
YAHOO.util.Event.removeListener(this.clickElement, 'click');
if (this.clickElement.href) {
   this.clickElement.href = 'javascript:void(0);'
}
   
if (this.clickElement.type == 'text' || this.clickElement.type == 'textarea') {
   
   // textareas, input text boxes
   YAHOO.util.Event.addListener(this.clickElement, 'focus', function() {
           var clickX = YAHOO.util.Dom.getX(this.clickElement) + offsetX;
           var clickY = YAHOO.util.Dom.getY(this.clickElement) + offsetY;
           if(clickX > 650) {clickX = 650};
           if(clickX < 0) {clickX = 0};
           //alert(clickX + ',' + clickY);
           YAHOO.util.Dom.setStyle(this.loginBox, 'display', 'block');
           YAHOO.util.Dom.setXY(this.loginBox, [clickX,clickY]);
           this.clickElement.blur();
           return false;
       }, this, true);

} else {
   
   // all others: buttons, links, etc.
   YAHOO.util.Event.addListener(this.clickElement, 'click', function() {
           var clickX = YAHOO.util.Dom.getX(this.clickElement) + offsetX;
           var clickY = YAHOO.util.Dom.getY(this.clickElement) + offsetY;
           if(clickX > 650) {clickX = 650};
           if(clickX < 0) {clickX = 0};
           //alert(clickX + ',' + clickY);
           YAHOO.util.Dom.setStyle(this.loginBox, 'display', 'block');
           YAHOO.util.Dom.setXY(this.loginBox, [clickX,clickY]);
           return false;
       }, this, true);

}
   
}

//json passback method    
function evaluateJSON(passBack){
return eval('(' + passBack.responseText.replace(/^\s*/, "").replace(/\s*$/, "") + ')');
}

//end of scripts moved from defaultScripts.tea

