﻿// Source: http://www.somacon.com/p355.php
// Added on 28th November, 2008
// By Kazim
function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function replaceAll(Source,stringToFind,stringToReplace){

  var temp = Source;
  
    var index = temp.indexOf(stringToFind);

        while(index != -1){

            temp = temp.replace(stringToFind,stringToReplace);

            index = temp.indexOf(stringToFind);

        }

        return temp;

}

function setProperyForDifferentBrowser(param)
{   var browser = navigator.appName;
    var setProperty;
    
    if(browser=="Microsoft Internet Explorer")
    {
        return param.innerText;
    }
    else
    {
        return param.textContent;
    }
    //return setProperty;
}
function setCaretPosition(elem, caretPos) {
    //var elem = elemId;//document.getElementById(elemId);

    if(elem != null) {
        if(elem.createTextRange) {
            var range = elem.createTextRange();
            range.move('character', caretPos);
            range.select();
        }
        else {
            if(elem.selectionStart) {
                elem.focus();
                elem.setSelectionRange(caretPos, caretPos);
            }
            else
                elem.focus();
        }
    }
}
 
function ValidateDateGeneral(to,from,lblerror)
    {
         var txtNoteFrom = document.getElementById(from);
         var txtNoteTo = document.getElementById(to);
         var lblMsg = document.getElementById(lblerror);
         
         if(txtNoteFrom.value == "")
            {
                txtNoteFrom.style.backgroundColor = "red";
                return false;
            }
            else
            {
                txtNoteFrom.style.backgroundColor = "";
            }
            
            if(txtNoteTo.value == "")
            {
                txtNoteTo.style.backgroundColor = "red";
                return false;
            }
             else
            {
                txtNoteTo.style.backgroundColor = "";
            }
            
        if(Date.parse(txtNoteFrom.value) > Date.parse(txtNoteTo.value))
        {
             message = "Selected from date is greater than to date";
             lblMsg.innerText = message;             
             return false;
        }
        else
        {
            lblMsg.innerText = "";
        }
        return true;
    }
 
function removeByElement(arrayName,arrayElement)
 {
    for(var i=0; i<arrayName.length;i++ )
     { 
        if(arrayName[i]==arrayElement)
            arrayName.splice(i,1); 
      } 
  }
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function changeColor(name)
{
   var ctrl = document.getElementById(name);
   //debugger;
   if (ctrl!=null)
   {
      //debugger;
      ctrl.className = "buttonred";
      //ctrl.BackColor = "red";
   }
   
}
function changeCss(name,cssname)
{
   var ctrl = document.getElementById(name);
   //debugger;
   if (ctrl!=null)
   {
      //debugger;
      ctrl.className = cssname;
      //ctrl.BackColor = "red";
   }
   
}


function addEvent( obj, type, fn ) {
  if ( obj.attachEvent ) {
    //obj['on'+type] = fn;
    obj['on'+type] = addFileUploadBox;
   // obj.attachEvent( 'on'+type, obj['on'+type] );
    //obj['e'+type+fn] = fn;
    //obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
    //obj.attachEvent( 'on'+type, obj[type+fn] );
  } else
    obj.addEventListener( type, fn, false );
}
function removeEvent( obj, type, fn ) {
  if ( obj.detachEvent ) {
    obj.detachEvent( 'on'+type, addFileUploadBox);
    obj['on'+type] = null;
  } else
    obj.removeEventListener( type, fn, false );
}


function isReadOnlyInvert(ctrl)
{
  //debugger;
  
  var lblMsg = document.getElementById(objToggleControlsDisability.lblErrorTask); 
  var lblMsg2 = document.getElementById(lblMsgId); 
  
  var ret = isCheckBoxSelectedInDataGridNew();
  
  if (ret)
  {
      if (ctrl.readOnly)
       {
          return true;
       }
       else
       {  
         return false;
       }
   }
   
   if (!ret)
   {
       lblMsg.innerHTML = "Please select atleast one task";
       if (lblMsg2 != null)
       {
        lblMsg2.innerHTML = "";
       }
       
   }
   return false;
}

function isReadOnly(ctrl)
{
   //debugger;
   if (ctrl.readOnly)
   {
      return false;
   }
   else
   {  
     return true;
   }
}


function trim(str) {
	return str.replace(/^\s+|\s+$/g,"");
}
function ltrim(str) {
	return str.replace(/^\s+/,"");
}
function rtrim(str) {
	return str.replace(/\s+$/,"");
}




function selectit(control, text)
{    
    control.value = text;
    /*for(i=0;i<control.length;i++)
    {
        if(control.options[i].value == text)
        {
            control.options[i].selected = true;
        }
    }*/
}



function isCheckboxSelectedInGrid(gridname,chkboxname,replacechkboxname) 
{ 
     var dg = findObjWithClientId(gridname);
     var a=0, url ;
     var sReplaceUrl = ""; 
     var sFinalURL = replacechkboxname;
        sReplaceUrl =chkboxname; 
     var isSelected = false;
     
     if (dg!=null)
     {
         for(a=0;a<=dg.rows.length-2;a++)
         {
            /*for first column*/
            var ctrl;
            if (dg.rows[a].cells[7]!=null)
            {
               url =  dg.rows[a].cells[7].id;
               if (url!="")
               {
                   //alert(url);
                   url = url.replace(sFinalURL,sReplaceUrl);
                   //alert(url);
                   ctrl =document.getElementById(url);
                   //alert(ctrl);
                   if (ctrl!=null)
                   {
                    
                     if (!ctrl.disabled)
                     {
                       if (ctrl.checked)
                       {
                           isSelected = true;
                       }
                       return isSelected;
                     }
                        
                   }
               }
               
            }
            
         }
     }
     
  return isSelected;
}



function enabledisablefields(isEnable)
{
   var txttasknumbersearch = findObjWithClientId("txttasknumbersearch");
   var txttasknamesearch = findObjWithClientId("txttasknamesearch");
   var txttaskdescsearch = findObjWithClientId("txttaskdescsearch");
   var txttaskstartdatesearch = findObjWithClientId("txttaskstartdatesearch");
   var txttaskenddatesearch = findObjWithClientId("txttaskenddatesearch");
   var lstProjectResourceSearch = findObjWithClientId("lstProjectResourceSearch");
   
   if (txttasknumbersearch!=null)
   {
      txttasknumbersearch.disabled = !isEnable;
   }
   
   if (txttasknamesearch!=null)
   {
      txttasknamesearch.disabled = !isEnable;
   }
   if (txttaskdescsearch!=null)
   {
      txttaskdescsearch.disabled = !isEnable;
   }
   
   if (txttaskstartdatesearch!=null)
   {
      txttaskstartdatesearch.disabled = !isEnable;
   }
   
   if (txttaskenddatesearch!=null)
   {
      txttaskenddatesearch.disabled = !isEnable;
   }
   
   if (lstProjectResourceSearch!=null)
   {
      lstProjectResourceSearch.disabled = !isEnable;
   }
   
}




/// Added by Aamir ///


function getFileName(el) 
{
    var filename = "";
    alert(el.childNodes.length);
    if (el.childNodes && el.childNodes.length > 0) 
    {
        for (var x = 0; x < el.childNodes.length; x++) 
        {
            filename = el.childNodes[x].id;
            
        }
    }
    //return filename;
}




function fieldsEnableDisableForGrid(gridname,chkboxname,replacechkboxname) 
{

   if (isCheckboxSelectedInGrid(gridname,chkboxname,replacechkboxname))
   {
      enabledisablefields(false);
   }
   else
   {
      enabledisablefields(true);
   }
}

function disableControl(id)
{
   //debugger;
   var ctrl = document.getElementById(id);
   ctrl.disabled = false;
   
}

function fillTaskIDsFromGridView(ctrlname)
{
// Whenever a checkbox in the GridView is toggled, we need to
    // check the Header checkbox if ALL of the GridView checkboxes are
    // checked, and uncheck it otherwise
    
    //debugger;
    eval(document.getElementById(checkboxids).value);
    eval(document.getElementById(parentids).value);
    eval(document.getElementById(taskhourids).value);
    eval(document.getElementById(nametaskids).value);
    
    var returnValue = false;
    if ( (CheckBoxIDs != null) && (TaskIDs != null))
    {
        // check to see if all other checkboxes are checked
        var htaskid = document.getElementById(ctrlname)//findObjWithClientId("htaskidforRequestStatus");
        if (htaskid!=null )
        {
            htaskid.value = "";
        }
        else
        {
           return;
        }
        for (var i = 0; i < CheckBoxIDs.length; i++)
        {
            var cb = document.getElementById(CheckBoxIDs[i]);
            if (cb!=null)
            {
                if (cb.checked)
                {
                  htaskid.value = htaskid.value + "," + TaskIDs[i];
                  returnValue = true;
                }
            }
        }
        
        // If we reach here, ALL GridView checkboxes are checked
    }
    
    return returnValue;

}


function fillTaskHoursFromGridView(ctrlname)
{
// Whenever a checkbox in the GridView is toggled, we need to
    // check the Header checkbox if ALL of the GridView checkboxes are
    // checked, and uncheck it otherwise
    
    //debugger;
    //var returnValue = true;
    eval(document.getElementById(checkboxids).value);
    eval(document.getElementById(parentids).value);
    eval(document.getElementById(taskhourids).value);
    eval(document.getElementById(nametaskids).value);
    
    var returnValue = true;
    
    if ( (CheckBoxIDs != null) && (TaskHourIDs != null))
    {
        // check to see if all other checkboxes are checked
        var hTaskHours = document.getElementById(ctrlname)//findObjWithClientId("htaskidforRequestStatus");
        if (hTaskHours!=null )
        {
            hTaskHours.value = "";
        }
        else
        {
           return true;
        }
        for (var i = 0; i < CheckBoxIDs.length; i++)
        {
            var cb = document.getElementById(CheckBoxIDs[i]);
            var txthours = document.getElementById(TaskHourIDs[i]);
            if (cb!=null)
            {
                if (cb.checked)
                {
                  //debugger;
                  if (txthours.value.length==0) 
                  {
                      txthours.style.backgroundColor = "red";
                      return false;
                  }
                  if (!isNumber(txthours.value)) 
                  {
                      txthours.style.backgroundColor = "red";
                      return false;
                  }
                  else if (parseInt(txthours.value)<0) 
                  {
                      txthours.style.backgroundColor = "red";
                      return false;
                  }
                  else
                  {
                     txthours.style.backgroundColor = "";
                  }
                  
                  hTaskHours.value = hTaskHours.value + "," + txthours.value;
                  returnValue = true;
                }
            }
        }
        
        // If we reach here, ALL GridView checkboxes are checked
    }
    
    return returnValue;

}

function getIDofCheckBoxSelectedInDataGridNew()
{
    // Whenever a checkbox in the GridView is toggled, we need to
    // check the Header checkbox if ALL of the GridView checkboxes are
    // checked, and uncheck it otherwise
    eval(document.getElementById(checkboxids).value);
    eval(document.getElementById(parentids).value);
    eval(document.getElementById(taskhourids).value);
    eval(document.getElementById(nametaskids).value);
    
    if (CheckBoxIDs != null)
    {
        // check to see if all other checkboxes are checked
        for (var i = 0; i < CheckBoxIDs.length; i++)
        {
            var cb = document.getElementById(CheckBoxIDs[i]);
            if (cb!=null)
            {
                if (cb.checked)
                {
                    // Whoops, there is an unchecked checkbox, make sure
                    // that the header checkbox is unchecked
                    
                    return cb.id;
                }
            }
        }
        
        // If we reach here, ALL GridView checkboxes are checked
    }
    
    return "";
}


function unSelectAllCheckboxesInGridView()
{
    // Whenever a checkbox in the GridView is toggled, we need to
    // check the Header checkbox if ALL of the GridView checkboxes are
    // checked, and uncheck it otherwise
    if ( (document.getElementById(checkboxids)!=null) && (checkboxids!=null) )
    {
    
        eval(document.getElementById(checkboxids).value);
        
        if (CheckBoxIDs != null)
        {
            // check to see if all other checkboxes are checked
            for (var i = 0; i < CheckBoxIDs.length; i++)
            {
                var cb = document.getElementById(CheckBoxIDs[i]);
                if (i==0)
                { 
                  //alert(CheckBoxIDs[i].lastIndexOf("_"));
                  var _index =  CheckBoxIDs[i].substr(0,CheckBoxIDs[i].lastIndexOf('_')).lastIndexOf('_');
                  var checkallId  = CheckBoxIDs[i].substr(0,_index) + "_ctl01_chkselectall"  ; 
                  //alert(checkallId);
                  var checkall = document.getElementById(checkallId);
                  {
                     if (checkall!=null)
                     {
                         checkall.checked = false;
                     }
                  }
                }
                
                if (cb!=null)
                {
                    cb.checked = false;
                }
            }
        }
    
    }
}


function isCheckBoxSelectedInDataGridNew()
{
    // Whenever a checkbox in the GridView is toggled, we need to
    // check the Header checkbox if ALL of the GridView checkboxes are
    // checked, and uncheck it otherwise
    eval(document.getElementById(checkboxids).value);
    eval(document.getElementById(parentids).value);
    eval(document.getElementById(taskhourids).value);
    eval(document.getElementById(nametaskids).value);
    
    if (CheckBoxIDs != null)
    {
        // check to see if all other checkboxes are checked
        for (var i = 0; i < CheckBoxIDs.length; i++)
        {
            var cb = document.getElementById(CheckBoxIDs[i]);
            if (cb!=null)
            {
                if (cb.checked)
                {
                    // Whoops, there is an unchecked checkbox, make sure
                    // that the header checkbox is unchecked
                    
                    return true;
                }
            }
        }
        
        // If we reach here, ALL GridView checkboxes are checked
    }
    
    return false;
}




function isCheckBoxSelectedInDataGridNewID()
{
    // Whenever a checkbox in the GridView is toggled, we need to
    // check the Header checkbox if ALL of the GridView checkboxes are
    // checked, and uncheck it otherwise
    eval(document.getElementById(checkboxids).value);
    eval(document.getElementById(parentids).value);
    eval(document.getElementById(taskhourids).value);
    eval(document.getElementById(nametaskids).value);
    
    if (CheckBoxIDs != null)
    {
        // check to see if all other checkboxes are checked
        for (var i = 0; i < CheckBoxIDs.length; i++)
        {
            var cb = document.getElementById(CheckBoxIDs[i]);
            if (cb!=null)
            {
                if (cb.checked)
                {
                    // Whoops, there is an unchecked checkbox, make sure
                    // that the header checkbox is unchecked
                    
                    return cb.id;
                }
            }
        }
        
        // If we reach here, ALL GridView checkboxes are checked
    }
    
    return "";
}


function GetSelectedTaskIDsFromDataGrid()
{
    // Whenever a checkbox in the GridView is toggled, we need to
    // check the Header checkbox if ALL of the GridView checkboxes are
    // checked, and uncheck it otherwise
    eval(document.getElementById(checkboxids).value);
    eval(document.getElementById(parentids).value);
    eval(document.getElementById(taskhourids).value);
    eval(document.getElementById(nametaskids).value);
    
    var cslSelectedTaskIds = "";
    if (CheckBoxIDs != null && TaskIDs != null)
    {
        // check to see if all other checkboxes are checked
        for (var i = 0; i < CheckBoxIDs.length; i++)
        {
            var cb = document.getElementById(CheckBoxIDs[i]);
            if (cb!=null)
            {
                if (cb.checked)
                {
                    cslSelectedTaskIds = cslSelectedTaskIds + TaskIDs[i] + ",";
                }
            }
        }
    }
    
    if (cslSelectedTaskIds != "")
    {
        if (cslSelectedTaskIds.charAt(cslSelectedTaskIds.length-1) == ",")
        {
            cslSelectedTaskIds = cslSelectedTaskIds.substr(0, cslSelectedTaskIds.length - 1);
        }
    }
    
    return cslSelectedTaskIds;
}

function isMoreThanOneCheckBoxSelectedInDataGridNew()
{
    // Whenever a checkbox in the GridView is toggled, we need to
    // check the Header checkbox if ALL of the GridView checkboxes are
    // checked, and uncheck it otherwise
    eval(document.getElementById(checkboxids).value);
    eval(document.getElementById(parentids).value);
    eval(document.getElementById(taskhourids).value);
    eval(document.getElementById(nametaskids).value);
    
    var cnt = 0;
    if (CheckBoxIDs != null)
    {
        // check to see if all other checkboxes are checked
        for (var i = 0; i < CheckBoxIDs.length; i++)
        {
            var cb = document.getElementById(CheckBoxIDs[i]);
            if (cb!=null)
            {
                if (cb.checked)
                {
                    // Whoops, there is an unchecked checkbox, make sure
                    // that the header checkbox is unchecked
//                    if (i>1)
//                    {
//                        return false;
//                    }
                    cnt++;      
                }
            }
        }
        
        // If we reach here, ALL GridView checkboxes are checked
    }
    
    if (cnt==1)
    {
        return true;
    }
    else
    {
       return false;
    }
}


//function getSelectedTasksFromGrid()
//{
//    // Whenever a checkbox in the GridView is toggled, we need to
//    // check the Header checkbox if ALL of the GridView checkboxes are
//    // checked, and uncheck it otherwise
//    var value;
//    if (CheckBoxIDs != null)
//    {
//        // check to see if all other checkboxes are checked
//        for (var i = 0; i < CheckBoxIDs.length; i++)
//        {
//            var cb = document.getElementById(CheckBoxIDs[i]);
//            if (cb!=null)
//            {
//                if (cb.checked)
//                {
//                    // Whoops, there is an unchecked checkbox, make sure
//                    // that the header checkbox is unchecked
//                   value = value + '1,';
//                }
//                else
//                {
//                   value = value + '0,';
//                }
//                
//            }
//        }
//        
//        // If we reach here, ALL GridView checkboxes are checked
//    }
//    
//    return value;
//}



function isCheckBoxSelectedInDataGrid(DestinationControl)
{
    re = new RegExp(DestinationControl);
    for (var iCount=0;iCount<document.forms[0].length;iCount++)  
        {
            elm = document.forms[0].elements[iCount]
            if (elm.type == 'checkbox') 
            {
                if (re.test(elm.id)) 
                {
                    if(elm.checked)
                    {
                        return true;                            
                    }                
                }
            }   
        }
      return false;
}


function SelectAllCheckboxesInGridView(status)
{
    // Whenever a checkbox in the GridView is toggled, we need to
    // check the Header checkbox if ALL of the GridView checkboxes are
    // checked, and uncheck it otherwise
    //debugger;
    var getId;
    
    eval(document.getElementById(checkboxids).value);
    eval(document.getElementById(parentids).value);
    eval(document.getElementById(taskhourids).value);
    eval(document.getElementById(nametaskids).value);
    
    if (CheckBoxIDs != null)
    {
        // check to see if all other checkboxes are checked
        for (var i = 0; i < CheckBoxIDs.length; i++)
        {
            var cb = document.getElementById(CheckBoxIDs[i]);
            var isThisParent = isParent[i];
            if (cb!=null)
            {
                if(!cb.disabled)
                {
                    // Whoops, there is an unchecked checkbox, make sure
                    // that the header checkbox is unchecked
                    getId= CheckBoxIDs[i].split("chkTaskDelete");
                    var txthour = document.getElementById(getId[0] + "txtTotalHour");
                    var lblHours = document.getElementById(getId[0] + "lblHours");
                    var hsubtasks = document.getElementById(getId[0] + "hmaterial");
                    //var hsubtasks = document.getElementById(getId[0] + "hsubtasks");
                    var histaskhead = document.getElementById(getId[0] + "histaskhead");
                    
                    
                    //debugger;
                    cb.checked = status;
                    if (txthour!=null)
                    {
                              if (status==true)
                               {
                                   //if ( (hsubtasks.value=="0") && (histaskhead.value=="0"))
                                   if (isThisParent=="1")
                                   {
                                        txthour.style.display = "";
                                        lblHours.style.display = "none";
                                   }
                                   
                               }
                               else
                               {
                                   txthour.style.display = "none";
                                   lblHours.style.display = "";
                               }
                               txthour.value = lblHours.innerText ;
                    }
                   
                }
            }
        }
        
        // If we reach here, ALL GridView checkboxes are checked
    }
    
}

function isNumber(val)
{
	if (isNaN(val))
	{
		return false;
	}
	else
	{
		return true;
	}	
}


function doAllChecksInDataGrid(DestinationControl, status)
{    

    re = new RegExp(DestinationControl);
    
    if(status == true)
    {
        for (var iCount=0;iCount<document.forms[0].length;iCount++)  
        {
            elm = document.forms[0].elements[iCount]
            if (elm.type == 'checkbox') 
            {
                if (re.test(elm.id)) 
                {
                    if(!elm.disabled)
                    {
                        elm.checked = true;    
                    }                
                }
            }   
        }
    }
    
    else
    {
        for (var iCount=0;iCount<document.forms[0].length;iCount++)
        {
            elm = document.forms[0].elements[iCount]
            if (elm.type == 'checkbox') {
                if (re.test(elm.id)) {
                    elm.checked = false;
                }
            }   
        }
    }
    
    
}


function findcontrolingrid(gridname,status,chkboxname,replacechkboxname) 
{ 
    //debugger;
     var dg = findObjWithClientId(gridname);
     
     //var rclientsetup = findObjWithClientId("rAddorEdit_1");
     var a=0, url ;
     var sReplaceUrl = ""; 
    var sFinalURL = replacechkboxname;
        sReplaceUrl =chkboxname; 
     
     if (dg!=null)
     {
         for(a=0;a<=dg.rows.length-2;a++)
         {
            /*for first column*/
            var ctrl;
            if (dg.rows[a].cells[7]!=null)
            {
               url =  dg.rows[a].cells[7].id;
               if (url!="")
               {
                   //alert(url);
                   url = url.replace(sFinalURL,sReplaceUrl);
                   //alert(url);
                   ctrl =document.getElementById(url);
                   //alert(ctrl);
                   if (ctrl!=null)
                   {
                    
                     if (!ctrl.disabled)
                     {
                       ctrl.checked = status;
                     }
                        
                   }
               }
               
               //alert(ctrl);
               
            }
            //url = dg.rows[a].cells[7];
            //alert(url);
            //url = url.replace(sReplaceUrl,sFinalURL);
            
            //alert(ctrl);
            //url = url.replace(sReplaceUrl,sFinalURL);
            //dg.rows[a].cells[0].innerHTML = url;
            /*for first column*/
            
            /*for second column*/
            //id = dg.rows[a].cells[1].innerHTML;
            //dg.rows[a].cells[1].innerHTML = url;
            /*for second column*/
         }
     }
}

function SelectAllItems(name) 
		{
		    var objlstAddedItem = findObjWithClientId(name);
		    if (objlstAddedItem!=null)
		    {
		        if (objlstAddedItem.options!=null)
		        {
		            if (objlstAddedItem.options.length>0)
			        {
                        for(var i=0; i<=objlstAddedItem.options.length - 1; i++)
                        {
                            //alert(objlstAddedItem.options[i].value);
                            objlstAddedItem.options[i].selected = true;
                        }
			        }
			    }
			}
		}

function isListBoxSelected(listBoxName) 
		{
		    var objlstAddedItem = document.getElementById(listBoxName);
		    var isSelected = false;
		    if (objlstAddedItem.options.length>0)
			{
                //for(var i=0; i<=objlstAddedItem.options.length - 1; i++)
                //{
                    //alert(objlstAddedItem.options[i].value);
                    //if ((objlstAddedItem.options[i].selected == true) && 
                    //    (objlstAddedItem.options[i].value!="0"))
                    if (objlstAddedItem.value != "0")
                    {
                        isSelected = true;
                        return isSelected;
                    }
                //}
			}
			return isSelected;
		}


function GetAttachedFileName()
{
    var uploadArea = document.getElementById('uploadArea');
    var labelAttached = findObjWithClientId('lblAttachedDocument');
    var name =uploadArea.innerHTML;
    var strSplittedValues = name.split('value=');
    labelAttached.innerText = "";
    for(counter=1;counter<strSplittedValues.length;counter++)
    {
        //strValue = name.substring(name.lastIndexOf('value='), name.length);
         strValue = strSplittedValues[counter];
         var strFile = strValue.substring(strValue.lastIndexOf('\\'), strValue.length);
         strFile = strValue.substring(strValue.lastIndexOf('\\')+1, strValue.lastIndexOf('"'));

         if (labelAttached.innerText !="")
         {
            labelAttached.innerText = labelAttached.innerText + ', '+ strFile;
         }
         else
            labelAttached.innerText = '  ' + strFile;
    } 
    findObjWithClientId('hSelectedFilesName').value = labelAttached.innerText;
    var getvalue=uploadArea.value;
}


function addFileUploadBox(AddControlName)
{   
 if (AddControlName!="")
  { 
     AddControlName = "uploadArea";
  }
  //debugger;
//  //if (!document.getElementById || !document.createElement || document.getElementById('lnkAttachMore').disabled)
//  if (!document.getElementById || !document.createElement )
//   {   
//        return false;
//   }
     //alert("aziz");
     //return;
      var uploadArea = document.getElementById (AddControlName); 
      
            if (!uploadArea)
             return;  
   var newLine = document.createElement ("br");   
   uploadArea.appendChild (newLine); 
   var newUploadBox = document.createElement ("input"); 
   // Set up the new input for file uploads 
   //debugger;
   newUploadBox.type = "file";  
   newUploadBox.size = "80"; 
   newUploadBox.className = "textfield"; 
   //newUploadBox.onchange = "GetAttachedFileName();";
   newUploadBox.attachEvent('onchange', GetAttachedFileName);
   // The new box needs a name and an ID   
   if (!addFileUploadBox.lastAssignedId) 
   addFileUploadBox.lastAssignedId = 100;   
   //onfocus="GetAttachedFileName();"
   newUploadBox.setAttribute ("id", "dynamic" + addFileUploadBox.lastAssignedId); 
   newUploadBox.setAttribute ("name", "dynamic" + addFileUploadBox.lastAssignedId);   
   //newUploadBox.setAttribute ("class","textfield");  
   //newUploadBox.setAttribute ("onfocus", "GetAttachedFileName()"); 
   
   uploadArea.appendChild (newUploadBox);    addFileUploadBox.lastAssignedId++;
   
}  	

function ClearControls(arrControls)
{
    if (arrControls == null)
    {
        return;
    }
    
    var type;
    var ctrl;
    for(var count = 0; count< arrControls.length ; count ++) 
    {
        ctrl = arrControls[count];
        if (ctrl == null)
        {
            continue;
        }
        
        type = ctrl.type; 
        
        if(type == "text" || type == "textarea" ) 
        { 
            ctrl.value="";
        }
        else if (type=="select-one")
        { 
           ctrl.selectedIndex = 0;
        }
        else if (type=="checkbox")
        { 
           ctrl.checked = false; 
        }
    } 
}

function clearAll() 
{ 
    var ctrls = document.all; 
        
    //debugger;
    for(var count = 0; count< ctrls.length ; count ++) 
    { 
        var type = ctrls[count].type; 
        //alert(type);
        if(type == "text" || type == "textarea" ) 
        { 
            ctrls[count].value="";
        }
        else if (type=="select-one")
        { 
           ctrls[count].selectedIndex = 0;
        }
        else if (type=="checkbox")
        { 
           ctrls[count].checked = false; 
        }
        
    } 
}


function clearAllOfTaskPage() 
{ 
    var ctrls = document.all; 
        
    //debugger;
    for(var count = 0; count< ctrls.length ; count ++) 
    { 
        var type = ctrls[count].type; 
        //alert(type);
        if(type == "text" || type == "textarea" ) 
        { 
            var ctrlname =  ctrls[count].id ;
            var _isDate = false;
            if (ctrlname!="")
            {
               if (ctrlname.length>0)
               {  
                  ctrlname =  ctrlname.split("_");
                  if (ctrlname.length>0)
                  {
                      if (ctrlname[ctrlname.length-1]=="txtDailyHour")
                      {
                          _isDate = true;
                      }
                  }
               }
            }
            if ( (ctrls[count].value !="Type Message Here" ) && 
                 (ctrls[count].value !="Type Notes Here") &&
                 ( _isDate==false))
                 
            {
               ctrls[count].value="";
            }
        }
        else if (type=="select-one")
        { 
           ctrls[count].selectedIndex = 0;
        }
        else if (type=="checkbox")
        { 
           ctrls[count].checked = false;
        }
    } 
}
	
	
	
function findObjWithClientId(Id) 
{ 
    if (document.forms.length>0)
    {
        var frm =  document.forms[0];
        ctrls = frm.elements ;
        for(var count = 0; count< ctrls.length ; count ++) 
        { 
            var index = ctrls[count].id.indexOf(Id); 
            if(index != -1) 
            { 
                if((ctrls[count].id.length - index) == Id.length) 
                { 
                    return ctrls[count]; 
                } 
            } 
        } 

    }
    
    return null; 

}

function checkServerIdInClientID(control,Id)
{
        var index = control.id.indexOf(Id); 
        check = false;
        if(index != -1) 
        { 
            if((control.id.length - index) == Id.length) 
            { 
               check = true; 
            } 
        } 
        return check ;
}

/*
function WhetherCostingSelected()
{ 
    var fieldname , obj ;
    obj = document.getElementById("chkcosting");
    if (obj!=null)
    {
           if (obj.checked==true)
           {
                  obj = document.getElementById("chkSupport");
                  if (obj!=null)
                  {  
                     obj.disabled = true;
                     obj.checked = false;
                  }
                  obj = document.getElementById("ctl00_ContentPlaceHolder1_rAssignment");
                  if (obj!=null)
                  {  
                     obj.disabled = true;
                     obj.checked = false;
                  }
                  obj = document.getElementById("ctl00_ContentPlaceHolder1_rFiles");
                  if (obj!=null)
                  {  
                     obj.disabled = true;
                     obj.checked = false;
                  }
                  obj = document.getElementById("rMail");
                  if (obj!=null)
                  {  
                     obj.disabled = true;
                     obj.checked = false;
                  }
           else
                  {
                      obj = document.getElementById("chkSupport");
                      if (obj!=null)
                      {  
                         obj.disabled = false;
  //                       obj.checked = false;
                      }
                      obj = document.getElementById("rAssignment");
                      if (obj!=null)
                      {  
                         obj.disabled = false;
    //                     obj.checked = false;
                      }
                      obj = document.getElementById("rFiles");
                      if (obj!=null)
                      {  
                         obj.disabled = false;
      //                   obj.checked = false;
                      }
                      obj = document.getElementById("rMail");
                      if (obj!=null)
                      {  
                         obj.disabled = false;
        //                 obj.checked = false;
                      }
                      
                  }
            }
    }
}


function IsMoreThanOneEndDate()
{
  var i,j,m_i,fieldname,obj,taskid;
  diff =  parseInt("<%=Session["differenceOfDates|"]%>")  ;
  taskid = "<%=Session["taskid"]%>"  ;
  var countOrangeCellForResource ;
  countOrangeCellForResource = 0;
  for (i=0;i<=diff -1;i++)
  {
      for (m_i=0;m_i<=7;m_i++)
      { 
          fieldname =  "chkmain_" + i + "_" + m_i + "_" + taskid;
          obj = document.getElementById(fieldname);
          if (obj!=null)
          {
              if (obj.checked==true)
              {   
                  var selectedfieldname = "rtaskend"   ; 
                  var objSelected = document.getElementById(selectedfieldname);
                  countOrangeCellForResource = countOrangeCellForResource + 1 ;
                  if (objSelected!=null)
                  { 
                     if (objSelected.checked==true)
                     { 
                        if (countOrangeCellForResource>1) 
                        { 
                            return true;
                        }
                     }
                  }
              }
          } 
      } 
  }
  return false;
}

/*

function highlightrow(a)
{
//debugger
var i ;
for (i=0;i<a.parentElement.parentElement.parentElement.children.length;i++)
{
  var ch = a.parentElement.parentElement.parentElement.children(i);
  ch.style.backgroundColor = "#ffffff";
} 
a.parentElement.parentElement.style.backgroundColor = "#c0c0c0";
}
function SubHighlightrowOnLoad(a)
{
    //debugger
    var i ;
    for (i=0;i<a.parentElement.parentElement.parentElement.children.length;i++)
    {
      var ch = a.parentElement.parentElement.parentElement.children(i);
      ch.style.backgroundColor = "#ffffff";
    }
    a.parentElement.parentElement.style.backgroundColor = "#c0c0c0";
    //Row.style.backgroundColor = "#FF0000";
}

function MainHighlightrowOnLoad(sctrl)
{
      var i,sResource,arrResource,arrId,fieldname,obj,bIsResourceSelected,sSelectedResource;
      //id = ctrl.id ;
      id = sctrl ;
      arrId = id.split("_");
      bIsResourceSelected = false; 
      sResource = "<%=Session["sResorceName"]%>";
      sSelectedResource = "<%=Session["selectedResourceId"]%>";  
      //alert(sResource);
      arrResource = sResource.split(",");
      for (i=0;i<=arrResource.length-2;i++)
      {
          //fieldname = arrId[0] + "_" + arrId[1] + "_" + arrResource[i];
          fieldname = arrResource[i];
          //alert(fieldname);
          obj = findObjWithClientId(fieldname);
          if (obj!=null)
          {
              if (obj.id==sSelectedResource)
              {
                    SubHighlightrowOnLoad(obj);
                    obj.checked=true ;
              }
//              if (obj.checked==true)
//              {
//                SubHighlightrowOnLoad(obj);
//              }
          }
          
      } 
}
 function changestatus(ctrl,a,taskid)
    {
       var id,i,datefieldcount=7,fieldname="",obj,arrId;
       id = ctrl.id ;
       arrId = id.split("_");
       
       for (i=0;i<=datefieldcount;i++)
       {  
       //"chkmain_" + Convert.ToString(i) + "_" + Convert.ToString(m_i) + "_" + taskid
          //fieldname = arrId[0] + "_" + arrId[1] + "_" + a + "_"  + i + "_" + taskid ;
          fieldname = a + "_"  + i + "_" + taskid ;
          //alert(fieldname);
          obj = findObjWithClientId(fieldname);
          if (ctrl.checked==true)
          {
            obj.checked=true;
          }
          else
          {
            obj.checked=false;
          }
       }
    }
    
    function IsResourceSelected(ctrl)
    {
      var i,sResource,arrResource,arrId,fieldname,obj,bIsResourceSelected ;
      id = ctrl.id ;
      arrId = id.split("_");
      bIsResourceSelected = false; 
      sResource = "<%=Session["sResorceName"]%>";
      //alert(sResource);
      arrResource = sResource.split(",");
      for (i=0;i<=arrResource.length-2;i++)
      {
          //fieldname = arrId[0] + "_" + arrId[1] + "_" + arrResource[i];
          fieldname = arrResource[i];
          //alert(fieldname);
          obj = findObjWithClientId(fieldname);
          //alert(obj);
          //alert(obj.checked);
          if (obj.checked==true)
          {
            bIsResourceSelected = true;
          }
      } 
      if (bIsResourceSelected == true)
      {
         return true;
      }
      else
      {
         return false;
      }
      
    }
*/

//////////////////////////Date Picker javascript code/////////////////////////////
<!-- STEP ONE: Copy this code into a new file, save as date-picker.js  -->

<!-- Original:  Kedar R. Bhave (softricks@hotmail.com) -->
<!-- Web Site:  http://www.softricks.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

var weekend = [0,6];
var weekendColor = "#e0e0e0";
var fontface = "Verdana";
var fontsize = 2;

var gNow = new Date();
var ggWinCal;
isNav = (navigator.appName.indexOf("Netscape") != -1) ? true : false;
isIE = (navigator.appName.indexOf("Microsoft") != -1) ? true : false;

Calendar.Months = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"];

// Non-Leap year Month days..
Calendar.DOMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
// Leap year Month days..
Calendar.lDOMonth = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

function Calendar(p_item, p_WinCal, p_month, p_year, p_format) {
	if ((p_month == null) && (p_year == null))	return;

	if (p_WinCal == null)
		this.gWinCal = ggWinCal;
	else
		this.gWinCal = p_WinCal;
	
	if (p_month == null) {
		this.gMonthName = null;
		this.gMonth = null;
		this.gYearly = true;
	} else {
		this.gMonthName = Calendar.get_month(p_month);
		this.gMonth = new Number(p_month);
		this.gYearly = false;
	}

	this.gYear = p_year;
	this.gFormat = p_format;
	this.gBGColor = "white";
	this.gFGColor = "black";
	this.gTextColor = "black";
	this.gHeaderColor = "black";
	this.gReturnItem = p_item;
}

Calendar.get_month = Calendar_get_month;
Calendar.get_daysofmonth = Calendar_get_daysofmonth;
Calendar.calc_month_year = Calendar_calc_month_year;
Calendar.print = Calendar_print;

function Calendar_get_month(monthNo) {
	return Calendar.Months[monthNo];
}

function Calendar_get_daysofmonth(monthNo, p_year) {
	/* 
	Check for leap year ..
	1.Years evenly divisible by four are normally leap years, except for... 
	2.Years also evenly divisible by 100 are not leap years, except for... 
	3.Years also evenly divisible by 400 are leap years. 
	*/
	if ((p_year % 4) == 0) {
		if ((p_year % 100) == 0 && (p_year % 400) != 0)
			return Calendar.DOMonth[monthNo];
	
		return Calendar.lDOMonth[monthNo];
	} else
		return Calendar.DOMonth[monthNo];
}

function Calendar_calc_month_year(p_Month, p_Year, incr) {
	/* 
	Will return an 1-D array with 1st element being the calculated month 
	and second being the calculated year 
	after applying the month increment/decrement as specified by 'incr' parameter.
	'incr' will normally have 1/-1 to navigate thru the months.
	*/
	var ret_arr = new Array();
	
	if (incr == -1) {
		// B A C K W A R D
		if (p_Month == 0) {
			ret_arr[0] = 11;
			ret_arr[1] = parseInt(p_Year) - 1;
		}
		else {
			ret_arr[0] = parseInt(p_Month) - 1;
			ret_arr[1] = parseInt(p_Year);
		}
	} else if (incr == 1) {
		// F O R W A R D
		if (p_Month == 11) {
			ret_arr[0] = 0;
			ret_arr[1] = parseInt(p_Year) + 1;
		}
		else {
			ret_arr[0] = parseInt(p_Month) + 1;
			ret_arr[1] = parseInt(p_Year);
		}
	}
	
	return ret_arr;
}

function Calendar_print() {
	ggWinCal.print();
}

function Calendar_calc_month_year(p_Month, p_Year, incr) {
	/* 
	Will return an 1-D array with 1st element being the calculated month 
	and second being the calculated year 
	after applying the month increment/decrement as specified by 'incr' parameter.
	'incr' will normally have 1/-1 to navigate thru the months.
	*/
	var ret_arr = new Array();
	
	if (incr == -1) {
		// B A C K W A R D
		if (p_Month == 0) {
			ret_arr[0] = 11;
			ret_arr[1] = parseInt(p_Year) - 1;
		}
		else {
			ret_arr[0] = parseInt(p_Month) - 1;
			ret_arr[1] = parseInt(p_Year);
		}
	} else if (incr == 1) {
		// F O R W A R D
		if (p_Month == 11) {
			ret_arr[0] = 0;
			ret_arr[1] = parseInt(p_Year) + 1;
		}
		else {
			ret_arr[0] = parseInt(p_Month) + 1;
			ret_arr[1] = parseInt(p_Year);
		}
	}
	
	return ret_arr;
}

// This is for compatibility with Navigator 3, we have to create and discard one object before the prototype object exists.
new Calendar();

Calendar.prototype.getMonthlyCalendarCode = function() {
	var vCode = "";
	var vHeader_Code = "";
	var vData_Code = "";
	
	// Begin Table Drawing code here..
	vCode = vCode + "<TABLE BORDER=1 BGCOLOR=\"" + this.gBGColor + "\">";
	
	vHeader_Code = this.cal_header();
	vData_Code = this.cal_data();
	vCode = vCode + vHeader_Code + vData_Code;
	
	vCode = vCode + "</TABLE>";
	
	return vCode;
}

Calendar.prototype.show = function() {
	var vCode = "";
	
	this.gWinCal.document.open();

	// Setup the page...
	this.wwrite("<html>");
	this.wwrite("<head><title>Calendar</title>");
	this.wwrite("</head>");

	this.wwrite("<body " + 
		"link=\"" + this.gLinkColor + "\" " + 
		"vlink=\"" + this.gLinkColor + "\" " +
		"alink=\"" + this.gLinkColor + "\" " +
		"text=\"" + this.gTextColor + "\">");
	this.wwriteA("<FONT FACE='" + fontface + "' SIZE=2><B>");
	this.wwriteA(this.gMonthName + " " + this.gYear);
	this.wwriteA("</B><BR>");

	// Show navigation buttons
	var prevMMYYYY = Calendar.calc_month_year(this.gMonth, this.gYear, -1);
	var prevMM = prevMMYYYY[0];
	var prevYYYY = prevMMYYYY[1];

	var nextMMYYYY = Calendar.calc_month_year(this.gMonth, this.gYear, 1);
	var nextMM = nextMMYYYY[0];
	var nextYYYY = nextMMYYYY[1];
	
	this.wwrite("<TABLE WIDTH='100%' BORDER=1 CELLSPACING=0 CELLPADDING=0 BGCOLOR='#e0e0e0'><TR><TD ALIGN=center>");
	this.wwrite("[<A HREF=\"" +
		"javascript:window.opener.Build(" + 
		"'" + this.gReturnItem + "', '" + this.gMonth + "', '" + (parseInt(this.gYear)-1) + "', '" + this.gFormat + "'" +
		");" +
		"\"><<<\/A>]</TD><TD ALIGN=center>");
	this.wwrite("[<A HREF=\"" +
		"javascript:window.opener.Build(" + 
		"'" + this.gReturnItem + "', '" + prevMM + "', '" + prevYYYY + "', '" + this.gFormat + "'" +
		");" +
		"\"><<\/A>]</TD><TD ALIGN=center>");
	this.wwrite("[<A HREF=\"javascript:window.print();\">Print</A>]</TD><TD ALIGN=center>");
	this.wwrite("[<A HREF=\"" +
		"javascript:window.opener.Build(" + 
		"'" + this.gReturnItem + "', '" + nextMM + "', '" + nextYYYY + "', '" + this.gFormat + "'" +
		");" +
		"\">><\/A>]</TD><TD ALIGN=center>");
	this.wwrite("[<A HREF=\"" +
		"javascript:window.opener.Build(" + 
		"'" + this.gReturnItem + "', '" + this.gMonth + "', '" + (parseInt(this.gYear)+1) + "', '" + this.gFormat + "'" +
		");" +
		"\">>><\/A>]</TD></TR></TABLE><BR>");

	// Get the complete calendar code for the month..
	vCode = this.getMonthlyCalendarCode();
	this.wwrite(vCode);

	this.wwrite("</font></body></html>");
	this.gWinCal.document.close();
}

Calendar.prototype.showY = function() {
	var vCode = "";
	var i;
	var vr, vc, vx, vy;		// Row, Column, X-coord, Y-coord
	var vxf = 285;			// X-Factor
	var vyf = 200;			// Y-Factor
	var vxm = 10;			// X-margin
	var vym;				// Y-margin
	if (isIE)	vym = 75;
	else if (isNav)	vym = 25;
	
	this.gWinCal.document.open();

	this.wwrite("<html>");
	this.wwrite("<head><title>Calendar</title>");
	this.wwrite("<style type='text/css'>\n<!--");
	for (i=0; i<12; i++) {
		vc = i % 3;
		if (i>=0 && i<= 2)	vr = 0;
		if (i>=3 && i<= 5)	vr = 1;
		if (i>=6 && i<= 8)	vr = 2;
		if (i>=9 && i<= 11)	vr = 3;
		
		vx = parseInt(vxf * vc) + vxm;
		vy = parseInt(vyf * vr) + vym;

		this.wwrite(".lclass" + i + " {position:absolute;top:" + vy + ";left:" + vx + ";}");
	}
	this.wwrite("-->\n</style>");
	this.wwrite("</head>");

	this.wwrite("<body " + 
		"link=\"" + this.gLinkColor + "\" " + 
		"vlink=\"" + this.gLinkColor + "\" " +
		"alink=\"" + this.gLinkColor + "\" " +
		"text=\"" + this.gTextColor + "\">");
	this.wwrite("<FONT FACE='" + fontface + "' SIZE=2><B>");
	this.wwrite("Year : " + this.gYear);
	this.wwrite("</B><BR>");

	// Show navigation buttons
	var prevYYYY = parseInt(this.gYear) - 1;
	var nextYYYY = parseInt(this.gYear) + 1;
	
	this.wwrite("<TABLE WIDTH='100%' BORDER=1 CELLSPACING=0 CELLPADDING=0 BGCOLOR='#e0e0e0'><TR><TD ALIGN=center>");
	this.wwrite("[<A HREF=\"" +
		"javascript:window.opener.Build(" + 
		"'" + this.gReturnItem + "', null, '" + prevYYYY + "', '" + this.gFormat + "'" +
		");" +
		"\" alt='Prev Year'><<<\/A>]</TD><TD ALIGN=center>");
	this.wwrite("[<A HREF=\"javascript:window.print();\">Print</A>]</TD><TD ALIGN=center>");
	this.wwrite("[<A HREF=\"" +
		"javascript:window.opener.Build(" + 
		"'" + this.gReturnItem + "', null, '" + nextYYYY + "', '" + this.gFormat + "'" +
		");" +
		"\">>><\/A>]</TD></TR></TABLE><BR>");

	// Get the complete calendar code for each month..
	var j;
	for (i=11; i>=0; i--) {
		if (isIE)
			this.wwrite("<DIV ID=\"layer" + i + "\" CLASS=\"lclass" + i + "\">");
		else if (isNav)
			this.wwrite("<LAYER ID=\"layer" + i + "\" CLASS=\"lclass" + i + "\">");

		this.gMonth = i;
		this.gMonthName = Calendar.get_month(this.gMonth);
		vCode = this.getMonthlyCalendarCode();
		this.wwrite(this.gMonthName + "/" + this.gYear + "<BR>");
		this.wwrite(vCode);

		if (isIE)
			this.wwrite("</DIV>");
		else if (isNav)
			this.wwrite("</LAYER>");
	}

	this.wwrite("</font><BR></body></html>");
	this.gWinCal.document.close();
}

Calendar.prototype.wwrite = function(wtext) {
	this.gWinCal.document.writeln(wtext);
}

Calendar.prototype.wwriteA = function(wtext) {
	this.gWinCal.document.write(wtext);
}

Calendar.prototype.cal_header = function() {
	var vCode = "";
	
	vCode = vCode + "<TR>";
	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Sun</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Mon</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Tue</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Wed</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Thu</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Fri</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='16%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Sat</B></FONT></TD>";
	vCode = vCode + "</TR>";
	
	return vCode;
}

Calendar.prototype.cal_data = function() {
	var vDate = new Date();
	vDate.setDate(1);
	vDate.setMonth(this.gMonth);
	vDate.setFullYear(this.gYear);

	var vFirstDay=vDate.getDay();
	var vDay=1;
	var vLastDay=Calendar.get_daysofmonth(this.gMonth, this.gYear);
	var vOnLastDay=0;
	var vCode = "";

	/*
	Get day for the 1st of the requested month/year..
	Place as many blank cells before the 1st day of the month as necessary. 
	*/

	vCode = vCode + "<TR>";
	for (i=0; i<vFirstDay; i++) {
		vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(i) + "><FONT SIZE='2' FACE='" + fontface + "'> </FONT></TD>";
	}

	// Write rest of the 1st week
	for (j=vFirstDay; j<7; j++) {
		vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j) + "><FONT SIZE='2' FACE='" + fontface + "'>" + 
			"<A HREF='#' " + 
				"onClick=\"self.opener.document." + this.gReturnItem + ".value='" + 
				this.format_data(vDay) + 
				"';window.close();\">" + 
				this.format_day(vDay) + 
			"</A>" + 
			"</FONT></TD>";
		vDay=vDay + 1;
	}
	vCode = vCode + "</TR>";

	// Write the rest of the weeks
	for (k=2; k<7; k++) {
		vCode = vCode + "<TR>";

		for (j=0; j<7; j++) {
			vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j) + "><FONT SIZE='2' FACE='" + fontface + "'>" + 
				"<A HREF='#' " + 
					"onClick=\"self.opener.document." + this.gReturnItem + ".value='" + 
					this.format_data(vDay) + 
					"';window.close();\">" + 
				this.format_day(vDay) + 
				"</A>" + 
				"</FONT></TD>";
			vDay=vDay + 1;

			if (vDay > vLastDay) {
				vOnLastDay = 1;
				break;
			}
		}

		if (j == 6)
			vCode = vCode + "</TR>";
		if (vOnLastDay == 1)
			break;
	}
	
	// Fill up the rest of last week with proper blanks, so that we get proper square blocks
	for (m=1; m<(7-j); m++) {
		if (this.gYearly)
			vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j+m) + 
			"><FONT SIZE='2' FACE='" + fontface + "' COLOR='gray'> </FONT></TD>";
		else
			vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j+m) + 
			"><FONT SIZE='2' FACE='" + fontface + "' COLOR='gray'>" + m + "</FONT></TD>";
	}
	
	return vCode;
}

Calendar.prototype.format_day = function(vday) {
	var vNowDay = gNow.getDate();
	var vNowMonth = gNow.getMonth();
	var vNowYear = gNow.getFullYear();

	if (vday == vNowDay && this.gMonth == vNowMonth && this.gYear == vNowYear)
		return ("<FONT COLOR=\"RED\"><B>" + vday + "</B></FONT>");
	else
		return (vday);
}

Calendar.prototype.write_weekend_string = function(vday) {
	var i;

	// Return special formatting for the weekend day.
	for (i=0; i<weekend.length; i++) {
		if (vday == weekend[i])
			return (" BGCOLOR=\"" + weekendColor + "\"");
	}
	
	return "";
}

Calendar.prototype.format_data = function(p_day) {
	var vData;
	var vMonth = 1 + this.gMonth;
	vMonth = (vMonth.toString().length < 2) ? "0" + vMonth : vMonth;
	var vMon = Calendar.get_month(this.gMonth).substr(0,3).toUpperCase();
	var vFMon = Calendar.get_month(this.gMonth).toUpperCase();
	var vY4 = new String(this.gYear);
	var vY2 = new String(this.gYear.substr(2,2));
	var vDD = (p_day.toString().length < 2) ? "0" + p_day : p_day;

	switch (this.gFormat) {
		case "MM\/DD\/YYYY" :
			vData = vMonth + "\/" + vDD + "\/" + vY4;
			break;
		case "MM\/DD\/YY" :
			vData = vMonth + "\/" + vDD + "\/" + vY2;
			break;
		case "MM-DD-YYYY" :
			vData = vMonth + "-" + vDD + "-" + vY4;
			break;
		case "MM-DD-YY" :
			vData = vMonth + "-" + vDD + "-" + vY2;
			break;

		case "DD\/MON\/YYYY" :
			vData = vDD + "\/" + vMon + "\/" + vY4;
			break;
		case "DD\/MON\/YY" :
			vData = vDD + "\/" + vMon + "\/" + vY2;
			break;
		case "DD-MON-YYYY" :
			vData = vDD + "-" + vMon + "-" + vY4;
			break;
		case "DD-MON-YY" :
			vData = vDD + "-" + vMon + "-" + vY2;
			break;

		case "DD\/MONTH\/YYYY" :
			vData = vDD + "\/" + vFMon + "\/" + vY4;
			break;
		case "DD\/MONTH\/YY" :
			vData = vDD + "\/" + vFMon + "\/" + vY2;
			break;
		case "DD-MONTH-YYYY" :
			vData = vDD + "-" + vFMon + "-" + vY4;
			break;
		case "DD-MONTH-YY" :
			vData = vDD + "-" + vFMon + "-" + vY2;
			break;

		case "DD\/MM\/YYYY" :
			vData = vDD + "\/" + vMonth + "\/" + vY4;
			break;
		case "DD\/MM\/YY" :
			vData = vDD + "\/" + vMonth + "\/" + vY2;
			break;
		case "DD-MM-YYYY" :
			vData = vDD + "-" + vMonth + "-" + vY4;
			break;
		case "DD-MM-YY" :
			vData = vDD + "-" + vMonth + "-" + vY2;
			break;

		default :
			vData = vMonth + "\/" + vDD + "\/" + vY4;
	}

	return vData;
}

function Build(p_item, p_month, p_year, p_format) {
	var p_WinCal = ggWinCal;
	gCal = new Calendar(p_item, p_WinCal, p_month, p_year, p_format);

	// Customize your Calendar here..
	gCal.gBGColor="white";
	gCal.gLinkColor="black";
	gCal.gTextColor="black";
	gCal.gHeaderColor="darkgreen";

	// Choose appropriate show function
	if (gCal.gYearly)	gCal.showY();
	else	gCal.show();
}

function show_calendar() {
	/* 
		p_month : 0-11 for Jan-Dec; 12 for All Months.
		p_year	: 4-digit year
		p_format: Date format (mm/dd/yyyy, dd/mm/yy, ...)
		p_item	: Return Item.
	*/

	p_item = arguments[0];
	if (arguments[1] == null)
		p_month = new String(gNow.getMonth());
	else
		p_month = arguments[1];
	if (arguments[2] == "" || arguments[2] == null)
		p_year = new String(gNow.getFullYear().toString());
	else
		p_year = arguments[2];
	if (arguments[3] == null)
		p_format = "MM/DD/YYYY";
	else
		p_format = arguments[3];

	vWinCal = window.open("", "Calendar", 
		"width=250,height=250,status=no,resizable=no,top=200,left=200");
	vWinCal.opener = self;
	ggWinCal = vWinCal;

	Build(p_item, p_month, p_year, p_format);
}
/*
Yearly Calendar Code Starts here
*/
function show_yearly_calendar(p_item, p_year, p_format) {
	// Load the defaults..
	if (p_year == null || p_year == "")
		p_year = new String(gNow.getFullYear().toString());
	if (p_format == null || p_format == "")
		p_format = "MM/DD/YYYY";

	var vWinCal = window.open("", "Calendar", "scrollbars=yes");
	vWinCal.opener = self;
	ggWinCal = vWinCal;

	Build(p_item, null, p_year, p_format);
}
//////////////////////////Date Picker javascript code/////////////////////////////
function checkconstraints(chk)
{
if (chk.checked)
{
    var ddlRoles
    ddlRoles = findObjWithClientId("ddlRoles") ;
    
    if (ddlRoles.value == "0")
    {
        alert("Please assign some role to resource first");
        chk.checked = false;
    }
}

} 

//Added By Anas

function enableFieldsForSubtasks()
{
//debugger;
    var chkSubTask = document.getElementById(objToggleControlsDisability.chkSubTask);//findObjWithClientId("rAddorEdit");
    var objTasknumber = document.getElementById(objToggleControlsDisability.tasknumber);//findObjWithClientId("txttasknumber");
     
    if (chkSubTask!=null)
    {
       if (chkSubTask.checked)
       {
            if (objTasknumber!=null)
            {
                objTasknumber.readOnly = true;
            }
       }
    }
            
}


function enableAddOption()
{
//debugger;
     var rlst = document.getElementById(objToggleControlsDisability.rAddorEdit);//findObjWithClientId("rAddorEdit");
     var chkSubTask = document.getElementById(objToggleControlsDisability.chkSubTask);//findObjWithClientId("rAddorEdit");
     
     var rAdd= document.getElementById(objToggleControlsDisability.rAddTask);//findObjWithClientId("rAddTask");
     var rEdit= document.getElementById(objToggleControlsDisability.rEditTask);//findObjWithClientId("rEditTask");
     var objTasknumber = document.getElementById(objToggleControlsDisability.tasknumber);//findObjWithClientId("txttasknumber");
     var objhtasknumberbackup = findObjWithClientId("htasknumberbackup");
     var htasktitleBackup = document.getElementById("htasktitle");
     var htaskdescBackup = document.getElementById("htaskdesc");
     var tasktitle = document.getElementById(objToggleControlsDisability.tasktitle);
     var TaskDescription = document.getElementById(objToggleControlsDisability.TaskDescription);
     
     if (rlst!=null)
     {
        if (rAdd!=null)
        {
            if (rAdd.checked==true)
            {
                rAdd.checked = false;
                rlst.checked=true;
                if (chkSubTask!=null)
                {
                   if (chkSubTask.checked)
                   {
                        if (objTasknumber!=null)
                        {
                            objTasknumber.value = "";
                        }
                   }
                   else
                   {
                       if (objTasknumber!=null)
                        {
                            objTasknumber.readOnly = false;
                            
                        }
                   }
                   
                }
                
                if (tasktitle!=null)
                {
                  tasktitle.readOnly = false;
                }
                if (TaskDescription!=null)
                {
                  TaskDescription.readOnly = false;
                }
                rEdit.checked = true;
            }
                    
        }
        if (rEdit!=null)
        {
            if(rEdit.checked==true)
            {
                rlst.checked=true;
                if (objTasknumber!=null)
                {
                    objTasknumber.readOnly = true;
                    if (objhtasknumberbackup!=null)
                    {
                       objTasknumber.value = objhtasknumberbackup.value;
                    }
                }
                if (tasktitle!=null)
                {
                  tasktitle.value = htasktitleBackup.value;
                }
                
                 if (TaskDescription!=null)
                {
                  FTB_API[objToggleControlsDisability.TaskDescription].SetHtml(htaskdescBackup.value);
                }
               rAdd.checked = false; 
            }
        
        }
         
     }
    


}



////////////////////////////////////////////////////////

////////////////////////////////////////////////////////
////////////////Menu funcitons///////////////////////////




/////////////Menu functions////////////////////////////////