./javascript/main.js

//*************************************************************************************************
//General Functions
//*************************************************************************************************

function open_window(name, url, left, top, width, height, toolbar, menubar, statusbar, scrollbar, resizable)
{
  toolbar_str = toolbar ? 'yes' : 'no';
  menubar_str = menubar ? 'yes' : 'no';
  statusbar_str = statusbar ? 'yes' : 'no';
  scrollbar_str = scrollbar ? 'yes' : 'no';
  resizable_str = resizable ? 'yes' : 'no';
  window.open(url, name, 'left='+left+',top='+top+',width='+width+',height='+height+',toolbar='+toolbar_str+',menubar='+menubar_str+',status='+statusbar_str+',scrollbars='+scrollbar_str+',resizable='+resizable_str);
}

function showElement(element) 

    var obj = document.getElementById(element); 
    var oldclass = obj.className.replace("hidden", "");
    var oldclass = oldclass.replace("visible", "");
    obj.className = oldclass + " visible"; 
}

function hideElement(element) 
{
    var obj = document.getElementById(element);
    var oldclass = obj.className.replace("visible", "");
    var oldclass = oldclass.replace("hidden", "");
    obj.className = oldclass + " hidden";
}


function suggest(type, search, target)
{
    if(search=="")
    {
        hideElement(target);
    }
    else
    {
        getContent('ajax.cgi?req=' + type + '&search=' + search, target);
    }

}

function calender(type)
{
    getContent('ajax.cgi?req=calender&type=' + type, 'calender_' + type);
}

function placeText(text, target)
{
    var obj = document.getElementById(target);
    obj.value = text;
}

function selectBox(form, type, content, row)
{
    for(var i = 0;i < form.elements.length;i++) 
    { 
        if(form.elements[i].value == content)
        {
            if(document.getElementById(content + '_over').className == 'flight_selected')
            {
                form.elements[i].checked = false;
                row.className='flight_over';
            }
            else
            {
                form.elements[i].checked = true;
                row.className= 'flight_selected';
            }
        }    
    }
}

function selectClassOver(row)
{
    if(row.className!='flight_selected')
    {
        row.className = 'flight_over';
    }
}

function selectClassOff(row)
{
    if(row.className!='flight_selected')
    {
        row.className = '';
    }
}

function minus (obj, form, type, content, row)
{
    var eobj = document.getElementById('error');
    if(obj.value!=0)
    {
        obj.value--;
        eobj.innerHTML = '';
    }
    selectBox(form, type, content, row);
}

function plus (obj, max, form, type, content, row)
{
    var eobj = document.getElementById('error');
    if(obj.value<max)
    {
        obj.value++;
    }
    else
    {
        eobj.innerHTML = 'There are no more seats available on this flight.';
    }
    selectBox(form, type, content, row);
}

function checkLength (obj, max)
{
    var eobj = document.getElementById('error');
    if(obj.value>max)
    {
        eobj.innerHTML = 'There are no more seats available on this flight.';
        obj.value = max;
    }
    else
    {
        eobj.innerHTML = '';
    }
    selectBox(form, type, content, row);
}

var storage = 0;

function startScroll() {
    var box = document.getElementById('scroller');
    storage = box.scrollLeft;
    box.scrollLeft = box.scrollLeft + 1;
    
    if(box.scrollLeft==storage)
    {
        box.scrollLeft = 0;
    }
    scrolldelay = setTimeout('startScroll()', 10); // scrolls every 1000 milliseconds
}

//*************************************************************************************************
// Ajax Functions
//*************************************************************************************************

var XMLHttpRequestObjects = new Array();
var index = 0;

function getContent(url, target)
{
    if(window.XMLHttpRequest) 
    {
        var index = XMLHttpRequestObjects.push(new XMLHttpRequest());
    } 
    else if (window.ActiveXObject) 
    {
        var index = XMLHttpRequestObjects.push(new ActiveXObject("Microsoft.XMLHTTP"));
    }
    var obj = document.getElementById(target);
    if(XMLHttpRequestObjects[index-1]) 
    {
        XMLHttpRequestObjects[index-1].open("GET", url);
        XMLHttpRequestObjects[index-1].onreadystatechange = function()
        {
            if (XMLHttpRequestObjects[index-1].readyState == 4 && 
            XMLHttpRequestObjects[index-1].status == 200) 
            {
                obj.innerHTML = XMLHttpRequestObjects[index-1].responseText;
                if(XMLHttpRequestObjects[index-1].responseText=="hide")
                {
                    hideElement(target);
                }
                else
                {
                    showElement(target);
                }
            }
        }
        
        XMLHttpRequestObjects[index-1].send(null);
    }
}

function runContent(url)
{
    if(window.XMLHttpRequest) 
    {
        var index = XMLHttpRequestObjects.push(new XMLHttpRequest());
    } 
    else if (window.ActiveXObject) 
    {
        var index = XMLHttpRequestObjects.push(new ActiveXObject("Microsoft.XMLHTTP"));
    }
    if(XMLHttpRequestObjects[index-1]) 
    {
        XMLHttpRequestObjects[index-1].open("GET", url);
        XMLHttpRequestObjects[index-1].onreadystatechange = function()
        {
            if (XMLHttpRequestObjects[index-1].readyState == 4 && 
            XMLHttpRequestObjects[index-1].status == 200) 
            {
                eval(XMLHttpRequestObjects[index-1].responseText);
            }
        }
        
        XMLHttpRequestObjects[index-1].send(null);
    }
}