﻿// JavaScript Document
// JavaScript Document
var _M = {};
_M.def = function()
{
	var args = arguments;
	for (var i = 0; i < args.length; ++i) {if (typeof(args[i]) == 'undefined') return false;}
	return true;
}
_M.isString = function()
{
	var args = arguments;
	for (var i = 0; i < args.length; ++i) {if (typeof(args[i]) != 'string') return false;}
	return true;
}
_M.isNumber = function()
{
	var args = arguments;
	for (var i = 0; i < args.length; ++i) {if (isNaN(args[i]) || typeof(args[i]) != 'number') return false;}
	return true;
}
_M.isArray = function(X)
{
	return ((typeof X == 'object') && (X.constructor == Array));
}
_M.inArray = function(A, V)
{
	for (var i = 0, l = A.length; i < l; ++i) {if (A[i] == V) return true;}
	return false;
}
_M.$ = function(S)
{
	return document.getElementById?document.getElementById(S):null;
}
_M.innerHTML = function(S,C)
{
	_M.$(S).innerHTML=C;
}
_M.tag = function(T, P)
{
	var el = null,t = T || '*',p = P || document;
	if (_M.def(p.getElementsByTagName)) {el = p.getElementsByTagName(t);}
	return el || [];
}
_M.klass = function(C, T, P, F)
{
	var el = [],regx = new RegExp("(^|\\s)" + C + "(\\s|$)"),x = _M.tag(T, P);
	for (var i = 0, l = x.length; i < l; ++i)
	{
		if (regx.test(x[i].className))
		{
			el[el.length] = x[i];
			if (F) F(x[i]);
		}
	}
	return el;
}
_M.create = function(S)
{
	return document.createElement(S);
}
_M.append = function(P, K)
{
	return P ? P.appendChild(K) : document.body.appendChild(K);
}
_M.remove = function(P, K)
{
	return P ? P.removeChild(K) : document.body.removeChild(K);
}
_M.innerStuff = function(S, V)
{
	var o = _M.$(S),clone = o.cloneNode(false);
	clone.innerHTML = V;
	o.parentNode.replaceChild(clone, o);
	return clone;
}
_M.pageXY = function(o)
{
	var L = o.offsetLeft,T = o.offsetTop,xy = {x:0,y:0};
	while (o = o.offsetParent) {L += o.offsetLeft;T  += o.offsetTop;}
	xy.x = L;xy.y = T;
	return xy;
}
_M.windowXY = function()
{
	var xy = {x:null,y:null};
	if (_M.def(window.screenLeft)) {xy.x = window.screenLeft;xy.y = window.screenTop;}
	else if (_M.def(window.screenX)) {xy.x = window.screenX;xy.y = window.screenY;}
	return xy;
}
_M.browser = function()
{
	var sz = {w:null,h:null,hs:null,vs:null};
	if (window.innerWidth)
	{
		sz.w = window.innerWidth;
		sz.h = window.innerHeight;
		sz.hs = window.pageXOffset;
		sz.vs = window.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.clientWidth)
	{
		sz.w = document.documentElement.clientWidth;
		sz.h = document.documentElement.clientHeight;
		sz.hs = document.documentElement.scrollLeft;
		sz.vs = document.documentElement.scrollTop;
	}
	else if (document.body.clientWidth)
	{
		sz.w = document.body.clientWidth;
		sz.h = document.body.clientHeight;
		sz.hs = document.body.scrollLeft;
		sz.vs = document.body.scrollTop;
	}
	return sz;
}
_M.page = function()
{
	var sz = {w : false,h : false};
	if (document.documentElement && document.documentElement.scrollWidth) {sz.w = document.documentElement.scrollWidth;sz.h = document.documentElement.scrollHeight;}
	else if (document.body.scrollWidth) {sz.w = document.body.scrollWidth;sz.h = document.body.scrollHeight;}
	return sz;
}
_M.now = function()
{
	return new Date();
}
_M.getCookie = function(S)
{
	var seek = S + '=',off = document.cookie.indexOf(seek);
	if (off != -1)
	{
		off += seek.length;
		var end = document.cookie.indexOf(';', off);
		if (end == -1) end = document.cookie.length;			
		return decodeURIComponent(document.cookie.substring(off, end));
	}
	return null;
}
_M.setCookie = function(S, V, H)
{
	if (arguments.length > 3)
	{
		var E = new Date(_M.now().getTime() + H * 3600000);
		document.cookie = S + '=' + escape(V) + '; path=/; domain=918rc.com; expires=' + E.toGMTString();
	}
	else {document.cookie = S + '=' + escape(V) + '; domain=918rc.com';}
}
_M.removeCookie = function(S)
{
	if (_M.getCookie(S)) document.cookie = S + '=; expires=' + new Date(0).toGMTString();
}
_M.getParam = function(P)
{
	var p = document.location.search,pairs = [],pair = [];
	p = p.substring(1);pairs = p.split('&');
	for (var i = 0, l = pairs.length; i < l; i++)
	{
		pair = pairs[i].split('=');
		if(pair.length > 1 && P == pair[0]) return pair[1];
	}
	return null;
}




_M.wLen = function(s)
{
	return s.replace(/[^\u0000-\u00FF]/gmi, '**').length;
}
_M.trim = function(s)
{
	return s.replace(/^\s+|\s+$/g, '');
}
_M.stripHTML = function(s)
{
	return s.replace(/(<([^>]+)>)/gi, '');
}
_M.isSimple = function(s)
{
	var regx = /^[a-zA-Z0-9_]+$/;
	return regx.test(s);
}
_M.isNumStr = function(v)
{
	var regx = /^[\d|\.|,]+$/;
	return regx.test(v);
}
_M.isIntStr = function(v)
{
	var regx = /\D+/;
	return !regx.test(v);
}
_M.isEmail = function(s)
{
	var regx = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
	return regx.test(s);
}
_M.isTel = function(s)
{
	var regx = /^[\d|\-|\s|\_]+$/;
	return regx.test(s);
}
_M.isID = function(s)
{
	var regx = /^\d{15}|\d{17}[\d\w]$/;
	return regx.test(s);
}
_M.hasZH = function(s)
{
	var regx = /[\u4E00-\u9FA5]/;
	return regx.test(s);
}
_M.hasWChar = function(s)
{
	var regx = /[\uFE30-\uFFA0]/;
	return regx.test(s);
}
_M.hasSpaces = function(s)
{
	var regx = /\s+/;
	return regx.test(s);
}
_M.camelize = function(S)
{
	var i,c,a = S.split('-'),s = a[0];
	for (i = 1; i < a.length; ++i) {c = a[i].charAt(0);s += a[i].replace(c, c.toUpperCase());}
	return s;
}
_M.getScrollLeft = function(el){
	var off = 0;
	if (!_M.def(el) || el == document || el.tagName.toLowerCase() == 'html' || el.tagName.toLowerCase() == 'body')
	{
		if (window.document.documentElement && window.document.documentElement.scrollLeft) off = window.document.documentElement.scrollLeft;
		else if (window.document.body && _M.def(window.document.body.scrollLeft)) off = window.document.body.scrollLeft;
	}
	else
	{
		el = _M.$(el);
		if (el && _M.isNumber(el.scrollLeft)) off = el.scrollLeft;
	}
	return off;
}
_M.getScrollTop = function(el)
{
	var off = 0;
	if (!_M.def(el) || el == document || el.tagName.toLowerCase() == 'html' || el.tagName.toLowerCase() == 'body')
	{
		if (window.document.documentElement && window.document.documentElement.scrollTop) off = window.document.documentElement.scrollTop;
		else if (window.document.body && _M.def(window.document.body.scrollTop)) off = window.document.body.scrollTop;
	}
	else
	{
		el = _M.$(el);
		if (el && _M.isNumber(el.scrollTop)) off = el.scrollTop;
	}
	return off;
}
//XE
_M.eventStack = [];
_M.eventCounter = 0;
_M.xe = {};
_M.xe.format = function(evt){
	var e = evt || window.event;
	if (!e) return;
	this.type = e.type;
	this.target = e.target || e.srcElement;
	this.relatedTarget = e.relatedTarget;
	if (_M.def(e.pageX)){this.pageX = e.pageX;this.pageY = e.pageY;}
	else if (_M.def(e.clientX)){this.pageX = e.clientX + _M.browser().hs;this.pageY = e.clientY + _M.browser().vs;}
	if (_M.def(e.offsetX)){this.offsetX = e.offsetX;this.offsetY = e.offsetY;}
	else if (_M.def(e.layerX)){this.offsetX = e.layerX;this.offsetY = e.layerY;}
	else{this.offsetX = this.pageX - _M.pageXY(this.target).x;this.offsetY = this.pageY - _M.pageXY(this.target).y;}
	this.keyCode = e.keyCode || e.which || 0;
	this.shiftKey = e.shiftKey;
	this.ctrlKey = e.ctrlKey;
	this.altKey = e.altKey;
	if (typeof e.type == 'string')
	{
		if (e.type.indexOf('click') != -1) this.button = 0;
		else if (e.type.indexOf('mouse') != -1) this.button = e.button;
	}
}
_M.xe.wrap = function(elem, T, H, C)
{
	var el = _M.isString(elem) ? _M.$(elem) : elem;
	//if (!el) return;
	var evt = {el : el,et : T,fn : H,cap : C||false};
	return evt;
}
_M.xe.fire = function(e){
	if (!e.eid)
	{
		if (e.el.addEventListener) {e.el.addEventListener(e.et, e.fn, e.cap);}
		else if (e.el.attachEvent) {e.el.attachEvent('on' + e.et, e.fn);}
		else {var o = e.el['on' + e.et];e.el['on' + e.et] = typeof o == 'function' ? function(v){o(v); e.fn(v);} : e.fn;}
		_M.eventStack.push(e);
		e.eid = ++_M.eventCounter;
	}
	return e.eid;
}
_M.xe.init = function(elem, T, H, C)
{
	_M.xe.fire(_M.xe.wrap(elem, T, H, C));
}
_M.xe.remove = function(e)
{
	if (!e.eid)
	{
		return false;
	}
	else
	{
		if (e.el.removeEventListener) e.el.removeEventListener(e.et, e.fn, e.cap);
		else if (e.el.detachEvent) e.el.detachEvent('on' + e.et, e.fn);
		else e.el['on' + e.et] = null;
		for (var i = 0; i < _M.eventStack.length; i++)
		{
			if (_M.eventStack[i].eid == e.eid)
			{
				_M.eventStack.splice(i, 1);
				_M.eventCounter--;
				return true;
			}
		}
	}
}
_M.xe.removeALL = function()
{
	while (_M.eventStack.length > 0) _M.xe.remove(_M.eventStack[0]);
}
_M.xe.preventDefault = function(evt)
{
	if (evt && evt.preventDefault) evt.preventDefault();
	else if (window.event) window.event.returnValue = false;
}
_M.ajax = {};
_M.ajax.request = function()
{
	var xhr = null;
	if (window.ActiveXObject)
	{
		var vers = ['Microsoft.XMLHTTP', 'MSXML6.XMLHTTP', 'MSXML5.XMLHTTP', 'MSXML4.XMLHTTP', 'MSXML3.XMLHTTP', 'MSXML2.XMLHTTP', 'MSXML.XMLHTTP'];
		for (var i = 0, l = vers.length; i < l; ++i) {try {xhr = new ActiveXObject(vers[i]);break;} catch(e) {continue;}}
	}
	else
	{
		xhr = new XMLHttpRequest();
	}
	return xhr;
}
_M.ajax.fire = function(url, params, callback, mode, asyn)
{
	mode = mode.toUpperCase() == "GET" ? "GET" : "POST";
	if (mode == "GET")
	{
		var d = _M.now();
		url += params ? (url.indexOf("?") == - 1 ? "?" : "&") + params : "";
		url = encodeURI(url) + (url.indexOf("?") === - 1 ? "?" : "&") + d.getTime() + d.getMilliseconds();
	}
	asyn = asyn === false ? false : true;
	var xhr = _M.ajax.request();
	try
	{
		if (typeof(_M.ajax.onRunning) == 'function') _M.ajax.onRunning();
		xhr.open(mode, url, asyn);
		if (mode == 'POST') xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		if (asyn)
		{
			xhr.onreadystatechange = function()
			{
				if (xhr.readyState == 4)
				{
					switch (xhr.status)
					{
						case 200: //OK
							if (typeof(_M.ajax.onComplete) == 'function') _M.ajax.onComplete();
							if (typeof(callback) == "function") callback(xhr.responseText);
							break;
						case 400:
						case 404:
						default:
							alert('err');
					}
					xhr = null;
				}
			}
			if (xhr != null) xhr.send(params);
		}
		else
		{
			if (typeof(_M.ajax.onRunning) == 'function') _M.ajax.onRunning();
			xhr.send(params);
			if (typeof(_M.ajax.onComplete) == 'function') _M.ajax.onComplete();
			if (typeof(callback) == "function") callback.call(_M.ajax, xhr.responseText);
			return xhr.responseText.replace(/\xEF\xBB\xBF/g, "");
		}
	}
	catch (e)
	{
		if (typeof(_M.ajax.onComplete) == "function") _M.ajax.onComplete();
		alert('err');
    }
}
_M.ajax.onRunning = null;
_M.ajax.onComplete = null;
//Misc.
_M.jumpTop = function()
{
	window.scroll(0, 0);
}
//end of _M
function floaty(o)
{
	this.target = o.sId;
	this.width = o.width;
	this.height = o.height;
	this.pace = o.pace;
	this.speed = o.speed;
	this.xOffset = _M.def(o.xoff) ? o.xoff : 0;
	this.yOffset = _M.def(o.yoff) ? o.yoff : 0;
	this.XperY = _M.def(o.xy) ? o.xy : 1.2;
	//this.moving = true;
	this.timer = null;
	
	var that = this;
	
	this.move = function(){
		var sz = _M.browser();
		var bWidth = sz.w;
		var bHeight = sz.h;
		var xScroll = sz.hs;
		var yScroll = sz.vs;
		
		that.xOffset += parseInt(that.XperY * that.speed * that.pace);
		that.yOffset += parseInt(that.speed * that.pace);
		
		if (that.xOffset - xScroll <= 0){
			that.xOffset = xScroll;
			that.goX = -1 * that.goX;
		}else if (that.xOffset - xScroll + that.width >= bWidth){
			that.xOffset = xScroll + bWidth - that.width;
			that.goX = -1 * that.goX;
		}
		
		if (that.yOffset - yScroll <= 0){
			that.yOffset = yScroll;
			that.goY = -1 * that.goY;
		}else if (that.yOffset - yScroll + that.height >= bHeight){
			that.yOffset = yScroll + bHeight - that.height;
			that.goY = -1 * that.goY;
		}
		
		_M.$(that.target).style.left = that.xOffset + 'px';
		_M.$(that.target).style.top = that.yOffset + 'px';
	}
	
	this.start = function(){that.timer = setInterval(that.move, 100);}
	
	this._switch = function(){if(that.timer) clearInterval(that.timer);else that.timer = setInterval(that.move, 100);}
}


function setFMwhidth(filmMove){
		var objFM = _M.$(filmMove);
		var objLi = objFM. _M.tag("li",objFM);
		var intLen = objLi.length;
		alert(intLen);
	}


