// JavaScript Document

//Usage:  removeFirstChildFromObject(FromObjectID, ObjectToRemove)
//ex: removeFirstChildFromObject(this.id, this.datepickerTable) -- where this function is called by a Datepicker method;
//in this case, this function removes the TABLE from the datepicker DIV so the same updated TABLE can be created again.
function removeChildFromObject(FromObjectID, ObjectToRemove) {
    var tempObject = document.getElementById(FromObjectID);
    //remove table so that it can be created again without causing memory leak
    if (tempObject) {
        if (tempObject.firstChild) {
            tempObject.removeChild(ObjectToRemove);
            delete ObjectToRemove;
        }
    }
}



function insertTextInObject(objectId, text) {
    var tempObject = document.getElementById(objectId);

    if (tempObject) {
        newTextNode = document.createTextNode(text);
        tempObject.appendChild(newTextNode);
    }
}

function createTableHeaderElement(text, width) {
    headEle = document.createElement("TH");
    if (width) {
        headEle.setAttribute("width", width);
    }
    headEle.setAttribute("noWrap", true);
    headTextNode = document.createTextNode(text);
    headEle.appendChild(headTextNode);
    return headEle;
}

function createTableDataTextElement(text, color) {
    dataEle = document.createElement("TD");
    dataEle.setAttribute("align", "left");
    dataEle.setAttribute("noWrap", true);
    fontEle = document.createElement("FONT");
    fontEle.setAttribute("color", color);
    dataEle.appendChild(fontEle);
    dataTextNode = document.createTextNode(text);
    fontEle.appendChild(dataTextNode);
    return dataEle;
}

function createTableDataImgElement(imageUrl, height, width) {
    dataEle = document.createElement("TD");
    imageEle = document.createElement("IMG");
    imageEle.setAttribute("src", imageUrl);
    imageEle.setAttribute("height", height);
    imageEle.setAttribute("width", width);
    dataEle.appendChild(imageEle);
    return dataEle;
}

function createTableDataAElement(text, url) {
    dataEle = document.createElement("TD");
    dataEle.setAttribute("align", "left");
    dataEle.setAttribute("noWrap", true);
    aElement = document.createElement("A");
    aElement.setAttribute("href", url);
    dataEle.appendChild(aElement);
    dataTextNode = document.createTextNode(text);
    aElement.appendChild(dataTextNode);
    return dataEle;
}

function createRateLine(roomName, availColor, avail, rate, roomsAvail, restriction, avg, alert ) {
    rowEle = document.createElement("TR");
    rowEle.setAttribute("bgcolor", "#ffffff");

    nameEle = document.createElement("td");
    nameTextNode = document.createTextNode(roomName);
    nameEle.appendChild(nameTextNode);
    rowEle.appendChild(nameEle);

    availEle = document.createElement("td");
    availFontEle = document.createElement("font");
    availFontEle.setAttribute("color", availColor);
    availEle.appendChild(availFontEle);
    availTextNode = document.createTextNode(avail);
    availFontEle.appendChild(availTextNode);
    rowEle.appendChild(availEle);

    rateEle = document.createElement("td");
    rateTextNode = document.createTextNode(rate);
    rateEle.appendChild(rateTextNode);
    if(avg){
        emEle = document.createElement("em");
        anchorEle = document.createElement("a");
        jsString = "javascript:alert(\"" + alert + "\")";
        anchorEle.setAttribute("href", jsString);
        avgNode = document.createTextNode("avg.");
        anchorEle.appendChild(avgNode);
        emEle.appendChild(anchorEle);
        rateEle.appendChild(emEle);
    }
    rowEle.appendChild(rateEle);

    roomsEle = document.createElement("td");
    roomsTextNode = document.createTextNode(roomsAvail);
    roomsEle.appendChild(roomsTextNode);
    rowEle.appendChild(roomsEle);

    restrEle = document.createElement("td");
    restrTextNode = document.createTextNode(restriction);
    restrEle.appendChild(restrTextNode);
    rowEle.appendChild(restrEle);

    return rowEle;
}

function MM_preloadImages() { //v3.0
    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
    var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
        if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
        for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
        if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_nbGroup(event, grpName) { //v6.0
    var i,img,nbArr,args=MM_nbGroup.arguments;
    if (event == "init" && args.length > 2) {
        if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
            img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
            if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
            nbArr[nbArr.length] = img;
            for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
                if (!img.MM_up) img.MM_up = img.src;
                img.src = img.MM_dn = args[i+1];
                nbArr[nbArr.length] = img;
            } }
    } else if (event == "over") {
        document.MM_nbOver = nbArr = new Array();
        for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
            if (!img.MM_up) img.MM_up = img.src;
            img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
            nbArr[nbArr.length] = img;
        }
    } else if (event == "out" ) {
        for (i=0; i < document.MM_nbOver.length; i++) {
            img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
    } else if (event == "down") {
        nbArr = document[grpName];
        if (nbArr)
        for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
        document[grpName] = nbArr = new Array();
        for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
            if (!img.MM_up) img.MM_up = img.src;
            img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
            nbArr[nbArr.length] = img;
        } }
}

function popTiny(url)
{
    var win = window.open(url,"Pop","resizable,scrollbars,height=300,width=200");
}
function popInnie(url)
{
    var win = window.open(url,"Pop","resizable,scrollbars,height=460,width=400");
}
function popInnieAgree(url)
{
    var win = window.open(url,"Pop","resizable,scrollbars,height=400,width=580");
}

function popOut(url)
{
    var win = window.open(url,"Pop","resizable,scrollbars,height=400,width=650");
}

function popOutHW(url, high, wide)
{
    var win = window.open(url,"Pop","resizable,scrollbars,height="+high+",width="+wide);
}

function popUp(URL) {
    day = new Date();
    id = day.getTime();
    eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=800,height=600');");
}
function popCal(urlstr, f)
{
    var y=f.year[f.year.selectedIndex].text;
    var m=f.month[f.month.selectedIndex].value;
    if(f.name==null)
    f.name="NOSEPICKER";
    urlstr=urlstr+"?df="+f.name+"&year="+y+"&month="+m;
    var win = window.open(urlstr,"Pop","resizable,height=200,width=200,replace");
}

function popCal2(urlstr, f, m, y)
{
    if(f.name==null)
    f.name="dateform";
    urlstr=urlstr+"?df="+f.name+"&year="+y+"&month="+m;
    var win = window.open(urlstr,"Pop","resizable,height=200,width=200,replace");
}

/* pick a date on the same page, not the popup */
function pickLocalDate(month,day,year){
    var a;
    this.window.document.dateform.month.options[month-1].selected=true;
    this.window.document.dateform.day.options[day-1].selected=true;
    for(a=0;a<this.window.document.dateform.year.length;a++)
    {
        if( this.window.document.dateform.year[a].text==year)
        {
            // alert("Year:"+parent.document.dateform.year[a].text)
            this.window.document.dateform.year.options[a].selected=true ;
        }

    }
}





