﻿// JScript File
    var previousTab="";
    
    function toggleBackground(fld,cpID){
        if (previousTab!='') {
            eval("document.getElementById('cellMenu"+previousTab+"').className='Button';");
            if (previousTab!=cpID) Effect.toggle('cpe'+previousTab,'appear',{duration:0.3});
        }
        document.getElementById(fld).className="headButton";
        if (previousTab!=cpID) Effect.toggle('cpe'+cpID,'appear',{duration:0.3});
        previousTab=cpID;
        if (lastBold!='') document.getElementById(lastBold).className='subbuttonLink';
        return false;
    }
    
    function togglePanel(panelID,labelID){
        if (panelID!='') Effect.toggle(panelID,'slide',{duration:0.3});
        var currentHTML=$(labelID).innerHTML;
        if (currentHTML.indexOf("/open.gif")>0)
        {
            $(labelID).innerHTML = '<img src=images/closed.gif id="mx" alt="show details" align="absmiddle" />Show details';
        }
        else 
        {
            $(labelID).innerHTML = '<img src=images/open.gif id="mx" alt="show details" align="absmiddle" />Hide details';
        }
    }
    
    var rowID=0;
    var thePanel="";
    function filldetails(gid,row)
    {
        var currentHTML=$('groupExpander'+gid).innerHTML;
        var currentStat=document.getElementById(row).style.display;
        if (currentStat=='none')
        {
            $('groupExpander'+gid).innerHTML="<img src=\"images\\close.png\">";
            $('loading').innerHTML = '<img src=images/loading.gif>';
            ret=EventService.getAppointmentDetails(gid,getDOK,getTimeOut,getError);
        }
        else
            $('groupExpander'+gid).innerHTML="<img src=\"images\\open.png\">";
        thePanel=row;
        
        Effect.toggle(row,'blind',{duration:0.3});
    }
    function fillbookings(gid,row)
    {
        apptID=gid;
        var currentHTML=$('groupExpander'+gid).innerHTML;
        var currentStat=document.getElementById(row).style.display;
        if (currentStat=='none')
        {
            $('groupExpander'+gid).innerHTML="<img src=\"images\\close.png\">";
            $('loading').innerHTML = '<img src=images/loading.gif>';
            ret=EventService.getBookings(gid,getBOK,getTimeOut,getError);
        }
        else
            $('groupExpander'+gid).innerHTML="<img src=\"images\\open.png\">";
        thePanel=row;
         $(thePanel).innerHTML='';
        Effect.toggle(row,'blind',{duration:0.3});
    }
    function fillrow(gid,row)
    {
        var currentHTML=$('groupExpander'+gid).innerHTML;
        var currentStat=document.getElementById(row).style.display;
        if (currentStat=='none')
        {
            $('groupExpander'+gid).innerHTML="<img src=\"images\\close.png\">";
            $('loading').innerHTML = '<img src=images/loading.gif>';
            ret=EventService.getChildren(gid,getOK,getTimeOut,getError);
        }
        else
            $('groupExpander'+gid).innerHTML="<img src=\"images\\open.png\">";
        thePanel=row;
        Effect.toggle(row,'blind',{duration:0.3});
    }
    function okdeleteReq(arg)
    {
        document.getElementById(thePanel).style.display='none';
    }
    function fillreqs(eid)
    {
        $('loading').innerHTML = '<img src=images/loading.gif>';
        ret=EventService.getFormatedRequirements(eid,okNewReq,getTimeOut,getError);
    }
    function okNewReq(arg)
    {
        $('loading').innerHTML='';
        $(thePanel).innerHTML=arg;
    }
    
    function addReq(panel)
    {
        thePanel=panel;
        var newName=document.getElementById('rlistText').value;
        var isReq=document.getElementById('isReq').checked;
        var sorter=document.getElementById('sorter').value;
        var head=document.getElementById('heading').checked;
        var ev=querySt("ev");
        var req="0";
        var heading="1";
        if (isReq) req="1"
        if (head) heading="0"
        if (sorter=="") sorter="0";
        if (newName!="")
        {
            //alert("add field "+ev+" "+newName+" "+isReq+" "+heading);
            EventService.incrementRequirements(ev,sorter);
            EventService.addRequirement(ev,newName,req,heading,sorter);
            document.getElementById('rlistText').value="";
            document.getElementById('rlistText').focus();
            document.getElementById('isReq').checked=false;
            document.getElementById('sorter').value="0";
            document.getElementById('heading').checked=false;
            EventService.resetRequirements(ev);
            fillreqs(ev);
        }
        fixHeight();
        return false;
    }
    function deleteReq(rid)
    {
        if (rid!=0)
        {
            thePanel='rq'+rid;
            $('loading').innerHTML = '<img src=images/loading.gif>';
            ret=EventService.deleteRequirement(rid,okdeleteReq,getTimeOut,getError);
        }
        else
        {
            thePanel='rq'+rid;
            document.getElementById(thePanel).style.display='none';
        }
        var ev=querySt("ev");
        EventService.resetRequirements(ev);
        fillreqs(ev);
    }
    
    function getDOK(arg) {
        $('loading').innerHTML = '';
        newString="";
        if (arg=="")
        {
            newString=newString+"<div id=\"apanel"+flds[1]+"\">";
            newString = newString + "<div class=\"column3\" style=\"width:250px;margin-left:58px\">No data stored...</div>";
            newString = newString + "</div>";
        }
        else
        {
            evtArr=arg.split("~");
            scriptName="createevent.aspx";
            for (i=0;i<evtArr.length;i++)
            {
                flds=evtArr[i].split("|");
                newString=newString+"<div id=\"apanel"+flds[1]+"\">";
                newString = newString + "<div class=\"column3\" style=\"width:250px;margin-left:58px\">" + flds[0] + "</div>";
                newString = newString + "<div class=\"column3\" style=\"width:243px;\">" + flds[1] + "</div>";
                icons = "";//"<div style=\"display:inline;cursor:pointer\" class=\"delThis\" onclick=\"deleteGroup("+flds[0]+",'epanel"+flds[0]+"');\">x</div>";
                newString = newString + "<div class=\"column4\">" + icons + "</div>";
                newString = newString + "</div>";
            }
        }
        $(thePanel).innerHTML=newString;
        fixHeight();
    }
    
    function getBOK(arg) {
        $('loading').innerHTML = '';
        newString="";
        if (arg!="")
        {
            evtArr=arg.split("~");
            scriptName="createevent.aspx";
            for (i=0;i<evtArr.length;i++)
            {
                flds=evtArr[i].split("|");
                newString=newString+"<div id=\"epanel"+flds[1]+"\">";
                expander = "<div id=\"groupExpander" + flds[0] + "\" onclick=\"filldetails(" + flds[0] + ",'dpanel" + flds[0] + "')\" class=\"expander\"><img src=\"images\\open.png\" alt=expander></div>";
                    
                newString=newString +"<div class=\"column0\" style=\"margin-left:40px;\">"+expander+ "</div>";
                newString=newString+"<div class=\"column1\" style=\"width:100px;\">"+flds[2]+"</div>";
                newString = newString + "<div class=\"column1\" style=\"width:95px;\">" + flds[1] + "</div>";
                newString = newString + "<div class=\"column1\" style=\"width:130px;\">" + flds[3] + "</div>";
                newString = newString + "<div class=\"column3\">" + flds[4] + "</div>";
                icons = "<div style=\"display:inline;cursor:pointer\" class=\"delThis\" onclick=\"deleteBooking("+flds[0]+",'epanel"+flds[1]+"');\">x</div>";
                newString = newString + "<div class=\"column4\">" + icons + "</div>";
                newString=newString+"<div id=\"dpanel"+flds[0]+"\" style=\"display:none;\">...</div>"
                newString = newString + "</div>";
            }
        }
        else
        {
            newString=newString+"<div class=\"column1\" style=\"width:100px;margin-left:40px;\">No details found...</div>";
        }
        $(thePanel).innerHTML=newString;
        fixHeight();
    }
    function getOK(arg) {
        $('loading').innerHTML = '';
        newString="";
        evtArr=arg.split("~");
        scriptName="createevent.aspx";
        for (i=0;i<evtArr.length;i++)
        {
            icons="";
            expander="";
            flds=evtArr[i].split("|");
            totalEvents=flds[1];
            newString=newString+"<div id=\"epanel"+flds[1]+"\">";
            if (totalEvents > 0) expander = "<div id=\"groupExpander" + flds[0] + "\" onclick=\"fillbookings(" + flds[0] + ",'bpanel" + flds[0] + "')\" class=\"expander\"><img src=\"images\\open.png\" alt=expander></div>";
                
            newString=newString +"<div class=\"column0\" style=\"margin-left:20px;\">"+expander+ "</div>";
            newString=newString+"<div class=\"column1\" style=\"width:130px;\"><a href="+scriptName+"?ev="+flds[0]+">"+flds[2]+"</a></div>";
            newString = newString + "<div class=\"column2\">" + flds[1] + "</div>";
            newString = newString + "<div class=\"column3\">" + flds[3] + "</div>";
            newString = newString + "<div class=\"column3\">" + flds[4] + "</div>";
            if (flds[1] == 0)
            {
                icons = "<div style=\"display:inline;cursor:pointer\" class=\"delThis\" onclick=\"deleteGroup("+flds[0]+",'epanel"+flds[0]+"');\">x</div>";
            }
            newString = newString + "<div class=\"column4\">" + icons + "</div>";
            newString=newString+"<div id=\"bpanel"+flds[0]+"\" style=\"display:none;\">...</div>"
            newString = newString + "</div>";
        }
        $(thePanel).innerHTML=newString;
        fixHeight();
    }
    function getError(arg){
        alert("an error occured getting the events");
    }
    
    function getTimeOut(arg){
        alert("a timeout occured getting the events");
    }
    function deleteBooking(gid,row)
    {
        if (confirm("Are you sure you want to delete this booking?"))
        {
        thePanel=row;
        ret = EventService.deleteBooking(gid,deleteBOK,deleteTimeOut,deleteError);
        }
    }
    function deleteGroup(gid,row)
    {
        if (confirm("Are you sure you want to delete this event?"))
        {
        thePanel=row;
        ret = EventService.deleteEvent(gid,deleteOK,deleteTimeOut,deleteError);
        }
    }
    function deleteBOK(arg) {
        alert(thePanel);
        document.getElementById(thePanel).style.display='none';
    }
    function deleteOK(arg) {
        document.getElementById(thePanel).style.display='none';
    }
    function deleteError(arg){
        alert("an error occured deleting");
    }
    
    function deleteTimeOut(arg){
        alert("a timeout occured deleting");
    }
    
    function disable(ths)
    {
        document.getElementById(ths).classname='disabled';
    }
    function tabChanged(sender,args){
        fixHeight();
    }
    
    var theTag="";
    var freshLoad="x";
    var thisPage=location.href;
    var isFinance=thisPage.indexOf("finance.aspx")
    //alert(isFinance);
    function showPage(tag_name,pageID,name) {
        if (pageID!=55) {
            freshLoad="";
            theTag=tag_name;
	    $('loading').innerHTML = '<img src=images/loading.gif>';
            
            if (pageID==80)
	    { 
		location.href='clientForms.aspx';
            	document.title='MyLife - '+name;
            }
	    else {
		document.title='MyLife - '+name;
	   	ret = ContentService.getPage(pageID,OnComplete,OnTimeOut,OnError);
	    }
        }
        else
        {
            if (isFinance<0) location.href='finance.aspx?m=1&pg=55';
            if (freshLoad!="x") location.href='finance.aspx?m=1&pg=55';
        }
        fixHeight();
    }
    
    function echeck(str) {
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Invalid E-mail ID")
		   return false
		}
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail ID")
		   return false
		}
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail ID")
		    return false
		}
		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }
		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail ID")
		    return false
		 }
		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail ID")
		    return false
		 }
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }
 		 return true					
	}

    function sweetDate(dy,mt,yr)
    {
        var myMonths=new Array("January","February","March","April","May","June","July","August","September","October","November","December");
        var myDays= ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
        var dstring=dy+" "+myMonths[parseInt(mt,10)-1]+", "+yr;
        today=new Date(dstring);
        thisDay=myDays[today.getDay()]
        thisMonth=myMonths[today.getMonth()]
        thisYear=today.getFullYear()
        thisDate=today.getDate()
        switch (thisDate) {
            case 1:
            dateSuffix="st"
            break
            case 21:
            dateSuffix="st"
            break
            case 31:
            dateSuffix="st"
            break    
            case 2:  
            dateSuffix="nd"  
            break    
            case 22:
            dateSuffix="nd"
            break;   
            case 3:
            dateSuffix="rd"  
            break     
            case 23:
            dateSuffix="rd"  
            break      
            default:   
            dateSuffix="th"
        }
        retVal=thisDay+", "+thisDate+dateSuffix+" "+thisMonth+" "+thisYear
        return retVal;
    }
    
    function getEventDetail(eventID,field)
    {
        return field;
    }
    
    function OnComplete(arg){
        if (theTag!="") $(theTag).innerHTML = arg+"<div id=\"bottomLocator\"><asp:Label ID=\"bottomLabel\" runat=\"server\">&nbsp;</asp:Label>&nbsp;</div>";
        theTag="";
        $('loading').innerHTML = '';
        fixHeight();
        return true;
    }
    
    function OnError(arg){
        alert("an error occured retrieving that page");
    }
    
    function OnTimeOut(arg){
        alert("a timeout occured retrieving that page");
    }
    
    var lastPanel=""
    function simpleToggle(panel)
    {
        if (panel!='') {
            Effect.toggle(panel,'slide',{duration:0.3});
            lastPanel=panel;
        }
        fixHeight();
    }
    
    function loadCalendar(panel,mt,yr,gr)
    {
        theTag=panel;
        $('loading').innerHTML = '<img src=images/loading.gif>';
        ret = EventService.buildCalendar(mt,yr,gr,panel,OnCompleteLoad,OnTimeOut,OnError);
    }

    function loadSimpleCalendar(panel,mt,yr,we)
    {
        theTag=panel;
        $('loading').innerHTML = '<img src=images/loading.gif>';
        ret = EventService.simpleCalendar(mt,yr,panel,we,OnCompleteLoad,OnTimeOut,OnError);
    }

    function OnCompleteLoad(arg){
        if (theTag!="") $(theTag).innerHTML = arg;//+"<div id=\"bottomLocator\"><asp:Label ID=\"bottomLabel\" runat=\"server\">&nbsp;</asp:Label>&nbsp;</div>";
        theTag="";
        $('loading').innerHTML = '';
        fixHeight();
        return true;
    }
    
    function displayNone(panel,panel1)
    {
        if (panel!="")document.getElementById(panel).style.display='none';
        if (panel1!="")document.getElementById(panel1).style.display='none';
    }
    
    function toggleClient2()
    {
        var newStat='none'
        var currStat=document.getElementById("c21").style.display;
        if (currStat=="none") 
        {
            $('toggler').innerHTML="(click here to close the partner section)";
            newStat='block';
        }
        else
            $('toggler').innerHTML="(click here to add your partner)";
            
        document.getElementById("c21").style.display=newStat;
        document.getElementById("c22").style.display=newStat;
        document.getElementById("c23").style.display=newStat;
        document.getElementById("c24").style.display=newStat;
    }
    
    function OnChange(el)
    {
        var thisVal=el.options[el.selectedIndex].value;
        document.getElementById("HDYHAUSpan").childNodes[0].value=thisVal;

        if (thisVal=="Other")
            document.getElementById('otherText').style.display='block';
        else
            document.getElementById('otherText').style.display='none';
    }
    
    var lastBold="";
    function goBold(tag_name){
        if (lastBold!='') document.getElementById(lastBold).className='subbuttonLink';
        document.getElementById(tag_name).className='subbuttonHotLink';
        lastBold=tag_name;
        fixHeight();
    }

    function querySt(ji) {
        hu = window.location.search.substring(1);
        gy = hu.split("&");
        for (i=0;i<gy.length;i++) {
            ft = gy[i].split("=");
            if (ft[0] == ji) {
                return ft[1];
            }
        }
    }
    
    function fixHeight(){
        var windowHeight = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
        var contentHeight = document.getElementById("contentFrame").offsetHeight;
        var contentBottom = document.getElementById("contentFrame").offsetBottom;
        var bottomLocatorY=document.getElementById("bottomLocator").offsetTop;
        
        //alert("S: " + windowHeight +" B: " + contentBottom +" T: " + bottomLocatorY);
        
        var newHeight=windowHeight;
        if (bottomLocatorY>newHeight) {
            newHeight=bottomLocatorY+50;
        }
        //document.getElementById("contentFrame").style.height=newHeight+"px";
        //document.getElementById("wrapper2").style.height=newHeight+70+"px";
    }
    
    function init(name){
        var menuID=querySt("m");
        var pageID=querySt("pg");
        if (menuID>0) {
            toggleBackground("cellMenu"+menuID,menuID);
            showPage("contentFrame",pageID,name);
        }
        fixHeight();
    }

    function initHome(){
        var windowHeight = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
        var contentHeight = document.getElementById("contentFrame").offsetHeight;
        var bottomLocatorY=document.getElementById("bottomLocator").offsetTop;
        
        //alert("S: " + windowHeight +" B: " + contentHeight +" T: " + bottomLocatorY);
        
        var newHeight=windowHeight;
        if (bottomLocatorY>newHeight) {
            if (contentHeight>newHeight) newHeight=contentHeight+100;
            if (bottomLocatorY>newHeight) newHeight=bottomLocatorY+120;
        }
        alert(newHeight);
        document.getElementById("contentFrame").style.height=bottomLocatorY+"px";
        document.getElementById("wrapper").style.height=newHeight+"px";
    }

        var m_names = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
        var sm_names = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");

    function extractDates(theDateString,tStamp)
    {
        var newDates="";
        var curr_day="";
        var curr_month="";
        var curr_year="";
        //  8/10/2008,8/11/2008,8/12/2008
        //  8/20/2008-8/27/2008

        theDates=theDateString.split(",")
        var x=0;
        for (x=0;x<theDates.length;x++)
        {
            thisDate=theDates[x];
            curr_day = thisDate.split("/")[1]
            curr_month = thisDate.split("/")[0]-1;
            curr_year = thisDate.split("/")[2];
            newDate=curr_day + "-" + sm_names[curr_month]+ "-" + curr_year.substr(2,2) + " " + tStamp;
            var tstring="~"+currentDates+"~";
            if (tstring.indexOf("~"+newDate+"~")!=-1) newDate="";
            if (newDate!="") {
                if (newDates!="")
                    newDates=newDates+"~"+newDate;
                else
                    newDates=newDate;
            }
        }
        return newDates;
    }
    function linkDates(theDateString,tStamp)
    {
        var newDates="";
        var curr_day="";
        var curr_month="";
        var curr_year="";
        //  8/10/2008,8/11/2008,8/12/2008
        //  8/20/2008-8/27/2008

        theDates=theDateString.split("-")
        var startDate=theDates[0];
        var endDate=theDates[1];
        
        var curDate=new Date();

        curr_day = startDate.split("/")[1]
        curr_month = startDate.split("/")[0];
        curr_year = startDate.split("/")[2];
        
        var startSDate=curr_day + " " + sm_names[curr_month-1]+ " " + curr_year;
            
        startDate=curr_year+"-"+curr_month+"-"+curr_day;

        curr_day = endDate.split("/")[1]
        curr_month = endDate.split("/")[0];
        curr_year = endDate.split("/")[2];
        endDate=curr_year+"-"+curr_month+"-"+curr_day;

        curDate.DateDiff({interval:"d",date1:startDate,date2:endDate});
        var numDays=curDate.difference;
  
        thisDate=startDate;
        var d=new Date(startSDate)
        for (var mx=0;mx<=numDays;mx++)
        {
            var thisYear=d.getFullYear().toString();
            newDate=d.getDate()+"-"+sm_names[d.getMonth()]+ "-" + thisYear.substr(2,2) + " " + tStamp;
            var tstring="~"+currentDates+"~";
            if (tstring.indexOf("~"+newDate+"~")!=-1) newDate="";
            if (newDate!="") {
                if (newDates!="")
                    newDates=newDates+"~"+newDate;
                else
                    newDates=newDate;
            }
            with (d) {
                setDate(getDate()+1);
            }
        }
        return newDates;
    }
