var l_jsondata = new Array();
function createnewlist() { $('newlist').submit(); }
function editListTitle() { $('new_title').innerHTML = $('editedTitle').value; }
function selectCode() { $('code').select(); }
function clearTextArea(id) { if ($(id).value == "Write Your Description Here") { $(id).value = '';} }
function thscrop(url) { return "http://ths.freefreeupload.com/crop/75/"+Base64.encode(url); }
function PostToMyspace(T, C, U, L) { var targetUrl = 'http://www.myspace.com/Modules/PostTo/Pages/?' + 't=' + encodeURIComponent(T)+ '&c=' + encodeURIComponent(C) + '&u=' + encodeURIComponent(U) + '&l=' + L; window.open(targetUrl); }

function saveList() {
	needToConfirm = false;
	$('listOrder').value = Sortable.serialize('list');
	if ($('new_title').innerHTML != null) { $('saveTitle').value = $('new_title').innerHTML; }
	$('saveList').submit();
}

function submitListForm() {
	needToConfirm = false;
	$('listOrder').value = Sortable.serialize('list');
	if ($('new_title').innerHTML != null) { $('saveTitle').value = $('new_title').innerHTML; }
	$('saveList').submit();
}

function updateProfileCode() {
	Element.toggle('code-spinner');
	$('listOrder').value = Sortable.serialize('list');
	if ($('listOrder').value == '') { $('save').disabled = true; }
	if ($('new_title').innerHTML != null) { $('saveTitle').value = $('new_title').innerHTML; }
	var myAjax = new Ajax.Updater('code', '/generateCode', { 
									method: 'post', 
									parameters: $('saveList').serialize(true), 
									onComplete: 
									function(response) { 
										if ( Prototype.Browser.Gecko ) { $('profilecode').reset(); }
           								new Effect.Fade('code-spinner', { duration: 0.3 });
									}
								});
}

function addItem(original_id) {
	needToConfirm = true;
	$('listhelper').style.display = 'none';
	new Effect.DropOut('result_'+original_id, { duration: 0.3});
	eval('l_jsondata[\''+original_id+'\'] = ' + decodeURIComponent($(original_id).value));
	var description = $('t_'+original_id+'_description').value;
	if (description != "Write Your Description Here") { description = encodeURIComponent(description); } 
	else { description = ''; }
	
	$('list').innerHTML = $('list').innerHTML + '<div class="lineitem" id="item_'+original_id+'">' +
	'<img src="'+thscrop(l_jsondata[original_id].imagesmall)+'" alt="'+l_jsondata[original_id].name+'">' +
	'<input type="hidden" name="item_'+original_id+'" value=\''+encodeURIComponent(Object.toJSON(l_jsondata[original_id]))+'\'>'+
	'<input type="hidden" name="item_'+original_id+'-description" value=\''+description+'\'>'+
	'<input type="hidden" name="item_'+original_id+'-title" value=\''+encodeURIComponent($('t_'+original_id+'_title').value)+'\'>'+
	'</div>';
	Sortable.create('list', { 
			onUpdate: function() { updateProfileCode(); }, 
			tag:'div', 
			overlap:'horizontal', 
			constraint:false, 
			containment: sections, 
			only:'lineitem'}); 
	new Effect.Appear('codebox', { duration: 0.3 });
	new Effect.Appear('save', { duration: 0.3 });
	updateProfileCode();
	$('save').disabled = false;
}	

function getSearchContent(pageinput) {
		Element.toggle('search-spinner');
		var page = '0';
		if (pageinput != null) { page = pageinput; }
		var myAjax = new Ajax.Updater('results', '/searchContent', { 
								method: 'post',
								parameters: 'keyword='+escape($('s_keyword').value)+'&page='+page+'&type='+get_radio_value(), 
								onCreate: function() { new Effect.Fade('lists', { duration: 0.3 }); }, 
								onComplete: function() { 
								new Effect.Appear('lists', { duration: 0.3 }); new Effect.Fade('search-spinner', { duration: 0.1 }); }
								});
}

function get_radio_value() {
	for (var i=0; i < document.searchContent.type.length; i++) {
		if (document.searchContent.type[i].checked) { return document.searchContent.type[i].value; }
	}
}

function updateItemTitle(){
	var myAjax = new Ajax.Updater('thetitle', '/updateTitle', { 
									method: 'post',
									parameters: $('edittitleFrm').serialize(true),
									onComplete: 
									function(response) { 
										$('edittitleTxt').value = response[edittitleTxt];
									}
								});
}

function replyToComment(parent_id,to_id, type_id, theme){
	Element.toggle('reply-spinner');
	var myAjax = new Ajax.Updater('replies_' + parent_id + '_' + to_id, '/replyToComment', { 
									method: 'post',
									parameters: $('replytocommentfrm_' + parent_id + '_' + to_id).serialize(true),
									onComplete: 
									function(response) {
										new Effect.Fade('reply-spinner', { duration: 0.1 });
										new Effect.toggle('replytocomment_' + parent_id + '_' + to_id, 'slide', { duration: 0.5 });
										$('replytext_' + parent_id).value = '';
									}
								});
}

function makeNewComment(parent_id,to_id, type_id, theme){
	Element.toggle('reply-spinner');
	var myAjax = new Ajax.Updater('comments_type_' + type_id, '/makeNewComment', { 
									method: 'post',
									parameters: $('initcommentfrm_' + parent_id + '_' + to_id).serialize(true),
									onComplete: 
									function(transport) {
										new Effect.Fade('reply-spinner', { duration: 0.1 });
										new Effect.toggle('initcomment_' + parent_id + '_' + to_id, 'Blind', { duration: 0.5 });
										$('replytext_' + parent_id).value = '';
										var data = transport.responseText.evalJSON(true);
									}
								});
}

function deleteReply(parent_id, reply_id, type_id, to_id, theme){
	if(confirm("Are you sure you want to delete your comment?")){
		var myAjax = new Ajax.Updater('replies_' + parent_id + '_' + to_id, '/deleteReply', { 
									method: 'post',
									parameters: {parent_id: parent_id, reply_id: reply_id, type_id:type_id, to_id:to_id, theme:theme},
									onComplete: 
									function(response) {
										
									}
								});
	}
	else{
		return false;
	}
}

function hideShowReplies(reply_id){
	new Effect.toggle('reply_' + reply_id, 'Blind', {duration: 0.5});
	if($('reply_' + reply_id).style.display == 'none'){
		$('hideshowtext_' + reply_id).innerHTML = '<img src="/img/layouts/extended/bullet_toggle_minus.png">';	
	}
	else{
		$('hideshowtext_' + reply_id).innerHTML = '<img src="/img/layouts/extended/bullet_toggle_plus.png">';
	}
}

function displayInputTextarea(parent_id, type_id, to_id, theme){
	if($('replytocomment_' + parent_id + '_' + to_id).style.display == 'none'){
		var myAjax = new Ajax.Updater('replytocomment_' + parent_id + '_' + to_id, '/getCommentReplyTextbox', { 
										method: 'post',
										parameters: {parent_id: parent_id, type_id:type_id, to_id:to_id, theme:theme},
										onComplete: 
										function(response) {
											new Effect.toggle('replytocomment_' + parent_id + '_' + to_id, 'Blind', { duration: 0.5 });
										}
									});
	}
	else{
		new Effect.toggle('replytocomment_' + parent_id + '_' + to_id, 'Blind', { duration: 0.5 });
	}
}

function displayInitTextarea(parent_id, type_id, type, to_id, theme){
	if($('initcomment_' + parent_id + '_' + to_id).style.display == 'none'){
		var myAjax = new Ajax.Updater('initcomment_' + parent_id + '_' + to_id, '/getInitCommentTextbox', { 
										method: 'post',
										parameters: {parent_id: parent_id, type_id:type_id, type:type, to_id:to_id, theme:theme},
										onComplete: 
										function(response) {
											new Effect.toggle('initcomment_' + parent_id + '_' + to_id, 'Blind', { duration: 0.5 });
										}
									});
	}
	else{
		new Effect.toggle('initcomment_' + parent_id + '_' + to_id, 'Blind', { duration: 0.5 });
	}
}

function deleteUserComment(comment_id, parent_id, to_id, type_id, theme){
	if(confirm("Are you sure you want to delete your comment?")){
		var myAjax = new Ajax.Updater('comments_type_' + type_id, '/deleteUserComment', { 
									method: 'post',
									parameters: {comment_id: comment_id, parent_id: parent_id, type_id:type_id, to_id:to_id, theme:theme},
									onComplete: 
									function(response) {
										
									}
								});
	}
	else{
		return false;
	}
}

function updatestatus(){
	var myAjax = new Ajax.Updater('statusbodyshow', '/user/editStatusCallback', { 
									method: 'post',
									parameters: $('statusform').serialize(true),
									onComplete: 
									function(transport) {
										Effect.toggle('statustextarea', 'blind',{duration: 0.3});
									}
								});
}

function updateaboutme(){
	var myAjax = new Ajax.Updater('aboutmebodyshow', '/user/editAboutMeCallback', { 
									method: 'post',
									parameters: $('aboutmeform').serialize(true),
									onComplete: 
									function(transport) {
										Effect.toggle('aboutmetextarea', 'blind',{duration: 0.3});
									}
								});
}

function presetActivity(){
	$('statusbody').value = $('presetactivities').value;
}

function rearrange(totalItems, defaultNum, id){
	var max = $('column_' + id).value > totalItems || $('column_' + id).value * 1 == 0 ? defaultNum : $('column_' + id).value;
	var width = max * 75;
	var embedWidth = (width > 250) ? 250 : width;
	$('outercontainer_' + id).style.width = width + 'px';
	$('innercontainer_' + id).style.width = width + 'px';
	if($('codeinput_'+id) != null){
		$('codeinput_'+id).style.width = embedWidth + 'px';
	}
}

function setNumColumns(id){
	$('interested_id').value = id;
	if($('codeinput_'+id) != null){
		var myAjax = new Ajax.Updater('codeinput_'+id, '/lists/setNumColumns', { 
									method: 'post',
									parameters: $('embedForm').serialize(true),
									onComplete: 
									function(transport) {
										alert("Number of columns is set to " + $('column_' + id).value);
									}
								});
	}
	else{
		var myAjax = new Ajax.Request('/lists/setNumColumns', { 
									method: 'post',
									parameters: $('embedForm').serialize(true),
									onComplete: 
									function(transport) {
										alert("Number of columns is set to " + $('column_' + id).value);
									}
								});
	}
}

function saveallcolumns(){
	var myAjax = new Ajax.Request('/lists/setAllNumColumns', { 
									method: 'post',
									parameters: $('embedForm').serialize(true),
									onComplete: 
									function(transport) {
										alert("All settings have been saved.");
									}
								});
}

function searchContentByKeyword(keyword, category){
	if(category){
		switch(category){
			case 'gis':
				$('google_r').checked = true;
				break;
			case 'youtube':
				$('youtube_r').checked = true;
				break;
			case 'flickr':
				$('flickr_r').checked = true;
				break;
			case 'graphics':
				$('graphics_r').checked = true;
				break;
			case 'music':
				$('music_r').checked = true;
				break;
			case 'movies':
				$('dvd_r').checked = true;
				break;
			case 'games':
				$('games_r').checked = true;
				break;
			case 'books':
				$('books_r').checked = true;
				break;
			default:
				$('google_r').checked = true;
				break;
		}
	}
	$('s_keyword').value=keyword;
	getSearchContent();
}

var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(input){var output="";var chr1,chr2,chr3,enc1,enc2,enc3,enc4;var i=0;input=Base64._utf8_encode(input);while(i<input.length){chr1=input.charCodeAt(i++);chr2=input.charCodeAt(i++);chr3=input.charCodeAt(i++);enc1=chr1>>2;enc2=((chr1&3)<<4)|(chr2>>4);enc3=((chr2&15)<<2)|(chr3>>6);enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64;}else if(isNaN(chr3)){enc4=64;}
output=output+
this._keyStr.charAt(enc1)+this._keyStr.charAt(enc2)+
this._keyStr.charAt(enc3)+this._keyStr.charAt(enc4);}
return output;},_utf8_encode:function(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n<string.length;n++){var c=string.charCodeAt(n);if(c<128){utftext+=String.fromCharCode(c);}
else if((c>127)&&(c<2048)){utftext+=String.fromCharCode((c>>6)|192);utftext+=String.fromCharCode((c&63)|128);}
else{utftext+=String.fromCharCode((c>>12)|224);utftext+=String.fromCharCode(((c>>6)&63)|128);utftext+=String.fromCharCode((c&63)|128);}}
return utftext;}}

if(typeof(Control)=="undefined")
Control={};Control.Modal=Class.create();Object.extend(Control.Modal,{loaded:false,loading:false,loadingTimeout:false,overlay:false,container:false,current:false,ie:false,effects:{containerFade:false,containerAppear:false,overlayFade:false,overlayAppear:false},targetRegexp:/#(.+)$/,imgRegexp:/\.(jpe?g|gif|png|tiff?)$/i,overlayStyles:{position:'fixed',top:0,left:0,width:'100%',height:'100%',zIndex:9998},overlayIEStyles:{position:'absolute',top:0,left:0,zIndex:9998},disableHoverClose:false,load:function(){if(!Control.Modal.loaded){Control.Modal.loaded=true;Control.Modal.ie=!(typeof document.body.style.maxHeight!='undefined');Control.Modal.overlay=$(document.createElement('div'));Control.Modal.overlay.id='modal_overlay';Object.extend(Control.Modal.overlay.style,Control.Modal['overlay'+(Control.Modal.ie?'IE':'')+'Styles']);Control.Modal.overlay.hide();Control.Modal.container=$(document.createElement('div'));Control.Modal.container.id='modal_container';Control.Modal.container.hide();Control.Modal.loading=$(document.createElement('div'));Control.Modal.loading.id='modal_loading';Control.Modal.loading.hide();var body_tag=document.getElementsByTagName('body')[0];body_tag.appendChild(Control.Modal.overlay);body_tag.appendChild(Control.Modal.container);body_tag.appendChild(Control.Modal.loading);Control.Modal.container.observe('mouseout',function(event){if(!Control.Modal.disableHoverClose&&Control.Modal.current&&Control.Modal.current.options.hover&&!Position.within(Control.Modal.container,Event.pointerX(event),Event.pointerY(event)))
Control.Modal.close();});}},open:function(contents,options){options=options||{};if(!options.contents)
options.contents=contents;var modal_instance=new Control.Modal(false,options);modal_instance.open();return modal_instance;},close:function(force){if(typeof(force)!='boolean')
force=false;if(Control.Modal.current)
Control.Modal.current.close(force);},attachEvents:function(){Event.observe(window,'load',Control.Modal.load);Event.unloadCache=Prototype.emptyFunction;Event.observe(window,'unload',Event.unloadCache,false);},center:function(element){if(!element._absolutized){element.setStyle({position:'absolute'});element._absolutized=true;}
var dimensions=element.getDimensions();Position.prepare();var offset_left=(Position.deltaX+Math.floor((Control.Modal.getWindowWidth()-dimensions.width)/2));var offset_top=(Position.deltaY+((Control.Modal.getWindowHeight()>dimensions.height)?Math.floor((Control.Modal.getWindowHeight()-dimensions.height)/2):0));element.setStyle({top:((dimensions.height<=Control.Modal.getDocumentHeight())?((offset_top!=null&&offset_top>0)?offset_top:'0')+'px':0),left:((dimensions.width<=Control.Modal.getDocumentWidth())?((offset_left!=null&&offset_left>0)?offset_left:'0')+'px':0)});},getWindowWidth:function(){return(self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||0);},getWindowHeight:function(){return(self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0);},getDocumentWidth:function(){return Math.min(document.body.scrollWidth,Control.Modal.getWindowWidth());},getDocumentHeight:function(){return Math.max(document.body.scrollHeight,Control.Modal.getWindowHeight());},onKeyDown:function(event){if(event.keyCode==Event.KEY_ESC)
Control.Modal.close();}});Object.extend(Control.Modal.prototype,{mode:'',html:false,href:'',element:false,src:false,imageLoaded:false,ajaxRequest:false,initialize:function(element,options){this.element=$(element);this.options={beforeOpen:Prototype.emptyFunction,afterOpen:Prototype.emptyFunction,beforeClose:Prototype.emptyFunction,afterClose:Prototype.emptyFunction,onSuccess:Prototype.emptyFunction,onFailure:Prototype.emptyFunction,onException:Prototype.emptyFunction,beforeImageLoad:Prototype.emptyFunction,afterImageLoad:Prototype.emptyFunction,autoOpenIfLinked:true,contents:false,loading:false,fade:false,fadeDuration:0.75,image:false,imageCloseOnClick:true,hover:false,iframe:false,iframeTemplate:new Template('<iframe src="#{href}" width="100%" height="100%" frameborder="0" id="#{id}"></iframe>'),evalScripts:true,requestOptions:{},overlayDisplay:true,overlayClassName:'',overlayCloseOnClick:true,containerClassName:'',opacity:0.3,zIndex:9998,width:null,height:null,offsetLeft:0,offsetTop:0,position:'absolute'};Object.extend(this.options,options||{});var target_match=false;var image_match=false;if(this.element){target_match=Control.Modal.targetRegexp.exec(this.element.href);image_match=Control.Modal.imgRegexp.exec(this.element.href);}
if(this.options.position=='mouse')
this.options.hover=true;if(this.options.contents){this.mode='contents';}else if(this.options.image||image_match){this.mode='image';this.src=this.element.href;}else if(target_match){this.mode='named';var x=$(target_match[1]);this.html=x.innerHTML;x.remove();this.href=target_match[1];}else{this.mode=(this.options.iframe)?'iframe':'ajax';this.href=this.element.href;}
if(this.element){if(this.options.hover){this.element.observe('mouseover',this.open.bind(this));this.element.observe('mouseout',function(event){if(!Position.within(Control.Modal.container,Event.pointerX(event),Event.pointerY(event)))
this.close();}.bindAsEventListener(this));}else{this.element.onclick=function(event){this.open();Event.stop(event);return false;}.bindAsEventListener(this);}}
var targets=Control.Modal.targetRegexp.exec(window.location);this.position=function(event){if(this.options.position=='absolute')
Control.Modal.center(Control.Modal.container);else{var xy=(event&&this.options.position=='mouse'?[Event.pointerX(event),Event.pointerY(event)]:Position.cumulativeOffset(this.element));Control.Modal.container.setStyle({position:'absolute',top:xy[1]+(typeof(this.options.offsetTop)=='function'?this.options.offsetTop():this.options.offsetTop)+'px',left:xy[0]+(typeof(this.options.offsetLeft)=='function'?this.options.offsetLeft():this.options.offsetLeft)+'px'});}
if(Control.Modal.ie){Control.Modal.overlay.setStyle({height:Control.Modal.getDocumentHeight()+'px',width:Control.Modal.getDocumentWidth()+'px'});}}.bind(this);if(this.mode=='named'&&this.options.autoOpenIfLinked&&targets&&targets[1]&&targets[1]==this.href)
this.open();},showLoadingIndicator:function(){if(this.options.loading){Control.Modal.loadingTimeout=window.setTimeout(function(){var modal_image=$('modal_image');if(modal_image)
modal_image.hide();Control.Modal.loading.style.zIndex=this.options.zIndex+1;Control.Modal.loading.update('<img id="modal_loading" src="'+this.options.loading+'"/>');Control.Modal.loading.show();Control.Modal.center(Control.Modal.loading);}.bind(this),250);}},hideLoadingIndicator:function(){if(this.options.loading){if(Control.Modal.loadingTimeout)
window.clearTimeout(Control.Modal.loadingTimeout);var modal_image=$('modal_image');if(modal_image)
modal_image.show();Control.Modal.loading.hide();}},open:function(force){if(!force&&this.notify('beforeOpen')===false)
return;if(!Control.Modal.loaded)
Control.Modal.load();Control.Modal.close();if(!this.options.hover)
Event.observe($(document.getElementsByTagName('body')[0]),'keydown',Control.Modal.onKeyDown);Control.Modal.current=this;if(!this.options.hover)
Control.Modal.overlay.setStyle({zIndex:this.options.zIndex,opacity:this.options.opacity});Control.Modal.container.setStyle({zIndex:this.options.zIndex+1,width:(this.options.width?(typeof(this.options.width)=='function'?this.options.width():this.options.width)+'px':null),height:(this.options.height?(typeof(this.options.height)=='function'?this.options.height():this.options.height)+'px':null)});if(Control.Modal.ie&&!this.options.hover){$A(document.getElementsByTagName('select')).each(function(select){select.style.visibility='hidden';});}
Control.Modal.overlay.addClassName(this.options.overlayClassName);Control.Modal.container.addClassName(this.options.containerClassName);switch(this.mode){case'image':this.imageLoaded=false;this.notify('beforeImageLoad');this.showLoadingIndicator();var img=document.createElement('img');img.onload=function(img){this.hideLoadingIndicator();this.update([img]);if(this.options.imageCloseOnClick)
$(img).observe('click',Control.Modal.close);this.position();this.notify('afterImageLoad');img.onload=null;}.bind(this,img);img.src=this.src;img.id='modal_image';break;case'ajax':this.notify('beforeLoad');var options={method:'post',onSuccess:function(request){this.hideLoadingIndicator();this.update(request.responseText);this.notify('onSuccess',request);this.ajaxRequest=false;}.bind(this),onFailure:function(){this.notify('onFailure');}.bind(this),onException:function(){this.notify('onException');}.bind(this)};Object.extend(options,this.options.requestOptions);this.showLoadingIndicator();this.ajaxRequest=new Ajax.Request(this.href,options);break;case'iframe':this.update(this.options.iframeTemplate.evaluate({href:this.href,id:'modal_iframe'}));break;case'contents':this.update((typeof(this.options.contents)=='function'?this.options.contents():this.options.contents));break;case'named':this.update(this.html);break;}
if(!this.options.hover){if(this.options.overlayCloseOnClick&&this.options.overlayDisplay)
Control.Modal.overlay.observe('click',Control.Modal.close);if(this.options.overlayDisplay){if(this.options.fade){if(Control.Modal.effects.overlayFade)
Control.Modal.effects.overlayFade.cancel();Control.Modal.effects.overlayAppear=new Effect.Appear(Control.Modal.overlay,{queue:{position:'front',scope:'Control.Modal'},to:this.options.opacity,duration:this.options.fadeDuration/2});}else
Control.Modal.overlay.show();}}
if(this.options.position=='mouse'){this.mouseHoverListener=this.position.bindAsEventListener(this);this.element.observe('mousemove',this.mouseHoverListener);}
this.notify('afterOpen');},update:function(html){if(typeof(html)=='string')
Control.Modal.container.update(html);else{Control.Modal.container.update('');(html.each)?html.each(function(node){Control.Modal.container.appendChild(node);}):Control.Modal.container.appendChild(node);}
if(this.options.fade){if(Control.Modal.effects.containerFade)
Control.Modal.effects.containerFade.cancel();Control.Modal.effects.containerAppear=new Effect.Appear(Control.Modal.container,{queue:{position:'end',scope:'Control.Modal'},to:1,duration:this.options.fadeDuration/2});}else
Control.Modal.container.show();this.position();Event.observe(window,'resize',this.position,false);Event.observe(window,'scroll',this.position,false);},close:function(force){if(!force&&this.notify('beforeClose')===false)
return;if(this.ajaxRequest)
this.ajaxRequest.transport.abort();this.hideLoadingIndicator();if(this.mode=='image'){var modal_image=$('modal_image');if(this.options.imageCloseOnClick&&modal_image)
modal_image.stopObserving('click',Control.Modal.close);}
if(Control.Modal.ie&&!this.options.hover){$A(document.getElementsByTagName('select')).each(function(select){select.style.visibility='visible';});}
if(!this.options.hover)
Event.stopObserving(window,'keyup',Control.Modal.onKeyDown);Control.Modal.current=false;Event.stopObserving(window,'resize',this.position,false);Event.stopObserving(window,'scroll',this.position,false);if(!this.options.hover){if(this.options.overlayCloseOnClick&&this.options.overlayDisplay)
Control.Modal.overlay.stopObserving('click',Control.Modal.close);if(this.options.overlayDisplay){if(this.options.fade){if(Control.Modal.effects.overlayAppear)
Control.Modal.effects.overlayAppear.cancel();Control.Modal.effects.overlayFade=new Effect.Fade(Control.Modal.overlay,{queue:{position:'end',scope:'Control.Modal'},from:this.options.opacity,to:0,duration:this.options.fadeDuration/2});}else
Control.Modal.overlay.hide();}}
if(this.options.fade){if(Control.Modal.effects.containerAppear)
Control.Modal.effects.containerAppear.cancel();Control.Modal.effects.containerFade=new Effect.Fade(Control.Modal.container,{queue:{position:'front',scope:'Control.Modal'},from:1,to:0,duration:this.options.fadeDuration/2,afterFinish:function(){Control.Modal.container.update('');this.resetClassNameAndStyles();}.bind(this)});}else{Control.Modal.container.hide();Control.Modal.container.update('');this.resetClassNameAndStyles();}
if(this.options.position=='mouse')
this.element.stopObserving('mousemove',this.mouseHoverListener);this.notify('afterClose');},resetClassNameAndStyles:function(){Control.Modal.overlay.removeClassName(this.options.overlayClassName);Control.Modal.container.removeClassName(this.options.containerClassName);Control.Modal.container.setStyle({height:null,width:null,top:null,left:null});},notify:function(event_name){try{if(this.options[event_name])
return[this.options[event_name].apply(this.options[event_name],$A(arguments).slice(1))];}catch(e){if(e!=$break)
throw e;else
return false;}}});if(typeof(Object.Event)!='undefined')
Object.Event.extend(Control.Modal);Control.Modal.attachEvents();