﻿/// <reference path="LanxerLibrary.js" />
/// <reference path="Global_Page.js" />
/// <reference path="Global.js" />
/// <reference path="Global_AJAX.js" />

var es_ExpandedNodes = new Array();
var es_Expand_Selected = null;
var es_Expand_MoreOpps = null;
var es_WorkingNodeID = null;
var es_SelectedMainNodeID = false;

function es_CheckedCategory(cb , nodeToExpand)
{
 // see what the value is coming out of // for some reason not picking up on right value
    if(cb.checked)
       aj_es('joinResultCommunity_FromSkillsTMSetup=' + cb.value + '&mode=' + g('es_Mode').value + '&item=' + g('es_Item').value); 
    else
       aj_es('leaveResultCommunity_FromSkillsTMSetup=' + cb.value + '&mode=' + g('es_Mode').value + '&item=' + g('es_Item').value); 
       
    if(nodeToExpand)
        GLOBAL_array_addUnique(ps_NodeIDFromNodeUID(nodeToExpand) , es_ExpandedNodes);
    
    es_RenitiView();
    
    UpdateAlert_ShowMadeUpdate();
}

function es_Despand(nodeID)
{
    es_WorkingNodeID = ps_NodeIDFromNodeUID(nodeID);
    GLOBAL_array_removeByVal(ps_NodeIDFromNodeUID(nodeID) , es_ExpandedNodes);
    es_RenitiView();
}

function es_Expand(nodeID)
{
    es_WorkingNodeID = ps_NodeIDFromNodeUID(nodeID);
    GLOBAL_array_addUnique(ps_NodeIDFromNodeUID(nodeID) , es_ExpandedNodes);
    es_RenitiView();
}

function es_ToggleImg(nodeID)
{
    var nodeToExpand = g('CN' + nodeID);
    var imgO = g('es_NodeIMG' + nodeID);
    if(nodeToExpand.style.display == 'block')
        imgO.src = ip() + 'PlusClosed.gif';
    else
        imgO.src = ip() + 'PlusOpen.gif';
}

var previouslySelectMainCategory = null;
function es_OpenMainCategory(catID)
{
    es_ExpandedNodes = new Array();
    es_SelectedMainNodeID = catID;
    es_WorkingNodeID = catID;
    
    es_RenitiView();
}

function es_SelectCelibateCategory(nodeID)
{
    es_WorkingNodeID = nodeID;
    es_RenitiView();
}

function es_MoreOppsOver(plusSign,uid)
{
    plusSign.style.color = 'red';
	document.onmousemove = es_MoreOpps_MM;
	g('UIDAAAA' + uid).style.display = '';
}

var es_MoreOppsOver_HandleOpptionsUID = 0;

function es_MoreOppsOver_HandleOpptions(moreOppsArg,nodeID)
{
    es_MoreOppsOver_HandleOpptionsUID++;
    
    var opps = '<table class=MoreOppsOverClassFlag height=28px cellpadding=0 cellspacing=0><tr><td width=5px> </td><td height=28px bgcolor=#FFFFFF valign=middle style=color:#ff5555;cursor:pointer; onmouseover=\"es_MoreOppsOver(this,' + es_MoreOppsOver_HandleOpptionsUID + ');\" >';
    opps += '+</td><td width=4px bgcolor=white> </td><td id=UIDAAAA' + (es_MoreOppsOver_HandleOpptionsUID) + '  valign=middle height=28px bgcolor=#FFFFFF style=display:none;>';
    
    switch(moreOppsArg)
    {
        case 0 : // skill selector
        case 5 : // skill selector
            opps += '<a onclick=es_SkillSuggest(' + es_WorkingNodeID + ')>Suggest Change / New</a>';
        break;
        case 10 : // search
        case 70 :  // text search
            opps += '<a onclick=ps_AddToQuery(' + es_WorkingNodeID + ')>Search Within</a>';
        break;
        case 75 : // from text search 
        case 15 : // search
            opps += '<a onclick=ps_AddToQuery(' + es_WorkingNodeID + ')>Search Within</a> <span style=color:red;>·</span> <a onclick=es_SkillSuggest(' + es_WorkingNodeID + ')>Suggest Change / New</a>';
        break;
        case 20 : // profile 
        case 25 : // profile 
            opps += '<a onclick="ChangePage(\'ExploreAndSearch\');ps_AddToQuery(' + es_WorkingNodeID + ')">Search Within</a>';
        break;
        case 30 : // skill selector main node
        case 35 : // skill selector main node
            opps += '<a onclick=es_SkillSuggest(' + es_WorkingNodeID + ')>Suggest Change / New</a>';
        break;
        case 40 : // profile own
        case 45 : // profile own
            opps += '<a onclick="ChangePage(\'ExploreAndSearch\');ps_AddToQuery(' + es_WorkingNodeID + ')">Search Within</a> <span style=color:red;>·</span> <a onclick="mp_EditSkillExperence(' + es_WorkingNodeID + ')">Edit Experience</a>';
        break;
        case 50 :
        case 55 : // skill selector for own management hierachy
            opps += '<a onclick=es_NewShowUI(' + nodeID + ')>New</a>';
        break;
        case 60 :
        case 65 : // skill selector for own management hierachy main node
            opps += '<a onclick="es_NewShowUI(' + nodeID + ');">New</a>';
        break;
        
    }
    
    es_moreOpps.innerHTML = opps + '</td><td width=3px bgcolor=white> </td></tr></table>';
}

function es_SkillSuggest(nodeID)
{
    ShowDialogBox('db_EditSkills_SuggestChange');
    g('es_SuggestChange').innerHTML = aj_es('suggestSkillGetUI=' + nodeID);
    GlobalResize();
}

var es_SkillSuggest_Close_Interval = false;
function es_SkillSuggest_Update(nodeID)
{
    aj_es('submitSugestion=' + lescape(g('es_SkillSuggestTB').value) + '&parent=' + nodeID);
    g('es_SuggestChange').innerHTML = '<div style=width:400px;padding:20px;>Your suggestion has been submitted, it will be visible on the main search screen. For other people to comment on.<br><br><div style=text-align:center;><i>Thank you</i></div></div>';
    es_SkillSuggest_Close_Interval = window.setInterval('es_SkillSuggest_CloseDB()', 2500);
}

function es_SkillSuggest_CloseDB()
{
    window.clearInterval(es_SkillSuggest_Close_Interval);
    FlyInDiv();
}

function es_MoreOpps_MM(e)
{
	if(!es_MoreOpps_MM_Class('MoreOppsOverClassFlag' , e))
	{
		es_MoreOpps_MM_Hide()
	}
}

function es_MoreOpps_MM_Class(name , e)
{   
	var startElement = e ? e.target : event.srcElement;
	
	while(true)
	{
		if(startElement && startElement.className && startElement.className.indexOf(name) != -1)
			return true;
		
		if(startElement.parentNode)
			startElement = startElement.parentNode;
		else
			return false;
	}
	
	return true;
}

function es_MoreOpps_MM_Hide()
{
	var moreOpps = g('EDITSKILLSMOREOPPS');
    moreOpps.style.display = 'none';
	document.onmousemove = getMousePos;
}

function es_NewSave()
{
    var title = '';
    if(g('es_cbCreateMultipule').checked)
        title = lescape(g('es_ContextMenuNewMultiSave').value);
    else
        title = lescape(g('es_ContextMenuNewSave').value);
    
    if(IsEmptyText(title))
    {
        FlyInDivClose();
        return; 
    }
    
    if(es_WorkingNodeID)
        GLOBAL_array_addUnique(es_WorkingNodeID , es_ExpandedNodes);
    
    es_RenitiView('new=' + title + '&parent=' + (es_CreateNewMainNode ? es_CreateNewMainNode : es_WorkingNodeID));
    FlyInDivClose();
}

function es_RenitiView(query)
{
    g('es_SkillsSelectorMAIN').innerHTML = aj_es(query + 
    '&reintiView=t&expandedNodes=' + es_ExpandedNodes.toString() + (es_WorkingNodeID ? '&selectedNode=' + ps_NodeIDFromNodeUID(es_WorkingNodeID) : '') + 
    (es_SelectedMainNodeID ? '&selectedMainNode=' + es_SelectedMainNodeID : '') + '&mode=' + g('es_Mode').value + '&item=' + g('es_Item').value
     + '&rootCategory=' + g('es_RootCategory').value);
}

function es_NewShowUI()
{
    es_CreateNewMainNode = false;
    ShowDialogBox('es_NewDB');
}

function es_NewShowUIForMainNodes()
{
    es_OpenMainCategory(es_WorkingNodeID);
    es_CreateNewMainNode = false;
    ShowDialogBox('es_NewDB');
}

var es_CreateNewMainNode = false; 
function es_NewShowUIForMainNode(nodeID) // creates a new main category
{
    es_CreateNewMainNode = nodeID;
    ShowDialogBox('es_NewDB');
}
 
var es_ExtraOptions_UniqueID = null; // used to prevent elements with idential ids from being selected
function es_NodeOver(tThis, nodeID, uniqueID, moreOppsArg)
{
    es_ExtraOptions_UniqueID = uniqueID;
    if(!g('ed_MoreOpps' + nodeID + '_' + uniqueID))
        return;
        
    es_Expand_MoreOpps = g('ed_MoreOpps' + nodeID + '_' + uniqueID);
    
    es_Expand_MoreOpps.style.display = 'inline';
    es_WorkingNodeID = nodeID;
    
    var leftPos = calcLeftPosition(es_Expand_MoreOpps);
	var topPos = calcTopPosition(es_Expand_MoreOpps);
	es_moreOpps = g('EDITSKILLSMOREOPPS');
	es_moreOpps.style.display = 'block';
	es_MoreOppsOver_HandleOpptions(moreOppsArg,nodeID);
	es_moreOpps.style.left = leftPos  + es_Expand_MoreOpps.offsetWidth - 3;
	es_moreOpps.style.top = topPos - 7;// + (es_moreOpps.offsetHeight / 2);
	document.onmousemove = es_MoreOpps_MM;
}

function es_NodeOut(nodeID)
{
    return;
}

 