var constt='Type text to search';
 
$(document).ready(function () {   

    loadLeftPane();
    loadRight();
    loadRight2Pane();
    
    
    
    $("#cancel_link").click(function() {
        $("#input_box").slideUp(200);
    });

    
    $("#save_link").click(function() {
        saveNewNote();
    });
    
    //prefill search text box
    if (document.getElementById("stringToSearch")) {
        var str = document.getElementById("stringToSearch").value;
        if (str == '') {
            document.getElementById("stringToSearch").value=constt;
        }
    }
    
    $("#adv_srch_link").click(function() {
        document.getElementById("searchbar").style.display='none';
        document.getElementById("advsearchlink").style.display='none';
        document.getElementById("hidsearchlink").style.display='inline';
        document.getElementById("advsearchbar").style.display='inline';
    });
    $("#hide_srch_link").click(function() {
        document.getElementById("searchbar").style.display='inline';
        document.getElementById("advsearchlink").style.display='inline';
        document.getElementById("hidsearchlink").style.display='none';
        document.getElementById("advsearchbar").style.display='none';
    });    
    
    $("#clear_btn").click(function() {
        document.getElementById("advSearchTitle").value='';
        document.getElementById("advSearchNote").value='';
        document.getElementById("advSearchTags").value='';
        document.getElementById("advSearchDate").value='';
    });    


});

function loadRight2Pane() {

    var r_p = document.getElementById('rt_pane_2');
    if (r_p) {
        r_p.innerHTML = 'Loading ...';
    }
    var transaction = YAHOO.util.Connect.asyncRequest("POST", "mi_latestFewNote.action", listOtherNotes, null);

}

function showCreate()
{
        $("#input_box").slideDown(400);
        document.getElementById('input_box').style.opacity=1;
        if (document.getElementById('no_data_found')) { 
            document.getElementById('no_data_found').style.display="none";
        }
        document.getElementById('noteText_new').removeAttribute('readonly');
        closeSolveIt();
   
}

var listOtherNotes = {
    cache : false,
    success : function (o) {
        var elem = document.getElementById('rt_pane_2');
        if (elem) {
	        elem.innerHTML = o.responseText;	
	    }
    }    
}

function closeSolveIt() {
    var solveitborder = document.getElementById('solveit_border');
    if (solveitborder) {
       solveitborder.style.display='none';
    }
}

function submitSolveit() {
   document.getElementById('solveit_border').style.opacity=0.7;
   document.getElementById('load_div_solveit').style.display='inline';
	
   var form = document.getElementById("solveit_form");  	
   YAHOO.util.Connect.setForm(form);    
   var transaction = YAHOO.util.Connect.asyncRequest("POST", "mi_verifyHumanNote.action", afterSolveIt , null);
}

var afterSolveIt = {
    cache:false,
    success : function (o) {
        document.getElementById('load_div_solveit').style.display='none';
        //var elem = document.getElementById('lastFewNotes');
	    //elem.innerHTML.append(o.responseText);
	    $("#lastFewNotes").html(o.responseText);	
    }    
}

function saveNewNote() {
       
    var toCreate = enforceLengthCheck(document.getElementById('noteText_new').value.length);
        
    if (toCreate) {
        document.getElementById('input_box').style.opacity=0.7;
        document.getElementById('load_div_new').style.display='inline';
        document.getElementById('noteText_new').setAttribute('readonly','readonly');
        var fform = document.getElementById("create_form");  
        YAHOO.util.Connect.setForm(fform);    
        var transaction = YAHOO.util.Connect.asyncRequest("POST", "mi_createNote.action", listNotes1 , null);
        var elem = document.getElementById('lastFewNotes');
        elem.innerHTML = 'Loading ...';
    } else {        
        //noop
    }    
}

function enforceLengthCheck(l_length) {     
    //notes of length < 800 are allowed by default
    //note of length > 800 and < 1200 are given a warning, but user can still choose to create
    //note of length > 1200 are not allowed to be created
    var toCreate = true;
    if (l_length >= 1200) {        
        var msg = "Can not create such a large note !";
        toCreate = false;
        alert(msg);        
    } else {
		if (l_length >= 800) {        
		    var msg = "Your note is too large ! A short and simple note is always the most useful. Click OK if you really want to create this note.";
		    toCreate = confirm(msg);
		}
    }
    return toCreate;
}

function resetSearchBox() { 
    if (constt == document.getElementById("stringToSearch").value) {
        document.getElementById("stringToSearch").value='';
    }
}

function loadRight() {
    var r_p = document.getElementById('right_pane');
    if (r_p) {
        r_p.innerHTML = 'Loading ...';
    } 
    var transaction = YAHOO.util.Connect.asyncRequest("POST", "mi_listTagsNote.action", listTags, null);
}

function loadLeftPane() {
    var elem = document.getElementById('lastFewNotes');
    if (elem) {
        elem.innerHTML = 'Loading ...';
    }
    var transaction = YAHOO.util.Connect.asyncRequest("POST", "mi_listNotes.action", listNotes, null);
}

function cancelEdit(i) {
    var txt_area_id = "textarea_" + i;
    document.getElementById('edit_link_' + i).style.display='inline';
    document.getElementById('edit_link_img_' + i).style.display='inline';
    document.getElementById('save_link_' + i).style.display='none';
    document.getElementById('save_link_img_' + i).style.display='none';
    document.getElementById('cancel_link_' + i).style.display='none';
    document.getElementById('cancel_link_img_' + i).style.display='none';
    document.getElementById('readonly_title_' + i).style.display='inline';
    document.getElementById('title_' + i).style.display='none';
    document.getElementById('chkbox_' + i).setAttribute('disabled', 'disabled');
    document.getElementById('title_bar_' + i).className='title_bar';
    var xcf = "edit_form_" + i;
    var t_form = document.getElementById(xcf);
    t_form['noteText_' + i]. setAttribute('readonly', 'readonly');
    document.getElementById('tags_' + i).style.display='none';
    document.getElementById('tags_readonly_' + i).style.display='inline';

}

function editNote (i) {
    var txt_area_id = "textarea_" + i;
    document.getElementById('edit_link_' + i).style.display='none';
    document.getElementById('edit_link_img_' + i).style.display='none';
    document.getElementById('save_link_' + i).style.display='inline';
    document.getElementById('save_link_img_' + i).style.display='inline';
    document.getElementById('cancel_link_' + i).style.display='inline';
    document.getElementById('cancel_link_img_' + i).style.display='inline';
    document.getElementById('readonly_title_' + i).style.display='none';
    document.getElementById('title_' + i).style.display='inline';
    document.getElementById('chkbox_' + i).removeAttribute('disabled');
    document.getElementById('title_bar_' + i).className='title_bar_edit';
    var t_form = document.getElementById('edit_form_' + i);
    t_form['noteText_' + i].removeAttribute('readonly');
    document.getElementById('tags_' + i).style.display='inline';
    document.getElementById('tags_readonly_' + i).style.display='none';
}

function saveNote (i) {
    var txt_area_id = "textarea_" + i;
    var t_form = document.getElementById('edit_form_'+i);   
    
    var toCreate = enforceLengthCheck(t_form['noteText_' + i].value.length);
    if (toCreate) {    
        t_form['noteText_' + i].setAttribute('readonly', 'readonly');
        document.getElementById('load_div_' + i).style.display='inline';
        document.getElementById('save_link_' + i).style.opacity=0.5; 
        document.getElementById('notebox_' + i).style.opacity=0.5;
    
        var form = document.getElementById("edit_form_" + i);
        YAHOO.util.Connect.setForm(form)
        var transaction = YAHOO.util.Connect.asyncRequest("POST", "mi_editNote.action", listNotes , null);
        var elem = document.getElementById('lastFewNotes');
        elem.innerHTML = 'Updating ...'; 
    } else {
        //noop
    }   

}

function delNote (i) {
    var cnf = confirm("Do you really want to delete this note ?");
    if (cnf) {
        var txt_area_id = "textarea_" + i;
        document.getElementById('load_div_' + i).style.display='inline';
        document.getElementById('delete_link_' + i).style.opacity=0.5; 
        document.getElementById('notebox_' + i).style.opacity=0.5;
    
        var tform = document.getElementById("edit_form_" + i);
        YAHOO.util.Connect.setForm(tform)
        var transaction = YAHOO.util.Connect.asyncRequest("POST", "mi_deleteNote.action", listNotes , null);
        var elem = document.getElementById('lastFewNotes');
        elem.innerHTML = 'Updating ...';
    } else {    
        return false;
    }
}


var listNotes =   
{   
    cache:false,
    success: function(o) {
        var elem = document.getElementById('lastFewNotes');
        //alert(o.responseText);
        //elem.innerHTML.append(o.responseText);    
        $("#lastFewNotes").html(o.responseText);	
        loadRight();
    } 

} 

var listNotesWithoutRefreshingRightPane = 
{   
    cache:false,
    success: function(o) {
        var elem = document.getElementById('lastFewNotes');
        //document.getElementById('search_load_div').style.display='none';    
        //alert(o.responseText);
        //elem.innerHTML = o.responseText;  
        $("#lastFewNotes").html(o.responseText);
        if (document.getElementById('help_pane')) { 
            document.getElementById('help_pane').style.display='none';
        }
        if (document.getElementById('no_data_found')) {
            document.getElementById('no_data_found').style.display='inline';
        }
        if(o.argument) {
		var str = o.argument.toUpperCase();
		//alert(str);
		var strarr = str.split(" ");
		for(i = 0; i < strarr.length; i++)
		{
		    if(strarr[i] == "")
		    {
		    } else 
		    {
			$('textarea').each(function() { $.highlight(this, strarr[i]); });
		    }
		} 
	}  
    } 
} 
var listNotes1 =   
{   
    cache:false,
    success: function(o) {
        var elem = document.getElementById('lastFewNotes');
        //elem.innerHTML.append(o.responseText);     
        $("#lastFewNotes").html(o.responseText);	
        document.getElementById('input_box').style.display='none';
        document.getElementById('load_div_new').style.display='none';    
        loadRight();
    }
}

var listTags = 
{
    cache:false,
    success: function(o) {
        var elem = document.getElementById('right_pane');
        //alert(o.responseText);
        if (elem) {
            elem.innerHTML = o.responseText;   
        }     
    }

}
//for highlighting search results
$(document).ready(function()
{
    if (document.getElementById("stringToSearchUpperCase")) {
        var str = document.getElementById("stringToSearchUpperCase").value;
        //alert(str);
        var strarr = str.split(" ");
        for(i = 0; i < strarr.length; i++)
        {
            if(strarr[i] == "")
            {
            } else 
            {
                $('textarea').each(function() { $.highlight(this, strarr[i]); });
            }
        }        
    } 

});

function doSearch (typ) {
    var vvl = document.getElementById('stringToSearch').value;    
    if (typ == 1) {
        var elem = document.getElementById('lastFewNotes');
        elem.innerHTML = 'Searching ...';    
        //document.getElementById('search_load_div').style.display='inline';
        var transaction = YAHOO.util.Connect.asyncRequest("GET", "mi_searchNotes.action?searchPerformed=simple&notesStringToSearch="+vvl, {success: listNotesWithoutRefreshingRightPane.success, argument:vvl}, null);
    }
    if (typ == 2) {
        var elem = document.getElementById('lastFewNotes');
        elem.innerHTML = 'Searching ...';    
        //document.getElementById('search_load_div').style.display='inline';
        var transaction = YAHOO.util.Connect.asyncRequest("GET", "mi_searchTagsNote.action?searchPerformed=simple&stringToSearch="+vvl, listNotesWithoutRefreshingRightPane, null);
    }
    return false;
}

function doAdvSearch () {
   
    var title = document.getElementById('advSearchTitle').value;    
    var note = document.getElementById('advSearchNote').value;
    var tag = document.getElementById('advSearchTags').value;
    var from = document.getElementById('dateFrom').value;
    var date = document.getElementById('advSearchDate').value;    
    var showOnlyPub = document.getElementById('show_only_public').checked;    
    var showOthers = document.getElementById('show_others_chkbox').checked;    
    var elem = document.getElementById('lastFewNotes');
    elem.innerHTML = 'Searching ...';    
    //document.getElementById('search_load_div').style.display='inline';
    var urr = "mi_advSearchNote.action?searchPerformed=adv&advSearchTitle="+ title +"&advSearchNote="+note+"&advSearchTags="+tag+"&dateFrom="+from+"&advSearchDate="+date+"&advSearchShowOnlyPublic="+showOnlyPub+"&advSearchShowOthers="+showOthers;
    //alert(urr);
    var transaction = YAHOO.util.Connect.asyncRequest("GET", urr, listNotesWithoutRefreshingRightPane, null);

    return false;
}

function showNotesForTag(ttt) {
    //alert(ttt);
    var elem = document.getElementById('lastFewNotes');
    elem.innerHTML = 'Searching ...';    
    //document.getElementById('search_load_div').style.display='inline';
    var transaction = YAHOO.util.Connect.asyncRequest("GET", "mi_showNotesForTags.action?searchPerformed=load&tagName="+ttt, listNotesWithoutRefreshingRightPane, null);

}

function deleteAllNotes() {
    var cnf = confirm("Do you really want to delete all the notes ?");
    if (cnf) {  
        var transaction = YAHOO.util.Connect.asyncRequest("GET", "mi_deleteAllNote.action", listNotes , null);
    }
}

function loadOtherNote(vall) {
    var transaction = YAHOO.util.Connect.asyncRequest("GET", "mi_loadOthersNote.action?noteId="+vall, listNotes , null);    
}

function showAllTags() {
    var transaction = YAHOO.util.Connect.asyncRequest("GET", "mi_showAllTags.action", listNotes , null);    
}

function showOlderNotes(srchType) {
    var indValue = document.getElementById('notesIndexMin').value;
    document.getElementById('notesIndexMin').value = parseInt( indValue ) + 20;
    var nform = document.getElementById("notes_page_form");
    YAHOO.util.Connect.setForm(nform);
    
    if (!srchType) {    
        var transaction = YAHOO.util.Connect.asyncRequest("GET", "mi_listNotes.action", listNotes , null);
    }
    else 
    {
        var transaction = YAHOO.util.Connect.asyncRequest("GET", "mi_showOlderNotes_Search.action?searchPerformed="+srchType, listNotes , null);
    }
}

function showNewerNotes(srchType) {
    var indValue = document.getElementById('notesIndexMin').value;
    document.getElementById('notesIndexMin').value = parseInt( indValue ) - 20;
    var nform = document.getElementById("notes_page_form");
    YAHOO.util.Connect.setForm(nform);
    if (!srchType) {    
        var transaction = YAHOO.util.Connect.asyncRequest("GET", "mi_listNotes.action", listNotes , null);
    }
    else {
        var transaction = YAHOO.util.Connect.asyncRequest("GET", "mi_showNewerNotes_Search.action?searchPerformed="+srchType, listNotes , null);
    }
}

function showFewerNotes(srchType) {
    if (!srchType) {    
        loadLeftPane();
    }
    else {
        var nform = document.getElementById("notes_page_form");
        YAHOO.util.Connect.setForm(nform);
        var transaction = YAHOO.util.Connect.asyncRequest("GET", "mi_showAllSearchNotes.action?searchPerformed="+srchType, listNotes , null);
    }    
}

function showAllNotes(srchType) {
    if (!srchType) {    
        loadLeftPaneWithShowAll();
    }
    else {
        var nform = document.getElementById("notes_page_form");
        YAHOO.util.Connect.setForm(nform);
        var transaction = YAHOO.util.Connect.asyncRequest("GET", "mi_showAllSearchNotes.action?showAllNotes=true&searchPerformed="+srchType, listNotes , null);
    }        
}

function loadLeftPaneWithShowAll() {
    var elem = document.getElementById('lastFewNotes');
    elem.innerHTML = 'Loading ...';    
    var transaction = YAHOO.util.Connect.asyncRequest("POST", "mi_listNotes.action?showAllNotes=true", listNotes, null);
}


