//v 1.1 7rd Jan 2010 

//Browser Detect
var isNav = false;
var isIE = false;

if (navigator.appName == "Netscape")
{ 
    isNav = true;
}   

if (navigator.appName == "Microsoft Internet Explorer")
{
    isIE = true;
}

//Displaying Calendar
document.write("<table id='fc' style='display:inline;position:absolute;z-index:30000;background:#BFAAD8;border:1px solid #A587C8;display:none; height:107px' width='140px' cellpadding=2>");

document.write("<tr><td style='cursor:pointer; z-index:30000' onclick='csubm()'><img  src='/homestaysiteimages/images/cal-left-button-off.gif' /></td><td colspan=5 id='mns' align='center' style='z-index:30000;font:bold 13px Arial;color:#FFFFFF'></td><td align='right' style='z-index:30000;cursor:pointer' onclick='caddm()'><img src='/homestaysiteimages/images/cal-right-button-off.gif'></td></tr>");

document.write("<tr><td align=center style='z-index:30000;width:16px;background:#A587C8;font:11px Arial;font-weight:bold;color:#FFFFFF'>S</td><td align=center style='z-index:30000;background:#A587C8;font:11px Arial;font-weight:bold;color:#FFFFFF'>M</td><td align=center style='z-index:30000;background:#A587C8;font:11px Arial;font-weight:bold;color:#FFFFFF'>T</td><td align=center style='z-index:30000;background:#A587C8;font:11px Arial;font-weight:bold;color:#FFFFFF'>W</td><td align=center style='z-index:30000;background:#A587C8;font:11px Arial;font-weight:bold;color:#FFFFFF'>T</td><td align=center style='z-index:30000;background:#A587C8;font:11px Arial;font-weight:bold;color:#FFFFFF'>F</td><td align=center style='z-index:30000;background:#A587C8;font:11px Arial;font-weight:bold;color:#FFFFFF'>S</td></tr>");

for(kk=1;kk<=6;kk++) 
{
    document.write("<tr>");
    for(tt=1;tt<=7;tt++) 
    {
        num=7 * (kk-1) - (-tt);
        document.write("<td id='v" + num + "' style='z-index:30000;width:18px;height:18px;font:14px Arial;color:#FFFFFF'>&nbsp;</td>");
    }
    document.write("</tr>");
}

document.write("</table>");
document.all?document.attachEvent("onclick",checkClick):document.addEventListener("click",checkClick,false);

function getObj(objID)
{
    if (document.getElementById) {return document.getElementById(objID);}
    else if (document.all) {return document.all[objID];}
    else if (document.layers) {return document.layers[objID];}    
}

function checkClick(e) 
{
    e?evt=e:evt=event;
    CSE=evt.target?evt.target:evt.srcElement;
    if (getObj("fc"))
    {
        if (!isChild(CSE,getObj("fc")))
        {
            getObj("fc").style.display="none";
        }
    }
}

function isChild(s,d) 
{
    while(s) 
    {
        if (s==d)
        { 
            return true;
        }
        s=s.parentNode;
    }
    return false;
}

//Getting Leftpoint of the object or control
function Left(obj)
{
    var curleft = obj.offsetLeft;
    if (obj.offsetParent)
    {
        while (obj.offsetParent)
        {
            obj = obj.offsetParent;
            curleft += obj.offsetLeft;                                              
        }
    }
    else if (obj.x)
    {
        curleft += obj.x;            
    } 
    
    curleft=curleft+180;  

    if (isIE)
    {           
        curleft=curleft+"px"; 
    }

    if (isNav)
    {           
        curleft=curleft+"px"; 
    }
    return curleft;                   
}

//Getting Toppoint of the object or control
function Top(obj)
{
    var curtop = obj.offsetTop;         
    if (obj.offsetParent)
    {
        while (obj.offsetParent)
        {
            obj = obj.offsetParent;
            curtop += obj.offsetTop;                                              
        }
    }
    else if (obj.y)
    {
        curtop += obj.y;                                
    }

    if (isIE)
    {    
        curtop=curtop+"px";                      
    }           

    if (isNav)
    {    
        curtop=curtop+"px";                      
    }

    return curtop;
}

//Name Title
function Left1(obj)
{
    var curtop=0; 
    curleft = obj.offsetLeft;
    if (obj.offsetParent)
    {
        while (obj.offsetParent)
        {
            obj = obj.offsetParent;
            curleft += obj.offsetLeft;                                              
        }
    }
    else if (obj.x)
    {
        curleft += obj.x;  
    }          

   if (isIE)
   {           
        curleft=curleft+"px"; 
   }

   if (isNav)
   {           
        curleft=curleft+"px"; 
   }
    
    return curleft;                   
}

//Getting Toppoint of the object or control
function Top1(obj)
{
    var curtop =0;
    curtop = obj.offsetTop; 

    if (obj.offsetParent)
    {
        while (obj.offsetParent)
        {
            obj = obj.offsetParent;
            curtop += obj.offsetTop;                                              
        }
    }
    else if (obj.y)
    {
        curtop += obj.y;
    }                               

    curtop =curtop +18;                                

    if (isIE)
    {    
        curtop=curtop+"px";                      
    }           

    if (isNav)
    {    
        curtop=curtop+"px";                      
    }

    return curtop;
}

// Calendar script
var now = new Date();
var sccm=now.getMonth();
var sccy=now.getFullYear();
var ccm=now.getMonth();
var ccy=now.getFullYear();
var updobj;

function lcs(ielem) 
{
    updobj=ielem;  
    getObj("fc").style.left=Left(ielem);
    getObj("fc").style.top=Top(ielem); 
    getObj("fc").style.display="";

    // First check date is valid
    curdt=ielem.value;
    curdtarr=curdt.split("/");
    isdt=true;

    for(var k=0;k<curdtarr.length;k++) 
    {
        if (isNaN(curdtarr[k]))
        {
            isdt=false;
        }
    }

    if (isdt&(curdtarr.length==3)) 
    {
        ccm=curdtarr[1]-1;
        ccy=curdtarr[2];
        prepcalendar(curdtarr[0],curdtarr[1]-1,curdtarr[2]);
    }              
}

function lcs1(ielem) 
{
    updobj=ielem;  
    getObj("fc").style.left=Left1(ielem);
    getObj("fc").style.top=Top1(ielem); 
    getObj("fc").style.display="";

    // First check date is valid
    curdt=ielem.value;
    curdtarr=curdt.split("/");
    isdt=true;

    for(var k=0;k<curdtarr.length;k++) 
    {
        if (isNaN(curdtarr[k]))
        {
            isdt=false;
        }
    }

    if (isdt&(curdtarr.length==3)) 
    {
        ccm=curdtarr[1]-1;
        ccy=curdtarr[2];
        prepcalendar(curdtarr[0],curdtarr[1]-1,curdtarr[2]);
    }              
}

function evtTgt(e)
{
    var el;
    
    if(e.target)
    {
        el=e.target;
    }
    else if(e.srcElement)
    {
        el=e.srcElement;
    }
    if(el.nodeType==3)
    {
        el=el.parentNode; // defeat Safari bug
    }
    
    return el;
}

function EvtObj(e)
{
    if(!e)
    {
        e=window.event;
    }
    return e;
}

function cs_over(e) 
{
    evtTgt(EvtObj(e)).style.background="#5F2C91";
}

function cs_out(e) 
{
    evtTgt(EvtObj(e)).style.background="#BFAAD8";
}

function cs_click(e) 
{
    updobj.value=calvalarr[evtTgt(EvtObj(e)).id.substring(1,evtTgt(EvtObj(e)).id.length)];
    getObj("fc").style.display="none";
}

var mn=["JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER"];
var mnn=["31","28","31","30","31","30","31","31","30","31","30","31"];
var mnl=["31","29","31","30","31","30","31","31","30","31","30","31"];
var calvalarr=new Array(42);

function f_cps(obj) 
{
    obj.style.background="#BFAAD8";
    obj.style.font="bold 13px Arial";
    obj.style.color="#FFFFFF";
    obj.style.textAlign="center";
    obj.style.textDecoration="none";
    obj.style.border="1px solid #A587C8";
    obj.style.cursor="pointer";
}

function f_cps_blank(obj) 
{
    obj.style.background="#A587C8";
}

function f_cps_blank1(obj) 
{
    obj.style.background="#BFAAD8";
}

//for inactive days
function f_cpps(obj) 
{
    obj.style.background="#BFAAD8";
    obj.style.font="bold 13px Arial";
    obj.style.color="#A587C8";
    obj.style.textAlign="center";
    obj.style.border="1px solid #A587C8";
    obj.style.cursor="default";
}

function f_hds(obj) 
{
    obj.style.background="#BFAAD8";
    obj.style.font="bold 10px Arial";
    obj.style.color="#FFFFFF";
    obj.style.textAlign="center";       
    obj.style.border="1px solid #A587C8";
    obj.style.cursor="pointer";
}

// day selected
function prepcalendar(hd,cm,cy) 
{
    now=new Date();
    sd=now.getDate();
    td=new Date();
    td.setDate(1);
    td.setFullYear(cy);
    td.setMonth(cm);
    cd=td.getDay();
    getObj("mns").innerHTML=mn[cm]+ " " + cy;
    marr=((cy%4)==0)?mnl:mnn;
    
    for(var d=1;d<=45;d++) 
    {
        var vObj = getObj("v"+parseInt(d,10));
        if(vObj != null)
        {
            f_cps(vObj);
            if ((d >= (cd -(-1))) && (d<=cd-(-marr[cm]))) 
            {
                dip=((d-cd < sd)&&(cm==sccm)&&(cy==sccy));
                htd=((hd!="")&&(d-cd==hd));
                
                if (dip)
                {
                    f_cpps(vObj);
                }
                else if (htd)
                {
                    f_hds(vObj);
                }
                else
                {
                    f_cps(vObj);
                }

                vObj.onmouseover=(dip)?null:cs_over;
                vObj.onmouseout=(dip)?null:cs_out;
                vObj.onclick=(dip)?null:cs_click;
                vObj.innerHTML=d-cd;            
                calvalarr[d]=""+(d-cd)+"/"+(cm-(-1))+"/"+cy;
            }
            else 
            {
                f_cps_blank(vObj);
                vObj.innerHTML="&nbsp;";
                vObj.onmouseover=null;
                vObj.onmouseout=null;
                vObj.style.cursor="default";
                vObj.style.color="#FFFFFF";
            }
        }
    }
}

prepcalendar("",ccm,ccy);
//getObj("fc"+cc).style.visibility="hidden";

function caddm() 
{
    //f_cps_blank1
    marr=((ccy%4)==0)?mnl:mnn;
    ccm+=1;

    if (ccm>=12) 
    {
        ccm=0;
        ccy++;
    }
    
    cdayf();
    prepcalendar("",ccm,ccy);
}

function csubm() 
{
    marr=((ccy%4)==0)?mnl:mnn;
    ccm-=1;
    
    if (ccm<0) 
    {
        ccm=11;
        ccy--;
    }

    cdayf();
    prepcalendar("",ccm,ccy);
}

function cdayf() 
{
    if ((ccy>sccy)|((ccy==sccy)&&(ccm>=sccm)))
    {
        return;
    }
    else 
    {
        ccy=sccy;
        ccm=sccm;
        cfd=scfd;
    }
}