﻿Function.prototype.method = function(name, fn) {
	this.prototype[name] = fn;
	return this;
};

(function(){

    var DomReady = window.DomReady = {}, userAgent = navigator.userAgent.toLowerCase(), browser = {
    	version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1],
    	safari: /webkit/.test(userAgent),
    	opera: /opera/.test(userAgent),
    	msie: (/msie/.test(userAgent)) && (!/opera/.test( userAgent )),
    	mozilla: (/mozilla/.test(userAgent)) && (!/(compatible|webkit)/.test(userAgent))
    }, readyBound = false, isReady = false, readyList = [];

	function domReady() {
		if(!isReady) {
			isReady = true;
	        if(readyList) {
	            for(var fn = 0; fn < readyList.length; fn++) {
	                readyList[fn].call(window, []);
	            }
            
	            readyList = [];
	        }
		}
	};

	function addLoadEvent(func) {
	  var oldonload = window.onload;
	  if (typeof window.onload != 'function') {
	    window.onload = func;
	  } else {
	    window.onload = function() {
	      if (oldonload) {
	        oldonload();
	      }
	      func();
	    }
	  }
	};

	function bindReady() {
		if(readyBound) {
		    return;
	    }
		readyBound = true;
		if (document.addEventListener && !browser.opera) {
			document.addEventListener("DOMContentLoaded", domReady, false);
		}

		if (browser.msie && window == top) (function(){
			if (isReady) return;
			try {
				document.documentElement.doScroll("left");
			} catch(error) {
				setTimeout(arguments.callee, 0);
				return;
			}
		    domReady();
		})();

		if(browser.opera) {
			document.addEventListener( "DOMContentLoaded", function () {
				if (isReady) return;
				for (var i = 0; i < document.styleSheets.length; i++)
					if (document.styleSheets[i].disabled) {
						setTimeout( arguments.callee, 0 );
						return;
					}
	            domReady();
			}, false);
		}

		if(browser.safari) {
		    var numStyles;
			(function(){
				if (isReady) return;
				if (document.readyState != "loaded" && document.readyState != "complete") {
					setTimeout( arguments.callee, 0 );
					return;
				}
				if (numStyles === undefined) {
	                var links = document.getElementsByTagName("link");
	                for (var i=0; i < links.length; i++) {
	                	if(links[i].getAttribute('rel') == 'stylesheet') {
	                	    numStyles++;
	                	}
	                }
	                var styles = document.getElementsByTagName("style");
	                numStyles += styles.length;
				}
				if (document.styleSheets.length != numStyles) {
					setTimeout( arguments.callee, 0 );
					return;
				}
				domReady();
			})();
		}
	    addLoadEvent(domReady);
	};

	DomReady.ready = function(fn, args) {
		bindReady();
		if (isReady) {
			fn.call(window, []);
	    } else {
	        readyList.push( function() { return fn.call(window, []); } );
	    }
	};
    bindReady();
})();

(function() { // add or remove event
	window.addEvent = function(element, type, handler) {
	    if (!handler.$$guid) handler.$$guid = addEvent.guid++;
	    if (!element.events) element.events = {};
	    var handlers = element.events[type];
	    if (!handlers) {
	        handlers = element.events[type] = {};
	        if (element["on" + type]) {
	            handlers[0] = element["on" + type];
	        }
	    }
	    handlers[handler.$$guid] = handler;
	    element["on" + type] = handleEvent;
	};
	
	window.removeEvent = function(element, type, handler) {
	    if (element.events && element.events[type]) {
	        delete element.events[type][handler.$$guid];
	    }
	};
	
	addEvent.guid = 1;
	function handleEvent(event) {
	    var returnValue = true;
	    event = event || fixEvent(window.event);
	    var handlers = this.events[event.type];
	    for (var i in handlers) {
	        this.$$handleEvent = handlers[i];
	        if (this.$$handleEvent(event) === false) {
	            returnValue = false;
	        }
	    }
	    return returnValue;
	};
	function fixEvent(event) {
	    event.preventDefault = function() {
		    this.returnValue = false;
		};
	    event.stopPropagation = function() {
		    this.cancelBubble = true;
		};
	    return event;
	};
})();

(function(){
	function _$() {  //  getElements
		var _a = arguments[0][0],
			_b = !!arguments[0][1] ? arguments[0][1] : "*",
			_c = !!arguments[0][2] ? arguments[0][2] : document,
			_t = _a.substr(0, 1), 
			_r = [], 
			_s = _a.substr(1), 
			_w = _b || document, 
			_f = {
				"#" : function() {
					var __id = document.getElementById(_s);
					if(!!__id) {
						_r.push(__id);
					}
				},
				"-" : function() {
					_r = document.getElementsByName(_s);
				},
				"." : function() {
					var _es = _c.getElementsByTagName(_b),
						_reg = new RegExp("(^|\\s)" + _s + "(\\s|$)");
					for(var i = _es.length - 1; i >= 0; i--) {
						if(_es[i] && _reg.test(_es[i].className)) _r.push(_es[i]);
					}
				},
				"d" : function() {
					_r = _w.getElementsByTagName(_a);
				}
			};
		if(!!_f[_t]) {
			_f[_t]();
		}
		else {
			_f["d"]();
		}
		this.elements = _r;
	}	
	
	_$.method("each", function(fn){  //  each function
		for(var i = this.elements.length - 1; i >= 0; i--) {
			fn.call(this, this.elements[i]);
		}
		return this;
	}).method("add", function(type, fn){  //  addEvent
		this.each(function(el){
			addEvent(el, type, fn);
		});
		return this;
	});
	
	window.hammy = function() {
		return new _$(arguments);
	};
}());

(function(){    // set cookie
	var msWarningUserId;
	function checkWarning(asWrapperId, asUserId){	
		msWarningUserId = myuserid ;
		var loCookie = xCookie(), leWrapperNode = document.getElementById(asWrapperId), lsVal = loCookie.get("msgwrn");
		if(lsVal != msWarningUserId)
			leWrapperNode.style.display = "block";
		else
			leWrapperNode.style.display = "none";
	}
	
	function xCookie(){
		var loP={};
		loP.set=function(asName, asValue, aiDay, asDomain){
			var lsexpir = ""; 
			if (aiDay){ 
				var lodate = new Date(), lomac = new Date(0), liskew = lomac.getTime();
				if (liskew > 0)lodate.setTime(lodate.getTime() - liskew);
				lodate.setTime(lodate.getTime()+(aiDay*24*60*60*1000));
				lsexpir = "; expires="+lodate.toGMTString();	  
			} 
			document.cookie = asName+"="+asValue + lsexpir+";domain="+asDomain+";path=/";
		}
		loP.get=function(asName){
			var nameEQ = asName + "="; 
			var ca = document.cookie.split(';'); 
			for(var i=0;i < ca.length;i++) { 
				var c = ca[i]; 
				while (c.charAt(0)==' ') c = c.substring(1,c.length); 
				if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
			}
			return null; 
		}
		return loP;
	}
	window.closeWarning = function(aeNode){
		xCookie().set("msgwrn", msWarningUserId, 7, ".9911.com");
		document.getElementById("notify").style.display = "none";	
	}
})();

(function() {
	window.operation = {
		
		video : function() {
			hammy("#video").add("click", function(){
				masker.config.title = '<img src="http://xfiles.cdnmyspace.cn/dir/9911/v2/img/icon.png" style="margin-top:-20px;margin-right:-11px;float:left;overflow:hidden;font-size:12px;font-weight:nomal" />贴视频/音乐';
				masker.config.inner = '<div style="color:#f60;font-size:14px;font-weight:nomal;line-height:20px;padding-left:26px">将视频，或.mp3结尾的音乐文件地址贴入发布框，9911可以自动播放哦！</div>'+
									  '<div style="color:#666;font-size:12px;line-height:22px;padding-left:26px;padding-top:10px;"><b>支持的视频网站链接</b><br />youku.com <span style="color:#ccc">|</span> tudou.com <span style="color:#ccc">|</span> ku6.com <span style="color:#ccc">|</span> 6.cn <br /> sina视频 <span style="color:#ccc">|</span> sohu视频</div>' +
									  '<div><a class="maskerButton" style="float:none;text-align:center;margin:10px auto 0" onclick="return masker.close();" href="javascript:void(0)">关闭窗口</a></div>';
				masker.init();
			});
		},
		upload : function() {
			
			hammy("#image_file").add("change", function(){
				var _tValue = this.value;
				_tValue = _tValue.substr(this.value.length - 4, 4).toLowerCase(); 
				if(_tValue == ".jpg" || _tValue == ".gif" || _tValue == ".png" || _tValue == "jpeg" || _tValue == ".bmp"){
					var fm = hammy("#sqliuUpload").elements[0];
					if(!fm) {
						fm = document.createElement("form");
						fm.name = fm.id = "sqliuUpload";
						document.body.appendChild(fm);
						fm.target = "uploadFrame";
						fm.style.cssText = "display:none";
						fm.enctype = "multipart/form-data";
						try {
							sqliuUpload.encoding = "multipart/form-data";
						}
						catch(e) {}
						fm.method = "post";
						fm.action = myurl;
					}
					fm.innerHTML = "";
					document.body.appendChild(fm);
					masker._config._quirks = true;
					var div = document.createElement("div");
					div.style.cssText = "text-align:center;width:398px;height:40px;background:white;padding-top:18px;font-size:14px;font-weight:bold;color:#666;border:1px solid #ccc";
					div.innerHTML = '<img src="http://xfiles.cdnmyspace.cn/dir/9911/v2/img/loading.gif" align="absmiddle" style="margin-right:10px" />请稍候，图片上传中……';
					masker.config.inner = div;
					masker.init();
					masker._config._innerParent = maskerUtil.$(".masker")[0];
					window.uploadInput = hammy("#image_file").elements[0];
					window.cookieNode = hammy("#cookie").elements[0];
					fm.appendChild(uploadInput);
					fm.appendChild(cookieNode);
					try {
						fm.submit();
					}
					catch(e) {
						alert("初始化图片上传功能失败: "+e);
					}
				}
				else {
					if(window.location.href.indexOf("picture.php") < 0) {
						_prw = document.getElementById("preview");
						_prw.innerHTML = '<span onclick="dropImage();" style="border: 1px solid rgb(219, 219, 219); background: rgb(255, 245, 222) url(http://xfiles.cdnmyspace.cn/dir/9911/v2/img/sicon.png) no-repeat scroll 5px -25px; width: 325px; color: rgb(51, 51, 51); font-size: 12px;cursor: pointer; height: 24px; line-height: 24px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;图片格式不正确&nbsp;&nbsp;&nbsp;</span>'
						_prw.style.display = "";
					}
				}
			});
			
		},
		search : function() {
			hammy("#searchBtn").add("click", function(){
				var keyword = hammy("#keyword").elements[0].value;
				if(keyword.indexOf("输入关键词") >= 0) {
					return false;
				}
				else {
					window.location.href = "/search.php?k=" + keyword;
				}
			});
		},
		searchEnd : function(xml) {
			if (window.location.href.indexOf("picture.php") < 0) {
				var __upload = document.getElementById("upload"), _parent = __upload.parentNode;
				_parent.insertBefore(uploadInput, __upload);
				_parent.appendChild(cookieNode);
			}
			masker.close();
			hammy("#save_set_header").each(function(el){
				el.style.display = "block";
			});
			window.imgDfs = xml;
		},
		fold : function() {
			hammy(".rTitle").each(function(el){ 
				el.setAttribute("fold", "0");
				el.setAttribute("dy", el.style.display);
			}).add("click", function(){
				var _f = this.getAttribute("fold"), _p = this, _pn = _p.nextSibling;
				var leTrigger = uGetbyClass("fold",this,"a")[0];
				
				
				while(!_pn.tagName) {
					_pn = _pn.nextSibling;
				}
				if(_f == "0") {
					leTrigger.style.backgroundPosition = "0 -22px";
					_pn.style.display = "none";
					this.setAttribute("fold", "1");
				}
				else {
					leTrigger.style.backgroundPosition = "0 0";
					_pn.style.display = this.getAttribute("dy");
					this.setAttribute("fold", "0");
				}
			});
		}
	};
})();

DomReady.ready(function() {
	hammy(".sql_cldw", "div").add("mouseover", function(){
		this.style.background = '#ededed';
		hammy(".sql_cldo", "div", this).each(function(el){
			el.style.display = "block";
		});
	}).add("mouseout", function(){
		this.style.background = '';
		hammy(".sql_cldo", "div", this).each(function(el) {
			//el.style.display = 'none';
		});
	});
});

function uGetbyClass(asClass, aeP, asTag){
	var lxNew = [];
	asClass = asClass == null ? "" : asClass;
	aeP = aeP == null ? document : aeP;
	asTag = asTag == null ? "*" : asTag;
	
	var lxTag = aeP.getElementsByTagName(asTag);
	var pattern = new RegExp("(^|\s)" + asClass + "(\s|$)");
	for (var i = 0; i < lxTag.length; i++) {
		if ((" " + lxTag[i].className + " ").indexOf(" " + asClass + " ") != -1) {
			lxNew.push(lxTag[i]);
		}
	}
	return lxNew;
}

function seePrivacyMsgDetail(aeNode,asId,aiType,aiIsSystem){
	aiIsSystem = aiIsSystem || 0;
	var req = new Request({
		url: "do_oscar.php",
		method:'post', 
		headers: {'X-Request': 'JSON'},
		onSuccess: function(responseText) {
			var loData = JSON.decode(responseText);
			var newNode = new Element("div",{
				"html":loData.body
			});
			newNode.inject($(aeNode),"after");
			aeNode.style.display="none";		
			var leSpan = $(aeNode).getPrevious();
			if(leSpan&&leSpan.tagName.toLowerCase()=="span"){
				leSpan.style.display="none";
			}
			
		}
	}).send(JSON.encode(["getmsg",asId,aiType,aiIsSystem]));
}






