var ldcms_js_debug_switch = false ;
var arrow_up_html = '&#x25B2;' ;
var arrow_down_html = '&#x25BC;' ;


$(document).ready( function(){

	$('.nojq').removeClass('nojq');

	setup_collapsible('fieldset.collapsible','legend');

	setup_collapsible();

	ajaxify_quick_signup('#quick-signup-inline');

} );


function nav_menu_items_into_submenu(menu_items,new_parent) {
   var tmp_items = $(menu_items).detach() ;
   $(new_parent).append('<ul></ul>');
   tmp_items.appendTo(new_parent + ' ul');
}



function remove_nav_cell(nav_selector) {
	if (nav_selector==null) nav_selector = 'body.logged_out #nav > ul' ;
	var nav = $(nav_selector).detach();
	if (nav.length) {
		var cont_area = $('#content_area_cell') ;
		$('#nav_area_cell').remove();
		cont_area.attr( 'colspan', (1+cont_area.attr('colspan')) ).append(nav);
	}
}



function checkAll(formId, cName, check ) {
	for (i=0,n=formId.elements.length;i<n;i++)
	if (formId.elements[i].className.indexOf(cName) !=-1)
		formId.elements[i].checked = check;
}



function openWin(url,name) {
	window.open(url, help, 'Width=300,Height=450,SCROLLBARS=1,RESIZABLE=1')
}



function icon_help_win(help_url) {
	var mainWin=null;
	if (navigator.appName == "Microsoft Internet Explorer") {
		mainWin = window.open(help_url, 'help', 'Width=300,Height=450,top=0,left=0,menubar=0,toolbar=0, SCROLLBARS=1');
   	}
	if (navigator.appName == "Netscape") {
		mainWin = window.open(help_url, 'help', 'Width=300,Height=450,top=0,left=0,menubar=0,toolbar=0, scrollbars=yes');
   	}	
   	self.name = "main";
}



function jquidialogue(id,title,html,style,dialog_options) {
	if (! $('#'+id).length ) {
		$('body').append('<div id="'+id+'" style="display:none; '+style+'"><\/div>');
	}
	$('#'+id).html(html);
	if (! $('#'+id).hasClass('ui-dialog-content')) {
		$('#'+id).dialog(dialog_options);
	}
	$('#'+id).dialog('option','title',title);
	$('#'+id).dialog('open');
}



function jqui_close_and_remove_dialog(dialogue_selector) {
	if ($(dialogue_selector).hasClass('ui-dialog-content')) {
		$(dialogue_selector).dialog('close');
	}
	$(dialogue_selector).remove();
}



function jquiprogress_show(title,msg) {
	if (! $('#jquiprogress').length) {
		$('body').append('<div id="jquiprogress" style="color: #900; font-weight: bold; display:none;"><\/div>');
	}
	if (! $('#jquiprogress').hasClass('ui-dialog-content')) {
		$('#jquiprogress').html(msg);
		$('#jquiprogress').dialog({
			autoOpen: false,
			modal: true,
			width: 400
		});
	}
	$('#jquiprogress').dialog('option','title',title);
	$('#jquiprogress').html(msg);
	$('#jquiprogress').dialog('open');
}



function jquiprogress_hide() {
	jqui_close_and_remove_dialog('#jquiprogress');
}



function jquialert(title,msg,urlredirect) {
	jquidialogue( 'jquialert', title, $('<div/>').text(msg).html(), 'color: #900; font-weight: bold;', {
		autoOpen: true,
		modal: true,
		width: 400,
		buttons: {
			'OK': function(){
				$(this).dialog('close');
				if (urlredirect) {
					window.location = urlredirect;
				}
			}
		}
	} );
}



function setup_collapsible( collapsible_selector, toggle_selector ) {

	var to_collapse = 'p,table,div,ul' ;

	if (collapsible_selector==null) {
		collapsible_selector = '.collapsible' ;
	}

	if (toggle_selector==null) {
		toggle_selector = '.collapse-toggle' ;
	}

	if ($(collapsible_selector).length) {

		$(collapsible_selector+' '+toggle_selector).append('<span class="collapse-arrow"> ' + arrow_down_html + '</span>').wrapInner('<a href="#"></a>');

		$(collapsible_selector+' '+toggle_selector+' a').click( function(){

			var thisfieldset = $(this).parent().parent() ;
			thisfieldset.children().filter(to_collapse).filter(':not(' + toggle_selector + ')').slideToggle('slow');
			if ( thisfieldset.hasClass('collapsed') ) {
				thisfieldset.find('.collapse-arrow').html(' ' + arrow_down_html);
				thisfieldset.removeClass('collapsed');
				$(this).attr('title','Click to show');
			} else {
				thisfieldset.find('.collapse-arrow').html(' ' + arrow_up_html);
				thisfieldset.addClass('collapsed');
				$(this).attr('title','Click to hide');
			}
			return false;

		} ).hover( function(){

			// mouseover
			$(this).find('.collapse-arrow').html(' ' + ($(this).parent().parent().hasClass('collapsed') ? arrow_down_html : arrow_up_html));

		}, function(){

			// mouseout
			$(this).find('.collapse-arrow').html(' ' + ($(this).parent().parent().hasClass('collapsed') ? arrow_up_html : arrow_down_html));

		} );

		// COLLAPSE ANY FIELDSETS THAT ARE MEANT TO START OUT COLLAPSED
		// $(collapsible_selector).filter('.collapsed').find(toggle_selector+' a').trigger('click');
		$(collapsible_selector).filter('.collapsed').find('.collapse-arrow').html(arrow_up_html);
		$(collapsible_selector).filter('.collapsed').children().filter(':not(' + toggle_selector + ')').filter(to_collapse).hide();

	}

}



function ajaxify_quick_signup(formselector) {

	$('form'+formselector).bind('submit',
		function(){
			var actionurl = this.action.replace(/\bpg=\w+/gi,'pg=ajax&f=quicksignup') ;

			var postdata = '' ;
			var i = this.elements.length ;
			while (i--) {
				if (this.elements[i].name != '' && this.elements[i].value != '') {
					postdata += (encodeURIComponent(this.elements[i].name) + '=' + encodeURIComponent(this.elements[i].value) + '&') ;
				}
			}

			$(formselector+' :input').attr('disabled',true); // :input pseudoselector for all types of form input elements

			$.ajax({
				type: 'POST',
				url: actionurl,
				data: postdata,
				timeout: 5000,
				dataType: 'json',
				success: function(result){
					if (result.success) {
						// alert(result.msg);
						$(formselector).after('<div id="quick-signup-result" style="display:none;"><p class="alert">' + result.msg + '</p></div>');
						if (result.html.length) {
							$('#quick-signup-result').append(result.html);
						}
						$(formselector).hide('slow',function(){
							$('#quick-signup-result').show('slow');
						});
					} else {
						alert(result.msg);
						$(formselector+' :input').attr('disabled',false);
					}
				},
				error: function(xhr,textStatus){
					alert('Sorry, an error occurred.' + (textStatus!=null?(' ('+textStatus+')'):''));
					$(formselector+' :input').attr('disabled',false);
				}
			})

			return false;
		}
	);

};



// Embed functions for common TinyMCE plugins. This scripts are complety free to use for any purpose.

function writeFlash(p) {
	writeEmbed(
		'D27CDB6E-AE6D-11cf-96B8-444553540000',
		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
		'application/x-shockwave-flash',
		p
	);
}

function writeShockWave(p) {
	writeEmbed(
	'166B1BCA-3F9C-11CF-8075-444553540000',
	'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
	'application/x-director',
		p
	);
}

function writeQuickTime(p) {
	writeEmbed(
		'02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
		'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
		'video/quicktime',
		p
	);
}

function writeRealMedia(p) {
	writeEmbed(
		'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
		'audio/x-pn-realaudio-plugin',
		p
	);
}

function writeWindowsMedia(p) {
	p.url = p.src;
	writeEmbed(
		'6BF52A52-394A-11D3-B153-00C04F79FAA6',
		'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
		'application/x-mplayer2',
		p
	);
}

function writeEmbed(cls, cb, mt, p) {
	var h = '', n;

	h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
	h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
	h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
	h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
	h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
	h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
	h += '>';

	for (n in p)
		h += '<param name="' + n + '" value="' + p[n] + '">';

	h += '<embed type="' + mt + '"';

	for (n in p)
		h += n + '="' + p[n] + '" ';

	h += '></embed></object>';

	document.write(h);
}
