﻿// String.prototype.Trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); }
String.prototype.trim = function()
{
    var theString = this;

    theString = theString.replace(/^\s*(.*)/, "$1");
    theString = theString.replace(/(.*?)\s*$/, "$1");

    return theString;
}

function redirect(url) {
	document.location = url;
}
function my_unSelect()
{
	var word = _analyzGetSel();
	if (word.length > 1) {
		_unSelect();
	}
}
var musicpage="getMusic.php";
var _analyz_enable2;
var class2;
function over(chapter)
{
	_analyz_enable2 = _analyz_enable;
	_analyz_enable = false;
	class2 = chapter.className;

	if (chapter.className == "done") {
		chapter.className="overdone";
	} else {
		chapter.className="over";
	}
	// chapter.style.color="#DD6900";
	// var id = chapter.id.substring(5);
	if (chapter.id && current_id == chapter.id.substring(5)) {
	// if (current_id == id) {
		chapter.style.cursor = "default";
	} else {
		chapter.style.cursor = "pointer";
	}

	my_unSelect();
}


function out(chapter)
{
	_analyz_enable = _analyz_enable2;

	if (chapter.className == "over") {
		// chapter.className="out";
		chapter.className = class2;
	} else {
		chapter.className="done";
	}

	my_unSelect();
}
function setupPlayer() {
	var MediaPlayer = getElementById_s("MediaPlayer");
	
	var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
	// the other one is Netscape, including firefox
	if (MediaPlayer) {
		try{	
			var fileName;
			if (InternetExplorer) {
				fileName = mediaplayer_src; // MediaPlayer.FileName;
				MediaPlayer.FileName = _swithest(fileName);
			} else { // if (document.getElementsByName("FileName").length)
				var MediaPlayer2 = getElementById_s("MediaPlayer2");
				fileName = mediaplayer_src; // MediaPlayer2.src;
				//document.getElementsByName("FileName")[0].value;
				if (fileName) {
					fileName = _swithest(fileName);
					if (fileName.indexOf(".mp3") != -1 || fileName.indexOf(".wma") != -1 || fileName.indexOf(".wav") != -1 || fileName.indexOf(".mpg") != -1 || fileName.indexOf(".mid") != -1 || fileName.indexOf(".mpeg") != -1) {
					var bmfMediaPlayer = getElementById_s('bmfMediaPlayer');bmfMediaPlayer.innerHTML =
					'<object id="MediaPlayer" name="MediaPlayer" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,0,0,0" standby="Loading Microsoft Windows Media Player components..." width="47" height="277" type="application/x-oleobject"> <param name="FileName" value="' + fileName + '"> <PARAM NAME="EnableContextMenu" VALUE="false"> <param name="ShowControls" value="1"> <param name="ShowDisplay" value="false"> <param name="ShowStatusBar" value="0"> <param name="AutoSize" value="0"> <param name="autoplay" value="1"> <param name="autoStart" value="true"> <param name="loop" value="1"> <param name="InvokeURLs" value="false"> <embed type="application/x-mplayer2" id="MediaPlayer2" name="MediaPlayer2" pluginspage="http://www.microsoft.com/windows95/downloads/contents/wurecommended/s_wufeatured/mediaplayer/default.asp" src="' + fileName + '" showcontrols=1 showdisplay=0 EnableContextMenu=0 showstatusbar=0 autosize=0 autoplay="true" visible=1 animationatstart=0 transparentatstart=1 loop=1 height="47" width="277" ></embed> </object>';
					} else {
						MediaPlayer2.src = fileName;
					}
				}
			}
		}catch(e){}
	}
	var realplayer = getElementById_s("realplayer");
	if (realplayer && realplayer_src) {
		realplayer_src = _swithest(realplayer_src);
		try{
			if (InternetExplorer) {
				// realplayer.SetSource(_swithest(realplayer.getSource()));
				realplayer.SetSource(realplayer_src);
				var realplayer3 = getElementById_s("realplayer3");
				realplayer3.SetSource(realplayer_src);
			} else {
				var realplayer2 = getElementById_s("realplayer2");
				realplayer2.src = realplayer_src;
				var realplayer4 = getElementById_s("realplayer4");
				realplayer4.src = realplayer_src;
			}
		}catch(e){}
	}
}
var doing = false;
var times = 0;
var TIMES_MAX = 10;
function waitDoing(obj) {
	doing = true;
	times = 0;
	//obj.style.color="red";
	//obj.style.cursor = "wait";
	obj.className="doing";
	document.body.style.cursor='wait';
}
function waitDone(obj) {
	// obj.style.cursor = "default";
	document.body.style.cursor='default';
	// obj.style.color="green";
	obj.className="done";
	times = 0;
	doing = false;
}

// a complete function, try to handle both IE and firefox
// by id or name
function getFormElement(f, n) {
	var element = getElement(n);
	if (element != null) {
		return element;
	}

	var elements = f.elements;
	for (var i = 0; i < elements.length; i++)
	{
		element = elements[i];

		if (element.name == n) {
			return element;
		}
	}

	return element;
}

function getElement(n) {
	var element = document.getElementById(n);
	if (element != null) {
		return element;
	}

	element = document.getElementsByName(n)[0];
	if (element != null) {
		return element;
	}

	return document.all[n];
}


function isNull (str)
{
  if (typeof str == "undefined") return true; 

  if ( str == null ) return true;

  if ( typeof str == "object") return false;

  if ( str == "0" || str == "0.0" || str == "0.00" || str == "0.000" || str == "0.0000" || str == "0.00000" ) return false;

  if ( str == false || str == 'undefined' ) return true;


  str = str.toString();
  str = str.replace(/\s+/g, '');

  if ( str == '' ) return true;

  return false;
}


function isInteger(s) {
	if (s == "") return false;

	for (i = 0 ; i < s.length; i++) {
		if ((s.charAt(i) < '0') || (s.charAt(i) > '9')) return false;
	}

	return true;
}


var categories = null;
var current_category;
function changeMenu(category)
{
	if (categories == null) {
		categories = new Array();
		for (var i = 1; i < 9; i++) {
			var lower = document.getElementById("lower" + i);

			if (lower.className == "dis") {
				current_category = i;
				
			}

			categories[i] = document.getElementById("upper" + i).className;
		}
	}

	document.getElementById("lower" + current_category).className = "undis";
	document.getElementById("upper" + current_category).className = categories[current_category];
	current_category = category;
	document.getElementById("lower" + current_category).className = "dis";
	document.getElementById("upper" + current_category).className = "current";
}


function isEnglish(str) {
	if (str && !str.match(/^[a-zA-Z0-9_,; \&\-\"\'\(\)\.\!\?]+$/)) {
		return false;
	}

	return true;
}

function isFrench(str) {
	if (str && !str.match(/^[a-zA-Z0-9_,; \-\"\'\(\)\.\!\?ÀàÂâÆæÇçÈèÉéÊêËëÎîÏïöÔôŒœÙùÛûÜü«»€₣]+$/)) {
		return false;
	}

	return true;
}


function isHTMLEntity(str) {
	if (str && !str.match(/^[0-9amp\&\#; ]+$/)) {
		return false;
	}

	return true;
}

function isChineseSpelling(str) {
	if (str && !str.match(/^[a-zA-Zāáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜ ]+$/)) {
		return false;
	}

	return true;
}


function isNotChinese(str) {
	if (isFrench(str)) {
		return true;
	}

	if (isChineseSpelling(str)) {
		return true;
	}

	if (isHTMLEntity(str)) {
		return true;
	}

	return false;
}

String.prototype.trim = function() 
{ 
	return this.replace(/^\s*/,'').replace(/\s*$/,'').replace(/\r*$/,''); 
}

function changSelect(input, select)
{
	var value = input.value.trim();

	var length = value.length;

	if (length < 1) {
		return;
	}

	var selectelement = document.getElementById(select);

	var sstring;

  for (var i = 0; i < selectelement.length; i++)
  {
  	sstring = selectelement.options[i].text.substr(0, length);
    if ( sstring == value ) {
      if ( selectelement.selectedIndex != i) {
        selectelement.selectedIndex = i;
        return;
      }
      return;
    }
  }
}

function populateSearchElement(selector, defvalue) {
    $(selector).each(function() {
        if($.trim(this.value) == "") {
            this.value = defvalue;
            this.className = "tongbar1";
        }
    });
  
    $(selector).focus(function() {
        if(this.value == defvalue) {
            this.value = "";
            this.className = "tongbar";
        }
    });
    
    $(selector).blur(function() {
        if($.trim(this.value) == "") {
            this.value = defvalue;
            this.className = "tongbar1";
        }
    });
}
