function CanHaveClass__CssFriendlyAdapters(element)
{
    return ((element != null) && (element.className != null));
}

function HasAnyClass__CssFriendlyAdapters(element)
{
    return (CanHaveClass__CssFriendlyAdapters(element) && (element.className.length > 0));
}

function HasClass__CssFriendlyAdapters(element, specificClass)
{
    return (HasAnyClass__CssFriendlyAdapters(element) && (element.className.indexOf(specificClass) > -1));
}

function AddClass__CssFriendlyAdapters(element, classToAdd)
{
    if (HasAnyClass__CssFriendlyAdapters(element))
    {
        if (!HasClass__CssFriendlyAdapters(element, classToAdd))
        {
            element.className = element.className + " " + classToAdd;
        }
    }
    else if (CanHaveClass__CssFriendlyAdapters(element))
    {
        element.className = classToAdd;
    }
}

function AddClassUpward__CssFriendlyAdapters(startElement, stopParentClass, classToAdd)
{
    var elementOrParent = startElement;
    while ((elementOrParent != null) && (!HasClass__CssFriendlyAdapters(elementOrParent, topmostClass)))
    {
        AddClass__CssFriendlyAdapters(elementOrParent, classToAdd);
        elementOrParent = elementOrParent.parentNode;
    }    
}

function SwapClass__CssFriendlyAdapters(element, oldClass, newClass)
{
    if (HasAnyClass__CssFriendlyAdapters(element))
    {
        element.className = element.className.replace(new RegExp(oldClass, "gi"), newClass);
    }
}

function SwapOrAddClass__CssFriendlyAdapters(element, oldClass, newClass)
{
    if (HasClass__CssFriendlyAdapters(element, oldClass))
    {
        SwapClass__CssFriendlyAdapters(element, oldClass, newClass);
    }
    else
    {
        AddClass__CssFriendlyAdapters(element, newClass);
    }
}

function RemoveClass__CssFriendlyAdapters(element, classToRemove)
{
    SwapClass__CssFriendlyAdapters(element, classToRemove, "");
}

function RemoveClassUpward__CssFriendlyAdapters(startElement, stopParentClass, classToRemove)
{
    var elementOrParent = startElement;
    while ((elementOrParent != null) && (!HasClass__CssFriendlyAdapters(elementOrParent, topmostClass)))
    {
        RemoveClass__CssFriendlyAdapters(elementOrParent, classToRemove);
        elementOrParent = elementOrParent.parentNode;
    }    
}

function IsEnterKey()
{
    var retVal = false;
    var keycode = 0;
    if ((typeof(window.event) != "undefined") && (window.event != null))
    {
        keycode = window.event.keyCode;
    }
    else if ((typeof(e) != "undefined") && (e != null))
    {
        keycode = e.which;
    }
    if (keycode == 13)
    {
        retVal = true;
    }
    return retVal;
}

function FriendlyPrint(page)
{
    var thepage = page.toLowerCase();

    switch(thepage)
    {
        case "booking.aspx":
            elId = "RightColumn"
        break;

        case "default.aspx":
            elId = "LeftColumn"
        break;
        
        case "terminals.aspx":
            elId = "RightColumn"
        break;
        
        case "termsandfaqs.aspx":
            elId = "RightColumn"
        break;
        
        case "hotdeals.aspx":
            elId = "RightColumn"
        break;
        
        case "ships.aspx":
            elId = "RightColumn"
        break;
        
        case "carhire.aspx":
            elId = "RightColumn"
        break;
        
        case "traintickets.aspx":
            elId = "RightColumn"
        break;
        
        case "contactus.aspx":
            elId = "RightColumn"
        break;
        case "bookingstep2.aspx":
            elId = "RightColumn"
        break;
        case "bookingstep3.aspx":
            elId = "RightColumn"
        break;
        case "bookingstep4.aspx":
            elId = "RightColumn"
        break;
        
        default:
        elId = "LeftColumn"  
        break;
    }

    var content =  document.getElementById(elId).innerHTML;
    
    var frog = window.open("", '_Print', 'HEIGHT=500,WIDTH=850,resizable=yes,scrollbars=yes')

    var PrintLink = "<a  style='float:right' href='javascript:window.print()'><img src='/Images/printer_friendly.gif' /></a>";
    
    var Header = "<table border='0'><tr><td id='print1'><td></tr>";
       Header += "<tr><td>";

    var ScriptJS = "<script type='text/javascript'>\n";
       ScriptJS += " window.onload = function() { \n";
      
       var taginput = document.getElementById(elId).getElementsByTagName('input');
       
       ScriptJS += "var taginput = document.getElementsByTagName('input'); \n";
       for(y=0;y<taginput.length;y++)
       {                           
                    if(taginput[y])
                    {
                    ScriptJS += "taginput["+y+"].disabled=true; \n";
                    ScriptJS += "taginput["+y+"].onclick = 'return false;'; \n";                   
                    }
       }
       
       var taginput2 = document.getElementById(elId).getElementsByTagName('select');
       
       ScriptJS += "var taginput2 = document.getElementsByTagName('select'); \n";
       for(y=0;y<taginput2.length;y++)
       {                           
                    if(taginput2[y])
                    {
                    ScriptJS += "taginput2["+y+"].disabled=true; \n";                 
                    }
       }
          
       var taga = document.getElementById(elId).getElementsByTagName('a');
       ScriptJS += "var taga = document.getElementsByTagName('a'); \n";

       for(i=0;i<taga.length;i++)
       {
                    if(taga[i])
                    {
                    ScriptJS += "taga["+i+"].href = 'javascript:;'; \n";
                    }
       }
       
       ScriptJS += "if(document.getElementById('ctl00_contentRight_btnBook') != null) { document.getElementById('ctl00_contentRight_btnBook').style.display='none';} \n";
       ScriptJS += "if(document.getElementById('ctl00_contentRight_btnBack') != null) { document.getElementById('ctl00_contentRight_btnBack').style.display='none';} \n";
        
       ScriptJS += "document.getElementById('print1').innerHTML=\""+PrintLink+"\";\n";
       ScriptJS += "document.getElementById('print2').innerHTML=\""+PrintLink+"\";\n";
       ScriptJS += " }\n";
       ScriptJS += "</script>\n";

    var Css = "<link type='text/css' rel='stylesheet' href='/CSS/IE6.css'/> \n";
       Css += "<link type='text/css' rel='stylesheet' href='/App_Themes/Default/Calendar.css'/> \n";
       Css += "<link type='text/css' rel='stylesheet' href='/App_Themes/Default/FontsAndColours.css'/> \n";
       Css += "<link type='text/css' rel='stylesheet' href='/App_Themes/Default/GridView.css'/> \n";
       Css += "<link type='text/css' rel='stylesheet' href='/App_Themes/Default/Layout.css'/> \n";
       Css += "<link type='text/css' rel='stylesheet' href='/App_Themes/Default/Panels.css'/> \n";
       Css += "<link type='text/css' rel='stylesheet' href='/App_Themes/Default/SearchForm.css'/> \n";
       Css += "<style rel='stylesheet' type='text/css'>";
       Css += "* html td, * html th { text-align:left;font-size:12px;}  #print {padding-top:20px;font-size:14px;} * html .PanelContent{width:518px !important;} * html .StartHerePanel .PanelContent {width:535px !important; } * html .PanelHead, * html .PanelFoot { width:535px !important;} .StartHerePanel,.StartHerePanel td {color:#38659A;font-size:11px;font-weight:normal;} #Body {margin:0px auto} #Body center { left:50%; margin-top:100px;margin-left:-300px;position:absolute;text-align:left;width:570px;} .PanelContent{border-left: 2px solid rgb(91,102,164);border-right: 2px solid rgb(91,102,164);margin: 0;padding:0 10px 3px;}";
       Css += "</style>";
       
    var Footer = "</td></tr>";
        if(thepage == "default.aspx")
        {
        Footer += "<tr><td>";
        Footer += "<img src='/Images/Headers/contact-us.gif'/><table border='0'><tbody><tr><td valign='top' style='width: 100px;'><table class='FreeCall' width='100%'><tbody><tr><td align='center'><img id='ctl00_contentBottom_ClickToTalk1_Img2' border='0' alt='Click To Talk' src='/Images/clicktotalk.gif'/></td></tr><tr/></tbody></table></td><td valign='top' style='text-align: left; width: 450px;'><p style='line-height: 18pt;'>If you would prefer not to book online, or need to amend an existing booking please either call our Central Reservation Centre on 0800 500 690 (or +64 3 379 1452 if calling from overseas), or visit us at any of our locations.</p><span id='ctl00_contentBottom_tmLocalTime' style='visibility: hidden; display: none;'/></td><td width='15%' valign='top' style='text-align: right;'><h2 style='font-size: 13px; ont-weight: bold; margin-top: 0px;'>Ferry Tickets Online </h2><p>PO Box 10233<br/>Christchurch<br/>Tel: 64 3 379 1451<br/>Fax: 64 3 379 2647<br/>enquiries@ferrytickets.co.nz</p></td></tr><tr><td valign='top' style='text-align: left;' colspan='2'><span id='ctl00_contentBottom_upLocalTime'><img id='ctl00_contentBottom_imgNZT' align='left' style='border-width: 0px;' src='Images/nztime.gif'/><span id='ctl00_contentBottom_lblNewZealandTime' style='font-size: 9pt; font-weight: bold; color: rgb(56, 101, 154);'>thu 13 mar 2008 03:30 p.m.</span></span></td><td width='30%' valign='top' style='text-align: right;'/></tr></tbody></table>";
        Footer += "</td></tr>";
        }
        Footer += "<tr><td id='print2'></td></tr></table>";
        
    var html = "<html><head>" + ScriptJS + Css +"<title>Friendly Print</title><"+"/head><body style='padding:10px;margin:0;border:0;' id='Body'><center>"+ Header + content + Footer +""+" <div id='print'></div></center><"+"/body><"+"/html>";

    frog.document.open();
    frog.document.write(html);
    frog.focus();
    frog.document.close();
}

