/*
##############################################################################
GLOBAL FUNCTONS
##############################################################################
*//**
 *通过Id获取dom对象
 */function $(id){
return document.getElementById(id);
}/**
 *将获取的json字符串转换成json对象 
 */function $parseJson(str){
    try{
eval('var obj='+str);
return obj;
}catch(e){
return null;
}
}/**
 *将数组内容转换成字符串
 */function $ArrayToString(arr)
{
    var separator = ",";//separator为分隔符
for(var i=0;i<arr.length;i++){
arr[i]=$toJsonString(arr[i]);
}
    return arr.join(separator); 
}/**
 *将json对象转换成字符串 
 */function $toJsonString(obj){
var isArray = obj instanceof Array;
var r = [];
for(var i in obj){
var value = obj[i];
if(typeof value == 'string'){
value = '"' + value + '"';
}else if(value != null && typeof value == 'object'){
value = $toJsonString(value);
}
r.push((isArray?'':i+':')+value);
}
if(isArray){
return '['+r.join(',')+']';
}else{
return '{'+r.join(',')+'}';
}
}function $copy(obj){
var o = {};
for(var i in obj) o[i] = obj[i];
return o;
}/**
 *获取url地址上面的参数 
 */function $getRequestObject(){
var s = window.location.search.replace('?', '');
var params = s.split('&');
var request = {};
for(var i=0; i<params.length; i++){
var v = params[i].split('=');
request[v[0]] = v[1];
}
return request;
}/**
 *改变dom结点的显示内容
 */function $setInnerText(container,txt){
if(typeof(txt)=="undefined")
txt="";
if(container.childNodes[0] == null) {
container.appendChild(document.createTextNode(String(txt)));
} else {
container.childNodes[0].data = txt;
}
}/**
 *点击图片按钮时,是图片变色,以表示我们的点击事件发生了
 */function $hover(target, bDown){
if(bDown){
if(target.src.indexOf('_.png')>-1)return;
target.src = target.src.replace('.png', '_.png');
}else{
target.src = target.src.replace('_.png', '.png');
}
}/**
 *Ajax获取数据的方法
 *url:submit路径
 *sync:同步标记,false为同步方式,true为异步方式
 *useGzip:要求服务端返回数据采用GZip压缩传输
 */function $getRemoteData(url, callback, sync, useGzip){
var xmlRequest = new XMLHttpRequest();
xmlRequest.callback = callback;
xmlRequest.onreadystatechange = function(){
if(this.readyState == 4){
if(this.status == 200){
this.callback(this);
}
}
}
xmlRequest.open("GET", url, sync);
if(useGzip) //要求服务端返回数据采用GZip压缩传输
xmlRequest.setRequestHeader("Accept-Encoding","gzip, deflate");
xmlRequest.send(null);
return xmlRequest;
}function $getRemoteData_png(url, callback, sync){
var xmlRequest = new XMLHttpRequest();
xmlRequest.callback = callback;
xmlRequest.onreadystatechange = function(){
this.callback(this);
}
xmlRequest.open("GET", url, sync);
xmlRequest.overrideMimeType("text/html;charset=x-user-defined");
xmlRequest.send(null);
return xmlRequest;
}/*使用post方式发送数据
*url:submit路径
*arguments:参数,如name=jese&sex=womanz,中文数据时使用'name='+getEncodeURIComponent('李四')+'&sex='+getEncodeURIComponent('男')进行编码
*synchFlag:同步标记,false为同步方式,true为异步方式
*returnType:返回内容类型0=responseBody;1=responseStream;2=responseText;3=responseXML
*execute:为异步方式提交后的回调函数,此函数用于处理返回数据,格式为function (obj){},obj为返回内容
*/function $postData(url,arguments,synchFlag,onsuccessCallback,doWaitingFlag,onerrorCallBack,useGzip) {
var xmlHttpRequest = new XMLHttpRequest();
if(xmlHttpRequest == null)return false;
xmlHttpRequest.open("POST",url,synchFlag);
xmlHttpRequest.arguments=arguments;
if(doWaitingFlag){
Waiting.unshiftHttp(xmlHttpRequest);
}
statusManager.addNetworkingCount();
xmlHttpRequest.setRequestHeader("x-appstoreclient-features","WidgetEngine/0.1");
xmlHttpRequest.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
xmlHttpRequest.setRequestHeader("Content-Length",arguments.length);
if(useGzip) //要求服务端返回数据采用GZip压缩传输
xmlHttpRequest.setRequestHeader("Accept-Encoding","gzip, deflate");
//记录callback和等待界面标识符
xmlHttpRequest.onsuccessCallback = onsuccessCallback;
xmlHttpRequest.onerrorCallBack = onerrorCallBack;
xmlHttpRequest.doWaitingFlag=doWaitingFlag;
if(synchFlag){
   xmlHttpRequest.onreadystatechange = function(){
   if(this.readyState == 4){
   if(this.status==200){
this.onsuccessCallback(this);
if(this.doWaitingFlag){
Waiting.popHttp();
}
   }else{
   if(this.onerrorCallBack){
    this.onerrorCallBack(this);
   }
   if(this.doWaitingFlag){
Waiting.popHttp();
}
   }
statusManager.decNetworkingCount();
   }
   }
}
xmlHttpRequest.send(arguments);
if(!synchFlag){
callback(this);
}
}/**
 *隐藏一个dom结点对象
 */function $hide(obj)
{
obj.style.display = 'none';
}/**
 *显示一个dom结点对象
 */function $show(obj)
{
obj.style.display = 'block';
}/**
 *如果此对象已经存在就返回,否则创建
 */function $getOrCreateElement(prmID,Type)
{
if($(prmID) == null)
{
    var tmpEle = document.createElement(Type);
tmpEle.id = prmID;
return tmpEle;
}
else
{
return $(prmID);
}
}function getTimeStr(){
var timer = new Date();
var year = timer.getFullYear();
var mm = $toNDigit(timer.getMonth()+1,2);
var dd = $toNDigit(timer.getDate(),2);
var hh = $toNDigit(timer.getHours(),2);
var mn = $toNDigit(timer.getMinutes(),2);
var str =  mm + "/" + dd + "/" +year.toString().substring(2)+ " " +hh + ":" +mn;
return(str);
}