var proj_name = "";
var currentInput = "generic_popover";
var currentSpan = "generic_popover";
var editHash = new Hash();
var deleteHash = new Hash();
var projDeleteHash = new Hash();

// override pointless js
function initial_load(){
        return false;
        }

// getting _started page:
function clearInput(id){
  if($(id).value.substr(0, 6) == "Enter "){
    $(id).value = "";
    }
  $(id).setStyle({color:"#000"});
  }
 
var numProj = 6;
function addProject(){  if(numProj < 10){
    var proj = "proj_" + numProj;
    var newProj = '<input type="text" name="' + proj + '" id="' + proj + '" class="started_input" /><br />';
    $('new_projects').insert(newProj);
    $(proj).setStyle({color:"#000"});
    $(proj).focus();
    numProj++;
    }
  if(numProj >= 10){ $('proj_add').hide(); }
  }

function projectType(opt){
  $(opt.id).writeAttribute("checked", "checked");
  var type = $(opt.id).value;
  $('project_compare').update(type); // $(opt.id).value);
  var projects = $('new_projects').childElements();
  var article = " a ";
  var first = type.substr(0, 1).toLowerCase();
  if((first=='a' || first=='e' || first=='i' || first=='o' || first=='u')){ article = " an "; }
  for(i=0; i < projects.length; i+=2){
    projVal = $(projects[i].id).value;
    if(projVal.substr(0, 6) == "Enter "){
      $(projects[i].id).value = "Enter" + article + type;
      }
    }
  if(type == "Option"){
    // $('other_text').show();
    userDefinedOption();
    } 
  else{
    $('other_text').hide();
    if($('uDef')){
      $('uDef').remove();
      } 
    }
  }


/*  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
function deletePriority(priorID, epid, euid, reload){
        var rowID = "row_" + priorID;
	var url = '/prioritization/priorities/delete/';
	var params = 'epid=' + epid + '&pid=' + priorID +  '&euid=' + euid;
	new Ajax.Request(url, {
		parameters: params,
		onSuccess: function(transport){
			if(transport.responseText == 1){
        			$(rowID).fade();
				if(reload == 1){
					location.reload(true);
					}
				}
			}
		});
        }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

function checkPrior(form){
	var f = Form.getInputs('prior_form');
	// f.`
	// alert($('prior_form').serialize());
	}


function editProject(id){
        var deletion = $('proj_del_'+id).href;
        var nameCell = $('proj_name_' + id);
        var nameLink = $('proj_link_' + id).href;
        var nameClass = $('proj_link_' + id).getAttribute('class');
        if($(nameCell).innerText){
                oName = $(nameCell).innerText; // safari and IE
                }
        else{
                oName = $(nameCell).textContent; // FF
                }
        var nameBox = new Element('input', {'type':'text', 'id':'new_proj_name_' + id, 'value':oName, 'size':'40'});
        nameCell.update(nameBox);

        var controlCell = $('proj_controls_' + id);
        controlCell.update('');
        var save = new Element('a', {'href': 'javascript:void(0);', 'id':'save_proj_'+id});
        save.observe('mouseup', function(){ doEditProject(id); });
        var cancel = new Element('a', {'href':'javascript:void(0);'});
        cancel.observe('click', function(){
                nameCell.update('<a href="' + nameLink +'" class="' + nameClass + '" id="' + 'proj_link_' + id + '" style="font-size:90%;" >' + oName + '</a>');
                restoreProjectControls(id); // , deletion);
                });
        save.insert('save');
        cancel.insert('cancel');
        controlCell.update(save);
        controlCell.insert(' | ');
        controlCell.insert(cancel);
        }

function doEditProject(id){
  var newName = $('new_proj_name_' + id).value;
  var badName = false;
  if(newName == ""){
    alert('Be sure to enter a name for this Project');
    badName = true;
    }
  if(!badName){
    url = "/prioritization/projects/update/";
    var params = '?name=' + newName + '&pid=' + id;
    new Ajax.Request(url, {
      parameters: params,
      onSuccess: function(transport){
        // $('proj_link_'+id).writeAttribute('class', 'proj_header');
	// $('proj_name_'+id).addClassName('proj_header');
        $('proj_name_'+id).innerText = ""; // newName;
        $('proj_name_'+id).textContent = ""; // newName;
	// $('proj_name_'+id).addClassName('proj_header');
	var pLink = './projects/?project_id=' + id + '&set_id=' + $('set_id').value;
	var projNameLink = new Element('a',{'href':pLink, 'id':'proj_link_'+id, 'style':'font-size:90%;'});
	projNameLink.addClassName('proj_header');
	projNameLink.innerText = newName;
	projNameLink.textContent = newName;

	$('proj_name_'+id).update(projNameLink);
        restoreProjectControls(id, null);
        // location.reload(true); 
        }
      });
    } // endif
  }


function restoreProjectControls(id, deletion){
	var controlCell = $('proj_controls_' + id);
	controlCell.update('');
	var edit = new Element('a', {'href': 'javascript:void(0);', 'id':'proj_edit_'+id});
	edit.observe('mouseup', function(){ editProject(id); });
	var deleter = new Element('a', {'href':'javascript:void(0);', 'id':'proj_del_'+id});
	var del_id = 'proj_del_' + id;
// alert(projDeleteHash.get(del_id));
	deleter.observe('mouseup', projDeleteHash.get(del_id)); 

	// function(){
		// alert("are you sure...");
		// });
	edit.insert('edit');
	deleter.insert('delete');
	controlCell.update(edit);
	controlCell.insert(' | ');
	controlCell.insert(deleter);
	}

//  --- old non-ajax version, handled by standard form input ---
function editProjectName(){
        if($('proj_name').innerText){
                proj_name = $('proj_name').innerText; // safari and IE
                }
        else{
                proj_name = $('proj_name').textContent; // FF
                }
	// proj_name = $('proj_name').innerText;
        var input = '<input type="text" value="' + proj_name + '" size="55" name="project_name">';
        $('proj_name').update(input);
	$('proj_edit').writeAttribute('onmousedown', "cancelEditProjectName();return false;");
	$('proj_edit').update("[cancel]");
	// alert($('proj_edit').inspect());
	return false;
        }

function cancelEditProjectName(){
	$('proj_name').update(proj_name);
	$('proj_edit').writeAttribute('onmousedown', "editProjectName();return false;");
	$('proj_edit').update("[edit]");
	return false;
	}


function editPriority(id){
// new test stuff
// var del_id = 'pr_del_' + id;
// var delClick = $(del_id).onclick;
// alert(delClick + " and " +$('pr_controls_'+id).inspect());
	var deletion = $('pr_delete_'+id).href;
	var nameCell = $('pr_name_' + id);
	var nameLink = $('pr_link_' + id).href; //  alert(nameLink);
	var nameClass = $('pr_link_' + id).getAttribute('class');
	var oName = getInnerText(nameCell);
	var nameBox = new Element('input', {'type':'text', 'id':'new_name_' + id, 'value':oName, 'size':'40'});
	nameCell.update(nameBox);
	var impCell = $('pr_imp_' + id); // relative importance
	// var oImp = $(impCell).innerText;
        if($(impCell).innerText){
                oImp = $(impCell).innerText; // safari and IE                
		}
        else{
                oImp = $(impCell).textContent; // FF
                }
	var impBox = new Element('input', {'type':'text', 'id':'new_imp_' + id, 'value':oImp, 'size':'4', 'maxlength':'3'});
	impCell.update(impBox);
	var controlCell = $('pr_controls_' + id);
	controlCell.update('');
	var save = new Element('a', {'href': 'javascript:void(0);', 'id':'save_'+id});
	save.observe('mouseup', function(){ doEditPriority(id); });
	var cancel = new Element('a', {'href':'javascript:void(0);'});
	cancel.observe('click', function(){ 
		nameCell.update('<a href="' + nameLink +'" class="' + nameClass + '" id="' + 'pr_link_' + id+ '">' + oName + '</a>');
		impCell.update(oImp);
		restorePriorityControls(id, deletion); //  Wed
		});
	save.insert('save');
	cancel.insert('cancel');
	controlCell.update(save);
	controlCell.insert(' | ');
	controlCell.insert(cancel);
	}


function doEditPriority(id){
	var newName = $('new_name_' + id).value;
	var newImp = $('new_imp_' + id).value;
	var badName = false;
	if(newName == ""){ 
		alert('Be sure to enter a name for this Personal Goal');
		badName = true;
		}
	if(validate(newImp) && !badName){
		url = "/prioritization/priorities/update/";
		var params = '?name=' + escape(newName) + '&imp=' + newImp + '&pid=' + id;
		new Ajax.Request(url, {
			parameters: params,
			onSuccess: function(transport){
				$('pr_name_'+id).innerText = ""; // newName;
				$('pr_name_'+id).textContent = ""; // newName; 
				var editLink = "./priorities/project/?priority_id=" + id + "&set_id=" + $('set_id').value;
				var link = new Element('a', {'href': editLink, 'id':'pr_link_' + id});
				$(link).innerText = newName;
				$(link).textContent = newName;
				link.addClassName('prior_header');
				$('pr_name_'+id).update(link);
				$('pr_imp_'+id).innerText = newImp;
				$('pr_imp_'+id).textContent = newImp;
				restorePriorityControls(id, null);
				// location.reload(true);
				reloadPercentsHome();
				}
			});
		} // endif
	}

function reloadPercentsHome(){
  url = "/prioritization/sum/";
  var params = '?set_id=' + $('set_id').value;
  new Ajax.Request(url, {
    parameters: params,
    onSuccess: function(transport){
      var percents = transport.responseText.evalJSON(true);
      for(i = 0; i < percents.p.length; i++){
        var sum = "sum_" + percents.p[i].project_id;
        $(sum).update(percents.p[i].percent + "%");
        }

      }
     });
  }


function restorePriorityControls(id, deletion){
	var controlCell = $('pr_controls_' + id);
	controlCell.update('');
	var edit = new Element('a', {'href': 'javascript:void(0);', 'id':'pr_edit_'+id});
// alert(editHash.get('pr_edit_'+id));
	edit.observe('mouseup', editHash.get('pr_edit_'+id)); // function(){ editPriority(id); });
	var deleter = new Element('a', {'href':'javascript:void(0);', 'id':'pr_delete_'+id});  // javascript:void(0); < - > deletion
	var del_id = 'pr_delete_'+id;
	deleter.observe('mouseup', deleteHash.get(del_id)); 
	edit.insert('edit');
	deleter.addClassName('pr_delete');
	deleter.insert('delete');
	controlCell.update(edit);
	controlCell.insert(' | ');
	controlCell.insert(deleter);
	return false;
	}


// remove when updateWeightBox is done...
function updateBox(project_id, priority_id){
	weight_id = "edit_" + project_id + "_" + priority_id;
	weight = $(weight_id).innerText;
	var original = $(weight_id);
	var top = $(weight_id).positionedOffset().top;
	var left = $(weight_id).positionedOffset().left + 25;
	$(weight_id).writeAttribute('onclick','');
	$(weight_id).update('<input type="text" size="3" id="newWeight" maxLength="3" value="' + weight + '" />');
	var gPop = $('generic_popover');
	wForm = '<input type="button" class="save_button" value="OK" onclick="updateWeight(weight_id, ' + project_id + ', ' + priority_id + ');" />';
	wForm += '<input type="button" onclick="closeBox(weight_id, ' + project_id + ', ' + priority_id + ', ' + weight + ');" value="cancel" />';	
	gPop.update(wForm);
	gPop.show();
	gPop.setStyle({top: top + "px"});	
	gPop.setStyle({left: left + "px"});
	}

function updateWeightBox(project_id, priority_id){
	weight_id = "edit_" + project_id + "_" + priority_id;
	weight = getInnerText(weight_id);
	wForm = '<input type="text" size="3" id="newWeight" maxLength="3" value="' + weight + '" />';
	wForm += '<input type="button" class="save_button" value="OK" onclick="updateWeight(' + project_id + ', ' + priority_id + ', \'' + weight_id + '\');" />';
	inputBox(wForm, weight_id);
	}


/*  ---------------------------------------------
function closeBox(weight_id, project_id, priority_id, weight){
	$('generic_popover').hide();
	var newSpan = '<span id="' + weight_id + '" class="weight" onclick="updateBox(' + project_id + ', ' + priority_id + ')">';
	// newSpan += '<a href="javascript:void(0);" onclick="updateBox(' + project_id + ', ' + priority_id + ')">';
	newSpan += weight;
	newSpan += '</a></span>';
	$(weight_id).update(newSpan);	
	}
----------------------------------------  */


function updateWeight(project_id, priority_id, weight_id){
	var newWeight = $('newWeight').value;
	if(validate(newWeight)){
	url = "/prioritization/matrix/update/";
	var params = '?w=' + newWeight + '&proj_id=' + project_id + '&prior_id=' + priority_id;
	if($('set_id').value){ params += '&set_id=' + $('set_id').value; }
	// alert(url + params);
	new Ajax.Request(url, {
		parameters: params,
		onSuccess: function(transport){
			$(weight_id).innerText = newWeight;
        		$(weight_id).textContent = newWeight;
        		closeBox();
			reloadPercents(transport);
			}
		});
	} // endif
	}

function updateWeightOld(weight_id, project_id, priority_id){
	// alert(weight_id + " " + $('newWeight').value);
	var newWeight = $('newWeight').value;
	if(newWeight < 0 || newWeight >100 || isNaN(newWeight)){ alert('no'); }
	// move to ajax
		closeBox(weight_id, project_id, priority_id, newWeight);
	url = "/prioritization/matrix/update/";
	var params = '?w=' + newWeight + '&proj_id=' + project_id + '&prior_id=' + priority_id;
	// alert(url + params); 
	// var summary = 'sum_74';
	// $(summary).update('22%');
	new Ajax.Request(url, {
		parameters: params,
		onSuccess: function(transport){
			reloadPercents(transport);
			}
		});
	}


function updateValueBox(value_id, column, project_id){
	var pValue = getInnerText(value_id);
	vForm = '<input type="text" size="3" id="newValue" maxLength="3" value="' + pValue + '" />';
	vForm += '<input type="button" class="save_button" value="OK" onclick="updateValue(' + project_id + ',\'' + value_id + '\',\'' + column + '\');" />';
	inputBox(vForm, value_id);
        }

function inputBox(pForm, current_id){
	var top = $(current_id).positionedOffset().top;
        var left = $(current_id).positionedOffset().left + 20;
        var gPop = $('generic_popover');
	iForm = '<form name="mUpdate" onsubmit="return false;" id="mUpdate">';
	// iForm += '<div id="track1" style="width:125px; background: #ccc url(\'/common/images/track4dsmall.png\') no-repeat; height:7px;">';
	// iForm += '<div id="handle1" style="width:9px; height:19px; background: url(\'/common/images/handle4dsmall.png\') no-repeat;  cursor:pointer; font-size: 9pt;"></div></div>'; 
	iForm += pForm;
	iForm += '&nbsp;<input type="button" class="cancel_button" onclick="closeBox();" value="cancel" />';
	iForm += '</form>';
        gPop.update(iForm);
        gPop.show();
        gPop.setStyle({top: top + "px"});
        gPop.setStyle({left: left + "px"});
	}

function closeBox(){
	$('generic_popover').hide();
	$('generic_popover').setStyle({height: 25 + "px"});
	$('generic_popover').setStyle({width: 125 + "px"});
	}


/*  ------------------------------------
function closeValueBox(value_id, val, column, project_id){
	$('generic_popover').hide();
	$('newValue').hide();
	$(value_id).update(val);
	var updateBox = 'updateValueBox(' + value_id + ', ' + val + ',' + column + ', ' + project_id + ');' 
	// alert(updateBox); //  = 'alert("blah");';
	$(value_id).writeAttribute('onclick', updateBox); // 'updateValueBox(' + value_id + ', ' + val + ',"' + column + '", ' + project_id + ')');
	$('generic_popover').hide();
	// alert($(value_id).inspect());
	}
------------------------------------ */

function updateValue(project_id, value_id, column){
	var newValue = $('newValue').value; 
	if(validate(newValue)){
	var params = "?proj_id=" + project_id + "&val=" + newValue + "&col=" + column;
	if($('set_id').value){ params += '&set_id=' + $('set_id').value; }
	// $(value_id).innerText = newValue;
	// $(value_id).textContent = newValue;
	url = "/prioritization/matrix/update_val/";
	new Ajax.Request(url, {
		parameters: params,
		onSuccess: function(transport){ 
			$(value_id).innerText = newValue;
			$(value_id).textContent = newValue;
			closeBox();
			reloadPercents(transport);
			}
		});
	} // endif

	}

function updateImportanceBox(priority_id, imp_id){
	var imp = getInnerText(imp_id);
	iForm = '<input type="text" size="3" id="newImp" maxLength="3" value="' + imp + '" />';
	iForm += '<input type="button" class="save_button" value="OK" onclick="updateImportance(' + priority_id + ', \'' + imp_id + '\');" />';
	inputBox(iForm, imp_id);
	}

function updateImportance(priority_id, imp_id){
	var newImp = $('newImp').value;
	if(validate(newImp)){
        url = "/prioritization/matrix/update_imp/";
        var params = '?i=' + newImp + '&prior_id=' + priority_id;
	if($('set_id').value){ params += '&set_id=' + $('set_id').value; }
        new Ajax.Request(url, {
                parameters: params,
                onSuccess: function(transport){
                        $(imp_id).innerText = newImp;
                        $(imp_id).textContent = newImp;
                        $('generic_popover').hide();
                        reloadPercents(transport);
                        }
                });
	} // endif

	}

function updateDurationBox(dur_id, project_id){
	var currentTime = getInnerText(dur_id);  
	var times = new Array('1-12 hours','13-24 hours','1-3 days','4-7 days','1-2 weeks','3-4 weeks','1-6 months','7-12 months','1-3 years','3+ years');
	var dForm = '<form name="mUpdate" id="mUpdate">';
	for(i=0; i<times.length; i++){
		dForm += '<input type="radio" id="blah" name="dTime" value="' + (5 + i * 10) +  '"';
		if(currentTime == times[i]){
			dForm += 'checked="checked"';
			}
		dForm += ' />' + times[i] + '<br />';
		}
	// dForm += '<input type="button" class="save_button" value="OK" onclick="updateDuration(' + project_id + ',\'blah\',\'duration\');" />';
	dForm += '<input type="button" class="save_button" value="OK" onclick="updateDuration(' + project_id + ', \'' + dur_id + '\');" />';
	// $('generic_popover').setStyle({height: 225  + "px"});
	var top = $(dur_id).positionedOffset().top;
	var left = $(dur_id).positionedOffset().left;
	var gPop = $('generic_popover');
	dForm += '<input type="button" class="cancel_button" onclick="closeBox();" value="cancel" />';
	dForm += '</form>';
	gPop.update(dForm);
	gPop.show();
	gPop.setStyle({height: 225  + "px"});
	gPop.setStyle({top: top + "px"});
	gPop.setStyle({left: left + "px"});

	// inputBox(dForm, dur_id);
	}

function updateDuration(project_id, dur_id){
	// alert(project_id + ', ' + dur_id);
	var newTime = Form.serializeElements( $('mUpdate').getInputs('radio') );
	var t = newTime.split("=");
	var newTime = t[1];
	var params = "?proj_id=" + project_id + "&val=" + newTime + "&col=duration";
	if($('set_id').value){ params += '&set_id=' + $('set_id').value; }
	$(dur_id).innerText = displayTime(newTime);
	$(dur_id).textContent = displayTime(newTime);
	url = "/prioritization/matrix/update_val/";
	new Ajax.Request(url, {
		parameters: params,
		onSuccess: function(transport){
			reloadPercents(transport);
			closeBox();
			}
		});
	
	}


function showSet(id){
  var showBucket = 'bucket_' + id;
  var sets = $$('div.set_box');

  for(i = 0; i < sets.length; i++){
    if(sets[i].id != showBucket){
      $(sets[i].id).hide();
      }
    else{  
      $(sets[i].id).show();
      }
    }
  var current = 'selector_' + id;
  var selectors = $$('ul#selectors li');
  for(i = 0; i < selectors.length; i++){
    if(selectors[i].id == current){
      $(selectors[i].id).writeAttribute('class','selected_set');
      }
    else {
      $(selectors[i].id).writeAttribute('class','selector');
      }
    }
  }


function validate(num){
	var valid = true;
	if(num < 0 || num >100 || isNaN(num)){ 
		valid = false;
		alert('Please enter a number between 0 and 100');
		}
	return valid;
	}



/* ----------------------------------
function showInput(cellID){
	$('generic_popover').hide();
	$(currentSpan).hide();
	var inputID = cellID + "_input";
	currentInput = inputID;
	var spanID = cellID + "_span";
	$(spanID).hide();
	$(inputID).show();
	$('generic_popover').toggle();
	}

function showSpan(cellID){
        $('generic_popover').hide();
        $(currentInput).hide();
        var spanID = cellID + "_span";
	var inputID = cellID + "_input";
	currentSpan = spanID;
        $(spanID).show();
        $(inputID).hide();
        // $('generic_popover').toggle();
        }
---------------------------------  */

function reloadPercents(transport){
	var percents = transport.responseText.evalJSON(true);
        for(i = 0; i < percents.p.length; i++){
              var sum = "sum_" + percents.p[i].project_id;
              $(sum).update(percents.p[i].percent + "%");
		new Effect.Highlight(sum, { startcolor: '#FFFFCC', endcolor:'#FFFFFF'});
              }
	}


function togglePriorities(){
  var pSections = $$('.prior_section');
  for(i=0; i < pSections.length; i++){
    pSections[i].toggle();
    // Effect.BlindDown(pSections[i]);
    }
  var toggleText = $$('.show_prior');
  for(i=0; i<toggleText.length; i++){
    priorTab = "Show Personal Goals"; 
    if(toggleText[i].innerText){
      priorTab = toggleText[i].innerText;
      }
    else if(toggleText[i].textContent){  // FF
      priorTab = toggleText[i].textContent;
      }
    if(priorTab == "Show Personal Goals"){
      $('goal_toggle').update('[-] Hide Personal Goals');
      $('goal_toggle').setStyle({color:'#666666'});
      toggleText[i].update('Hide Personal Goals');
      toggleText[i].setStyle({color:'#666666'});
      }
    else{
      $('goal_toggle').update('[+] Show Personal Goals');
      $('goal_toggle').setStyle({color:''});
      toggleText[i].update('Show Personal Goals');
      toggleText[i].setStyle({color:''});
      }
    }
  }


function getInnerText(id){
  var iText = "";
  if($(id).innerText){
    iText = $(id).innerText; // safari and IE
    }          
  else{
    iText = $(id).textContent; // FF
    }
  return iText;
  }

function deleteWarning(type, pid, set_id, xid, epid){
  var printType = "Project";
  if(type == 'Priority'){ printType = "Personal Goal"; }
  $('warning_text').update("Are you sure you want to delete this " + printType + "? It will be deleted from all sets and cannot be undone. If you want to remove it from one set only click <b>edit set</b>."); 
  var del_url = "window.location.href='/prioritization/";

  if(type == 'Priority'){
    // del_url += "del_prior/?epid=" + epid + "&pid=" + pid + "&sid=" + xid + "&set_id=" + set_id + "'";
    $('del_input').observe('mouseup', function(){ deletePriority(epid, pid, xid, set_id); });
    }
  else if(type == 'Project'){
// $('row_' + pid).fade(); // Friday
    // del_url += "del_proj/?pid=" + pid + "&a=d&cid=" + xid + "&set_id=" + set_id + "'";
    // del_url = deleteProject(pid, xid, set_id);
    $('del_input').observe('mouseup', function(){ deleteProject(pid, xid, set_id); });
    }
  // $('del_input').setAttribute('onclick', del_url);
  $('delete_warning').show();
  }

function cancelWarning(){
  $('delete_warning').hide();
  }

function deleteProject(pid, xid, set_id){
  url = "/prioritization/del_proj/";
  params = "pid=" + pid + "&a=1&cid=" + xid + "&set_id=" + set_id;  // a=d ????
  new Ajax.Request(url, {
    parameters: params,
    onSuccess: function(transport){
      if(transport.responseText == 1){
        cancelWarning();
        $('row_' + pid).fade();
        reloadPercentsHome();
        }
      }
    });
  }

function deletePriority(epid, pid, xid, set_id){
  url = "/prioritization/del_prior/";
  params = "pid=" + pid + "&a=1&epid=" + epid + "&set_id=" + set_id;  // a=d ????
  new Ajax.Request(url, {
    parameters: params,
    onSuccess: function(transport){
      if(transport.responseText == 1){
        cancelWarning();
        $('pri_row_' + pid).fade();
        reloadPercentsHome();
        }
      }
    });
  }

function deleteSet(sid, stid, mid){
  $('warning_text').update("Are you sure you want to delete this Set? These Projects and Personal Goals will still be available, but this Set will be permanently deleted.");
  var del_url = "window.location.href='/prioritization/";
  del_url += "del_set/?sid=" + sid + "&stid=" + stid + "&mid=" + mid + "'";
  $('del_input').setAttribute('onclick', del_url);
  $('delete_warning').show();
  }


function startOver(){
  $('warning_text').update("Are you sure you want to start over from the beginning? All your current Projects and Goals will be deleted. This cannont be undone.");
  var del_url = "window.location.href='/prioritization/?restart=1'";
  $('del_input').setAttribute('onclick', del_url);
  $('delete_warning').show();
  }


function notSoNewSet(id){
  var top = $(id).positionedOffset().top + 20;
  var left = $(id).positionedOffset().left;
  var gPop = $('generic_popover');
  wForm = '<h4 class="new_set_head">Create a new Set</h4>';
  wForm += '...with existing information<br />';
  wForm += '<input type="button" class="save_button" value="Continue" onclick="window.location.href=\'/prioritization/create_set\'" />';
  wForm += '<form method="POST" action="./new_set/" class="new_set_form">';
  wForm += '...or create an entirely new set:';
  wForm += '<input type="text" name="set_name" value="Enter Set name" style="color:#666;" onfocus="this.value=\'\';" /><br />';
  wForm += '<input type="submit" class="save_button" value="Start afresh" /> ';
  wForm += '<input type="button" class="cancel_button" style="float:right;" value="Cancel" onclick="$(\'generic_popover\').hide();" />';
  wForm += '</form>';
  gPop.update(wForm);
  gPop.show();
  gPop.setStyle({height: "125px"});
  gPop.setStyle({width: "195px"});
  gPop.setStyle({top: top + "px"});
  gPop.setStyle({left: left + "px"});
  }

function newSet(id){
  var top = $(id).positionedOffset().top + 20;
  var left = $(id).positionedOffset().left;
  var gPop = $('generic_popover');
  wForm = '<h4 class="new_set_head">Create a new Set</h4>';
  // wForm += '<form id="newSetForm" class="new_set_form">'; // method="POST" action="./new_set/" 
  wForm += '<input type="radio" name="newFormat" id="allnew" value="allnew" checked="checked" /> Create an entirely new set<br />';
  wForm += '<input type="radio" name="newFormat" id="existing" value="existing" /> Use existing information<br />';
  wForm += '<input type="radio" name="newFormat" id="restart" value="restart" /> Start over (delete everything)<br />';
  wForm += '<input type="text" name="set_name" id="newSetName" value="Enter Set name" style="color:#666;width:175px;margin-bottom:15px;" onfocus="this.value=\'\';" /><br />';
  wForm += '<input type="button" class="cancel_button" style="" value="Cancel" onclick="$(\'generic_popover\').hide();" />';
  wForm += '<input type="submit" class="save_button" value="Create new Set" onclick="makeNewSet();" /> ';
  wForm += '<p style="color:red;display:none;" id="error_msg">You need to enter a new Set name.</p>';
  // wForm += '</form>';
  gPop.update(wForm);
  gPop.show();
  gPop.setStyle({height: "135px"});
  gPop.setStyle({width: "225px"});
  gPop.setStyle({'padding': "10px"});
  gPop.setStyle({top: top + "px"});
  gPop.setStyle({left: left + "px"});
  }

function makeNewSet(){
  var newName = $('newSetName').value;
  if($('existing').checked || $('allnew').checked){ 
    if(newName != " " && newName != "Enter Set name" && newName.length != 0){
      if($('existing').checked){
        window.location.href='/prioritization/create_set/?set_name=' + escape(newName);
        }
      else if($('allnew').checked){
        window.location.href='/prioritization/new_set/?set_name=' + escape(newName);
        }
      }
    else{
        $('error_msg').show();
        // $('newSetName').setStyle({color:'red'});
        // $('newSetName').value="Enter Set name";
        // $('newSetName').observe('focus', alert('x'));
        }
    }
  else if($('restart').checked){ 
    startOver(); 
    } 
  else{ }
  }


function doNotConvert(){
  var url = '/prioritization/convert/';
  new Ajax.Request(url, {
    // just sets a cookie without reloading or going to another page
    }); // eo ajax
  $('convert_box').hide();
  }


function shareIt(url){
  var top = $('shareBox').positionedOffset().top + 20;
  var left = $('shareBox').positionedOffset().left - 20;
  var shareLink = '<p>You can copy and paste the url below into an email or instant message.</p>';
  shareLink += '<input type="text" value="' + url + '" style="width:240px;" /><br />';
  shareLink += '<input type="button" class="cancel_button" style="float:right;margin:5px;" value="Cancel"  onclick="$(\'generic_popover\').hide();return false;" />';
  var gPop = $('generic_popover');
  gPop.setStyle({height: "100px"});
  gPop.setStyle({width: "250px"});
  gPop.setStyle({top: top + "px"});
  gPop.setStyle({left: left + "px"});
  gPop.update(shareLink);
  gPop.show();
  }


function mailBox(url){
  var top = $('mailBox').positionedOffset().top + 20;
  var left = $('mailBox').positionedOffset().left - 50;
  mailLink = '<label>To: (email addresses separated by commas)</label><input type="text" value="" name="mailList" id="mList" style="width:240px;" /><br />';
  // mailLink += '<label>Subject: </label><input type="text" value="blah" name="subject" id="subject" style="width:240px;" /><br />';
  mailLink += '<label>Message: </label><textarea name="message" id="message" style="width:240px;height: 50px;" />I did the Prioritization analysis on The 4D Network. Have a look at my results!</textarea><br />';
  mailLink += '<input type="button" class="save_button" style="float:right;margin:5px;" value="Send" onclick="mailIt();return false;" />';
  mailLink += '<input type="button" class="cancel_button" style="float:right;margin:5px;" value="Cancel"  onclick="$(\'generic_popover\').hide();return false;" />';
  mailLink += '<input type="hidden" name="share_url" id="share_url" value="' + url + '" />';
  var gPop = $('generic_popover');
  gPop.setStyle({height: "150px"});
  gPop.setStyle({width: "250px"});
  gPop.setStyle({top: top + "px"});
  gPop.setStyle({left: left + "px"});
  gPop.update(mailLink);
  gPop.show();
  }


function mailIt(){
  // alert($('from').value + $('mList').value + $('subject').value + $('message').value);
  url = "/prioritization/mail/";
  var params = '?share_url=' + escape($('share_url').value) + '&mList=' + $('mList').value + "&message=" + escape($('message').value);
  // "&subject=" + escape($('subject').value)
  //  + '&from=' + $('from').value + '&mList=' +
  // alert(params); 
  new Ajax.Request(url, {
    parameters: params,
      onSuccess: function(transport){
        if(transport.responseText){ mailSent(); }
        }
    }); // eo ajax
  } // eof


function mailSent(){
  var mailLink = '<p style="margin: 10px;font-size:125%;">Your results have been sent!</p>';
  mailLink += '<input type="button" class="save_button" style="float:right;margin:10px;margin-right: 120px;" value="Okay" onclick="$(\'generic_popover\').fade();return false;">';
  var gPop = $('generic_popover');
  gPop.update("");
  gPop.setStyle({height: "75px"});
  gPop.update(mailLink);
  }


function showType(type){
  // $(type).toggle();
  var typeDivs = $$('.pType');
  for(i=0; i < typeDivs.length; i++){
    $(typeDivs[i].id).hide();
    }
  $(type).show();
  }


function userDefinedOption(){
  if(!$('uDef')){
    var udOption = new Element('input', {'type':'text', 'name':'project_type', 'id':'uDef', 'value':
'Create your own Option','onfocus':'this.value=""'});
    udOption.setStyle({'width':'225px'});
    $('other_text').insert(udOption);
    $('other_text').show();
    }
  }

function resetOption(){
  $('uDef').value=$('other_text_box').value;
  }

function cancelUserDef(){
  $('other_text_box').value = ""; // "Create your own Option";
  $('uDef').value = "";
  $('uDef').remove();
  $('other_text').hide();

  }


function removeFactor(id){
  var row = "row_" + id;
  $(row).fade(); 
  }


function feedback(){
  var top = $('feedback').positionedOffset().top + 20;
  var left = $('feedback').positionedOffset().left - 20;
  var fBack = '<label>Feedback:</label><br />';
  fBack += '<textarea id="fBackText" style="width:225px;" rows="3"></textarea><br />';
  fBack += '<input type="button" class="save_button" style="float:right;margin:5px;" value="Submit" onclick="sendFeedback();return false;" />';
  fBack += '<input type="button" class="cancel_button" style="float:right;margin:5px;" value="Cancel" onclick="$(\'generic_popover\').hide();return false;" />';
  var gPop = $('generic_popover');
  gPop.setStyle({height: "100px"});
  gPop.setStyle({width: "250px"});
  gPop.setStyle({top: top + "px"});
  gPop.setStyle({left: left + "px"});
  gPop.update(fBack);
  gPop.show();
  }


function sendFeedback(sid, mid){
  var fBack = $('fBackText').value;
  var set_id = $('set_id').value;
  var sid = $('sid').value;
  var mid = $('mid').value;
  var url = '/prioritization/feedback/';
  params = '?mid=' + mid + '&set_id=' + set_id + '&sid=' + sid + '&txt=' + escape(fBack);
  // alert(url + params); 

  new Ajax.Request(url, {
    parameters: params,
    onSuccess: function(transport){
      if(transport.responseText > 0){
        // alert('good');
        $('generic_popover').fade();
        $('feedback').update('<p style="color:green;">Thank you for your feedback!</p>');
        }
      else{ alert('no'); }
      }
    });
 
  }


function peak(bullet, image){
  var top = bullet.positionedOffset().top + 20;
  var left = bullet.positionedOffset().left - 20;
  var gPop = $('generic_popover');
  gPop.setStyle({height: "220px"});
  gPop.setStyle({width: "420px"});
  gPop.setStyle({top: top + "px"});
  gPop.setStyle({left: left + "px"});
  gPop.setStyle({backgroundImage: 'url(' + image + ')'});
  var close = '<a href="void(0);" onclick="closeBox();return false;" border="0" class="cancel_button">close</a>';
  gPop.update(close);
  gPop.show();
  }

function loadObservers(){
        Event.observe(document, 'keydown', function(e){
                if((e.keyCode == Event.KEY_ESC) || (e.charCode == 27)){
			closeBox();
			cancelWarning();
                        }
                });
	if($('prior_section')){
		var edits = $$('.pr_edit');
		for(i=0; i < edits.length; i++){
			editHash.set(edits[i].id, $(edits[i].id).onmouseup);
			}
		var deletes = $$('.pr_delete');
                for(i=0; i < deletes.length; i++){
                        deleteHash.set(deletes[i].id, $(deletes[i].id).onmouseup);
                        }
		var projDel = $$('.proj_delete');
		for(i=0; i < projDel.length; i++){
			projDeleteHash.set(projDel[i].id, $(projDel[i]).onmouseup);
			}

		}
	if($('reg_box')){
		new Draggable('reg_box');	
		}
	if($('save_box')){
                new Draggable('save_box');
		}
	if($('convert_box')){
                new Draggable('convert_box');
                }

	}

Event.observe(window, 'load', loadObservers);

