//global variables
var one_click_flag=one_click_flag1=one_click_flag2=new_val_flag=false;
var browser_utc_offset_min = ((new Date()).getTimezoneOffset())*(-1)
var default_qtask_field_value = "Type and hit enter to add a task...";
var Position = function () {

    return {

        /* Find a Top position of an element in the page */
        getPosY : function(obj) {
            var topPos = 0;
            if (obj.offsetParent) {
                while (obj.offsetParent) {
                    topPos += obj.offsetTop;
                    obj = obj.offsetParent;
                }
            }
            else if (obj.y) {
                topPos += obj.y;
            }
            return topPos;
        },


        /* Find a Left position of an element in the page */
        getPosX : function(obj) {
            var leftPos = 0;
            if (obj.offsetParent) {
                while (obj.offsetParent) {
                    leftPos += obj.offsetLeft;
                    obj = obj.offsetParent;
                }
            }
            else if (obj.x) {
                leftPos += obj.x;
            }
            return leftPos;
        },
		
        /* sets the top position of an element */
        setPosY : function(obj, y) {
            if (typeof(obj) == 'object' && typeof(parseInt(y)) == 'number') {
                obj.style.top = y;
            }else throw new Error("Wrong arguments passed in setPosY()");
        },
		
        /* sets the left position of an element */
        setPosX : function(obj, x) {
            if (typeof(obj) == 'object' && typeof(parseInt(x)) == 'number') {
                obj.style.top = x;
            }else throw new Error("Wrong arguments passed in setPosX()");
        }
    }
}();

var Event = function () {	
    return {
        /**
		 * Function to add/attach an event listerner to the specified object
		 * @param HTMLElem/Array	The Element Object can be an array of id strings
		 * @param String			The Event Type/Name e.g. "click", "mouseover" etc.
		 * @param Function			The function which will listen the event
		 */
        add : function ( obj, type, fn ) {
            if (obj instanceof Array) {
                for( var i = 0, j = obj.length; i < j; ++i ) {
                    this._add($(obj[i]), type, fn);
                }
            }else {
                this._add($(obj), type, fn);
            }
        },
		
        /**
		 * @scope Private
		 * Private function to actually implement the event attaching process
		 */
        _add : function ( obj, type, fn ) {
            if (obj.addEventListener) {
                obj.addEventListener( type, fn, false );
            }else {
                if ( obj.attachEvent ) {
                    obj['e'+type+fn] = fn;
                    obj[type+fn] = function(){
                        obj['e'+type+fn]( window.event );
                    }
                    obj.attachEvent( 'on'+type, obj[type+fn] );
                }
            }
            // add to cache for later removing
            EventCache.add(obj, type, fn);
        },

        /**
		 * Function to remove or unload an event handler
		 * @param HTMLElement   The Element Object
		 * @param String		The Event Type/Name e.g. "click", "mouseover" etc.
		 * @param Function		The function which will listen the event
		 */
        remove : function (obj, type, fn) {
            if(obj.removeEventListener) {
                obj.removeEventListener( type, fn, false );
            }else {
                if (obj.detachEvent) {
                    obj.detachEvent('on'+type, obj[type+fn]);
                    obj[type+fn] = null;
                }
            }
        },
		
        /**
		 * This function stops/cancels the event
		 * @param EventObject The event object [Required];
		 */
        cancel : function (ev) {
            if(!ev) throw new Error("Event object not specified");
			
            // stops/cancels event
            this._preventDefault(ev);
            this._noBubble(ev);
        },
        /**
		 * Function to prevent the default action of the event
		 * @private
		 */
        _preventDefault : function (ev) {
            if(ev.preventDefault) ev.preventDefault();
            else ev.returnValue = false;
        },
		
        /**
		  * Function to prevent bubbling of the event
		  * @private
		  */
        _noBubble : function (ev) {
            if (ev.stopPropagation) ev.stopPropagation();
            else ev.cancelBubble = true;
        },
		  
        /**
		   * Function to create an Event(Synthetic/Simulated) as specified and fire the event on the object provided
		   * @param HTMLElement The html element object
		   * @param EventName	The event name e.g. "click", "mousedown" DON'T ADD "on" BEFORE EVENT NAMES
		   *
		   * usage:  MS.Event.dispatch("buttonObject", "click") will simulate
		   *		 mouse clicks on the button object.
		   */
        dispatch : function (fireOnThis, eventName) {
            // event module's supported event types
            var HTML  = ['abort', 'blur', 'change', 'error', 'focus', 'load', 'reset', 'resize', 'scroll', 'select', 'submit', 'unload'];
            var KB	  = ['keydown', 'keypress', 'keyup'];
            var MOUSE = ['click', 'mousedown', 'mouseup', 'mousemove', 'mouseout', 'mouseover'];

            fireOnThis = $(fireOnThis);
            eventName  = eventName.toLowerCase();
				
            if(!fireOnThis) return;
			
            // Event object
            var ev = null;

            // if W3C Standard
            if (document.createEvent) {
                if(HTML.in_array(eventName)) {
                    ev = document.createEvent("HTMLEvents");
                    ev.initEvent(eventName, true, true);
                }else if (KB.in_array(eventName)) {
                    if (window.KeyEvent) {
                        ev = document.createEvent("KeyEvents");
                        ev.initKeyEvent(eventName, true, true, window, false, false, false, false, 13, 0 );
                    }else {
                        ev = document.createEvents("UIEvents");
                        ev.initUIEvent(eventName, true, true, window, 1);
                    }
                }else if (MOUSE.in_array(eventName)) {
                    ev = document.createEvent("MouseEvents");
                    ev.initMouseEvent(eventName, true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
                }
                // dispatch now
                fireOnThis.dispatchEvent(ev);
            }else {
                //not W3C standard
                ev = document.createEventObject();
                fireOnThis.fireEvent("on" + eventName, ev);
            }
        }
    }
}();


/*
 * function will perodicly refresh the user pages
 */
function periodic_refresh(id)
{
    new PeriodicalExecuter(function() {
        var refresh_form_obj = $(id);
        var refresh_url = refresh_form_obj.elements[0].value;
        refresh_url = refresh_url + refresh_form_obj.elements[1].value
        if(refresh_form_obj.elements[1].value == "true") {
            new Ajax.Request(refresh_url, {
                asynchronous:true,
                evalScripts:true
            })
            }
        }, 300)
}
/*
 * function to toggle between add a person to my page to current activities
 */
function toggleTabs(id,id1)
{
    $(id).style.display = "block";
    $(id1).style.display = "none";

    
    $(id+"TD").className = "myPageBackGrey";
    $(id1+"TD").className = "myPageBackWhite";
	
}
/*
 * function checks the length of message and if it goes more than 20 chracter than it added a space after 20 characters 
 */
function checkMsgLen(msg)
{
    var temp = msg;
    if(temp.length > 20 && temp.indexOf(" ") == -1)
    {
        msg =""
		
        for(var j=0;j<temp.length; j++)
        {
            if(j+20 > temp.length)
                msg += temp.substring(j,temp.length)+" ";
            else
                msg += temp.substring(j,j+21)+" ";
            j = j+20;
        }
    }
	
    return msg;
}
/*
 * function valuate messages it capitalize the string first character
 * it removes special character from the string replace " and ' into &quot;  and &acute; 
 */
function valuateMsg(val){
    var valArr = val.split(" ")
    var retVal = ""
    for(i=0;i<valArr.length;i++)
    {
        valArr[i] = checkMsgLen(valArr[i])
        retVal += valArr[i] + " "
    }
	
    retVal=retVal.substring(0,1).toUpperCase()+retVal.substring(1,retVal.length);
    //retVal=retVal.capitalize();
    retVal=retVal.replace(/(<([^>]+)>)/ig, "");
    retVal=retVal.replace(/"/g, "&quot;" ).replace(/'/g, "&acute;" );
    return retVal;
}
/*
 * function sets add task pop up pages values
 */
function checkTaskName()
{
    if(one_click_flag2==true)
    {
        document.add_form.task_description.value = valuateMsg(document.add_form.task_description.value).toString();
        document.add_form.comment.value = valuateMsg(document.add_form.comment.value).toString();
        one_click_flag2=false;
    }
  
}
/*
 * function sets edit task pop up pages values
 */
function checkTaskName_edit()
{
    document.edit_form.comment.value = valuateMsg(document.edit_form.comment.value).toString();
}
/*
 * function to clear the quick add field
 */
function clear_field(val,id)
{
    if(val == default_qtask_field_value)
        $(id).value="";
}
function quick_add_submit(e,form_obj,name1,opt)
{
    if(opt=="manual")
    {
        if(($('quickadd_'+name1).value!=default_qtask_field_value)&&($('quickadd_'+name1).value!=""))
        {
            var task = valuateMsg($('quickadd_'+name1).value);
            $('quickadd_'+name1).value=task;
            // task.capitalize();
            Element.show('quick_add_img_'+name1);
            new Ajax.Request('/taskview/quick_add', {
                asynchronous:true,
                evalScripts:false,
                onComplete:function(request){
                    Element.hide('quick_add_img_'+name1)
                    },
                parameters:Form.serialize($(form_obj))
                });
        }
    }
    else
    {
        if(e.keyCode == 13)
        {
            if(($('quickadd_'+name1).value!=default_qtask_field_value)&&($('quickadd_'+name1).value!=""))
            {
                var task = valuateMsg($('quickadd_'+name1).value);
                $('quickadd_'+name1).value=task;
                //task.capitalize();
                Element.show('quick_add_img_'+name1);
                new Ajax.Request('/taskview/quick_add', {
                    asynchronous:true,
                    evalScripts:false,
                    onComplete:function(request){
                        Element.hide('quick_add_img_'+name1)
                        },
                    parameters:Form.serialize($(form_obj))
                    });
            }
        }
    }
}
function show_ppl_on_page()
{
    if($('ppl_on_alphabet_page').style.display=='none')
    {
        $('ppl_on_alphabet_page').style.display='block';
        $('meebo_div').style.display='none';
        $('show_ppl_page').style.width="245px"
        $('show_ppl_page').innerHTML="<a href='javascript://' onclick='show_ppl_on_page()'>Show meebo widget<span class='leftpad_5 align_verticle_middle' style='text-align:right' ><img src='"+image_path+"/maximize.png' href='javascript:show_ppl_on_page();' alt='click here to expand' /></span></a>";
    }
    else
    {
        $('show_ppl_page').innerHTML="<a href='javascript://' onclick='show_ppl_on_page()'>Show People on my page<span class='leftpad_5 align_verticle_middle' ><img src='"+image_path+"/maximize.png' href='javascript:show_ppl_on_page();' alt='click here to expand' /></span></a>";
        $('ppl_on_alphabet_page').style.display='none';
        $('show_ppl_page').style.width="190px"
        $('meebo_div').style.display='block';
    }
}
function tips()
{
    if($('tips').style.display=='none')
    {
        $('tips').style.display='block';
        $('text_tip').style.display='none';
    }
    else
    {
        $('tips').style.display='none';
        $('text_tip').style.display='block';
    }
}
function theme_show()
{
 
    if($('theme_div').style.display=='none')
    {
        $('theme_div').style.display='block';
        $('theme_div_text').style.display='none';
    }
    else
    {
        $('theme_div').style.display='none';
        $('theme_div_text').style.display='block';
    }

}


function notepad_time_submit()
{
    if(new_val_flag==false)
    {
        setTimeout('notepad_submit()',10000);
        new_val_flag=true;
    }
}
function notpad_sys_text_remove()
{
  
    if($('note_comment').value == " The text typed here can only be seen by you ")
        $('note_comment').value ="";
}
function notepad_submit()
{
  
    if (new_val_flag)
    {
        new Ajax.Request('/taskview/save_note', {
            asynchronous:true,
            evalScripts:true,
            parameters:Form.serialize($('note_pad'))
            });
        new_val_flag=false;
    }
  
}
function popup_check()
{
	
    if(($("add_task_popup")!=null)||($("edit_task_popup")!=null)||($("priority_pop_up")!=null))
    {
        if($("add_task_popup").style.visibility == "visible" && confirm("Do you want to cancel add popup?")) add_popup_hide();//for add form
        if($("edit_task_popup").style.visibility == "visible" && confirm("Do you want to cancel edit popup?")) edit_popup_hide();//for edit form
        if($("priority_pop_up").style.visibility == "visible" && confirm("Do you want to cancel Priority popup?")) hide_priority_pop_up();//for priority form
        if($("show_task_details_popup").style.visibility == "visible" && confirm("Do you want to cancel completed task popup?")) new_popup_hide();//for show_task_details_popup form
    }
}
function edit_task_popup_sec_submit(form_obj)
{
	
    if(confirm("Do you want to Delete Task?"))
    {
        $('is_deleted').value="Y";
        document.edit_form.save.click();
    //Element.show('edit_loader');
    //new Ajax.Request('/taskview/update_task', {asynchronous:true, evalScripts:true, onComplete:function(request){Element.hide('edit_loader');}, parameters:Form.serialize(form_obj)}); return false;
    }

}
/*
 * function to close add and edit popupboxes on keypress of Esc. key
 */
function showDialog(e)
{    
	
    if(e.keyCode == 27)
    {
        if(($("add_task_popup")!=null)||($("edit_task_popup")!=null))
        {
            if($("add_task_popup").style.visibility == "visible" && confirm("Do you want to cancel?")) add_popup_hide();//for add form
            if($("edit_task_popup").style.visibility == "visible" && confirm("Do you want to cancel?")) edit_popup_hide();//for edit form
        }
    }
}

/*
 * function to submit alphabet on navigation bar
 */
function submit_alphabet(alpha) {
    location.href = "/todolist?alphabet=" + alpha + "&browser_utc_offset_min=" + browser_utc_offset_min;
}
/*
 *  function to submit add popup box values 
 */
function submit_add_popup(formobj)
{
    if(one_click_flag==true)
    {
		
        select_shared_by_options();
        send_users_and_page_numbers();
        checkTaskName("detail_add");
        process_task_pic_change('add_task','change');
        //Element.show('add_task_loader');
        //add_task_image_show();
        new Ajax.Request('/taskview/create_task', {
            asynchronous:true,
            evalScripts:true,
            onComplete:function(request){
                Element.hide('add_task_loader');
                one_click_flag=false;
            },
            parameters:Form.serialize(formobj)
            });
    }
}
/*
 * function takes the page view to perticular user's page
 */
function submit_username(sess_uname, uname) {
    var the_url="/todolist/index";
    if(sess_uname != uname) {
        the_url+="?user_name=" + uname + "&browser_utc_offset_min=" + browser_utc_offset_min;
    }
    location.href = the_url;
}
/*
 * function shows loader in front of differt users
 */
function showLoader(user)
{
    try{
        $('loading_edit_'+user+'_incomplete').style.display = "block";
		
    }catch(e){}
}
function get_prev_div()
{
    var ii="aa_"+i;
    var pre_dv=document.getElementsByAttrib(ii)
    alert(pre_dv);
}
/*
*Returns elements by attributes
*usage document.getElementsByAttrib(attribute name [Required], tagName [optional], elementObject [optional], valueToCheck [Optional])
*/

document.getElementsByAttrib = function (attrib, tag, elem, val2compare) 
{
    var elements = [];
    tag = tag || "*";
    elem = elem || document;
    val2copmare = val2compare || null;
	
    var nodes = elem.getElementsByTagName(tag);
	
    for (var i = 0, j = nodes.length; i < j; i++ )
    {
        var node = nodes[i];
        if(!val2compare)
        {
            if (node.getAttribute(attrib))
                elements.push( node );
        }
        else
        {
            if (node.getAttribute(attrib) == val2compare)
                elements.push( node );
        }
    }
    return elements;
}
/*
 * function to task loader in front of each task
 */

function show_task_loader(taskid){
    
    //document.getElementById("loading").style.display = "block";
    try{
        var taskspanarr = document.getElementsByAttrib('taskloader','span','','true')
		
        for(i=0;i<taskspanarr.length;i++)
        {
            if(taskspanarr[i].getAttribute('id') == "loader_"+taskid)
                taskspanarr[i].innerHTML = "<img src='/images/themes/0/gray_loader.gif' border='0'>";
        }
        $("abc"+taskid).style.display = "none"
    }
    catch(e){}
}
/*
 * function to show loader on user list page on the click of invite again link click
 */	
function inviteuser_loader_show(loader){
    $('invite_status_'+loader).innerHTML = "never logged in yet &nbsp;&nbsp;&nbsp;"
    $("abc"+loader).innerHTML = "<img src='/images/themes/0/gray_loader.gif' border=0>";
}
/*
 * function to hide loader on user list page 
 */
function inviteuser_loader_hide(loader){
    $("abc"+loader).style.display = "none"
    }
/*
 * function to show loader on reser password click
 */
function resetpassword_loader_show()
{
    $('password_status').innerHTML="<img src='/images/common/gray_loader.gif' border=0>";
}
/*
 * function to show hide incomplete task box and switch the image 
 */
function switchMenu(obj, img_obj, visibility, user_form_id) {
    try
    {
        var el = $(obj);
        // Added for smart (incase of maximized) periodic refresh
        var form_object = $(user_form_id);
        // Ends here
        var last_index = (document.images[img_obj].src).lastIndexOf("/");
        //if((document.images[img_obj].src).substring(last_index+1) == 'minimize.png')
        if((document.images[img_obj].getAttribute('isminimized'))=="true")
        {
            document.images[img_obj].src = image_path+'/maximize.png';
            $(img_obj).setAttribute('isminimized',false)
            //document.images[img_obj].isminimized=false;
            form_object.elements[1].value = "false";
        //form_object.elements[0].value = form_object.elements[0].value + "true";
        }
        else
        {
            document.images[img_obj].src = image_path+'/minimize.png';
            $(img_obj).setAttribute('isminimized',true);
            form_object.elements[1].value = "true";
        //form_object.elements[0].value = form_object.elements[0].value + "false";
        }
        if(visibility.length==2)
        {
            if ( el.style.display != "none" )
            {
                el.style.display = 'none';
            }
            else
            {
                el.style.display = '';
            }
        }
        else
        {
            if(visibility.length==0)
            {
                form_object.elements[1].value = "true";
                document.images[img_obj].src = image_path+'/minimize.png';
            }
            else if(visibility.indexOf("visible")!=-1)
            {
                form_object.elements[1].value = "true";
                document.images[img_obj].src = image_path+'/minimize.png';
            }
            el.style.display = visibility;
        }
    }
    catch(e){}
}
/*
 * function to show hide CurrentActivitiesMenu task box and switch the image 
 */
function switchCurrentActivitiesMenu(obj, img_obj, visibility, type_form_id) {
    var el = $(obj);
	
    // 1 Added for smart (incase of maximized) periodic refresh
    var form_object = $(type_form_id);
    // 1 Ends here
	
    var last_index = (document.images[img_obj].src).lastIndexOf("/");
    //if((document.images[img_obj].src).substring(last_index+1) == 'minimize.png')
	
    if((document.images[img_obj].getAttribute('isminimized'))=="true")
    {
        document.images[img_obj].src = image_path+'/maximize.png';
        $(img_obj).setAttribute('isminimized',false);
    //	 form_object.elements[1].value = "false";
    }
    else {
        document.images[img_obj].src = image_path+'/minimize.png';
        $(img_obj).setAttribute('isminimized',true)
    // form_object.elements[1].value = "true";
    }
    if(visibility.length==2) {
        if ( el.style.display != "none" ) {
            el.style.display = 'none';
        }
        else {
            el.style.display = '';
        }
    }
    else {
        if(visibility.length==0) {
            //form_object.elements[1].value = "true";
            document.images[img_obj].src = image_path+'/minimize.png';
        }
        el.style.display = visibility;
    }
}
/*
 * function to show hide completed task box and switch the image
 */
function switchGrayMenu(obj, img_obj, visibility) {
    var el = $(obj);
    var last_index = (document.images[img_obj].src).lastIndexOf("/");
    //if((document.images[img_obj].src).substring(last_index+1) == 'minimize.png')
    if((document.images[img_obj].src).substring(last_index+1) == 'minimize.png') {
        document.images[img_obj].src = image_path+'/maximize.png';
    }
    else {
        document.images[img_obj].src = image_path+'/minimize.png';
    }
    if(visibility.length==2) {
        if ( el.style.display != "none" ) {
            el.style.display = 'none';
        }
        else {
            el.style.display = '';
        }
    }
    else {
        if(visibility.length==0) {
            document.images[img_obj].src = image_path+'/minimize.png';
        }
        el.style.display = visibility;
    }
}
/*
 * function to trim the string value
 */
function trim(stringValue)
{
    return stringValue.replace(/(^\s*|\s*$)/, "");
}
/*
 * function to mark task as seen 
 */
function mark_task_as_seen_locally(obj, actual_user, session_user) {

    if(actual_user==session_user) {
        //replace the text with (text - asterix) if asterix is found
        var coloumn = $(obj);
        var old_text = trim(coloumn.innerHTML);
        var first_chr = (old_text).substring(0,3);
        if(first_chr == "<b>") {
            var new_text = (old_text).substring(3, coloumn.innerHTML.length);
            coloumn.innerHTML = new_text;
        }
    
    }
}
/*
 * functon to set the by when flag value
 */
function set_by_when_flag(prev_by_when_value) {

	
    var edit_form_obj = $('edit_form');
    var current_by_when_value="";
    for(w=0;w<edit_form_obj.task_by_when.length;w++)
    {
        if (edit_form_obj.task_by_when[w].checked)
            current_by_when_value=edit_form_obj.task_by_when[w].value;
    }
    if(prev_by_when_value != current_by_when_value) {
        edit_form_obj.by_when_flag.value = "true";
    }
    else {
        edit_form_obj.by_when_flag.value = "false";
    }
		 
	
}
/*
 * function to filter a task
 */
function call_remote(user_name, obj, first_user_in_view) {
    current_page = document.add_form.page.value;
    var task_type = obj;//[obj.selectedIndex].value;
    var for_name="refresh_form_"+user_name;
    var cross_button = $(for_name).elements[3].value;
    showLoader(user_name);
    //var the_url = "/taskview/filter_tasks?cross_button=" + cross_button + "&user_name=" + user_name + "&filter_type=" + task_type + "&first_user_in_view=" + first_user_in_view + "&page=" + current_page + "&maximized=true";
    // change the [&page=" + current_page + "] => [&page=1] as the default page for each filter should be first page.
    var the_url = "/taskview/filter_tasks?cross_button=" + cross_button + "&user_name=" + user_name + "&filter_type=" + task_type + "&first_user_in_view=" + first_user_in_view + "&page=1&maximized=true";
    var myAjax = new Ajax.Request(the_url, {
        asynchronous:true,
        evalScripts:true,
        onSuccess: function(){
            $('loading_edit_'+user_name+'_incomplete').style.display = "none";
        }
    });
}
/*
 * function to show loader on add a person page
 */
function show_add_member()
{
    $("add_a_person").style.display = "block";
}
/*
 * function to remove user from my page
 */
function call_remote_for_remove_user(user_id_to_remove,user_name_to_remove) {

    showLoader(user_name_to_remove)
	
    var the_url = "/todolist/remove_user_from_my_page?user_id_to_remove=" + user_id_to_remove+"&user_name_to_remove="+user_name_to_remove;
    var myAjax = new Ajax.Request(the_url, {
        asynchronous:true,
        evalScripts:true,
        onComplete:function(request){
            remove_ppl_from_mypage(user_name_to_remove)
            }
        });
	
add_elements_to_drop_menu(user_id_to_remove,user_name_to_remove)
menu1.sort();
  
  
}
function choose_group_submit(group_id)
{
    var the_url = "/user/set_default_group?group_id=" + group_id;
    var myAjax = new Ajax.Request(the_url, {
        asynchronous:true,
        evalScripts:true,
        onComplete:function(request){}
    });
}
/*
 * fnction to add user to my page
 */
function call_remote_for_add_user(user_id_to_add,counter,user_name) {
	
    //showLoader(user_name)
    show_add_member();
    var the_url = "/todolist/add_user_to_my_page?user_id_to_add=" + user_id_to_add;
    var myAjax = new Ajax.Request(the_url, {
        asynchronous:true,
        evalScripts:true,
        onComplete:function(request){
            Element.hide('add_a_person'),add_ppl_to_mypage(user_id_to_add,user_name)
            }
        });
remove_elements_from_drop_menu(user_id_to_add,counter,user_name);
  
}
function add_ppl_to_mypage(ppl_id,name)
{ 
    var prev_val=$('ppl_added_to_my_page').innerHTML;
    if(prev_val.indexOf("Add group members to your my page for easy access to their task bin.")== -1)
        $("ppl_added_to_my_page").innerHTML+=" <a href='#link_"+ppl_id+"'class='bold_task'>"+name+"</a>, ";
    else
    {
        var prev_str_index=prev_val.indexOf("No user is in your my page. Add group members to your my page for easy access to their task bin.");
        var str1=prev_val.substring(0,prev_str_index);
        $("ppl_added_to_my_page").innerHTML=str1+" <a href='#link_"+ppl_id+"'class='bold_task'>"+name+"</a>, ";
    }
}
function remove_ppl_from_mypage(name)
{
    var prev_users=$('ppl_added_to_my_page').innerHTML;
  
    var user_added_to_my_page=prev_users.split(',')
    if((user_added_to_my_page.length -1)==1)
    {
        var user_to_remove=prev_users.indexOf(name)
        var str1=prev_users.substring(0,user_to_remove)
        var str2=prev_users.substring(((user_to_remove+name.length)+5),prev_users.length)
        var str3=str1+str2;
        $('ppl_added_to_my_page').innerHTML=str3;
        $('ppl_added_to_my_page').innerHTML+=" <b>No user is in your my page. Add group members to your my page for easy access to their task bin.</b>";
    }
    else
    {
        var user_to_remove=prev_users.indexOf(name)
        var str1=prev_users.substring(0,user_to_remove)
        var str2=prev_users.substring(((user_to_remove+name.length)+5),prev_users.length)
        var str3=str1+str2;
        $('ppl_added_to_my_page').innerHTML=str3;
    }
}
/*
 * function to remove the elements from the user list  dropdown menu 
 */
function remove_elements_from_drop_menu(user_id_to_add,counter,user_name)
{
    menu1.sort();
    if(menu1.length <= 1)
    {
        menu1[0] ="<a href='javascript://' style='padding-left:5px;width:95%'>No users in this list</a>";
    }
    else{
        var m = new Array();
		
        for(i=0,len=menu1.length;i<len;i++)
        {
            if(menu1[i].indexOf("_"+user_name+"'") != -1)
                counter = i;
        }
        var m1 = menu1.slice(0,counter);
        var m2 = menu1.slice((counter+1),menu1.length);
        menu1 = new Array()
        menu1 = m1.concat(m2);
        for(i=0,len=menu1.length;i<len;i++)
        {
            var remain = menu1[i].substring((menu1[i].indexOf(",")+1),menu1[i].length)
            menu1[i] = menu1[i].substring(0,(menu1[i].indexOf(",")+1)) + i + remain.substring((remain.indexOf(",")),remain.length)
        }
    }
    if(menuHeight < 150){
        if(menuHeight >20)
            $("dropmenudiv").style.height = menuHeight - 20;
        menuHeight = menuHeight -20
    }
}
/*
 * function  add elements to drop menu dropdown  
 */
function add_elements_to_drop_menu(user_id,user_name)
{
    if((menu1.length == 1) && (menu1[0].indexOf("No users in this list")!= -1))
        menu1[0] = "<a id='add_user_menu_"+user_name+"' href='javascript://' onclick=call_remote_for_add_user("+user_id+","+menu1.length+",'"+user_name+"') style='cursor:pointer;padding-left:5px;width:95%'>"+user_name+"</a>";
    else if(menu1.length == 0 && menu1[0].indexOf("No users in this list") == -1)
        menu1[0] ="<a href='javascript://' style='padding-left:5px;width:95%'>No users in this list</a>";
    else
        menu1.push("<a id='add_user_menu_"+user_name+"' href='javascript://' onclick=call_remote_for_add_user("+user_id+","+menu1.length+",'"+user_name+"') style='cursor:pointer;padding-left:5px;width:95%'>"+user_name+"</a>");
    if(menuHeight < 150)
    {
        $("dropmenudiv").style.height = menuHeight + 20;
        menuHeight = menuHeight + 20
    }
}
	
function hideIncompleteTask(task_id,task_hide,ele)
{    

    try{
		
        var taskspanarr = document.getElementsByAttrib(task_hide,ele,'','true')
		
        for(i=0;i<taskspanarr.length;i++)
        {
            if(taskspanarr[i].getAttribute('id') == task_hide+"_"+task_id){
                taskspanarr[i].innerHTML = "";
            }
        }
    }
    catch(e){
        alert(e.message)
        }
}

function showCompleteTask(task_id,user_name,div,div_desc,done,ele1,div2)
{
    try{
        var task_desc = $(div_desc).innerHTML;
        var row ="";
        if(done == true)
            row +='<table width="100%" border="0" cellspacing="0" cellpadding="0" class="textOverflow current_png go-hand >'
	
        row +='<tr><td width="4px" ></td><td width="6%" class="completedtask_padding"><span taskloader="true" id="loader_'+task_id+'"></span>'
        row +='</td><td nowrap="nowrap" align="left" class="completedtask_padding"><table cellspacing="0" cellpadding="0" border="0" width="100%" class="textOverflow">'
        row +='<tr><td width="70%" class="incompletetask_padding"><div><span class="hover_task_text textOverflow current_png go-hand">'+task_desc+'</span></div></td>'
        row +='<td align="right" width="30%" class="incomplete_task_padding"><div><span class="hover_task_text go-hand">Pending...</span></div></td>'
        row +='</tr></table><td width="4px"></td></tr>'
	
        if(done == true)
            row +='</table>';
        $(div).innerHTML = row + $(div).innerHTML;
    }catch(e){
        alert(e.message)
        }
}
/*
 * function to mark task as complete or incomplete
 */
function call_remote_with_id(task_id, action, user_name, first_user_in_view, filter_tr_id, current_page) {
    /*if (action == 'mark_task_done'){
				 showCompleteTask(obj.value,user_name,'task_complete','coloums_to_change_'+user_name+'_'+obj.value,true,'div','task_complete');
				 hideIncompleteTask(obj.value,'task_tr_incomplete','tr');
				}
			else if(action == 'mark_task_undone')
			{
				showCompleteTask(obj.value,user_name,'user_incomplete_tasks'+user_name+'_table','coloums_to_change_'+obj.value+'_'+user_name,false,'td','task_tr_incomplete');
				hideIncompleteTask(obj.value,'task_tr_completed','table');
			}*/
    
    if($("priority_pop_up").style.visibility == "visible")
        hide_priority_pop_up();
     
    if (action == 'mark_task_done' || action == 'mark_task_undone')
        show_task_loader(task_id);
 

    var all_f = $("all_" + filter_tr_id).className;
    var today_f = $("today_" + filter_tr_id).className;
    var tomorrow_f = $("tomorrow_" + filter_tr_id).className;
    var sometime_f = $("sometime_" + filter_tr_id).className;
			
    var cross_button = eval("document.refresh_form_"+ user_name+".cross_button").value != ''?eval("document.refresh_form_"+ user_name+".cross_button").value :" ";
    if(all_f == "bold_task")
        task_filter = 'all_incomplete_tasks';
    else if(today_f == "bold_task")
        task_filter = 'todays_incomplete_tasks';
    else if(tomorrow_f == "bold_task")
        task_filter = 'tomorrows_incomplete_tasks';
    else if(sometime_f == "bold_task")
        task_filter = 'sometimesoons_incomplete_tasks';
    else
        task_filter = 'bold_task';
            
			
    var the_url = "";
    if(action != "filter_tasks")
    {
        var users_on_page = trim(document.add_form.all_users_in_the_view.value).replace(/  /g, " ");
        users_on_page = users_on_page.substring(0,users_on_page.length-1)
        var users_on_page_array = (trim(users_on_page)).split(" ");
        var users_page_numbers = new Array();
        //var users_maximized_states = new Array();
        var users_filters = new Array();
        var user_cross_button = new Array();
        var users_in_maximize_state = new Array();
			
        for(x=0; x<users_on_page_array.length; x++)
        {
            //var img_obj = $("toggle_img_"+users_on_page_array[x]);
            //var last_index = (img_obj.src).lastIndexOf("/");
            //if((img_obj.src).substring(last_index+1) == 'minimize.png')
            //{
            users_in_maximize_state.push(users_on_page_array[x]);
        //}
        }
			
        for(var j=0; j<users_in_maximize_state.size(); j++)
        {
            var form_obj = $('refresh_form_'+users_in_maximize_state[j]);
					
            //get the current page number stored in the user refresh form
            if(form_obj!=undefined)
            {
                users_page_numbers.push(form_obj.page.value);
            }
            //set the filter for each user!
            if(user_map[users_in_maximize_state[j]] == "")
            {
                user_map[users_in_maximize_state[j]] = "all_incomplete_tasks";
            }
            users_filters.push(user_map[users_in_maximize_state[j]]);
					
            user_cross_button.push($('refresh_form_'+users_in_maximize_state[j]).cross_button.value);
        }
        the_url = "/taskview/" + action + "?users_in_maximize_state="+users_in_maximize_state.toString()+"&users_page_numbers="+users_page_numbers.toString()+"&users_filters="+users_filters.toString()+"&user_cross_button="+user_cross_button.toString()+"&cross_button=" + cross_button + "&id=" + task_id + "&page=" + current_page + "&user_name=" + user_name + "&first_user_in_view=" + first_user_in_view + "&task_filter=" + task_filter;
    }
    else
    {
        the_url = "/taskview/" + action + "?cross_button=" + cross_button + "&id=" + task_id + "&page=" + current_page + "&user_name=" + user_name + "&first_user_in_view=" + first_user_in_view + "&task_filter=" + task_filter;
    }
    var myAjax = new Ajax.Request(the_url, {
        asynchronous:true,
        evalScripts:true
    });
}
function call_action_remote_current_activity(username, action, task_id, type,t_obj,boxname)
{
	
    //hide_edit_task();
    new_show_current(boxname,type);
    var action_type = action;
    var the_url = "/taskview/" + action + "?user_name=" + username + "&task_id=" + task_id + "&type=" + type;
    var myAjax = new Ajax.Request(the_url, {
        asynchronous:true,
        evalScripts:true,
        onSuccess:function(request){
            Element.hide('loading_'+boxname+'_'+type);
		
            new_popup_show(t_obj);
        }
    });
}	
/*
 * function to show edit task pop up and fetch tha data
 */		  
function call_action_remote(username, action, task_id, type,t_obj)
{
    popup_check();
    //Element.show('loading_edit');
    if(($("add_task_popup").style.visibility != "visible")&&($("priority_pop_up").style.visibility != "visible")&&($("show_task_details_popup").style.visibility != "visible")&&($("edit_task_popup").style.visibility != "visible"))
    {
        hide_edit_task();
        new_show(username,type);
        var action_type = action;
        var the_url = "/taskview/" + action + "?user_name=" + username + "&task_id=" + task_id + "&type=" + type;
        var myAjax = new Ajax.Request(the_url, {
            asynchronous:true,
            evalScripts:true,
            onSuccess:function(request){
                Element.hide('loading_edit_'+username+'_'+type);
			
                if(type=='completed')
                {
                    new_popup_show(t_obj);
                }
                else if (type=='incomplete')
                {
                    edit_popup_show(t_obj);
                }
            }
        });
}
	
}
/*
 * function related to lightbox.js
 */
function set_scroll_ie()
{
    bod = document.getElementsByTagName('body')[0];
    bod.style.height = "auto";
    bod.style.overflow = "auto";
  
    htm = document.getElementsByTagName('html')[0];
    htm.style.height = "auto";
    htm.style.overflow = "auto";
}

function new_show_current(boxname,type)
{
    //$('loading_edit').style.left = ((screen.width /2) - 100 ) + "px";
    try{
        $('loading_'+boxname+'_'+type).style.display="block";
    }catch(e){}
	
//document.getElementById('loading_edit').style.display="block";
}

function new_show(username,type)
{
    //$('loading_edit').style.left = ((screen.width /2) - 100 ) + "px";
    try{
        $('loading_edit_'+username+'_'+type).style.display="block";
    }catch(e){}
	
//document.getElementById('loading_edit').style.display="block";
}
/*
 * function to populate the user shared by a perticular task on click of arrow button
 */
function populate_add_shared_by() {
    var shared_by_obj = document.getElementById('shared_by_options');
    var shared_by_to_add = document.getElementById('shared_by[]');
    var j = shared_by_to_add.options.length;
    //var already_exists = false;
    var i = 0;
    for(i = 0; i<shared_by_obj.options.length; i++) {
        if(shared_by_obj.options[i].selected == true) {
            var newOpt = new Option(shared_by_obj.options[i].value, shared_by_obj.options[i].value);
            shared_by_to_add.options[j] = newOpt;
            shared_by_obj.options[i] = null;
            i-=1;
            j+=1;
        }
    }
}
/*
 * function to remove the user shared by a perticular task
 */		  
function remove_shared_by(extract_user_id) {
    var shared_by_to_add = $('shared_by[]');
    var shared_by_obj = $('shared_by_options');
    var j = shared_by_obj.options.length;
    for(i = 0; i<shared_by_to_add.length; i++) {
        if(shared_by_to_add.options[i].selected == true) {
            var newOpt = new Option(shared_by_to_add.options[i].value, shared_by_to_add.options[i].value);
            shared_by_obj.options[j] = newOpt;
            shared_by_to_add.options[i] = null;
            i-=1;
            j+=1;
        }
    }
    extract_user(extract_user_id);
}
/*
  * function related to remove shared by
  */ 
function extract_user(extract_user_id)
{
    var shared_by_obj = $('shared_by_options');
    var shared_by_to_add = $('shared_by[]');
    for(i = 0; i<shared_by_obj.length; i++)
    {
        if(shared_by_obj.options[i].value == extract_user_id)
        {
            var newOpt = new Option(extract_user_id, shared_by_obj.options[i].value);
            shared_by_to_add.options[0] = newOpt;
            shared_by_obj.options[i] = null;
        }
    }
}
/*
 * function to populate the user shared by a perticular task on click of arrow button in edit task pop upbox
 */		  
function populate_edit_shared_by() {
    var shared_by_obj = $('edit_shared_by_options');
    var shared_by_to_add = $('edit_shared_by[]');
    var j = shared_by_to_add.options.length;
    var i = 0;
    for(i = 0; i<shared_by_obj.options.length; i++) {
        if(shared_by_obj.options[i].selected == true) {
            var newOpt = new Option(shared_by_obj.options[i].text, shared_by_obj.options[i].text);
            shared_by_to_add.options[j] = newOpt;
            shared_by_obj.options[i] = null;
            i-=1;
            j+=1;
        }
    }
}
/*
 *  function to remove the user shared by a perticular task in edit task popup box
 */		  
function edit_remove_shared_by() {
    var shared_by_to_add = $('edit_shared_by[]');
    var shared_by_obj = $('edit_shared_by_options');
		    
    var j = shared_by_obj.options.length;
		   
    for(i = 0; i<shared_by_to_add.length; i++) {
        if(shared_by_to_add.options[i].selected == true) {
            var newOpt = new Option(shared_by_to_add.options[i].text, shared_by_to_add.options[i].text);
            shared_by_obj.options[j] = newOpt;
            shared_by_to_add.options[i] = null;
            i-=1;
            j+=1;
        }
    }
}
/*
 * function to send and set the values on add task pop up box submittion 
 */		  
function send_users_and_page_numbers() {
    //users_on_page, users_added_to_task
			
    if(one_click_flag1==true)
    {
        var users_on_page = document.add_form.all_users_in_the_view.value;
        var users_added_to_task = document.add_form.users_added_to_task.value;
			
        //get only the users on page to whom the task is assigned!!
        //there must be a better way??
			
        var users_on_page_array = (trim(users_on_page)).split(" ");
        var users_added_to_task_array = users_added_to_task.split(" ");
			
        var users_on_page_added_to_task = new Array();
        var users_page_numbers = new Array();
        var users_maximized_states = new Array();
        var users_filters = new Array();
        //My page user or not?
        var user_cross_button = new Array();
        for(var i=0; i<users_added_to_task_array.size(); i++) {
            for(var j=0; j<users_on_page_array.size(); j++) {
                if(users_on_page_array[j]==users_added_to_task_array[i]) {
                    users_on_page_added_to_task.push(users_on_page_array[j]);
                    var form_obj = $('refresh_form_'+users_on_page_array[j]);
						
                    //get the current page number stored in the user refresh form
                    if(form_obj!=undefined) {
                        users_page_numbers.push(form_obj.page.value);
                    }
                    //set the filter for each user!
                    if(user_map[users_on_page_array[j]] == "") {
                        user_map[users_on_page_array[j]] = "all_incomplete_tasks";
                    }
                    users_filters.push(user_map[users_on_page_array[j]]);
                    if(!(users_on_page_array[j]==""))
                        user_cross_button.push($('refresh_form_'+users_on_page_array[j]).cross_button.value);
						
                }
            }
        }
			
        for(x=0; x<users_on_page_added_to_task.length; x++)
        {
            if(users_on_page_added_to_task[x]!="")
            {
                //var img_obj = $("toggle_img_"+users_on_page_added_to_task[x]);
                //var last_index = (img_obj.src).lastIndexOf("/");
					
                //if((img_obj.src).substring(last_index+1) == 'minimize.png')
                //{
                users_maximized_states.push("true");
            //}
            //else
            //{
            //	users_maximized_states.push("false");
            //}
            }
        }
			
        document.add_form.users_page_numbers.value =users_page_numbers.toString();
        document.add_form.users_added_to_task.value = users_on_page_added_to_task.toString();
        document.add_form.users_maximized_value.value = users_maximized_states.toString();
        document.add_form.users_filters.value = users_filters.toString();
        document.add_form.users_cross_buttons.value = user_cross_button.toString();
		
        one_click_flag1=false;
        one_click_flag2=true;
    }
}
		  
//Extra method ---------- Refactor
/*
 *function to send and set the values on edit task pop up box submittion
 */		  
function send_edit_users_and_page_numbers() {
    //users_on_page, users_added_to_task
    var users_on_page = document.add_form.all_users_in_the_view.value;
    var users_added_to_task = document.edit_form.users_in_edit_task.value;
            
    var temp = document.edit_form.previous_users.value.substring(0,document.edit_form.previous_users.value.length-1)// removing last space if trim will not work
			
    var previous_users_array = (trim(temp).split(" "))// make the array of the users of tasks which we hv to refresh.

    //get only the users on page to whom the task is assigned!!
    //there must be a better way??
			
    var users_on_page_array = (trim(users_on_page)).split(" ");
    var users_added_to_task_array = (trim(users_added_to_task)).split(" ");
    var temp = document.edit_form.previous_users.value.substring(0,document.edit_form.previous_users.value.length-1);// removing last space if trim will not work

    var previous_users_array = (trim(temp).split(" "))// make the array of the users of tasks which we hv to refresh.
            
    var users_on_page_added_to_task = new Array();
    var users_page_numbers = new Array();
    var users_maximized_states = new Array();
    var users_filters = new Array();
    //My page user or not?
    var user_cross_button = new Array();
			
    if(previous_users_array.length >= users_added_to_task_array.length)
    {
        for(var i=0; i<previous_users_array.size(); i++) {
            for(var j=0; j<users_on_page_array.size(); j++) {
                if(users_on_page_array[j]==previous_users_array[i]) {
							
                    users_on_page_added_to_task.push(users_on_page_array[j]);
                    var form_obj = $('refresh_form_'+users_on_page_array[j]);
                    //get the current page number stored in the user refresh form
                    users_page_numbers.push(form_obj.page.value);
							
                    //set the filter for each user!
							
                    if(user_map[users_on_page_array[j]] == "") {
                        user_map[users_on_page_array[j]] = "all_incomplete_tasks";
                    }
                    users_filters.push(user_map[users_on_page_array[j]]);
                    user_cross_button.push($('refresh_form_'+users_on_page_array[j]).cross_button.value);
                }
            }
        }
    }
    else
    {
				
        for(var i=0; i<users_added_to_task_array.size(); i++) {
            for(var j=0; j<users_on_page_array.size(); j++) {
                if(users_on_page_array[j]==users_added_to_task_array[i]) {
							
                    users_on_page_added_to_task.push(users_on_page_array[j]);
                    var form_obj = $('refresh_form_'+users_on_page_array[j]);
                    //get the current page number stored in the user refresh form
                    users_page_numbers.push(form_obj.page.value);
							
                    //set the filter for each user!
							
                    if(user_map[users_on_page_array[j]] == "") {
                        user_map[users_on_page_array[j]] = "all_incomplete_tasks";
                    }
                    users_filters.push(user_map[users_on_page_array[j]]);
                    user_cross_button.push($('refresh_form_'+users_on_page_array[j]).cross_button.value);
                }
            }
        }
    }
    for(x=0; x<users_on_page_added_to_task.length; x++) {
        //var img_obj = $("toggle_img_"+users_on_page_added_to_task[x]);
        //var last_index = (img_obj.src).lastIndexOf("/");
				
        //if((img_obj.src).substring(last_index+1) == 'minimize.png') {
        users_maximized_states.push("true");
    //}
    //else {
    //	users_maximized_states.push("false");
    //}
    }
			
    document.edit_form.users_page_numbers.value = users_page_numbers.toString();
    //document.edit_form.users_page_numbers.value = "1";
    document.edit_form.users_in_edit_task.value = users_on_page_added_to_task.toString();
			
    document.edit_form.users_maximized_value.value = users_maximized_states.toString();
    document.edit_form.users_filters.value = users_filters.toString();
    document.edit_form.users_cross_buttons.value = user_cross_button.toString();
			
}
		  
//Uptil here Refactor
/*
 * function to select the user added to share a task in add task pop up
 */		  
function select_shared_by_options() {
    if(one_click_flag==true)
    {
        var shared_by_to_add = $('shared_by[]');
        var users_added_to_task="";
		
        for(i = 0; i<shared_by_to_add.length; i++) {
            shared_by_to_add.options[i].selected = true;
            users_added_to_task = users_added_to_task + " " + shared_by_to_add.options[i].value;
        }
			
        //Populate users_add_to_task here
        document.add_form.users_added_to_task.value = trim(users_added_to_task);
        //ends
        one_click_flag=false;
        one_click_flag1=true;
    }
}
/*
  * function to select the user added to share a task in edit task pop up
  */
function edit_select_shared_by_options() {
    var shared_by_to_add = $('edit_shared_by[]');
    var users_in_edit_task = "";
			
    for(i = 0; i<shared_by_to_add.length; i++) {
        //Changed from .value to .text IE related isuue!!
        shared_by_to_add.options[i].selected = true;
        users_in_edit_task = users_in_edit_task + " " + shared_by_to_add.options[i].text;
    }
			
    //Populate users_in_edit_task here
    document.edit_form.users_in_edit_task.value = trim(users_in_edit_task);
//ends
}
		  
		  
<!------------------------------Validations---------------------->
		  
		  
/*
 * function to populate current activities tab
 */		 
function populate_current_activities()
{
    p_f('refresh_form_due_today')
    p_f('refresh_form_added')
    p_f('refresh_form_completed')
    p_f('refresh_form_edited')
}
function p_f(id)
{
    var refresh_form_obj = $(id);
    var refresh_url = refresh_form_obj.elements[0].value;
    refresh_url = refresh_url + refresh_form_obj.elements[1].value
    if(refresh_form_obj.elements[1].value == "true")
    {
        $('current_act_processor').style.display='block';
        new Ajax.Request(refresh_url, {
            asynchronous:true,
            evalScripts:true,
            onComplete:function(request){
                $('current_act_processor').style.display='none';
            }
        });
}
}


/*
 * image rollover functions
 * 
 */

function MM_swapImgRestore() { //v3.0
    var i,x,a=document.MM_sr;
    for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
    var d=document;
    if(d.images){
        if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments;
        for(i=0; i<a.length; i++)
            if (a[i].indexOf("#")!=0){
                d.MM_p[j]=new Image;
                d.MM_p[j++].src=a[i];
            }
        }
}

function MM_findObj(n, d) { //v4.01
    var p,i,x;
    if(!d) d=document;
    if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document;
        n=n.substring(0,p);
    }
    if(!(x=d[n])&&d.all) x=d.all[n];
    for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && d.getElementById) x=d.getElementById(n);
    return x;
}

function MM_swapImage() { //v3.0
    var i,j=0,x,a=MM_swapImage.arguments;
    document.MM_sr=new Array;
    for(i=0;i<(a.length-2);i+=3)
        if ((x=MM_findObj(a[i]))!=null){
            document.MM_sr[j++]=x;
            if(!x.oSrc) x.oSrc=x.src;
            x.src=a[i+2];
        }
}
/*
 * function to initilize the tooltip
 */
function setDialogHW()
{
    $("loading").style.left = (screen.width -125)+"px";
    $("show_task_details_popup").style.width = (screen.width -25)+"px";
//$("edit_task_popup").style.width = (screen.width -25)+"px";
// $("add_task_popup").style.width = (screen.width -25)+"px";
}
/*
 * function to set time offset on signin page and forgor password page
 */
function timeoffset()
{
    try{
        var curdate = new Date();
        $('browser_utc_offset_min').value=curdate.getTimezoneOffset();
    }catch(e){}
}
/*
 * function to clear add popup fields 
 */
function add_popup_clear_fields(extract_user_id) {
    //clear the task fields
    try{
        document.add_form.elements[2].value = "";
        document.add_form.comment.value = "";
    /*var shared_by_to_add = $('shared_by[]');
	 for(i = 1; i<shared_by_to_add.length; i++) {
         shared_by_to_add.options[i] = null;
       }
	//document.add_form.shared_by[0].value="";
	//document.add_form.task_by_when.selectedIndex = 0
	//repopulate the main user list
	//select_shared_by_options();
	
	//remove_shared_by(extract_user_id);
	
	//fetch all users into array and then sort
	//sort_user_list();
	//done clearing*/
    }
    catch(e){
        $("loading").style.display = "none";
    }
}


function sort_user_list() {
    //fetch all users into array and then sort
    var users_array = new Array();
    var select_users = document.add_form.shared_by_options;
	
    for(i=0; i<select_users.options.length; i++)
    {
        users_array.push(select_users.options[i].text);
        select_users.options[i] = null;
    }
    //for(i=0; i<users_array.length; i++)
		

    users_array.sort();
	
    for(i=0; i<users_array.length; i++)
    {
        var newOpt = new Option(users_array[i], users_array[i]);
        select_users.options[i] = newOpt;
    }
}
/*
 * function to clear edit popup field
 */
function edit_popup_clear_fields() {
    //clear the task fields
    document.edit_form.comment.value = "";
//done clearing
}
function picture_upload_show(task_obj)
{
    obj = $("picture_upload");
	
    obj.style.position="absolute";
    obj.style.zIndex=252;
		
    obj.style.top=(Position.getPosY(task_obj)+20) +"px";
		
    obj.style.left=Position.getPosX(task_obj) +"px";
    obj.style.visibility = "visible";
    obj.style.display = "block";
}
function picture_upload_hide()
{
    obj = $("picture_upload");
    obj.style.visibility = "hidden";
    obj.style.display = "none";
}
function show_background_picture(user_name)
{
    var td_id="user_pic_upload_"+user_name;
    $(td_id).className ="background_image_class border_top_gray align_verticle_middle";
}
function hide_background_picture(user_name)
{
    var td_id="user_pic_upload_"+user_name;
    $(td_id).className ="border_top_gray align_verticle_middle";
}
/*
 * function to show add popup box
 */
function add_popup_show(user_name,task_obj) {
    popup_check();
    if(($("edit_task_popup").style.visibility != "visible")&&($("priority_pop_up").style.visibility != "visible")&&($("show_task_details_popup").style.visibility != "visible"))
    {
        $('add_task_img_tr').style.display="block";
        obj = $("add_task_popup");
	
        remove_shared_by(user_name)
        $('user_name').value = user_name;
        obj.style.position="absolute";
        obj.style.zIndex=252;
        obj.style.top=Position.getPosY(task_obj) +"px";
    
        //alert(Position.getPosX(task_obj)+" : "+document.body.clientWidth);
  
        if ((Position.getPosX(task_obj)+373)>(document.body.clientWidth))
        {
      
            $('add_pop_upbox_img').align="right";
            $('add_pop_upbox_img').src=image_path+"/detailed_right.png";
            $('add_pop_upbox_img').setAttribute('useMap','#Map22')
            $('add_popup_div_cross').style.display="none";
     
            obj.style.left=(Position.getPosX(task_obj)-340) +"px";
      
        }
        else
        {
            $('add_pop_upbox_img').align="left";
            $('add_pop_upbox_img').src=image_path+"/detailed.png";
            $('add_popup_div_cross').style.display="block";
            obj.style.left=(Position.getPosX(task_obj)-8) +"px";
        }
        obj.style.visibility = "visible";
        obj.style.display = "block";
		
        add_user_name=$('user_name').value
        one_click_flag=true;
        if(($('quickadd_'+user_name).value!=default_qtask_field_value)&&($('quickadd_'+user_name).value!=""))
        {
            $("task_description").value= $('quickadd_'+user_name).value;
            $("task_description").focus();
            var dropdown_selected=$("task_by_when_drop_down").value;
            var priority_val_to_set="task_by_when_"+dropdown_selected;
            $(priority_val_to_set).checked=true;
        }
        else
            $("task_description").focus();
    }
}
function change_priority_settings(priority,pr_page_no,yell)
{
				
    process_task_pic_change('priority_task','change');
    var the_url = "/taskview/change_priority?user_name=" +$('pr_uname').value+ "&task_id=" +$('pr_task_id').value+ "&page=" +pr_page_no+"&task[by_when]="+priority+"&task[description]="+$('pr_task_desc').value+"&task[yell]="+yell+"&by_when_flag=true&comment=&";
    var myAjax = new Ajax.Request(the_url, {
        asynchronous:true,
        evalScripts:true,
        onSuccess:function(request){
            Element.hide('priority_pop_up');
            hide_priority_pop_up();
        }
    });
	 
try{
    var taskspanarr = document.getElementsByAttrib('task_priority','span','','true')
    for(i=0;i<taskspanarr.length;i++)
    {
        if(taskspanarr[i].getAttribute('id') == "priority_"+$('pr_task_id').value)
        {
            if((priority=="today")&&(yell=="Y"))
                taskspanarr[i].innerHTML = "<img border=0 src='"+image_path+"/yell.png' >";
            else
                taskspanarr[i].innerHTML = "<img border=0 src='"+image_path+"/"+priority+".png' >";
        }
    }
//$("abc"+taskid).style.display = "none"
}
catch(e){}
	
	 	 
}
function upload_pic_submit()
{
    document.change_settings.action="/user/upload_picture";
    document.change_settings.submit();
}

function priority_pop_up_show(task_obj,user_name,pr_task_id,task_desc)
{
    popup_check();
    if(($("add_task_popup").style.visibility != "visible")&&($("edit_task_popup").style.visibility != "visible")&&($("show_task_details_popup").style.visibility != "visible"))
    {
        process_task_pic_change('priority_task','revert');
        obj=$("priority_pop_up")
        obj.style.position="absolute";
        obj.style.zIndex=252;
        obj.style.top=(Position.getPosY(task_obj)+21) +"px";
        obj.style.left=Position.getPosX(task_obj) +"px";
        obj.style.visibility = "visible";
        obj.style.display = "block";
        $("pr_uname").value=user_name;
        $("pr_task_id").value=pr_task_id;
        $("pr_task_desc").value=task_desc;
    }
	
	
}
function hide_priority_pop_up()
{
    obj=$("priority_pop_up")
    obj.style.visibility = "hidden";
    obj.style.display = "none";
}
/*
 * function to show edit popup box
 */
function edit_popup_show(task_obj)
{
    popup_check();
    if(($("add_task_popup").style.visibility != "visible")&&($("priority_pop_up").style.visibility != "visible")&&($("show_task_details_popup").style.visibility != "visible"))
    {
		
        obj = $("edit_task_popup");
	
        obj.style.position="absolute";
        obj.style.zIndex=252;
		
        obj.style.top=(Position.getPosY(task_obj)+25) +"px";
		
        obj.style.left=Position.getPosX(task_obj) +"px";
        obj.style.visibility = "visible";
        obj.style.display = "block";
    }
	
}
/*
 * function to show edit task details
 */
function new_popup_show(task_obj)
{
    popup_check();
    if(($("add_task_popup").style.visibility != "visible")&&($("priority_pop_up").style.visibility != "visible")||($("edit_task_popup").style.visibility != "visible"))
    {
        obj = $("show_task_details_popup");
        //obj.style.position="absolute";
        obj.style.zIndex=252;
        obj.style.top=(Position.getPosY(task_obj)+21) +"px";
        obj.style.left=Position.getPosX(task_obj) +"px";
        obj.style.visibility = "visible";
        obj.style.display = "block";
    }
}
/*
 * function to hide add popupbox
 */
function add_popup_hide(extract_user_id) {
	
    if(document.compatMode && document.all)
        set_scroll_ie();
    obj = $("add_task_popup");
    add_popup_clear_fields(extract_user_id);
    obj.style.visibility = "hidden";
    obj.style.display = "none";
    if($("shared_by_error").style.display != "none" || $("desc_error").style.display != "none"){
        $("shared_by_error").style.display = "none";
        $("desc_error").style.display = "none";
    }
}
/*
 * function to hide edit pop up box
 */
function edit_popup_hide() { 

    if(document.compatMode && document.all)
        set_scroll_ie();
    obj = $("edit_task_popup");
    obj.style.visibility = "hidden";
    obj.style.display = "none";
    edit_popup_clear_fields();
    $("shared_by_error_for_edit").style.display = "none"
}
/*
 * function to hide sow task details
 */
function new_popup_hide(check1,task_id) { 
    obj = $("show_task_details_popup");
    var user_name=document.new_popup_form.user_name.value;
    if(check1=='show_check')
    {
        if(document.new_popup_form.incomplete_check.checked)
        {
            obj.style.visibility = "hidden";
            obj.style.display = "none";
            call_remote_with_id(task_id, 'mark_task_undone',user_name,'true', user_name , document.new_popup_form.page.value)
        }
        else
        {
            obj.style.visibility = "hidden";
            obj.style.display = "none";
        }
    }
    else
    {
        obj.style.visibility = "hidden";
        obj.style.display = "none";
    }
 
    if(document.compatMode && document.all)
        set_scroll_ie();
}

function view_popup_hide() { 
    obj = $("view_task_popup");
    //obj.style.visibility = "hidden";
    //obj.style.display = "none";
    if(obj!=null) {
        obj.innerHTML = "";
    }
}

function hide_edit_task() {
    obj = $("edit_task_popup");
    obj.innerHTML = "";
}
function set_theme_from_tasks(th_id)
{
    var type="";
    if(action_page=="select_theme")
        type="group";
    else if(action_page=="index")
        type="tasks";
    else
        type="user";
     
    var the_url = "/accounts/set_theme?theme_id="+th_id+"&type="+type;
    var myAjax = new Ajax.Request(the_url, {
        asynchronous:true,
        evalScripts:true
    });
  
}

function set_theme(form_obj,theme_for)
{
   
    var theme_form_obj = form_obj;
    var current_by_when_value="";
    for(w=0;w<theme_form_obj.theme1.length;w++)
    {
        if (theme_form_obj.theme1[w].checked)
            current_by_when_value=theme_form_obj.theme1[w].value;
    }
    var the_url = "/accounts/set_theme?theme_id="+current_by_when_value+"&type="+theme_for;
    var myAjax = new Ajax.Request(the_url, {
        asynchronous:true,
        evalScripts:true
    });
}

function print_task_list(user_name,group_id)
{
    var the_url = "/taskview/print_tasklist?user_name="+user_name+"&group_id="+group_id;
    var myAjax = window.open(the_url,"PRINT_TASKS","width=840,height=700,top=30,left=100,status=yes,toolbar=no,menubar=yes,scrollbars=yes,resizable=yes,location=no");
    if(myAjax == null) {
        alert("Your browser has a popup blocker, please allow the site to print the tasks.");
    }
}