Portfolio = {
  removeFromPortfolio: function(e) {
    Event.stop(e);
    
    // A project ID in the table looks like 'project_155'
    var element = Event.element(e);
    var project = element.up('tr');
    var project_id = project.id.split('_')[1];
    
    project.parentNode.removeChild(project);
    
    TableKit.rows['projectData'] = null;
    TableKit.Rows.stripe($('projectData'));
    Portfolio.countProjects();
    
	
	
	
    //TODO: AJAX request goes here
    if(portfolioType == "property")
	{
		var portfolio_id = getCookie('PPORTFOLIOID');
	}
	else
	{
		var portfolio_id = getCookie('PORTFOLIOID');
	}
    
	new Ajax.Request('/templates/ajax/portfolio.cfm', {
      method: 'post',
      parameters: {
        project_id: project_id,
        portfolio_id: portfolio_id,
		portfolioType: portfolioType,
        act: 'remove'
      }
    });
	
  },
  moveUp: function(e) {
    Event.stop(e);
	    
    // A project ID in the table looks like 'project_155'
    var element = Event.element(e);
    var project = element.up('tr');
    if (typeof project.previous() != "undefined") {
			project.parentNode.insertBefore(project, project.previous());
		}
    				
    TableKit.rows['projectData'] = null;
    TableKit.Rows.stripe($('projectData'));
	
	var project_id = project.id.split('_')[1];
	
	if(portfolioType == "property")
	{
		var portfolio_id = getCookie('PPORTFOLIOID');
	}
	else
	{
		var portfolio_id = getCookie('PORTFOLIOID');
	}
    
    new Ajax.Request('/templates/ajax/portfolio.cfm', {
      method: 'post',
      parameters: {
        project_id: project_id,
        portfolio_id: portfolio_id,
		portfolioType: portfolioType,
        act: 'moveUp'
      }
    });
	
  },
  moveDown: function(e) {
    Event.stop(e);
    
    // A project ID in the table looks like 'project_155'
    var element = Event.element(e);
    var project = element.up('tr');
    if (typeof project.next() != "undefined") {
			if (project.next() && typeof project.next().next() != "undefined") {
				project.parentNode.insertBefore(project, project.next().next());
			} else {
				project.parentNode.appendChild(project);
			}
		}

    TableKit.rows['projectData'] = null;
    TableKit.Rows.stripe($('projectData'));
	
	var project_id = project.id.split('_')[1];
    
	if(portfolioType == "property")
	{
		var portfolio_id = getCookie('PPORTFOLIOID');
	}
	else
	{
		var portfolio_id = getCookie('PORTFOLIOID');
	}
	
    new Ajax.Request('/templates/ajax/portfolio.cfm', {
      method: 'post',
      parameters: {
        project_id: project_id,
        portfolio_id: portfolio_id,
		portfolioType: portfolioType,
        act: 'moveDown'
      }
    });
	
  	},
	viewPortfolio: function(e) {
		// Validate title
		if(document.getElementById("set_title_form").style.display == "")
		{
			if(document.getElementById("set_portfolio_title").value == "" || document.getElementById("set_portfolio_title").value == "Title Portfolio*")
			{
				alert("Please type in a portfolio title.")
				document.getElementById("set_portfolio_title").value = "Title Portfolio*";
				document.getElementById("set_portfolio_title").focus();
				return false;
			}
		}
		
		// Send portfolio title
		if(document.getElementById("set_title_form").style.display == "")
		{
			namePortfolio(document.getElementById("set_portfolio_title").value);
		}
		
		// Redirect user to online portfolio
		goPortfolio();
	},
	emailPortfolio: function(e) {
		Event.stop(e);
		// Validate form data
		
		// Send form data
		namePortfolio(document.getElementById('email_portfolio_title').value); 
		emailPortfolio();
		urchinTracker('/my-portfolio/email/');
		
		// Hide this step, show next step
		var el = Event.element(e);
		//el.up('div').hide().next().show();
		el.up('div').hide();
	},
	createPDF: function(e) {
		Event.stop(e);
		// Validate title
		
		// Send portfolio title
		//namePortfolio(document.getElementById('pdf_portfolio_title').value); 
				
		// Show portfolio PDF
		
	},
	countProjects: function(e) {
	  var count = $('projectListOutput').getElementsByTagName('tr').length;
    if (count == 0) $('projectListOutput').update('<tr class="rowodd"><td colspan="7" class="empty-portfolio"><p>You have 0 projects in your portfolio. View PROJECTS to select and add the Ryan projects you are interested in. <br/>Then create a custom portfolio to view as a slideshow, email, or print.</p></td></tr>');
	},
  openForm: function(e) {
  	Event.stop(e);
  	var el = Event.element(e);
  	el.hide();
  	el.up('div').next().show();
  },
  closeForm: function(e) {
  	Event.stop(e);
  	var el = Event.element(e);
		
  	el.up('div').hide();
		el.hasClassName('done') ? el.up('div').previous(1).immediateDescendants().last().show() : el.up('div').previous().immediateDescendants().last().show();
  },
  clearFields: function(e) {
    var el = Event.element(e);
    var val = el.getAttribute('value');
    if (el.value == val) el.clear();
  },
  populateFields: function(e) {
    var el = Event.element(e);
    var val = el.getAttribute('value');
    if (el.value == "") el.value = val;
  }
}

ArticleControl = {
	
	printArticle: function(e) {
		Event.stop(e);
		window.print();
	},
	emailArticle: function(e) {
		Event.stop(e);
		this.el = Event.element(e);
		// Validate form data
        //         new Validation('frmEmail', {
        //  onSubmit:false,
        //  onFormValidate:ArticleControl.sendit
        // });
		//this.result = valid.validate();
		//if(result) sendit();
		
        // Send form data
        //function sendit() {
			
			new Ajax.Request ('/templates/ajax/email.cfm', {
			    method: 'post',
                parameters: $('frmEmail').serialize(true),
                onSuccess: function(t) {
                    proceed();
                }
			}); 
		//}
        // Change pane content to thank you state
        function proceed() {
			if ($('step1')) {
                $('step1').hide();
                $('step2').show();
			} else {
			  $('email-form').hide();
			}
		}
	},
	openPane: function(e) {
		Event.stop(e);
		var el = Event.element(e);
		if ($('step1')) $('step1').show();
		if ($('step2')) $('step2').hide();
        $('email-form').show();
	},
	closePane: function(e) {
		Event.stop(e);
		if ($('step2')) $('step2').hide();
		$('email-form').hide();
		$('frmEmail').reset();
	},
  clearFields: function(e) {
    var el = Event.element(e);
    var val = el.getAttribute('value');

		// if (navigator.appName == "Microsoft Internet Explorer") {
		// 	var oldVal = val;
		// 	var newVal = null;
		// 	//if (el.value == oldVal) {
		// 	if (val == "" && newVal == null) {
		// 		el.setAttribute(oldVal);
		// 	} else if (val != "" && val != oldVal) {
		// 		newVal = oldVal;
		// 	}
		// } else {
			if (el.value == val) el.clear();
		// }
  },
  populateFields: function(e) {
    var el = Event.element(e);
    var val = el.getAttribute('value');
    if (el.value == "") el.value = val;
  }
};

// function checkImgs() {
//   var imgs = $$('.icon-and-link img');
//   imgs.each(function(s, i) {
//     // console.log(document.baseURI)
//     // console.log(imgs[i].src == document.baseURI)
//     if (imgs[i].src == "") imgs[i].hide();
//  })
// }

function toggleLeasingInfo(link) {
    var div = link.parentNode.parentNode;
    div.id = div.id=="LeasingInfo" ? "LeasingInfoActive" : "LeasingInfo";
}

function init() {
	// EVENT HANDLERS FOR GENERIC PAGES
	if ($('portfolio-options') || $('page-control')) {
		$$('li.print a').invoke('observe', 'click', ArticleControl.printArticle);
		$$('a.open', 'a.send-ano').invoke('observe', 'click', ArticleControl.openPane);
		$$('a.close', 'a.done').invoke('observe', 'click', ArticleControl.closePane);
		$$('.send').invoke('observe', 'click', ArticleControl.emailArticle);
		$$('#email-form .text input').invoke('observe', 'focus', ArticleControl.clearFields)
		                             .invoke('observe', 'blur', ArticleControl.populateFields);
	} else if ($('project-detail')) {
	    $$('a.open').invoke('observe', 'click', ArticleControl.openPane);
	}
	
	if ($('flash-home')) {
	  FLASH_ENABLED = (deconcept.SWFObjectUtil.getPlayerVersion().major >= 8);
	  FLASH_ENABLED ? $('warning').hide() : $('homepageContent').hide();
	}
	
	$$('.contact_email_link').each(function createEmailFromSpan(el) {
        var link = document.createElement('a');
        link.href = 'mailto:'+el.innerHTML;
        el.up().insertBefore(link, el);
        link.innerHTML = el.innerHTML;
        el.remove();
	});

	$$('.external_url_link').each(function createLinkFromSpan(el) {
        var link = document.createElement('a');
        link.href = el.innerHTML;
        el.up().insertBefore(link, el);
        link.innerHTML = el.innerHTML;
        el.remove();
	});
	
	//if ($$('.icon-and-link img').length > 0) checkImgs();
	
	$$('.contact_email_link').each(function createEmailFromSpan(el) {
        var link = document.createElement('a');
        link.href = 'mailto:'+el.innerHTML;
        el.up().insertBefore(link, el);
        link.innerHTML = el.innerHTML;
        el.remove();
	});

	$$('.external_url_link').each(function createLinkFromSpan(el) {
        var link = document.createElement('a');
        link.href = el.innerHTML;
        el.up().insertBefore(link, el);
        link.innerHTML = el.innerHTML;
        el.remove();
	});
}



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



