var staticServer='http://cdn.depositaccounts.com';

function share(method)
{
    var url=window.location.href;
    var title=document.title;
    switch (method)
    {
        case "facebook":
            window.open('http://www.facebook.com/sharer.php?u=' + escape(url) + '&t=' + escape(title));
            break;
        case "twitter":
            window.open('http://twitter.com/share?url=' + escape(url) + '&text=' + escape(title + ' - ') + '&related=DepositAccounts');
            break;
        case "email":
            location.href = 'mailto:?subject=' + escape(title) + '&body=' + escape(title + ' - ' + url);
            break;
    }
}     

function clearText(field,password){
    if (field.defaultValue == field.value) 
    {
        field.value = '';
        if (password) {
            field.parentNode.innerHTML='<input type="password" id="loginPassword" name="loginPassword" value=""  />';
            setTimeout("document.getElementById('loginPassword').focus();", 10);
        }
    }
    else if (field.value == '') {
    field.value = field.defaultValue;
    }
    
}

function showRateDisclaimer(bankName)
{
    var result='Always verify rates and promotions with the bank or credit union.  We are not ' + bankName + ', we are a rate comparison website and can not provide the official rates or promotions.';
    var disclaimerDiv=document.getElementById('rateDisclaimer');
    if (disclaimerDiv!=null)
    {
        disclaimerDiv.innerHTML=result;
    }
}

function showDisclaimer(version)
{
    var result='<div class="leftBox"><div class=\"sectionTitle\">Disclaimer</div>';
    var email='feed' + 'back' + '@' + 'deposit' + 'accounts' + '.com';
    var defaultMessage='The rates and promotions displayed are gathered from various financial institutions and may not reflect all of the products available in your region. Although we strive to provide the most accurate data possible, we cannot guarantee its accuracy.  The content displayed is for general information purposes only; always verify account details and availability with the financial institution before opening an account.  Contact <a href="mailto:' + email + '" rel="noindex,nofollow">' + email + '</a> to report inaccurate data or to request rates or promotions be included in this chart. We are not affiliated with the financial instututions listed here.<br/>';
    defaultMessage+='* The rates for some products vary by region.  In these cases we have listed the rates for the region closest to the bank\'s headquarters.<br/><br/>';
    defaultMessage+='This page may contain or link to content that is outside of our control including user comments and third party websites.  This content is provided solely for your convenience and information and we do not make any warranties or representations about this content. View <a href="/content/disclaimer.html" rel="nofollow">full disclaimer</a>.';
    switch (version)
    {
        case 'blog':
        case 'notice':
            result+='<p class="disclaimer">Existing blog posts are not regularly maintained and may contain inaccurate or outdated information.  Always verify the current rates and terms with the financial instituion before applying for an account. ';
            result+='This page may contain or link to content that is outside of our control including user comments and third party websites.  This content is provided solely for your convenience and information and we do not make any warranties or representations about this content. View <a href="/content/disclaimer.html" rel="nofollow">full disclaimer</a>.</p>';
            break;
        case 'bank':
            result+='<p class="disclaimer">' + defaultMessage + '<br><br>Bank health information is provided solely for your convienience and is not guaranteed to be error free or the most current information available.  Always check with the FDIC (banks) or NCUA (credit unions) for the latest financial information.</p>';
            break;
        default:
            result+='<p class="disclaimer">' + defaultMessage + '</p>';
            break;
    }
    if (version=='notice') result=result.replace('blog posts', 'notices');
    
    result+='</div>'
    document.write(result);
}


function toggleExpand(elementId,forceExpand){var el=document.getElementById(elementId);if (el.className=='collapsed' || forceExpand) el.className='expanded'; else el.className='collapsed';}
function starsClick(element,e,hiddenField){var x=(e.offsetX)?e.offsetX:e.layerX-element.x;var stars=getStars(x);document.getElementById(hiddenField).value=stars;}
function starMouseOver(element,e){var x=(e.offsetX)?e.offsetX:e.layerX-element.x;var stars=getStars(x);element.src='/images/stars/' + stars + '.png';}
function starMouseOut(element,hiddenField){element.src='/images/stars/' + document.getElementById(hiddenField).value + '.png';}
function getStars(x){return parseInt((x+12)/16);}

function reportIssue(bankId)
{
    window.open('/banks/reportproblem.aspx?id=' + bankId,'reportissue','height=380,width=420,scrollbars=no,location=no,menubar=no,resizable=no,status=no,toolbar=no,top=200,left=200');
}



function getSubNav(menu){
	switch (menu)
	{
	    case 'blog':
		    return null;
		    break;
		case 'savings':
		    return [getLink('[state]/savings/','Personal Savings Accounts'),getLink('[state]/savings/business-savings-accounts.html','Business Savings Accounts'),getLink('[state]/savings/health-savings-accounts.html','Health Savings Accounts'),getLink('[state]/savings/installment-savings-accounts.html','Installment Savings Accounts'),getLink('[state]/savings/childrens-savings-accounts.html','Children\'s Savings Accounts')];
		    break;
		case 'checking':
		    return [getLink('[state]/checking/','Personal Checking Accounts'),getLink('[state]/checking/business-checking-accounts.html','Business Checking Accounts'),getLink('[state]/checking/reward-checking-accounts.html','Reward Checking Accounts')];
		    break;
		case 'cd':
		    return [getLink('[state]/cd/3-month-cd-rates.html','3 Month CD'),getLink('[state]/cd/6-month-cd-rates.html','6 Month CD'),getLink('[state]/cd/','1 Year CD'),getLink('[state]/cd/18-month-cd-rates.html','18 Month CD'),getLink('[state]/cd/2-year-cd-rates.html','2 Year CD'),getLink('[state]/cd/3-year-cd-rates.html','3 Year CD'),getLink('[state]/cd/4-year-cd-rates.html','4 Year CD'),getLink('[state]/cd/5-year-cd-rates.html','5 Year CD'),getLink('[state]/cd/6-year-cd-rates.html','6+ Year CD')];
		    break;
		case 'mma':
		    return [getLink('[state]/moneymarket/','Personal Money Market'),getLink('[state]/moneymarket/business-money-market.html','Business Money Market'),getLink('[state]/moneymarket/jumbo-money-market.html','Jumbo Money Market')];
		    break;
		case 'ira':
		    return [getLink('[state]/ira/ira-savings.html','IRA Savings'),getLink('[state]/ira/6-month-ira-rates.html','6 Month IRA'),getLink('[state]/ira/','1 Year IRA'),getLink('[state]/ira/18-month-ira-rates.html','18 Month IRA'),getLink('[state]/ira/2-year-ira-rates.html','2 Year IRA'),getLink('[state]/ira/3-year-ira-rates.html','3 Year IRA'),getLink('[state]/ira/4-year-ira-rates.html','4 Year IRA'),getLink('[state]/ira/5-year-ira-rates.html','5 Year IRA'),getLink('[state]/ira/6-year-ira-rates.html','6+ Year IRA')];
		    break;
        case 'forum':
		    return [getLink('/forum/','Banking Forum'),getLink('/forum/searchresults.aspx?firstpost=1&featured=1','Featured Threads'),getLink('/forum/search.aspx','Forum Search'),getLink('/forum/searchresults.aspx?timeframe=7&firstpost=1','Latest Threads'),getLink('/forum/searchresults.aspx?timeframe=7','Latest Posts')];
		    break;
		case 'reviews':
		    return [getLink('/banks/reviews.aspx', 'Bank Reviews'), getLink('/banks/health.aspx', 'Bank Health Ratings'), getLink('/banks/promotions/', 'Bank Promotions'), getLink('/banks/rates/', 'Bank Rates'), getLink('/banks/alerts/', 'Bank Alerts')];
		    break;
	}
}

function getLink(url, text){return [url,text];}

function showMenu(menu)
{
    var state=getMenuState(menu)
    var holder=document.getElementById('subMenuHolder');//$('#subMenuHolder');
    
    //Populate Menu Items
    var menuItems=getSubNav(menu);
    if (menuItems==null) {
        holder.innerHTML=''
    } else {
        var result='<div class="subMenu"><table class="subMenu' + menu + '"><tr>';
        var selectedUrl=getSelectedMenuUrl(menuItems);
        for (var i=0;i<menuItems.length;i++)
        {
            result+='<td';
            if (i==0) result+=' class="first"';
            result+='><a';
            if (menuItems[i][0]==selectedUrl) result+=' class="active"';
            result += ' href="' + menuItems[i][0].replace('[state]',state) + '"><span>' + menuItems[i][1] + '</span></a></td>';
        }
        result +='</tr></table></div>';
        holder.innerHTML=result;
    }
    
    //Set Selected Tab
    var nodes=$('#main-nav')[0].children;
    for (var i=0;i<nodes.length;i++)
    {
        var node=nodes[i];
        node.className='';
        if (node.innerHTML.indexOf("'" + menu + "'")>-1) node.className='active';
        //if (String(node.getAttribute('onmouseover')).indexOf("'" + menu + "'")>-1) node.className='active';
    }
    
}

function getMenuState()
{
    var className=document.getElementById('menuWrapper').className;
    var state='';
    var idx=className.indexOf(' ');
    if (idx>-1) state=className.substring(idx+1);
    if (state!='') state='/' + state;
    return state;
}


if (window.addEventListener) window.addEventListener("load", initMenu, false);
else if (window.attachEvent) window.attachEvent("onload", initMenu);

var mouseOnNav=false;
function restoreMenu()
{
    if (!mouseOnNav)
    {
        var menu=document.getElementById('menuWrapper').className;
        if (menu.indexOf(' ')>-1) menu=menu.substring(0,menu.indexOf(' '));
        showMenu(menu);
    }
}

function initMenu()
{
    $('#menuWrapper').mouseleave(function(){mouseOnNav=false;setTimeout(restoreMenu,1200);});
    $('#menuWrapper').mouseenter(function(){mouseOnNav=true;});
}

function getSelectedMenuUrl(subNav)
{
    if (subNav == null) return "";
    var path=location.href;
    var result = "";
    for (var i = 0; i < subNav.length; i++)
    {
        var url = subNav[i][0];
        var cleanUrl=url.replace('[state]/','');
        if (path.indexOf(cleanUrl)>-1)
        {
            if (url.length > result.length) result = url;
        }
    }
    return result;
}


function login()
{
    var username='';
    var password='';
    var randomnumber=Math.floor(Math.random()*1000)
    if ($('#loginUserName')[0])
    { 
        username=$('#loginUserName')[0].value;
        password=$('#loginPassword')[0].value;
    }
    $.get('/ajax/login.aspx?user=' + username + '&password=' + password + '&rnd=' + randomnumber.toString(), null, function(responseText)
        {
            if (responseText.length>0) alert(responseText); else location.href=location.href;
        }
    );
    return false;
}


function getCookie(c_name)
{
    if (document.cookie.length>0)
      {
      c_start=document.cookie.indexOf(c_name + "=");
      if (c_start!=-1)
        {
        c_start=c_start + c_name.length+1;
        c_end=document.cookie.indexOf(";",c_start);
        if (c_end==-1) c_end=document.cookie.length;
        return unescape(document.cookie.substring(c_start,c_end));
        }
      }
    return "";
}

function drawLoginDiv()
{
    var result='';
    var name=getCookie('name');
    if (name=='')
    {
        result='<a href="javascript:showLogin();">Login</a> | <a href="javascript:showRegister();">Register</a>';
    } else {
        result='Welcome ' + name + "<br/>";
        var pmNum=document.getElementById('pmNum');
        if (pmNum!=null) result +='<a href="/cp/pm/">' + pmNum.innerHTML + ' PM(s)</a>'; else result+='<a href="/cp/">Control Panel</a>'
        result+=' | <a href="javascript:var a=login();">Logout</a>';
    }
    $('#loginDiv')[0].innerHTML=result;
}



function drawShareBox()
{
    var shareBox=document.getElementById('shareBox');
    if (shareBox!=null)
    {
        shareBox.innerHTML='<a class="facebook" href="javascript:share(\'facebook\');"></a><a href="javascript:share(\'twitter\');" class="twitter"></a><a href="javascript:share(\'email\');" class="email"></a>';
	}
}

function loadJs(js,el){if (el==null) el=document.getElementsByTagName('head')[0];var newScript = document.createElement('script');newScript.type = 'text/javascript';newScript.src = js;el.appendChild(newScript);}



function siteSearch()
{
    search(document.getElementById('searchText').value,'');
}

function search(term,mode)
{
    switch (mode)
    {
        case "forum":
            location.href='/forum/searchresults.aspx?keyword=' + escape(term) + '&keywordscope=full';
            break;
        case "banks":
            location.href='/search.aspx?tab=banks&q=' + escape(term);
            break;
        default:
            location.href='/search.aspx?cx=partner-pub-5196472041338315%3Aolww2k-q0ex&cof=FORID%3A11&ie=ISO-8859-1&q=' + escape(term) + '&sa=Search&siteurl=www.depositaccounts.com%252Fsearch.aspx';
            break;
    }
}

function initProductSearch()
{
    var holder=document.getElementById('productSearchHolder');
    if (holder)
    {
        var result='<div class="rightBox"><div class="sectionTitle">Compare Rates</div>';
        result+='<div class="inner" id="productSearch">';
        result+='<table width="100%" cellpadding="0" cellspacing="0"><tr><td>Enter dollar amount:</td><td> <input type="text" value="$10,000" style="width:130px;" id="searchAmount" /></td></tr></table>';
        result+='Check all that apply:<br />';
        result+='<table cellpadding="0" cellspacing="0" width="100%"><tr><td><input type="checkbox" id="searchSavings" checked="checked" /><label for="searchSavings">Savings</label></td><td><input type="checkbox" id="searchMma" checked="checked" /><label for="searchMma">MMA</label></td><td><input type="checkbox" id="searchChecking" /><label for="searchChecking">Checking</label></td><td><input type="checkbox" id="searchCd" onchange="toggleSearchTerm();" /><label for="searchCd">CD</label></td><td><input type="checkbox" id="searchIra" onchange="toggleSearchTerm();" /><label for="searchIra">IRA</label></td></tr></table>';
        result+='<div style="float:right;width:67px;"><input class="button-submit" type="image" src="' + staticServer + '/images/buttons/submit.png" onclick="productSearch();" /></div><div id="searchTermHolder"></div><div class="clear"></div></div>';
        //result+='</div><span class="bot-row">&nbsp;</span></div>';
        holder.innerHTML=result;
    }
}

function initAds()
{
    if (typeof(adsidebartop)!='undefined') document.getElementById('adsidebartop').innerHTML=adsidebartop;
    if (typeof(adsidebarbottom)!='undefined') document.getElementById('adsidebarbottom').innerHTML=adsidebarbottom;
}

this.initImagePreview = function(){	
	xOffset = -400;yOffset = 10;
	$("a.preview").hover(function(e){
		this.t = this.title;
		this.title = "";	
		var c = (this.t != "") ? "<br/>" + this.t : "";
		$("body").append("<p id='preview'><img src='"+ this.href +"' alt='Image preview' />"+ c +"</p>");								 
		$("#preview").css("top",(e.pageY + yOffset) + "px").css("left",(e.pageX + xOffset) + "px").fadeIn("fast");						
    },
	function(){this.title = this.t;$("#preview").remove();});	
	$("a.preview").mousemove(function(e){$("#preview").css("top",(e.pageY + yOffset) + "px").css("left",(e.pageX + xOffset) + "px");});			
};

var currentStory=0;
var featureStoryClicked=false;
function loadFeaturedStoryNext()
{
    var idx=currentStory+1;
    if (idx>3) idx=0;
    loadFeaturedStory(idx);
}
function loadFeaturedStoryPrev()
{
    var idx=currentStory-1;
    if (idx<0) idx=3;
    loadFeaturedStory(idx);
}
function loadFeaturedStory(idx)
{
    document.getElementById('featuredButton' + currentStory.toString()).className='';
    
    $('#featuredStory' + currentStory.toString()).fadeOut('fast', function()
    {
        document.getElementById('featuredStory' + currentStory.toString()).className='inactive';
        currentStory=idx;
        $('#featuredStory' + currentStory.toString()).fadeIn('slow');
        document.getElementById('featuredStory' + currentStory.toString()).className='';
        document.getElementById('featuredButton' + currentStory.toString()).className='selected';
    });
    
    featureStoryClicked=true;
}

function featuredStoryScroll()
{
    if (!featureStoryClicked)
    {
        loadFeaturedStoryNext();
        featureStoryClicked=false;
        setTimeout(featuredStoryScroll,5000);
    }
}
function initFeaturedStories()
{
    if (document.getElementById('featuredStory' + currentStory.toString())!=null) setTimeout(featuredStoryScroll,5000);
}
    
function writeAddress(name, domain)
{
    var email=name+'@'+domain;
    document.write('<a href="mailto:' + email + '">' + email + '</a>');
}

function initSearch()
{
    $('#searchText').keypress(function(e) {
        if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {  
            siteSearch();
            return false;  
        } else {  
        return true;  
        }  
});
}

$(document).ready(function() {
    initProductSearch();
    initVoting();
    initAds();
    initSearch();
    drawShareBox();
    initFeaturedStories();
});
 
 


$('#loginDiv').ready(function() {drawLoginDiv();});

