web/wp-content/themes/inove/js/base.js
changeset 1 0d28b7c10758
equal deleted inserted replaced
0:0d9a58d2c515 1:0d28b7c10758
       
     1 /*
       
     2 Author: mg12
       
     3 Update: 2008/05/05
       
     4 Author URI: http://www.neoease.com/
       
     5 */
       
     6 (function() {
       
     7 
       
     8 function $(id) {
       
     9 	return document.getElementById(id);
       
    10 }
       
    11 
       
    12 function setStyleDisplay(id, status) {
       
    13 	$(id).style.display = status;
       
    14 }
       
    15 
       
    16 function goTop(a, t) {
       
    17 	a = a || 0.1;
       
    18 	t = t || 16;
       
    19 
       
    20 	var x1 = 0;
       
    21 	var y1 = 0;
       
    22 	var x2 = 0;
       
    23 	var y2 = 0;
       
    24 	var x3 = 0;
       
    25 	var y3 = 0;
       
    26 
       
    27 	if (document.documentElement) {
       
    28 		x1 = document.documentElement.scrollLeft || 0;
       
    29 		y1 = document.documentElement.scrollTop || 0;
       
    30 	}
       
    31 	if (document.body) {
       
    32 		x2 = document.body.scrollLeft || 0;
       
    33 		y2 = document.body.scrollTop || 0;
       
    34 	}
       
    35 	var x3 = window.scrollX || 0;
       
    36 	var y3 = window.scrollY || 0;
       
    37 
       
    38 	var x = Math.max(x1, Math.max(x2, x3));
       
    39 	var y = Math.max(y1, Math.max(y2, y3));
       
    40 
       
    41 	var speed = 1 + a;
       
    42 	window.scrollTo(Math.floor(x / speed), Math.floor(y / speed));
       
    43 	if(x > 0 || y > 0) {
       
    44 		var f = "MGJS.goTop(" + a + ", " + t + ")";
       
    45 		window.setTimeout(f, t);
       
    46 	}
       
    47 }
       
    48 
       
    49 function switchTab(showPanels, hidePanels, activeTab, activeClass, fadeTab, fadeClass) {
       
    50 	$(activeTab).className = activeClass;
       
    51 	$(fadeTab).className = fadeClass;
       
    52 
       
    53 	var panel, panelList;
       
    54 	panelList = showPanels.split(',');
       
    55 	for (var i = 0; i < panelList.length; i++) {
       
    56 		var panel = panelList[i];
       
    57 		if ($(panel)) {
       
    58 			setStyleDisplay(panel, 'block');
       
    59 		}
       
    60 	}
       
    61 	panelList = hidePanels.split(',');
       
    62 	for (var i = 0; i < panelList.length; i++) {
       
    63 		panel = panelList[i];
       
    64 		if ($(panel)) {
       
    65 			setStyleDisplay(panel, 'none');
       
    66 		}
       
    67 	}
       
    68 }
       
    69 
       
    70 function loadCommentShortcut() {
       
    71 	$('comment').onkeydown = function (moz_ev) {
       
    72 		var ev = null;
       
    73 		if (window.event){
       
    74 			ev = window.event;
       
    75 		} else {
       
    76 			ev = moz_ev;
       
    77 		}
       
    78 		if (ev != null && ev.ctrlKey && ev.keyCode == 13) {
       
    79 			$('submit').click();
       
    80 		}
       
    81 	}
       
    82 	$('submit').value += ' (Ctrl+Enter)';
       
    83 }
       
    84 
       
    85 function getElementsByClassName(className, tag, parent) {
       
    86 	parent = parent || document;
       
    87 
       
    88 	var allTags = (tag == '*' && parent.all) ? parent.all : parent.getElementsByTagName(tag);
       
    89 	var matchingElements = new Array();
       
    90 
       
    91 	className = className.replace(/\-/g, '\\-');
       
    92 	var regex = new RegExp('(^|\\s)' + className + '(\\s|$)');
       
    93 
       
    94 	var element;
       
    95 	for (var i = 0; i < allTags.length; i++) {
       
    96 		element = allTags[i];
       
    97 		if (regex.test(element.className)) {
       
    98 			matchingElements.push(element);
       
    99 		}
       
   100 	}
       
   101 
       
   102 	return matchingElements;
       
   103 }
       
   104 
       
   105 window['MGJS'] = {};
       
   106 window['MGJS']['$'] = $;
       
   107 window['MGJS']['setStyleDisplay'] = setStyleDisplay;
       
   108 window['MGJS']['goTop'] = goTop;
       
   109 window['MGJS']['switchTab'] = switchTab;
       
   110 window['MGJS']['loadCommentShortcut'] = loadCommentShortcut;
       
   111 window['MGJS']['getElementsByClassName'] = getElementsByClassName;
       
   112 
       
   113 })();