// JavaScript Document
//based on jQuery
if ( typeof jQuery == "undefined" )
{
	alert('jQuery is not found!');
}
var JQ = jQuery;
var dir_ws_plugin = 'js/jssrc';
function time(){return +new Date;}
function pamstime(){
	//alert(typeof(pams_time))
	if(pams_time==undefined){
		 var pams_time = time();
	}else{
		 var pams_time = pams_time;
	}
	//alert(pams_time);
	return pams_time;
}
function include(fileName)
{
	//JQ('head').append('<scr'+'ipt type="text/javascript" src="'+fileName+'?_='+pamstime()+'"></scr'+'ipt>');
	jQuery.ajax({url: fileName+'?_='+pamstime(),async: false,dataType: "script",cache:true});
}
function require(fileName)
{
	 echo('<scr'+'ipt type="text/javascript" src="'+fileName+'?_='+pamstime()+'"></scr'+'ipt>');
}

function include_once(sFileName)
{
	var loadedScripts = document.getElementsByTagName('script');
	for (var i = 0; i < loadedScripts.length; i++) {
		if (loadedScripts[i].src && loadedScripts[i].src.indexOf(sFileName) == 0)
			return;
	}
	return include(sFileName);
}
function echo(s) 
{
	return document.write(s);
}
function isEmpty(s) 
{
	return  (s == null || s == undefined || s == '' || s == 0) ? true: false;
}
// -- array_diff => 返回一个 arr1 和 arr2 中不重复的数组
function array_diff(arr1, arr2) {
    var arr = new Array() ;
    for (var i = 0; i <arr1.length; i++)  {
        if (JQ.inArray(arr1[i], arr2)==-1) arr.push(arr1[i]);
    }
    return arr;
}

// -- array_unique => 返回一个没有重复值的数组
function array_unique(arr) {
    var ret = new Array() ;
    for (var i = 0; i <arr.length; i++) {
        if (JQ.inArray(arr[i], ret)==-1) ret.push(arr[i]) ;
    }
    return ret;
}

// -- array_keys => 返回一个所有键名数组
function array_keys(arr) {
    var ret = new Array() ;
    for (var i = 0; i <arr.length; i++) {
        ret.push(i);
    }
    return ret;
}

// -- array_values => 返回一个所有值的数组
function aray_values(arr) {
    var ret = new Array() ;
    for (var i = 0; i <arr.length; i++) {
        ret.push(arr[i]);
    }
    return ret;
}
function substr( str, start, len ) {
	if ( str==null || str=="" ) return "";
	 len = len || str.length;
	var buf = new String( str );
	return buf.substr( start, len );
}
//url
function urlencode(sStr) 
{
    return encodeURIComponent(sStr);
}
function urldecode(sStr) 
{
    return decodeURIComponent(sStr);
}
function number_format(number, decimals, dec_point, thousands_sep){
		var n = number, prec = decimals;
	 
		var toFixedFix = function (n,prec) {
			var k = Math.pow(10,prec);
			return (Math.round(n*k)/k).toString();
		}; 
		n = !isFinite(+n) ? 0 : +n;
		prec = !isFinite(+prec) ? 0 : Math.abs(prec);
		var sep = (typeof thousands_sep === 'undefined') ? '' : thousands_sep;
		var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
	 
		var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
	 
		var abs = toFixedFix(Math.abs(n), prec);
		var _, i;
	 
		if (abs >= 1000) {
			_ = abs.split(/\D/);
			i = _[0].length % 4 || 4;
	 
			_[0] = s.slice(0,i + (n < 0)) +
				  _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
			s = _.join(dec);
		} else {
			s = s.replace('.', dec);
		}
	 
		var decPos = s.indexOf(dec);
		if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
			s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
		}
		else if (prec >= 1 && decPos === -1) {
			s += dec+new Array(prec).join(0)+'0';
		}
		return s;
}
