﻿//window.onerror=function stopError() { return true;}
(function(){var dn=document.domain;if(dn.indexOf('souying123')!=-1)window.location=(''+window.location).replace(dn,'www.zzvcd.net');})();
var siteDir="/";
var isIE=navigator.appName.indexOf("Explorer") > -1;
Object.extend=function(destination,source){for(property in source){destination[property]=source[property];}return destination;};

Object.extend(Array.prototype,{
	unique:function(){var a={};for(var i=0;i<this.length;i++){if(typeof a[this[i]]=="undefined")a[this[i]]=1;}this.length=0;for(var i in a)this[this.length]=i;return this;},
	remove:function(obj){
		if(this.length==0)return false;
		var index=-1;for(var i=0;i<this.length;i++){if(this[i]==obj){index=i;break;}}for(var i=index;i<this.length;i++){this[i]=this[i+1];}this.length--;return this;
	},
	indexOf:function(o){for(var i=0;i<this.length;i++)if(this[i]==o)return i;return-1;},
	clear:function(){this.length=0;return this;},
	first:function(){return this[0];},
	last:function(){return this[this.length-1];},
	clone:function(){return this.slice();},
	each:function(iterator){
		var index=0;try{this._each(function(value){try{iterator(value,index++)}catch(e){if(e!=$continue)throw e;}})}catch(e){if(e!=$break)throw e;}
	},
	map:function(iterator){var results=[];this.each(function(value,index){results.push(iterator(value,index))});return results},
	_each:function(iterator){for(var i=0;i<this.length;i++)iterator(this[i])},
	iterate:function(func){for(var i=0;i<this.length;i++) func(this[i], i);},
	toArray:function(){return this.map();}
});

Object.extend(String.prototype,{
	left:function(num){if(!/\d+/.test(num))return(this);return this.substr(0,num);},
	strleft:function(num){if(!/\d+/.test(num))return(this);var str=this.replace(/([^\x00-\xff])/g,"\x00$1");if (str.length<=num)return(this);return str.substring(0,num).replace(/\x00/g,'')},
	left:function(num){if(!/\d+/.test(num))return(this);return this.substr(0,num);},
	right:function(num){if(!/\d+/.test(num))return(this);return this.substr(this.length-num);},
	trim:function(){return this.replace(/(^\s*)|(\s*$)/g,"");},
	isNum:function(){return /^[0-9]*$/.test(this)},
	clearHtml:function(){var str = this.replace(/<\/?[^>]*>/g,'');str = str.replace(/[ | ]*\n/g,'\n');return str.replace(/\n[\s| | ]*\r/g,'\n');},
	len:function(){return this.replace(/[^\x00-\xff]/g,'**').length;},
	ucase:function(){return this.toUpperCase();},
	lcase:function(){return this.toLowerCase();},
	urlEncode:function() { var str = this; str = str.replace(/./g,function(sHex) { 
				window.EnCodeStr = ""; 
				window.sHex = sHex; 
				window.execScript('window.EnCodeStr=Hex(Asc(window.sHex))',"vbscript"); 
				return window.EnCodeStr.replace(/../g,"%$&"); 
			}); 
		return str; 
	} 
});

var $break=new Object();var $continue=new Object();

Object.extend(Function.prototype,{
	bind:function(object){
		var __method=this;
		return function(){
			__method.apply(object,arguments)
		}
	},
	bindAsEventListener:function(object){
		var __method=this;
		return function(event){
			__method.call(object,event||window.event)
		}
	}
});

if(!window.Element){var Element=new Object()};
Object.extend(Element,{
	visible: function(element) {
		return $(element).style.display != 'none';
	},
	toggle: function() {
		for (var i = 0; i < arguments.length; i++) {
			var element = $(arguments[i]);
			Element[Element.visible(element) ? 'hide' : 'show'](element);
		}
	},
	swap: function() {
		this.toggle(arguments);
	},
	hide: function() {
		for (var i = 0; i < arguments.length; i++) {
			var element = $(arguments[i]);
			element.style.display = 'none';
		}
	},
	show: function() {
		for (var i = 0; i < arguments.length; i++) {
			var element = $(arguments[i]);
			element.style.display = '';
		}
	},
	append: function(element,html,obj){
		element = $(element);
		var o=obj || element.parentNode;
		html=html || element.innerHTML;
		this.create(element.tagName,{
				className:element.className,
				innerHTML:html
			},
			element.parentNode
		);
	},
	remove: function(element) {
		element = $(element);
		element.parentNode.removeChild(element);
	},
	update: function(element, html) {
		$(element).innerHTML = html;
	},
	setStyle: function(element, style) {
		element = $(element);
		for (name in style) element.style[name.camelize()] = style[name];
	},
	getHeight: function(element) {
		element = $(element);
		return element.offsetHeight;
	},
	getPos: function(e) {
		e=$(e)||Event.element();
		var x = e.offsetLeft;var y = e.offsetTop;
		while (e = e.offsetParent) {x += e.offsetLeft;y += e.offsetTop;}
		return {x: x,y: y}
	},
	create: function(tagName, intObject, obj) {
		obj=$(obj);
		intObject = intObject || {};
		var newTag = document.createElement(tagName);
		for (var i in intObject) {
			if (i == "style") newTag.style.cssText = intObject[i];
			else newTag[i] = intObject[i];
		}
		if(obj) {
			if (arguments[3]){
				obj.insertBefore(newTag, obj.firstChild); 
			}else{
				obj.appendChild(newTag);
			}
		} 
		return newTag;
	}
});
var Class=function(){
	var _class=function(){
		this.initialize.apply(this,arguments)
	};
	for(i=0;i<arguments.length;i++){
		superClass=arguments[i];
		for(member in superClass.prototype){
			_class.prototype[member]=superClass.prototype[member]
		}
	};
	_class.child=function(){
		return new Class(this)
	};
	_class.extend=function(f){
		for(property in f){
			_class.prototype[property]=f[property]
		}
	};
	return _class
};

function $(obj){return typeof obj=="string"?document.getElementById(obj):obj;}
function $E(){return Event.get();}
function $N(obj){return document.getElementsByName(obj)}
function $defined(_var) {return typeof _var == 'undefined' ? false : true;}
function getEvent(){
	if(document.all) return window.event;
	func=getEvent.caller;
	while(func!=null){
		var arg=func.arguments[0];
		if(arg){if(arg.constructor==Event) return arg;}
		func=func.caller;
	}
	return null;
}
function _attachEvent(ele,event,func){
	if (typeof ele=='object') {
		for (var i=0; i<ele.length; i++){
			Event.add(ele[i],event,func);
		}
	}else{
		Event.observe(ele,event,func,false);
	}
}
function randNum(len){
	return Math.round(Math.random()*len)
}
function checkform(form){
	var value=form.keyword.value;
	value=value.replace('输入影片或演员名','');
	form.action="http://search.vkeke.com/";
	if (value.length<2){
		alert('关键词长度太短，至少需要输入2个字符');
		form.keyword.focus();
		return false;
	}
}
function loadXML(xmlFile){
	var xmlDoc;
	if(window.ActiveXObject) {
		xmlDoc = new ActiveXObject('Microsoft.XMLDOM'); 
		xmlDoc.async = false;
		xmlDoc.load(xmlFile);
	}else if (document.implementation && document.implementation.createDocument) { 
		xmlDoc = document.implementation.createDocument('', '', null);
		xmlDoc.async = false;
		xmlDoc.load(xmlFile); 
	}else {
		return null; 
	}
	return xmlDoc; 
}
if(!document.all){
	Node.prototype.selectNodes=function(xPath){
		var xresult=this.evaluate(xPath,this,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);
		var nod=null,nods=[],k=0;
		while((nod=xresult.iterateNext())!=null){
			nods[k++]=nod;
		}
		return nods;
	}
	Node.prototype.__defineGetter__("xml",function(){return (new XMLSerializer).serializeToString(this);});
}
function addFav(title,links){
	if (!title) title=''+document.title;
	if (!links) links=''+window.location;
	if (isIE){
		window.external.addFavorite(links,title)
	}else{
		try{
			window.sidebar.addPanel(title, links, "");
		}catch(x){
			alert('未知浏览器，无法收藏')
		}
	}
}
function formQuery(f){
	var formData = "", elem = "", f = $(f);
	var elements = f.elements;
	var length = elements.length;
	for (var s = 0; s < length; ++s) {
		elem = elements[s];
		if (elem.tagName == 'INPUT') {
			if ( (elem.type == 'radio' || elem.type == 'checkbox' || !elem.name) && !elem.checked) {
				continue;
			}
		}
		if (formData != "") {
			formData += "&";
		}
		formData += escape(elem.name||elem.id) + "=" + escape(elem.value);
	}
	return formData;
}

function jumpPage(url,page,pagecount){
	var pn=parseInt(page);
	if(/^[0-9]*[1-9][0-9]*/g.test(pn)){
		if (pn>pagecount) pn=pagecount;
		if (pn<1) pn=1
		location.href=url.replace(/\{page\}/g,pn);
	}
}

function getQuerys(){
	var _p1 = {};
	var _p2 = location.href.match(/[^\s&?=\/#]+=[^\s&?=\/#]+/g);
	if(_p2){
		for(var i = 0, l = _p2.length; i < l; i++){
			var n = _p2[i].split("=");
			_p1[n[0]] = n[1];
		};
	}
	return _p1;
}

var Cookies={set:function(sName,sValue,expireHours){var cookieString=sName+"="+escape(sValue);if(expireHours>0){var date=new Date();date.setTime(date.getTime()+expireHours*3600*1000);cookieString+="; expires="+date.toGMTString()}if(arguments[3])cookieString+="; path="+arguments[3];document.cookie=cookieString},get:function(sName){var aCookie=document.cookie.split("; ");for(var j=0;j<aCookie.length;j++){var aCrumb=aCookie[j].split("=");if(escape(sName)==aCrumb[0]&&aCrumb[1])return aCrumb[1]}return null},clear:function(sName){var date=new Date();date.setTime(date.getTime()-10000);document.cookie=sName+"=''; expires="+date.toGMTString()}}

function copy(){
	if (typeof arguments[0]=='string'){
		var txt=arguments[0];
	}else{
		var txt=''
	}
	if(window.clipboardData) { 
		window.clipboardData.clearData(); 
		window.clipboardData.setData("Text",txt);
	} else if(navigator.userAgent.indexOf("Opera")!= -1) { 
		window.location = txt; 
	} else if (window.netscape) { 
		try { 
			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 
		} catch (e) { 
			alert("您的firefox安全限制限制您进行剪贴板操作，请打开'about:config'将signed.applets.codebase_principal_support'设置为true'之后重试"); 
			return false; 
		} 
		var clip = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard); 
		if (!clip) return; 
		var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable); 
		if (!trans) return; 
		trans.addDataFlavor('text/unicode'); 
		var str = new Object(); 
		var len = new Object(); 
		var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); 
		var copytext = txt; 
		str.data = copytext; 
		trans.setTransferData("text/unicode",str,copytext.length*2); 
		var clipid = Components.interfaces.nsIClipboard; 
		if (!clip) return false; 
		clip.setData(trans,null,clipid.kGlobalClipboard); 
	}
	return true;
}
function Tabs(menus,divs,openClass,closeClass){
	var args=arguments;
	this.menus=args[0];
	this.divs=args[1];
	this.openClass=args[2]||'active';
	this.closeClass=args[3]||'';
	this.build();
}
Tabs.prototype = {
	build : function(){
		var _this = this;
		var menus=this.menus;
		var divs=this.divs;
		if(menus.length != divs.length){
			return false;
		}
		for(var i = 0 ; i < menus.length ; i++){
			$(menus[i]).value = i;
			$(menus[i]).onmouseover = function(){
				for(var j = 0 ; j < menus.length ; j++){
					$(menus[j]).className = _this.closeClass;
					$(divs[j]).style.display = "none";
				}
				$(menus[this.value]).className = _this.openClass;	
				$(divs[this.value]).style.display = "block";				
			}
		}
	}
}

function addTabs(tabBox,tabMenuId,tabDivId){
	var tabNum=$(tabBox).childNodes.length-1;
	var tabMenu=[],tabDiv=[];
	for (var i=1; i<=tabNum; i++){
		tabMenu.push(tabMenuId+i);
		tabDiv.push(tabDivId+i);
	}
	new Tabs(tabMenu,tabDiv)
}

var Pic={
	preview:function(img){
		var image=new Image();
		image.src=img.src;
		var _width=arguments[1] || 300;
		var _height=arguments[2] || 250;
		img.onerror=function(){
			img.width=_width;
			img.height=30;
			img.alt="请选择正确的图片文件";
			return false;
		}
		if(image.width>0 && image.height>0){
			var rate = (_width/image.width < _height/image.height)?_width/image.width:_height/image.height;
			if(rate <= 1){
				img.width = image.width*rate;
				img.height =image.height*rate;
			}else{
				img.width = image.width;
				img.height =image.height;
			}
		}
	}
}

function Ajax(url,args){
	if (!url || !args) return;
	this.url = url || '';
	this.params = args.params || args.pars || '';
	this.containers = args.obj || '';
	this.mime = args.mime || 'text/html';
	this.evalScripts=args.evalScripts || false;
	this.onComplete=args.onComplete || this.defaultOnCompleteFunc;
	this.onLoading= args.onLoading || this.defaultOnLoadingFunc;
	this.onError = args.onError || this.defaultOnErrorFunc;
	this.method = args.method || 'get';
	if (typeof(args.sync) == 'undefined' || args.sync == null) { 
		this.sync = true;
	} else {
		this.sync = args.sync ? true : false; 
	}
	this.loadData();
}
Ajax.prototype={
	READY_STATE_COMPLETE : 4,
	getRequest : function () {
		var funcs = [
			function() {return new ActiveXObject('Msxml2.XMLHTTP')},
			function() {return new ActiveXObject('Microsoft.XMLHTTP')},
			function() {return new XMLHttpRequest()}
		];
		var req = null;
		for (var i = 0; i < funcs.length; i++) {
			var f = funcs[i];
			try {
				req = f();
				break;
			} catch (e) {}
		}
		return req || false;
	},
	escapeParams : function() {
		if (!this.params || typeof this.params!='string') return false;
		var arr=this.params.split("&");
		for (var i=0;i<arr.length;i++){
			var arrtmp=arr[i].split("=");
			arr[i]=arrtmp[0]+'='+escape(arrtmp[1]||'');
		}
		return this.url+=this.url.indexOf("?")!=-1?"&":"?"+arr.join("&");
	},
	parseParams : function () {
		if (typeof (this.params) == "string") {
			return this.params;
		} else {
			return formQuery(this.params);
		}
	},
	updateContent: function() {
		var receiver = $(this.containers);
		var response = this.req.responseText;
		if (receiver) receiver.innerHTML = response;
		if (this.onComplete) { this.onComplete(arguments[0],arguments[1]) }
	},
	loadData : function () {
		this.req = this.getRequest();
		if (this.req) {
			this.onLoading();
			try {
				var loader = this;
				this.req.onreadystatechange = function () {
					if (loader.req.readyState == loader.READY_STATE_COMPLETE) {
						loader.updateContent.call(loader,loader.req);
					}
				}
				this.req.open(this.method, this.url, this.sync);
				if (this.method == "post") {
					this.req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
				}
				if (this.req.overrideMimeType) {
					this.req.overrideMimeType(this.mime);
				}
				this.req.send(this.method == "post" ? this.parseParams() : this.escapeParams());
			} catch (e) {
				this.onError.call(this, e);
			}
		}
	},
	defaultOnCompleteFunc : function () {},
	defaultOnLoadingFunc : function () {},
	defaultOnErrorFunc : function (error) {}
}
function easyAjax(url,obj){
	new Ajax(url,{
		obj:obj,
		evalScripts:arguments[2]?true:false
	})
}
