﻿var zivUtils = true;
var undefined;
//创建 this object 代理
/*
 * @param	thisObj:Object			   函数执行时的 this 对象
 * @param	fun:Function				 函数
 *
 * @return	Function
 */
function createDelegate(thisObj, fun){
	var $_f = function(){
		var target = arguments.callee._$_target;
		var func = arguments.callee._$_func;
		var usrarg = [].concat(arguments.callee._$_args);
		for(i=2;i<arguments.length;i++){
			usrarg.push(arguments[i]);
		}
		return func.apply(target, usrarg);
	};
	$_f._$_target = thisObj;
	$_f._$_func = fun;
	$_f._$_args = [];
	for(i=2;i<arguments.length;i++){
		$_f._$_args.push(arguments[i]);
	}
	return $_f;
}

//获取页面滚动值
function getScrollPoint(){
	if (typeof window.pageYOffset != 'undefined') {
		return {y:window.pageYOffset, x:window.pageXOffset};
	}else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') {
		return {y:document.documentElement.scrollTop, x:document.documentElement.scrollLeft};
	}else if (typeof document.body != 'undefined') {
		return {y:document.body.scrollTop, x:document.body.scrollLeft};
	}
};
//
//获取窗口大小
function getWinSize(){
	if(typeof(window.innerWidth) == 'number') {
		return {width:window.innerWidth, height:window.innerHeight};
	}else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
		return {width:document.documentElement.clientWidth, height:document.documentElement.clientHeight};
	}else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
		return {width:document.body.clientWidth, height:document.body.clientHeight};
	}
};
//
//获取页面大小
function getPageSize(){
	if(document.documentElement&&(document.documentElement.scrollHeight||document.documentElement.offsetHeight)){
		if(document.documentElement.scrollHeight>document.documentElement.offsetHeight){
			return {width:document.documentElement.scrollWidth, height:document.documentElement.scrollHeight};
		}else{
			return {width:document.documentElement.offsetWidth, height:document.documentElement.offsetHeight};
		}
	}else if(document.body&&(document.body.scrollHeight||document.body.offsetHeight)){
		if(document.body.scrollHeight>document.body.offsetHeight){
			return {width:document.body.scrollWidth, height:document.body.scrollHeight};
		}else{
			return {width:document.body.offsetWidth, height:document.body.offsetHeight};
		}
	}else{
		return getWinSize();
	}
}
/*
 * 修正 IE6 PNG透明度问题
 */
function fixPNG(trgDiv, png){
	var trg=trgDiv instanceof jQuery?trgDiv:$(trgDiv);
	var filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"PNG\", sizingMethod=\"scale\")";
	if(trg[0].nodeName.toLowerCase() == "img"){
		var id = "fixPNG_"+Math.floor(Math.random()*9999);
		filter="background:none;filter:"+filter.replace(/PNG/, Boolean(png)?png:trg.attr("src"));
		trg.replaceWith("<div id='"+id+"' style='display:inline-block;margin:0;padding:0;border:0;width:"+trg.attr("width")+"px;height:"+trg.attr("height")+"px;"+filter+"'></div>")
		trg = $("#"+id);
	}else{
		filter = filter.replace(/PNG/, png!=undefined?png:trg.css("background-image").replace(/url\("(.+)"\)/, "$1"));
		trg.css("background", "none").css("filter", filter);
	}
	return trg;
}