var dataChanged = false;
var showSignupButton = true;
function getMenu(pageName) {
    return getLinks() +
    '<br/>&nbsp;&nbsp;&nbsp;&nbsp;' +
    '<a href="logout"><img src="images/buttons/logout.gif" border="0" /></a>' +
    '<br/>&nbsp;&nbsp;&nbsp;&nbsp;' +
    '<a href="javascript:openHelpWindow()"><img src="images/buttons/help.gif" border="0" /></a>' +    
    '<div id="menuTitle" class="pageTitle"><nobr>' + pageName + '</nobr></div>';
}  

var helpPage = "mainTutorial.html";
function openHelpWindow() {
    popup("help/" + helpPage, 750, 350);
}    

function popupTop(pageName) {
    return '<div class="popupBarPlacement"><img src="images/topbar.gif"/></div>' + 
    '<div class="popupTitle">' + pageName + '</div>' ;
}  

function checkChanges(destination) {
    if (!dataChanged || !(confirm("You have unsaved changes on this page, hit 'OK' to stay here, or 'Cancel' to continue and lose these changes"))) {
        document.location.href = destination;    
    }
}    

function getLinks() {
    var links =  '<div class="logoPlacement"><a href="javascript:checkChanges(\'index.html\')"><img border="0" src="images/innerLogo.gif" /></a></div> ' +
    '<div class="leftMenuPlacement"><table><tr><td class="menu">' +
    '<img src="images/leftMenu/divider.gif" /><p/>&nbsp;<p/>' +
    '<table><tr><td><a href="javascript:checkChanges(\'searchClients\')" class="menu"><img src="images/leftMenu/apple.gif" border="0" /></a></td><td><a href="javascript:checkChanges(\'searchClients\')" class="menu">Clients</a>  </td></tr> ' + 
    '<tr><td><a href="javascript:checkChanges(\'searchRecipes\')" class="menu"><img src="images/leftMenu/lemons.gif" border="0" /></a></td><td><a href="javascript:checkChanges(\'searchRecipes\')" class="menu">Recipes</a>  </td></tr> ' + 
    '<tr><td><a href="javascript:checkChanges(\'editCookdate\')" class="menu"><img src="images/leftMenu/berries.gif" border="0" /></a></td><td><a href="javascript:checkChanges(\'editCookdate\')" class="menu">Cookdates</a>  </td></tr> ' +
    '<tr><td><a href="javascript:checkChanges(\'page?template=forms.html\')" class="menu"><img src="images/leftMenu/apricots.gif" border="0" /></a></td><td><a href="javascript:checkChanges(\'page?template=forms.html\')" class="menu">Forms</a>  </td></tr> ' +
    '<tr><td><a href="javascript:checkChanges(\'invoiceSummaries\')" class="menu"><img src="images/leftMenu/plum.gif" border="0" /></a></td><td><a href="javascript:checkChanges(\'invoiceSummaries\')" class="menu">Accounts</a>  </td></tr> ' +
    '<tr><td><a href="javascript:checkChanges(\'editUser\')" class="menu"><img src="images/leftMenu/orange.gif" border="0" /></a></td><td><a href="javascript:checkChanges(\'editUser\')" class="menu">Admin</a>  </td></tr> ';
        links += 
        '<tr><td><a href="quickStart.html" class="menu"><img src="images/leftMenu/cherry.gif" border="0" /></a></td><td><a href="quickStart.html" class="menu">Resources</a> </td> </tr></table>  </div>'; 
    links += '<div id="menuTitle" class="menuLine"><img src="images/leftMenu/vertLine.gif"></div>';
    return links;
}  

function getExLinks() {
    var links =  '<div class="logoPlacement"><a href="javascript:checkChanges(\'index.html\')"><img border="0" src="images/innerLogo.gif" /></a></div> ' +
    '<div class="leftMenuPlacement"><table><tr><td class="menu">' +
    '<img src="images/leftMenu/divider.gif" /><p/>&nbsp;<p/>' +
    '<table><tr><td><a href="exploring_clients.html" class="menu"><img src="images/leftMenu/apple.gif" border="0" /></a></td>' +
    '<td><a href="exploring_clients.html" class="menu">Clients</a>  </td></tr> ' + 
    '<tr><td><a href="exploring_recipes.html" class="menu"><img src="images/leftMenu/lemons.gif" border="0" /></a></td>' + 
    '<td><a href="exploring_recipes.html" class="menu">Recipes</a>  </td></tr> ' + 
    '<tr><td><a href="exploring_cookdates.html" class="menu"><img src="images/leftMenu/berries.gif" border="0" /></a></td>' + 
    '<td><a href="exploring_cookdates.html" class="menu">Cookdates</a>  </td></tr> ' +
    '<tr><td><a href="exploring_forms.html" class="menu"><img src="images/leftMenu/apricots.gif" border="0" /></a></td>' + 
    '<td><a href="exploring_forms.html" class="menu">Forms</a>  </td></tr> ' +
    '<tr><td><a href="exploring_admin.html" class="menu"><img src="images/leftMenu/orange.gif" border="0" /></a></td>' + 
    '<td><a href="exploring_admin.html" class="menu">Admin</a>  </td></tr> ' +
    '<tr><td><a href="exploring_quickStart.html" class="menu"><img src="images/leftMenu/cherry.gif" border="0" /></a></td><td><a href="exploring_quickStart.html" class="menu">Resources</a> </td> </tr></table>  </div>' + 
    '<div id="menuTitle" class="menuLine"><img src="images/leftMenu/vertLine.gif"></div>';
    return links;

} 
function standardPopup(url) {
    popup(url,600,300);
}      

function ssPopup(imageFile) {
    popup("/chefhelper/page?template=screenshot.vm&image=images/screenshots/" + imageFile + ".gif",700,500);
}      

function popup(url, width, height) {
    var popup = window.open(url,"popup","width=" + width + ",height=" + height + ",scrollbars,resizable,location");
    popup.focus();
}      

function writeFooter() {
    var footer = "<table width='600'><tr><td height='20'>&nbsp;</td></tr>" +
        "<tr><td align='center' class='footer'>&nbsp;<br/>" + 
        "<a href='javascript:openHelpWindow()' class='footer'>Help</a> &nbsp;&nbsp;" +
        "<a href='contactUs.html' class='footer'>Contact Us</a> &nbsp;&nbsp; " +
        "<a href='javascript:standardPopup(\"termsOfService.html\")' class='footer'>Privacy Policy</a><p/>" +
        "&copy;2005 chefhelper.com</td></tr></table>";
    document.write(footer);
}        
   
function getExMenu(pageName) {
    var menu = getExLinks() ;
    if (showSignupButton) {
        menu += '<br/>&nbsp;&nbsp;&nbsp;&nbsp;<a href="/chefhelper/signUp">' +
        '<img src="images/buttons/signup.gif" border="0" /></a><br/>&nbsp;&nbsp;&nbsp;&nbsp;' +
        '<a href="/chefhelper/login"><img src="images/buttons/login.gif" border="0" /></a>';
    }
    menu += '<div class="pageTitle">' + pageName + '</div>' +
    '<div id="menuTitle" class="menuLine"><img src="images/leftMenu/vertLine.gif"></div>';
    
    return menu;
}  

function getPlainMenu(pageName) {
    return getLinks() +
    '<br/>&nbsp;&nbsp;&nbsp;&nbsp;' +
    '<a href="/chefhelper/login"><img src="images/buttons/login.gif" border="0" /></a>';
    '<div class="pageTitle">' + pageName + '</div>';
} 


function formatDate(date) {
    var pieces = date.split("-");
    return pieces[1] + "/" + pieces[2] + "/" + pieces[0];
} 
    

function getLeftSrc(i, isSelected) {
    var leftSrc = "inTabOffLeft";
    if (isSelected) {
        leftSrc = "tabLeft";
    }    
    else if (i==0) {
        leftSrc = "outTabOffLeft";
    }
    return leftSrc;
}

function getRightSrc(isSelected) {
    var rightSrc = "tabOffRight";
    if (isSelected) {
        rightSrc = "tabRight";
    }    
    return rightSrc;
}


function getBGSrc(isSelected) {
    var bgSrc = "inTabBG";
    if (isSelected) {
        bgSrc = "tabBG";
    }    
    return bgSrc;
}

function changeMenuTitle(newTitle) {
    document.getElementById("menuTitle").innerHTML = newTitle;
}    
    
function selectLink(selectedTab) {
    shiftTabs(selectedTab);    
    for (var i=0; i < labels.length; i++) {
        var tabTable = document.getElementById(labels[i]);
        if (selectedTab == links[i]) {
            if (locationLinks[links[i]] != null) {
                document.location.href = locationLinks[links[i]];
            }
            else {    
                changeMenuTitle(labels[i]);
    
                if (tabTable != null) {
                    tabTable.style.display = "inline";
                }    
            }
        }
        else {
            if (tabTable != null) {
                tabTable.style.display = "none";
            }    
        }
    }
}

//move from YYYYMMDD to MM/DD/YYYY
//function formatDate(YYYYMMDD) {
//    YYYYMMDD.replace(/(\d\d\d\d)(\d\d)(\d\d)/,"$2/$3/$1");
//}    

function shiftTabs(selectedTab) {
    for (var i=0; i < labels.length; i++) {
        
        var isSelected = false;
        if (selectedTab == links[i]) {
            isSelected = true;
        }    
        
        var dir = "images/buttons/";
        var leftSrc = dir + getLeftSrc(i, isSelected) + ".gif";
        var bgSrc = dir + getBGSrc(isSelected) + ".gif";
        var rightSrc = dir + getRightSrc(isSelected) + ".gif";
        
        document.getElementById("tabLeft" + i).src = leftSrc;
        document.getElementById("tabBG" + i).background = bgSrc;
        document.getElementById("tabRight" + i).src = rightSrc;
    }
}            

function drawTabs(selectedTab) {
    var menu = "<table cellpadding='0' cellspacing='0' border='0' class='tabPlacement'><tr>";
    for (var i=0; i < labels.length; i++) {
        
        var isSelected = false;
        var className = "tab";
        if (selectedTab == links[i]) {
            isSelected = true;
            className = "selectedTab";
        }    
        
        var leftSrc = getLeftSrc(i, isSelected);
        var bgSrc = getBGSrc(isSelected);
        var rightSrc = getRightSrc(isSelected);
            
        menu += '<td id="tabBG' + i + '" valign="top">';
        menu += '<img id="tabLeft' + i + '" src="images/buttons/' + leftSrc + '.gif" border="0" /></td>';
        menu += '<td background="images/buttons/' + bgSrc + '.gif"><nobr><a href="javascript:selectLink(\'' + links[i] + '\')" class="' + className + '">';
        menu += labels[i] + '</a></nobr></td><td><img id="tabRight' + i + '" src="images/buttons/' + rightSrc + '.gif" border="0" /></td>';
    }
    menu += "</tr></table>";
    menu += '<img src="images/buttons/filler.gif" class="tabFiller" />';

    return menu;
}            

var activeRowNum = 0;
var insertOffsets = new Array();
 
//swap anything with ids for new row id num
function add_row(tableId, templateRowId) {
    var tbl = document.getElementById(tableId);
    if (navigator.appName.indexOf("Explorer") > -1) {
        insert_row_ie(tbl, tbl.rows.length);
    }
    else {
        insert_row_non_ie(tbl, templateRowId, -1);
    }        
}

function insert_row(tableId, templateRowId, insertId) {
    var tbl = document.getElementById(tableId);
    insertPos = getInsertPosition(tbl, insertId);
    if (navigator.appName.indexOf("Explorer") > -1) {
        insert_row_ie(tbl, insertPos);
    }
    else {
        insert_row_non_ie(tbl, templateRowId, insertPos);
    }        
}

function getInsertPosition(tbl, insertId) {
    var insertPosition = 0;
    
    var rows = tbl.getElementsByTagName("tr");
    for (var i=0;i < rows.length;i++) {
        if (rows[i].getAttribute("id") == insertId) {
            insertPosition = i;
        }
    } 
    
    return insertPosition;       
}    
function insert_row_non_ie(tbl, templateRowId, insertPos) {
    var row=tbl.insertRow(insertPos);
    var id = "ROW" + activeRowNum;
    row.setAttribute("id",id);
    var templateRow = document.getElementById(templateRowId);
    for (var i=0;i < templateRow.getElementsByTagName("td").length;i++) {
        var cell = row.insertCell(i);
        var content = templateRow.getElementsByTagName("td")[i].innerHTML;
        content = replaceText(content, "ROWNUM", activeRowNum);
        content = replaceText(content, "ROWID", id);            
        cell.innerHTML = content;
    }
    activeRowNum++; 
}

function insert_row_ie(tbl, insertPos) {
    var row=tbl.insertRow(insertPos);
    var id = "ROW" + activeRowNum;
    row.setAttribute("id",id);
    for (var i=0;i < tbl.rows[0].getElementsByTagName("td").length;i++) {
        var cell = row.insertCell(i);
        var content = tbl.rows[0].getElementsByTagName("td")[i].innerHTML;
        content = replaceText(content, "ROWNUM", activeRowNum);
        content = replaceText(content, "ROWID", id);            
        cell.innerHTML = content;
    }
    activeRowNum++;    
}


function replaceText(text, findText, replaceText) {
    while (text.indexOf(findText) > -1){
        text = text.substring(0, text.indexOf(findText)) + 
            replaceText + 
            text.substring(text.indexOf(findText) + findText.length);
    }
    return text;
}    
function delete_row(tableId, rowId, fieldId) {
    //for safari, regular delete wasn't removing from the form, 
    //so clear the checked field
    document.getElementById(fieldId).value = "";
    
    var tbl = document.getElementById(tableId);
    
    for (var i=0;i < tbl.rows.length;i++) {
        if (tbl.rows[i].getAttribute("id") == "ROW" + rowId) {
            tbl.deleteRow(i);
        }
    }        
}    

//before submitting, set the sort order for non-IE browsers
function setRowOrder(tableId){
    var tbl = document.getElementById(tableId);
    var orderCount = 0;
    for (var i=0;i < tbl.rows.length;i++) {
        var id = tbl.rows[i].getAttribute("id");
        if (document.getElementById("order" + id) != null) {
            document.getElementById("order" + id).value = orderCount;
            orderCount++;
        }
    }    
}

function initializeTable(tableId,templateId) {
    var tbl = document.getElementById(tableId);
    if (tbl != null && tbl.rows.length == 2) {
        add_row(tableId, templateId);
    }
}        
        

function currencyFormat(num) {
    num = num.toString().replace(/\$|\,/g,'');
    if(isNaN(num))
        num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num*100+0.50000000001);
    cents = num%100;
    num = Math.floor(num/100).toString();
    if(cents<10)
        cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
        num = num.substring(0,num.length-(4*i+3))+','+
        num.substring(num.length-(4*i+3));
    //return (((sign)?'':'-') + '$' + num + '.' + cents);
    //no dollar sign
    return (((sign)?'':'-') + num + '.' + cents);
}


//for search pages
function changePage(direction) {
    var currentPage = document.searchForm.page.value; 
    if (direction == "prev") {
        document.searchForm.page.value = parseInt(currentPage) - 1;
    }
    else {    
        document.searchForm.page.value = parseInt(currentPage) + 1;
    }
    document.searchForm.submit();
}

function resetSearch() {
    document.searchForm.search.value = '';
    document.searchForm.submit();
} 


