// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

var _blackout_zindex = 50;

function blackout(forTargetID)
{
	var blackout_target;
	if(forTargetID)
	{
		$('blackout').insert({after:"<div id='"+forTargetID+"_blackout' style='display:none' class='blackout'></div>"});
		blackout_target = $(forTargetID+'_blackout');
	}
	else
	{
		blackout_target = $('blackout');
	}
	winHeight = window.innerHeight;
	bodyHeight = document.body.offsetHeight;
	var nHeight = 0;
	if (winHeight > bodyHeight) {
		nHeight = winHeight;
	} else {
		nHeight = bodyHeight;
	}
	//document.body.style.overflow = "hidden";
	blackout_target.style.zIndex = _blackout_zindex;
	blackout_target.style.height = nHeight+"px";
	Effect.Appear(blackout_target, {duration:0.7, from:0.0, to:0.85});
	
	_blackout_zindex = _blackout_zindex + 10;
}

function unBlackout(forTargetID)
{
	var blackout_target;
	if(forTargetID)
	{
		blackout_target = $(forTargetID+'_blackout');
	}
	else
	{
		blackout_target = $('blackout');
	}
	
	Effect.Fade(blackout_target, {duration:0.5});//, queue:'end'});
	
	if(forTargetID)
	{
		Element.remove(blackout_target)
	}
	
	//document.body.style.overflow = "auto";
	_blackout_zindex = _blackout_zindex - 10;
}

function lightBox(showDivID)
{
	var showBox = $(showDivID);
	var showBox_close = $(showDivID+'_lightBox_close');
	
	if(showBox.style.display == "none")
	{
		blackout(showDivID);
		if(!showBox_close)
		{
			showBox.insert({top: "<div id='"+showDivID+"_lightBox_close' style='text-align:right; padding:3px'><a href=\"javascript:lightBox('"+showBox.id+"');\">Close</a></div>"});
		}
		showBox.addClassName("lightBox");
		showBox.style.zIndex = parseInt($(showDivID+"_blackout").style.zIndex) + 1;
		showBox.style.display = "block";
	}
	else if(showBox.style.display == "block")
	{
		showBox.style.display = "none";
		if(showBox_close)
		{
			Element.remove(showBox_close);
		}
		showBox.removeClassName("lightBox");
		showBox.style.zIndex = null;
		unBlackout(showDivID);
	}
}

function toggleMenu(menu_id)
{
	el = document.getElementById(menu_id + "_menu_open")
	if(el)
	{
		if(!el.style.display || el.style.display == "none")
			el.style.display = "block";
		else
			el.style.display = "none";
	}
}

function toggleEditorAndButton(editor_id, button_id, edit_text)
{
	if($(editor_id).style.display == "none")
	{
		Effect.BlindDown(editor_id);
		Element.update(button_id, "Hide Editor");
	}
	else
	{
		Effect.BlindUp(editor_id);
		Element.update(button_id, edit_text);
	}
}

function tinyMCE_doSaveLoop()
{
	setTimeout("tinyMCE.triggerSave(); tinyMCE_doSaveLoop();", 1000)
}

function submitOpinion(opinionable_type, opinionable_id, opinion_type_id, calling_link)
{
    var url = "/opinions/";
    var params = opinionable_type+"_id="+opinionable_id+"&opinionType="+opinion_type_id;
    
    var myAjax = new Ajax.Updater(
                calling_link.getElementsByTagName("span")[0],
    			url, 
    			{
    				method: 'post', 
    				parameters: params,
    				onComplete: calling_link.parentNode.toggleClassName("selected")
    			});
}