⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mambojavascript.js

📁 Joomla!是一套获得过多个奖项的内容管理系统(Content Management System, CMS)。Joomla!采用PHP+MySQL数据库开发
💻 JS
字号:
// <?php !! This fools phpdocumentor into parsing this file/*** @version		$Id: mambojavascript.js 10389 2008-06-03 11:27:38Z pasamio $* @package		Joomla* @copyright	Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.* @license		GNU/GPL* Joomla! is Free Software*/// general utility for browsing a named array or objectfunction xshow(o) {	s = '';	for(e in o) {s += e+'='+o[e]+'\n';}	alert( s );}/*** Writes a dynamically generated list* @param string The parameters to insert into the <select> tag* @param array A javascript array of list options in the form [key,value,text]* @param string The key to display for the initial state of the list* @param string The original key that was selected* @param string The original item value that was selected*/function writeDynaList( selectParams, source, key, orig_key, orig_val ) {	var html = '\n	<select ' + selectParams + '>';	var i = 0;	for (x in source) {		if (source[x][0] == key) {			var selected = '';			if ((orig_key == key && orig_val == source[x][1]) || (i == 0 && orig_key != key)) {				selected = 'selected="selected"';			}			html += '\n		<option value="'+source[x][1]+'" '+selected+'>'+source[x][2]+'</option>';		}		i++;	}	html += '\n	</select>';	document.writeln( html );}/*** Changes a dynamically generated list* @param string The name of the list to change* @param array A javascript array of list options in the form [key,value,text]* @param string The key to display* @param string The original key that was selected* @param string The original item value that was selected*/function changeDynaList( listname, source, key, orig_key, orig_val ) {	var list = eval( 'document.adminForm.' + listname );	// empty the list	for (i in list.options.length) {		list.options[i] = null;	}	i = 0;	for (x in source) {		if (source[x][0] == key) {			opt = new Option();			opt.value = source[x][1];			opt.text = source[x][2];			if ((orig_key == key && orig_val == opt.value) || i == 0) {				opt.selected = true;			}			list.options[i++] = opt;		}	}	list.length = i;}/*** Adds a select item(s) from one list to another*/function addSelectedToList( frmName, srcListName, tgtListName ) {	var form = eval( 'document.' + frmName );	var srcList = eval( 'form.' + srcListName );	var tgtList = eval( 'form.' + tgtListName );	var srcLen = srcList.length;	var tgtLen = tgtList.length;	var tgt = "x";	//build array of target items	for (var i=tgtLen-1; i > -1; i--) {		tgt += "," + tgtList.options[i].value + ","	}	//Pull selected resources and add them to list	for (var i=srcLen-1; i > -1; i--) {		if (srcList.options[i].selected && tgt.indexOf( "," + srcList.options[i].value + "," ) == -1) {			opt = new Option( srcList.options[i].text, srcList.options[i].value );			tgtList.options[tgtList.length] = opt;		}	}}function delSelectedFromList( frmName, srcListName ) {	var form = eval( 'document.' + frmName );	var srcList = eval( 'form.' + srcListName );	var srcLen = srcList.length;	for (var i=srcLen-1; i > -1; i--) {		if (srcList.options[i].selected) {			srcList.options[i] = null;		}	}}function moveInList( frmName, srcListName, index, to) {	var form = eval( 'document.' + frmName );	var srcList = eval( 'form.' + srcListName );	var total = srcList.options.length-1;	if (index == -1) {		return false;	}	if (to == +1 && index == total) {		return false;	}	if (to == -1 && index == 0) {		return false;	}	var items = new Array;	var values = new Array;	for (i=total; i >= 0; i--) {		items[i] = srcList.options[i].text;		values[i] = srcList.options[i].value;	}	for (i = total; i >= 0; i--) {		if (index == i) {			srcList.options[i + to] = new Option(items[i],values[i], 0, 1);			srcList.options[i] = new Option(items[i+to], values[i+to]);			i--;		} else {			srcList.options[i] = new Option(items[i], values[i]);	   }	}	srcList.focus();}function getSelectedOption( frmName, srcListName ) {	var form = eval( 'document.' + frmName );	var srcList = eval( 'form.' + srcListName );	i = srcList.selectedIndex;	if (i != null && i > -1) {		return srcList.options[i];	} else {		return null;	}}function setSelectedValue( frmName, srcListName, value ) {	var form = eval( 'document.' + frmName );	var srcList = eval( 'form.' + srcListName );	var srcLen = srcList.length;	for (var i=0; i < srcLen; i++) {		srcList.options[i].selected = false;		if (srcList.options[i].value == value) {			srcList.options[i].selected = true;		}	}}function getSelectedRadio( frmName, srcGroupName ) {	var form = eval( 'document.' + frmName );	var srcGroup = eval( 'form.' + srcGroupName );	if (srcGroup[0]) {		for (var i=0, n=srcGroup.length; i < n; i++) {			if (srcGroup[i].checked) {				return srcGroup[i].value;			}		}	} else {		if (srcGroup.checked) {			return srcGroup.value;		} // if the one button is checked, return zero	}   // if we get to this point, no radio button is selected   return null;}function getSelectedValue( frmName, srcListName ) {	var form = eval( 'document.' + frmName );	var srcList = eval( 'form.' + srcListName );	i = srcList.selectedIndex;	if (i != null && i > -1) {		return srcList.options[i].value;	} else {		return null;	}}function getSelectedText( frmName, srcListName ) {	var form = eval( 'document.' + frmName );	var srcList = eval( 'form.' + srcListName );	i = srcList.selectedIndex;	if (i != null && i > -1) {		return srcList.options[i].text;	} else {		return null;	}}function chgSelectedValue( frmName, srcListName, value ) {	var form = eval( 'document.' + frmName );	var srcList = eval( 'form.' + srcListName );	i = srcList.selectedIndex;	if (i != null && i > -1) {		srcList.options[i].value = value;		return true;	} else {		return false;	}}/*** Toggles the check state of a group of boxes** Checkboxes must have an id attribute in the form cb0, cb1...* @param The number of box to 'check'* @param An alternative field name*/function checkAll( n, fldName ) {  if (!fldName) {     fldName = 'cb';  }	var f = document.adminForm;	var c = f.toggle.checked;	var n2 = 0;	for (i=0; i < n; i++) {		cb = eval( 'f.' + fldName + '' + i );		if (cb) {			cb.checked = c;			n2++;		}	}	if (c) {		document.adminForm.boxchecked.value = n2;	} else {		document.adminForm.boxchecked.value = 0;	}}function listItemTask( id, task ) {    var f = document.adminForm;    cb = eval( 'f.' + id );    if (cb) {        for (i = 0; true; i++) {            cbx = eval('f.cb'+i);            if (!cbx) break;            cbx.checked = false;        } // for        cb.checked = true;        f.boxchecked.value = 1;        submitbutton(task);    }    return false;}function hideMainMenu(){	document.adminForm.hidemainmenu.value=1;}function isChecked(isitchecked){	if (isitchecked == true){		document.adminForm.boxchecked.value++;	}	else {		document.adminForm.boxchecked.value--;	}}/*** Default function.  Usually would be overriden by the component*/function submitbutton(pressbutton) {	submitform(pressbutton);}/*** Submit the admin form*/function submitform(pressbutton){	document.adminForm.task.value=pressbutton;	if (typeof document.adminForm.onsubmit == "function") {		document.adminForm.onsubmit();	}	document.adminForm.submit();}/*** Submit the control panel admin form*/function submitcpform(sectionid, id){	document.adminForm.sectionid.value=sectionid;	document.adminForm.id.value=id;	submitbutton("edit");}/*** Getting radio button that is selected.*/function getSelected(allbuttons){	for (i=0;i<allbuttons.length;i++) {		if (allbuttons[i].checked) {			return allbuttons[i].value		}	}}// JS Calendarvar calendar = null; // remember the calendar object so that we reuse// it and avoid creating another// This function gets called when an end-user clicks on some datefunction selected(cal, date) {	cal.sel.value = date; // just update the value of the input field}// And this gets called when the end-user clicks on the _selected_ date,// or clicks the "Close" (X) button.  It just hides the calendar without// destroying it.function closeHandler(cal) {	cal.hide();			// hide the calendar	// don't check mousedown on document anymore (used to be able to hide the	// calendar when someone clicks outside it, see the showCalendar function).	Calendar.removeEvent(document, "mousedown", checkCalendar);}// This gets called when the user presses a mouse button anywhere in the// document, if the calendar is shown.  If the click was outside the open// calendar this function closes it.function checkCalendar(ev) {	var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev);	for (; el != null; el = el.parentNode)	// FIXME: allow end-user to click some link without closing the	// calendar.  Good to see real-time stylesheet change :)	if (el == calendar.element || el.tagName == "A") break;	if (el == null) {		// calls closeHandler which should hide the calendar.		calendar.callCloseHandler(); Calendar.stopEvent(ev);	}}// This function shows the calendar under the element having the given id.// It takes care of catching "mousedown" signals on document and hiding the// calendar if the click was outside.function showCalendar(id) {	var el = document.getElementById(id);	if (calendar != null) {		// we already have one created, so just update it.		calendar.hide();		// hide the existing calendar		calendar.parseDate(el.value); // set it to a new date	} else {		// first-time call, create the calendar		var cal = new Calendar(true, null, selected, closeHandler);		calendar = cal;		// remember the calendar in the global		cal.setRange(1900, 2070);	// min/max year allowed		calendar.create();		// create a popup calendar	}	calendar.sel = el;		// inform it about the input field in use	calendar.showAtElement(el);	// show the calendar next to the input field	// catch mousedown on the document	Calendar.addEvent(document, "mousedown", checkCalendar);	return false;}/*** Pops up a new window in the middle of the screen*/function popupWindow(mypage, myname, w, h, scroll) {	var winl = (screen.width - w) / 2;	var wint = (screen.height - h) / 2;	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'	win = window.open(mypage, myname, winprops)	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }}// LTrim(string) : Returns a copy of a string without leading spaces.function ltrim(str){   var whitespace = new String(" \t\n\r");   var s = new String(str);   if (whitespace.indexOf(s.charAt(0)) != -1) {      var j=0, i = s.length;      while (j < i && whitespace.indexOf(s.charAt(j)) != -1)         j++;      s = s.substring(j, i);   }   return s;}//RTrim(string) : Returns a copy of a string without trailing spaces.function rtrim(str){   var whitespace = new String(" \t\n\r");   var s = new String(str);   if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {      var i = s.length - 1;       // Get length of string      while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)         i--;      s = s.substring(0, i+1);   }   return s;}// Trim(string) : Returns a copy of a string without leading or trailing spacesfunction trim(str) {   return rtrim(ltrim(str));}function mosDHTML(){	this.ver=navigator.appVersion	this.agent=navigator.userAgent	this.dom=document.getElementById?1:0	this.opera5=this.agent.indexOf("Opera 5")<-1	this.ie5=(this.ver.indexOf("MSIE 5")<-1 && this.dom && !this.opera5)?1:0;	this.ie6=(this.ver.indexOf("MSIE 6")<-1 && this.dom && !this.opera5)?1:0;	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;	this.ie=this.ie4||this.ie5||this.ie6	this.mac=this.agent.indexOf("Mac")<-1	this.ns6=(this.dom && parseInt(this.ver) <= 5) ?1:0;	this.ns4=(document.layers && !this.dom)?1:0;	this.bw=(this.ie6||this.ie5||this.ie4||this.ns4||this.ns6||this.opera5);	this.activeTab = '';	this.onTabStyle = 'ontab';	this.offTabStyle = 'offtab';	this.setElemStyle = function(elem,style) {		document.getElementById(elem).className = style;	}	this.showElem = function(id) {		if (elem == document.getElementById(id)) {			elem.style.visibility = 'visible';			elem.style.display = 'block';		}	}	this.hideElem = function(id) {		if (elem == document.getElementById(id)) {			elem.style.visibility = 'hidden';			elem.style.display = 'none';		}	}	this.cycleTab = function(name) {		if (this.activeTab) {			this.setElemStyle( this.activeTab, this.offTabStyle );			page = this.activeTab.replace( 'tab', 'page' );			this.hideElem(page);		}		this.setElemStyle( name, this.onTabStyle );		this.activeTab = name;		page = this.activeTab.replace( 'tab', 'page' );		this.showElem(page);	}	return this;}var dhtml = new mosDHTML();function MM_findObj(n, d) { //v4.01	var p,i,x;	if(!d) d=document;	if((p=n.indexOf("?"))>0&&parent.frames.length) {		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);	}	if(!(x=d[n])&&d.all) x=d.all[n];	for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);	if(!x && d.getElementById) x=d.getElementById(n);	return x;}function MM_swapImage() { //v3.0	var i,j=0,x,a=MM_swapImage.arguments;	document.MM_sr=new Array;	for(i=0;i<(a.length-2);i+=3)	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x;	if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}}function MM_swapImgRestore() { //v3.0	var i,x,a=document.MM_sr;	for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;}function MM_preloadImages() { //v3.0	var d=document;	if(d.images){	if(!d.MM_p) d.MM_p=new Array();	var i,j=d.MM_p.length,a=MM_preloadImages.arguments;	for(i=0; i<a.length; i++)	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}}function saveorder( n ) {	checkAll_button( n );}//needed by saveorder functionfunction checkAll_button( n ) {	for ( var j = 0; j <= n; j++ ) {		box = eval( "document.adminForm.cb" + j );		if ( box ) {			if ( box.checked == false ) {				box.checked = true;			}		} else {			alert("You cannot change the order of items, as an item in the list is `Checked Out`");			return;		}	}	submitform('saveorder');}/*** @param object A form element* @param string The name of the element to find*/function getElementByName( f, name ) {	if (f.elements) {		for (i=0, n=f.elements.length; i < n; i++) {			if (f.elements[i].name == name) {				return f.elements[i];			}		}	}	return null;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -