if (!window.Sany) window.Sany={};
Sany.$tabs=null;
function sanyEvent(){
	this.next=null;
	this.queue=new Array();
	this.addListen=function(func){
		this.queue.push(func);
	}
	this.trigger=function(){
		for(func in this.queue){
			this.queue[func]();
		}
	}
}
function showResponse(responseText, statusText)  { 
	eval(responseText);
	alert("上传成功!");
} 
function sanyPagerFormat(formid){
	//return ' <a href="#?_page_=__PAGER__&fi=__FI__">';
	var url=document.location.pathname;
	var reg=/\/(xx[c|s]\w+)\/([cn|en]\w+\/)?([\d|p]+)\/(\d+)\/(\d+)\/(.*)/;
	var needid;
	var format;
	var idchange=false;
	var curForm=Sany.control.getFormWithFormID(formid);
	var id=null;
	if(curForm!==null){
		id=curForm.getParam("id");
	}
	if(needid=reg.exec(url)){
		if(id===null){
			id=needid[4];
		}
		if(needid[2]){
			format='/'+needid[1]+'/'+needid[2]+'__PAGER__/'+id+'/'+needid[5]+'/'+needid[6];
		}
		else{
			format='/'+needid[1]+'/__PAGER__/'+id+'/'+needid[5]+'/'+needid[6];
		}
		if(curForm!==null){
			//curForm.setParam("_page_",null);
		}
	}
	else{
		var reg=/\/(x[c|s]\w+)\/([cn|en]\w+\/)?([\d|p]+)\/(\d+)\/(.*)/;
		var needid;
		if(needid=reg.exec(url)){
	//		alert(needid[1]+",2:"+needid[2]+",3:"+needid[3]+",4:"+needid[4]+",5:"+needid[5]);
			if(id===null){
				id=needid[4];
			}
			if(needid[2]){
				format='/'+needid[1]+'/'+needid[2]+'__PAGER__/'+id+'/'+needid[5];
			}
			else{
				format='/'+needid[1]+'/__PAGER__/'+id+'/'+needid[5];
			}
			if(curForm!==null){
				//curForm.setParam("_page_",null);
			}
		}
		else{
			return ' <a href="#?_page_=__PAGER__&fi=__FI__&dm=__DM__">';
		}
	}
	return ' <a href="'+format+'" class="outlink">';

	
}
function sanyPager(formid,key,start,rows,numfound,dm,vp,usrctrl){
	var	gstart=start;
	var	gpagesize=rows;
	var	gtotal=numfound;
	
	$("."+formid+'_'+key+"__pager").empty();
	p=Math.ceil(gtotal/gpagesize);
	if(gtotal==0) return "";
	var format=sanyPagerFormat(formid);
	gn=Math.floor(gstart/gpagesize);
	pager='';
	prev=gn-1;
	next=gn+1;
	if(next>p){
		next=p-1;
		prev=p-2;
	}
	if(prev<0){
		prev=0;
	}
	k=gn+10;
	s=gn-9;	
	if(k>p){
		k=p;
	}
	if(s<=0){
		s=1;
	}
	gend=(parseInt(gstart)+parseInt(gpagesize))>parseInt(gtotal)?parseInt(gtotal):(parseInt(gstart)+parseInt(gpagesize));
	pager+='No.'+(parseInt(gstart)+1)+'-No.'+gend+' 共'+gtotal+'个 '+p+' 页';
	
	if(prev||gn==1){
		//pager+=' <a href="#?fi='+key+'&_start_='+(prev*gpagesize)+'&_rows_='+gpagesize+'&_numfound_='+gtotal+'" >上一页</a>';	
		pager+=format.replace(/__PAGER__/g,(prev*gpagesize)+'p'+gpagesize+'p'+gtotal).replace(/__FI__/g,key).replace(/__DM__/g,dm)+'上一页</a>';	
	}
	var vppager='';
	dmpager='';
	pgpg='';
	for(var m=s-1;m<k;m++){
		if(m==gn){
			pager+=' <strong>'+(m+1)+'</strong>';
			if(vp!=null&&vp.indexOf("p")>-1){
				var pagesizearr=vp.split("p");
				vppager='<span class="view-by-page">每页显示数量: ';
				for(var pz in pagesizearr){
					v=pagesizearr[pz];
					if(v==gpagesize){
						vppager+='<strong>'+v+'</strong>';
					}else{
						vppager+='<a class="v_p" href="javascript:;" key="'+key+'" rows="'+v+'" numfound="'+gtotal+'" >'+v+'</a>';
					}
					if(pz!=(pagesizearr.length-1)){
						vppager+='<span> | </span>';
					}
				}
				vppager+='</span>';
			}
			if(dm!=null&&dm!="null"){
				switch(dm){
					case 1:
					case "1":
						dmpager='<a class="select-all" href="javascript:;" onclick="App.clearChk(\'on\');" >全选</a><a class="select-none" href="javascript:;" onclick="App.clearChk(\'off\');">清除</a><a class="auction_buy" href="javascript:;" onclick="App.do_patchbuyfav(\'PatchAdd\');">购买宝贝</span><a class="auction_fav" href="javascript:;" onclick="App.do_patchbuyfav(\'PatchFav\');" >收藏宝贝</a><a class="sort-list v_p" href="javascript:;" key="'+key+'" rows="'+gpagesize+'" numfound="'+gtotal+'" dm="2">列表显示</a><span class="sort-grid">图片展示</span>  ';	
						break;
					default:
						dmpager='<a class="select-all" href="javascript:;" onclick="App.clearChk(\'on\');" >全选</a><a class="select-none" href="javascript:;" onclick="App.clearChk(\'off\');">清除</a><a class="auction_buy" href="javascript:;" onclick="App.do_patchbuyfav(\'PatchAdd\');">购买宝贝</span><a class="auction_fav" href="javascript:;" onclick="App.do_patchbuyfav(\'PatchFav\');" >收藏宝贝</a><span class="sort-list">列表显示</span><a class="sort-grid v_p" href="javascript:;" key="'+key+'" rows="'+gpagesize+'" numfound="'+gtotal+'" dm="1">图片展示</a>  ';	
						break;
				}
			}
			pgpg=m*gpagesize;
		}
		else{
			//pager+=' <a href="#?fi='+key+'&_start_='+(m*gpagesize)+'&_rows_='+gpagesize+'&_numfound_='+gtotal+'" >'+(m+1)+'</a>';
			pager+=format.replace(/__PAGER__/g,(m*gpagesize)+'p'+gpagesize+'p'+gtotal).replace(/__FI__/g,key).replace(/__DM__/g,dm)+(m+1)+'</a>';	
		}
	}
	if(next&&p!=next){
		//pager+=' <a href="#?fi='+key+'&_start_='+(next*gpagesize)+'&_rows_='+gpagesize+'&_numfound_='+gtotal+'" >下一页</a>';	
		pager+=format.replace(/__PAGER__/g,(next*gpagesize)+'p'+gpagesize+'p'+gtotal).replace(/__FI__/g,key).replace(/__DM__/g,dm)+'下一页</a>';	

	}
	var poption='';
	if(vp!=null&&vp.indexOf("p")>-1){
		var pagesizearr=vp.split("p");
	}
	else{
		var pagesizearr=new Array(10,20,30,40,50,100,200);
		var v=null;
		poption+='<select  key="'+key+'" _numfound_="'+gtotal+'" >';
		for(var pz=0;pz<pagesizearr.length;pz++){
			v=pagesizearr[pz];
			poption+='<option value="'+v+'" ';
			if(v==gpagesize){
				poption+=' selected ';
			}
			poption+=' >'+v+'</option>';
		}
		poption+='</select>';
	}
	var uctrl='';
	if(usrctrl!=null&&usrctrl!="null"&&usrctrl!=0){
		uctrl=usrctrl;	
	}
	var	pagescroll='<div class="view-ctrl-setting" >'+uctrl+dmpager+vppager+'</div><div class="view-page-bar">'+pager+poption+'</div>';
	$("."+formid+'_'+key+"__pager").html(pagescroll);
			//var pagerhtml='<div class="'+_formid+key+'_pager pager" >'+pagescroll+'</div>';
			//$("#"+_formid+key).after(pagerhtml);
	$("#"+formid+' select[@key='+key+']').change(function(){
		var curForm=Sany.control.getFormWithFormID(formid);
		curForm.setParam("fi",$(this).attr("key"));
		//curForm.setParam("_numfound_",$(this).attr("_numfound_"));
		//curForm.setParam("_rows_",$(this).val());
		sval=$(this).val();
		if(Math.floor(gtotal/sval)<pgpg){
			pgpg=Math.floor(gtotal/sval);
		}
		vl=(pgpg*sval)+'p'+sval+'p'+gtotal;
		curForm.setParam("_page_",vl);
		if(curForm.baseaction=="search"){
			curForm.postJson();	
		}
		else{
			curForm.doJson();	
		}
	});	
	$("#"+formid+' .v_p').click(function(){
		var curForm=Sany.control.getFormWithFormID(formid);
		curForm.setParam("fi",$(this).attr("key"));
		sval=$(this).attr("rows");
		gtotal=$(this).attr("numfound");
		dm=$(this).attr("dm");
		curForm.setParam("_numfound_",gtotal);
		curForm.setParam("_rows_",sval);
		vl=pgpg+'p'+sval+'p'+gtotal;
		curForm.setParam("_page_",vl);
		if(dm){
			curForm.setParam("dm",dm);
		}
		if(curForm.baseaction=="search"){
			curForm.postJson();	
		}
		else{
			curForm.doJson();	
		}
	});	
	
}
function maFromUrl(url){
	var pairs=url.replace(/\?/g,"&").split("&");
	var model=null;
	var action=null;
	for(var i=0;i<pairs.length;i++)
	{
		var pair=pairs[i].split('=');
		if(pair[0]=="m"){
			model=pair[1];
			continue;
		}
		if(pair[0]=="a"){
			action=pair[1];
			continue;
		}
	
	}
	return new Array(model,action);
}

function postFunc(func,table,nid,nrows){
	var myForm=Sany.control.getCurForm;
	myForm.setParam("fn",func);
	var _formid=myForm.getData('_formid');
	if($("#"+_formid+" .tablesorter input[@name='"+nrows+"'][checked]").size()==0){
		alert("请选择一项");
		return false;
	}
	var gid=$("#"+_formid+" ."+nid+" option[selected]").val();
	myForm.setParam("_nid_",gid);
	var url='';
	$("#"+_formid+" .tablesorter input[@name='"+nrows+"'][checked]").each(function(){ url+="&nr[]="+$(this).val(); });
	myForm.setParamUrl(url);
	myForm.postJson();
}
function onPromptTimeout()
{
	myForm=Sany.control.timeout;
	if(myForm===Sany.control.getCurForm()){
		var id="dialogYES"+myForm.popup.config.addid;
		if(myForm.data.timeout-- >0){
			setTimeout("onPromptTimeout()",1000);
			$("#"+id).val("确定 ("+myForm.data.timeout+")");
		}
		else{
			$("#"+id).trigger("click");
//			Sany.control.removeCurForm();
			Sany.control.timeout=null;

		}
		
	}
}
function onConfirmTimeout()
{
	myForm=Sany.control.timeout;
	if(myForm===Sany.control.getCurForm()){
		var id="dialogOk"+myForm.popup.config.addid;
		if(myForm.data.timeout-- >0){
			setTimeout("onConfirmTimeout()",1000);
			$("#"+id).val("确定 ("+myForm.data.timeout+")");
		}
		else{
			$("#"+id).trigger("click");
//			Sany.control.removeCurForm();
			Sany.control.timeout=null;

		}
		
	}
}

function onConfirm()
{
	curForm=Sany.control.getCurForm();
	curForm.setData("_needconfirm",false);
	curForm.postJson();
	curForm.setData("_needconfirm",true);
}
function sanyForm(model,action){
	this.model=model;
	this.action=action;
	this.baseaction=null;
	this.istab=false;
	this.ispopup=false;
	this.prevpopup=null;
	this.popup=null;
	this.dirty=true;
	this.stopHash=true;
	this.param=new Array();
	this.data=new Array();
	this.data['width']=580;
	this.data['height']=400;
	this.setParam=function(key,val){
		var found=0;	
		for(k in this.param){
			if(k===key)	{
				if(this.param[key]==val){
					found=2;
				}
				else{
					this.param[key]=val;
					found=1;

				}
				break;
			}
		}
		if(found===0){
			this.param[key]=val;
		}
		this.toHash(key,val);

		return found;
	}
	this.getParam=function(key){
		for(k in this.param){
			if(k===key)	{
				return this.param[key];
			}
		}
		return null;
	}
	this.setData=function(key,val){
		var found=0;	
		for(k in this.data){
			if(k===key)	{
				this.data[key]=val;
				found=1;
				break;
			}
		}
		if(found===0){
			this.data[key]=val;
		}
	}
	this.getData=function(key){
		for(k in this.data){
			if(k===key)	{
				return this.data[key];
			}
		}
		return null;
	}
	this.getParamUrl=function(){
		var url="m="+this.model+"&a="+this.action;
		for(k in this.param){
			if(this.param[k]!=null){
				var value=this.param[k];
				
				url+="&"+k+"="+value;
				
				
			}
		}
		return url;
	}
	this.setParamUrl=function(url){
		var oldm=null;
		var olda=null;
		var retstring="";
		var dirty=false;
		var pairs=url.replace(/\?/g,"&").split("&");

		for(var i=0;i<pairs.length;i++)
		{
			var pair=pairs[i].split('=');
			if(pair[0]=="m"){
				continue;
			}
			if(pair[0]=="a"){
				continue;
			}
			if(typeof(pair[1])!="undefined"){
				if(this.param[pair[0]]!==pair[1]){
					var tmpval=encodeURIComponent(pair[1])
					this.param[pair[0]]=tmpval;
//					this.param[pair[0]]=pair[1];
					this.toHash(pair[0],tmpval);
					dirty=true;
				}
				
			}
		}
		this.dirty=dirty;
	}
	this.toHash=function(p,v){

		if(this.stopHash)return;
		if(v!=null && v.constructor==Array){
			v=v.join(";");
		}
		var hash=document.location.hash;
		hash=hash.slice(1,hash.length);
		var arrHash=hash.split(",");
		if(hash.length==0)arrHash=[];
		var exist=false;
		//如果该函数已经存在与hash地址中，则不用重新添加
		for(var i=0;i<arrHash.length;i++)
		{
			var pairs=arrHash[i].split("!");
			if(pairs[0]==p)
			{
				exist=true;
				arrHash[i]=p+'!'+v;
				break;
			}
		}
		if(!exist)arrHash.push(p+'!'+v);
		document.location.hash="#" + arrHash.join(",");  
	}

	
	this.setParamUrlXC=function(url){
		var reg=/\/xx[c|s]\w+\/([cn|en]\w+\/)?([\d|p]+)\/(\d+)\/(\d+)/;
		var needid;
		var idchange=false;
		if(needid=reg.exec(url)){
			if(needid[4]!=0){
				idchange=this.setParam("id",needid[4]);
			}
			this.setParam("entid",needid[3]);
			this.setParam("_page_",needid[2]);
		}
		else{
			var reg=/\/x[c|s]\w+\/([cn|en]\w+\/)?([\d|p]+)\/(\d+)/;
			var needid;
			if(needid=reg.exec(url)){
				if(needid[3]!=0){
					idchange=this.setParam("id",needid[3]);
				}
				this.setParam("_page_",needid[2]);	
			}
			else{
				return false;
			}
		}
		if(idchange){
			var notifyaction=Sany.control.getNotifyAction("id");
			this.setParam("_notify_",notifyaction);
			
		}
		return true;
	}
	this.setParamUrlXD=function(url){
		var reg=/\/xxd\w+\/([cn|en]\w+\/)?(\d+)\/(\d+)/;
		var needid;
		var idchange=false;
		if(needid=reg.exec(url)){
			if(needid[3]!=0){
				idchange=this.setParam("id",needid[3]);
			}
			this.setParam("entid",needid[2]);
		}
		else{
			var reg=/\/xd\w+\/([cn|en]\w+\/)?(\d+)/;
			var needid;
			if(needid=reg.exec(url)){
				if(needid[2]!=0){
					idchange=this.setParam("id",needid[2]);
				}
			}
			else{
				return false;
			}
		}
		if(idchange){
			var notifyaction=Sany.control.getNotifyAction("id");
			this.setParam("_notify_",notifyaction);
		}
		return true;
	}
	this.setParamOnLoaded=function(){
		var needstr=document.location.pathname;
		var hash1=document.location.hash;
		hash1=hash1.slice(1,hash1.length);
		var arrHash1=hash1.split(",");
		if(this.setParamUrlXC(needstr)||this.setParamUrlXD(needstr)){
		
		}
		else{
		
			this.setParamUrl(document.location.search.substr(1));
		}
		if(hash1.length==0)arrHash1=[];
		var dirty=false;
		for(var i=0;i<arrHash1.length;i++)
     	{
	     	var pair=arrHash1[i].split("!");
			
			if(pair[0]){
				val=pair[1];
				if(typeof(val)=="string"){
					val=val.split(";");
				}
			}
			if(this.setParam(pair[0],val)!=2){
				dirty=true;
			}
     	}
		//if(dirty){
//			this.dirty=true;
//		}
		this.dirty=dirty;


	}
	this.clearParam=function(){
		this.param=new Array();
	}
	this.getTabId=function(){
		var model=this.model;
		var action=this.action;
		var tabid=null;
		if(Sany.$tabs===null){
			return null;
		}
         $("li >a",Sany.$tabs).each(function (i){
				var liurl=$(this).data('load.tabs');
				if(typeof(liurl)=="string"){
					var ma=maFromUrl(liurl);
					if(model==ma[0]&&action==ma[1]){
						tabid=i;
					}
		 		}
		  })
		 return tabid;
	}
	this.showTabs=function(title){
		url="/ff.php?"+this.getParamUrl();
		if(this.istab===false){
			if(Sany.$tabs===null){
				alert("Add tabs while no tabs defined");
				return;
			}
			Sany.$tabs.tabs('add', url, title);
			this.istab=true;
		}
		else if(this.dirty===true){
			this.setTabsTitle(title);
			this.doJson();
		}
		var tabid=this.getTabId();
		if(tabid!==null){
			Sany.$tabs.tabs('select',tabid);
		}		
	}
	this.setTabsTitle=function(title){
		var tabid=this.getTabId();
		if(title!=undefined){
			$('li a', Sany.$tabs).eq(tabid).html('<span>'+title+'</span>');	
		}
	}
	this.load=function(url) { 
            model=this.model;
			action=this.action;
            var finish = function() {
                self.xhr = null;
            };
            var ajaxOptions =  {
                url: url,
                success: function(r, s) {
                    $("#"+model+action+"popup").html(r);
                    finish();
                }
            }
            if (this.xhr) {
                // terminate pending requests from other tabs and restore tab label
                this.xhr.abort();
                finish();
            }
            setTimeout(function() { // timeout is again required in IE, "wait" for id being restored
                self.xhr = $.ajax(ajaxOptions);
            }, 0);

        }
	this.showPopup=function(title){
		url=Sany.domain+"/ff.php?"+this.getParamUrl();
		this.setData("title",title);
		if(this.ispopup===false){
			w=this.getData("width");
			h=this.getData("height");

			this.popup = new Popup({contentType:2,scrollType:'no',isSupportDraging:true,isReloadOnClose:false,width:w,height:h});
			this.popup.setContents({'title':title,"contentHtml":'<div id="'+this.model+this.action+'popup"></div>',"overlay":Sany.control.nrpopup++});
			this.popup.build();
			this.popup.show();
			this.load(url);
			this.ispopup=true;
			this.prevpopup=Sany.control.curpopup;
			Sany.control.curpopup=this;
		}
		else if(this.dirty===true){
			this.doJson();
		}
	}
	this.showPopSelfDefine=function(){
		w=this.getData("width");
		h=this.getData("height");
		title=this.getData('title');
		html=this.getData('contenthtml');
		this.popup = new Popup({contentType:2,scrollType:'no',isSupportDraging:true,isReloadOnClose:false,width:w,height:h});
		this.popup.setContents({'title':title,"contentHtml":html,"overlay":Sany.control.nrpopup++});
		this.popup.build();
		this.popup.show();
		this.ispopup=true;
		this.prevpopup=Sany.control.curpopup;
		Sany.control.curpopup=this;
	}
	this.confirm=function(){
		var msg=this.getData('_confirm_msg');
		this.ispopup=true;
		var title=this.getData('title');
		if(this.popup!==null){
			this.popup.closepopup();
		}
		this.popup = new Popup({contentType:3,scrollType:'no',isSupportDraging:true,isReloadOnClose:false});
		this.popup.setContents({'title':title,'callBack':onConfirm,'confirmCon':msg,'overlay':Sany.control.nrpopup,'width':340,'height':80});
		this.popup.build();
		this.popup.show();
		this.setData("timeout",5);
		Sany.control.timeout=this;
		onConfirmTimeout();
    }
	this.prompt=function(){
		var msg=this.getData('_prompt_msg');

		this.ispopup=true;
		var title=this.getData('title');
		if(this.popup!==null){
			this.popup.closepopup();
		}
		if(title==null){
			title='确认信息';	
		}
		this.popup = new Popup({contentType:4,scrollType:'no',isSupportDraging:true,isReloadOnClose:false});
		this.popup.setContents({'title':title,'alertCon':msg,'overlay':Sany.control.nrpopup,'width':340,'height':80});
		this.popup.build();
		this.popup.show();
		var timeout=this.getData('_prompt_timeout');
		if(timeout!=null){
			Sany.control.timeout=this;
			this.setData("timeout",Math.round(timeout/1000))
			onPromptTimeout();
		}
		this.prevpopup=Sany.control.curpopup;
		Sany.control.curpopup=this;
	}
	this.alert=function(){
	
	}
	this.showInline=function(){
			
	}
	this.remove=function(){
		if(this.ispopup===true){
			this.ispopup=false;
			this.popup.closepopup();
			Sany.control.curpopup=this.prevpopup;
			Sany.control.nrpopup--;

		}
		if(this.istab===true){
			var tabid=this.getTabId();
			if(tabid!==null){
				Sany.$tabs.tabs('remove',tabid);
			}
		}
	}
	this.jsonInit=function(){
		curForm=Sany.control.getCurForm();
		curForm.setParam('fn','init');
		curForm.doJson();
	}
	this.onFormLoaded=function(baseaction){
		Sany.control.trigger("onformloaded");
		this.baseaction=baseaction;
		var _formid=this.getData("_formid");
		var _jsoninit=this.getData("_jsoninit");
		$("#"+_formid+" tr.expandable").click(function() {
			if($(this).next().css("display")=="none"){
				$(this).next().show();
				$(this).addClass("expanded");
			}
			else{
				$(this).next().hide();
				$(this).removeClass("expanded");
			}
		});
		$("input.x_bit_field").bind("click", function(){ 
			var name=$(this).attr("name");
			var readonly=$(this).attr("readonly");
			if(readonly=="true"){
				return false;
			}
			var bitflagval=0;
			$("#"+_formid+" input[@name=\""+name+"\"][@checked]").each(function(){bitflagval|=$(this).val();});
			var hidename=name.substring(0,name.length-7);
			$("#"+_formid+" input:hidden[@name="+hidename+"]").val(bitflagval);
		}); 
		
		$("#"+_formid).submit(function(){
			$('#'+_formid+' [@allowblank]').trigger("blur");
			if($("#"+_formid+" [@ttt='1']").size()) return false;
			url= $("#"+_formid).formSerialize();
			action=$("#"+_formid).attr("action");
			if($("#"+_formid+" [@name='file']").size()){
				$(this).ajaxSubmit({success:showResponse,type:'POST',dataType:'json'});
				return false;
			}
			url=decodeURIComponent(url);
			curForm=Sany.control.getFormWithFormID(_formid);
			curForm.setParamUrl(url);
			if(baseaction=="login"){
				curForm.postLogin();
			}
			else{
				curForm.postJson();	
			}
			return false;//can't header action
		});
		if(_jsoninit===true){
		//	this.jsonInit();	
			this.doJson();
		}
		else{
			switch(baseaction){
			case "add":
			case "search":
			case "login":
				break;
			case "modify":
			case "view":
			case "list":
				this.doJson();
				break;
			default:
				if(!this.getData("_buildin")){
					this.doJson();
				}
				else {
					if(this.dirty==true){
						this.doJson();
					}
					else{
						if(this.getData("_format")!=null){
							//this.doFormatJson();	
						}
						this.onJsonDone();
					}
				}
				//alert("unknown baseaction:"+baseaction);
				break;
			}
		}
		var _optionlist=this.getData("_optionlist");
		for(var i in _optionlist){
			o=_optionlist[i][0];
			m=_optionlist[i][1];
			a=_optionlist[i][2];		
			var optval=this.getParam(o);
			var myform=this;
			url="/do.php?m="+m+"&a="+a+"&_page_=0p1000";
			$.getJSON(url, function(json){
				switch(json.ret){					
					case 0:
						alert("failed");
						break;
					case 1:
						opt='<option></option>';
						if(json.lists>0){
							var col=json.list[0].cols;
							for (var k=0;k<json.list[0].val.length;k+=col) {
								opt+="<option value=\""+json.list[0].val[k]+"\">"+json.list[0].val[k+1]+"</option>";
								
							}
						}
						$("#"+o+"_optionlist_").append(opt); 
						if(optval){
							myform.setFormVal(o,optval);
						}
						
						break;
				}
			});
		}
		for(var key in this.param){
			this.setFormVal(key,this.param[key]);
		}
	}
	this.onJsonDone=function(){
		var _formid=this.getData("_formid");
		$("#"+_formid+" a.popup").click(function(){
			var url=$(this).attr("href");			
			var title=$(this).attr("title");
			if(url.indexOf('#?') != -1){
				var curForm=Sany.control.getFormWithFormID(_formid);
				curForm.setParamUrl(url.substr(url.indexOf('#?')));
				if(curForm.baseaction=="search"){
					curForm.postJson();	
				}
				else{
					curForm.doJson();	
				}
				return false;
			}
			else{
				var ma=maFromUrl(url);
				var myForm=Sany.control.getSingleton(ma[0],ma[1]);
				myForm.setParamUrl(url);
		//		myForm.setContents({'_needconfirm':true,'_confirm_msg':"sure"});
				myForm.showPopup(title);
				return false;
			}
 	    })
		$("#"+_formid+" a[href]").not($("#"+_formid+" a.popup")).not($("#"+_formid+" a.outlink")).not($("#"+_formid+" a[@target=_blank]")).click(function(){
			var url=$(this).attr("href");			
			var title=$(this).attr("title");

			if(url.indexOf('#?') != -1){
				var curForm=Sany.control.getFormWithFormID(_formid);
				if(curForm===null){
					alert("Can't get Form With Form ID:"+_formid);
				}
				curForm.setParamUrl(url.substr(url.indexOf('#?')));
				if(curForm.baseaction=="search"){
					curForm.postJson();	
				}
				else{
					curForm.doJson();	
				}
				return false;
			}
			else{
				openUrl(url,title);
				return false;
			}
 	    })
		
		try 
		{  
			if(typeof(eval(clipinit))=="function")  
			{
				 clipinit();
			}
			
		}
		catch(e)
		{
		//alert("not function"); 
		} 
		try 
		{  
			if(typeof(eval(on_img_loaded))=="function")  
			{
				 on_img_loaded();
			}
			
		}catch(e)
		{
		//alert("not function"); 
		} 
	}
	this.onSamePageAjax=function(){
		var urlprex=document.location.pathname;
		var curForm=this;
		var needid;
		var reg=/\/(x+[c|d|s]\w+)\//;
		if((needid=reg.exec(urlprex))!=null){
			$("#"+_formid+" a[href]").not($("#"+_formid+" a.popup")).not($("#"+_formid+" a.outlink")).not($("#"+_formid+" a[@target=_blank]"))
			
			$("a[@href*="+needid[1]+"]").not($("a.added")).click(function() {
				var url=$(this).attr("href");			
				if(curForm.setParamUrlXC(url)||curForm.setParamUrlXD(url)){
					curForm.doJson();
					return false;
				}
			});
			$("a[@href*="+needid[1]+"]").not($("a.added")).addClass("added");
		}
		this.stopHash=false;
	}
	this.showJsonList=function(json){
		
		var _titleField=this.getData("_titleField");
		var _formid=this.getData("_formid");
		var _bitflag=this.getData("_bitflag");
		var _optionlist=this.getData("_optionlist");
		
		for(var i = 0; i < json.lists; i++)
		{	
			var row = ""
			var cur = ""
			var col=json.list[i].cols;
			$("#"+_formid+"_"+json.list[i].key+"_ tbody").empty();
			var format=json.list[i].format;
			var key=json.list[i].key;			
			var fields=json.list[i].val;
			var showstyle=json.list[i].showstyle;
			if(typeof showstyle=="undefined" || showstyle==null || showstyle=="") showstyle="list";
			switch(showstyle){
				case "list":// list
					for (var k=0;k<fields.length;k+=col) {
						var rowdata =new Array(col);
						for(var z=0;z<col;z++){
							rowdata[z]=fields[k+z];
						}
						row+=listRow(key,rowdata,format);
					}
					break;
				case "listblock": // listBlock
					var format=eval(form+key+"_LISTBLOCK");
					row+='<tr><td>';
					for (var k=0,len=fields.length;k<len;k+=col) {
						var rowdata =new Array(col);
						for(var z=0;z<col;z++){
							rowdata[z]=fields[k+z];
						}
						row+=listBlockRow(key,rowdata,format);
					}
					row+='</td></tr>';
					break;
			}
			$("#"+_formid+"_"+json.list[i].key+"_ tbody").append(row);
			$("#"+_formid+"_"+json.list[i].key+"_").tablesorter({widgets: ["zebra"]});
/*
			var	gstart=json.list[i].start;
			var	gpagesize=json.list[i].rows;
			var	gtotal=json.list[i].numfound;
			p=Math.ceil(gtotal/gpagesize);
			if(gtotal==0) continue;
			gn=gstart/gpagesize;
			pager='';
			prev=gn-1;
			next=gn+1;
			if(next>p){
				next=p-1;
				prev=p-2;
			}
			if(prev<0){
				prev=0;
			}
			k=gn+10;
			s=gn-9;	
			if(k>p){
				k=p;
			}
			if(s<=0){
				s=1;
			}
			gend=(parseInt(gstart)+parseInt(gpagesize))>parseInt(gtotal)?parseInt(gtotal):(parseInt(gstart)+parseInt(gpagesize));
			pager+='No.'+(parseInt(gstart)+1)+'-No.'+gend+' 共'+gtotal+'个 '+p+' 页';
			
			if(prev||gn==1){
				pager+=' <a href="#?fi='+key+'&_start_='+(prev*gpagesize)+'&_rows_='+gpagesize+'&_numfound_='+gtotal+'" >上一页</a>';	
			}
			for(var m=s-1;m<k;m++){
				if(m==gn){
					pager+=' <b>'+(m+1)+'</b>';
				}
				else{
					pager+=' <a href="#?fi='+key+'&_start_='+(m*gpagesize)+'&_rows_='+gpagesize+'&_numfound_='+gtotal+'" >'+(m+1)+'</a>';
				}
			}
			if(next&&p!=next){
				pager+=' <a href="#?fi='+key+'&_start_='+(next*gpagesize)+'&_rows_='+gpagesize+'&_numfound_='+gtotal+'" >下一页</a>';	
			}
			var pagesizearr=new Array(10,20,30,40,50,100,200);
			var poption='';
			var v=null;
			for(var pz=0;pz<7;pz++){
				v=pagesizearr[pz];
				poption+='<option value="'+v+'" ';
				if(v==gpagesize){
					poption+=' selected ';
				}
				poption+=' >'+v+'</option>';
			}
			var pagescroll='<div id="'+_formid+key+'_pager" class="pager" >';
				pagescroll+=pager;
				pagescroll+='<select class="'+key+'pagesize" key="'+key+'" _numfound_="'+gtotal+'" >';
				pagescroll+=poption;
				pagescroll+='</select>';
				pagescroll+='</div>';
*/
			sanyPager(_formid,json.list[i].key,json.list[i].start,json.list[i].rows,json.list[i].numfound);

			//$("."+_formid+key+"_pager").html(pagescroll);
			//var pagerhtml='<div class="'+_formid+key+'_pager pager" >'+pagescroll+'</div>';
			//$("#"+_formid+key).after(pagerhtml);
			/*
			$("#"+_formid+' .'+json.list[i].key+'pagesize').change(function(){
				var curForm=Sany.control.getFormWithFormID(_formid);
				curForm.setParam("fi",$(this).attr("key"));
				curForm.setParam("_numfound_",$(this).attr("_numfound_"));
				curForm.setParam("_rows_",$(this).val());
				curForm.doJson(url);
	
			});
			*/
			
		}	
	}
    this.setFormVal=function(key,val){
		var _formid=this.getData("_formid");
		var _bitflag=this.getData("_bitflag");
		
		found=0;
		for (j=0; j < _bitflag.length; j++) {
			if (_bitflag[j] === key) {
			  found=1;
			  break;
			}
		}
		if(found==1){
			$("#"+_formid+" [@name=\""+key+"_flag[]\"]").each(function() {if($(this).val()&val){$(this).attr("checked",true)};});
			$("#"+_formid+" input:hidden[@name="+key+"]").val(val);
		}
		else{
			$("#"+_formid+" [@name="+key+"]").each(function(){
				if($(this).attr("type")!="radio"){
					$(this).val(val);
				}
				else if($(this).val()==val){
					$(this).attr("checked","true");
				}
			});
		}
	
		$('#'+_formid+'_'+key).html(val);	
		
	}
	this.showJson=function(json){
		json = json ||{len:0,lists:0,htmls:0,scripts:0,data:''};
		var _titleField=this.getData("_titleField");
		var _formid=this.getData("_formid");
		var _bitflag=this.getData("_bitflag");
		var _optionlist=this.getData("_optionlist");
		if(typeof json.len=='undefined' || json.len===null){
			json.len=0;	
		}
		if(typeof json.lists=='undefined' || json.lists===null){
			json.lists=0;	
		}
		if(typeof json.htmls=='undefined' || json.htmls===null){
			json.htmls=0;	
		}
		if(typeof json.scripts=='undefined' || json.scripts===null){
			json.scripts=0;	
		}
		for(var i = 0; i < json.len; i++)
		{	
			var itemval="";
			if(json[i].val){
				itemval=json[i].val.replace(/\n|\r/g,"");
			}
			this.setFormVal(json[i].key,itemval);
		}
		var jdata=json.data;
		if(!jdata){
			document.getElementById(_formid+'_list').innerHTML="<font color=red size=+2>&nbsp;&nbsp;&nbsp;&nbsp;没有相关的信息!</font>";		
		}
		var emptykey=json.emptykey;
		if(emptykey!=null && typeof(jdata)=="object"){
			for(ek in emptykey){
				ev=emptykey[ek];
				$('#'+_formid+'_'+ev).empty();
				$('.'+_formid+'_'+ev+'__pager').empty();
			}
		}
		if(jdata!=null && typeof(jdata)=="object"){
			for(key in jdata){
				if(typeof(jdata[key])=="string"){
					itemval=jdata[key].replace(/\n|\r/g,"");
				}
				else if(jdata[key]!==null && typeof(jdata[key])=="object"){
					var format=this.getData("_format")[key];
					if(typeof(json.pager)!="undefined"){
						if(typeof(json.pager.list.dm)!="undefined"&&json.pager.list["dm"]==2){
							var format=this.getData("_format")['grid'];
						}
					}
					var highlight=null;
					if(typeof json.highlight!='undefined' && json.highlight!==null){
						highlight=json.highlight[key];
					}
					if(typeof(format)!="string"){
						alert("format error for "+key+" _format:"+this.getData("_format"));
					}
					var row="";
					for(tk in jdata[key]){
						row+=listBlockRow("data",jdata[key][tk],format,highlight);
					}
				//	$('#'+_formid+'_'+key).html(row);	
					document.getElementById(_formid+'_'+key).innerHTML=row;	
					continue;
				}
				else{
					itemval="";
				}
				found=0;
				for (j=0; j < _bitflag.length; j++) {
					if (_bitflag[j] === key) {
					  found=1;
					  break;
					}
				}
				if(found==1){
					$("#"+_formid+" [@name=\""+key+"_flag[]\"]").each(function() {if($(this).val()&jdata[key]){$(this).attr("checked",true)};});
					$("#"+_formid+" input:hidden[@name="+key+"]").val(itemval);
				}
				else{
					$("#"+_formid+" [@name="+key+"]").each(function(){
						if($(this).attr("type")!="radio"){
							$(this).val(itemval);
						}
						else if($(this).val()==itemval){
							$(this).attr("checked","true");
						}
					});
				}
				$('#'+_formid+'_'+key).html(itemval);	
			}
		}
		if(typeof json.pager!='undefined' && json.pager!==null){
			for(pkey in json.pager){
				var pagerval=json.pager[pkey];
				if(typeof(pagerval.dm)=="undefined") pagerval.dm=null;
				if(typeof(pagerval.vp)=="undefined") pagerval.vp=null;
				if(typeof(pagerval.usrctrl)=="undefined") pagerval.usrctrl=null;
				sanyPager(_formid,pkey,pagerval.start,pagerval.rows,pagerval.numfound,pagerval.dm,pagerval.vp,pagerval.usrctrl);
			}
		}else{
			if(json.htmls||json.len||jdata!=null){

			}
			else{
				//alert(json.msg);
			if(typeof json.msg =="string"){
				alert(json.msg);			
			}
			if($(_formid+"_list").size()){
					document.getElementById(_formid+'_list').innerHTML="<font color=red size=+2>&nbsp;&nbsp;&nbsp;&nbsp;没有相关的信息!</font>";	
				}
				$('.'+_formid+'_list__pager').empty();	
			}
		}		
		for(var i = 0; i < json.htmls; i++)
		{	
			$('#'+_formid+'_'+json.html[i].key).html(json.html[i].val.replace(/\n|\r/g,"").replace(/\"/g,""));
			
		}
		for(var i = 0; i < json.emptys; i++)
		{	
			$("#"+_formid+json.emptykey[i]).empty();
			$("#"+_formid+json.emptykey[i]+"_pager").remove();
		}
		if(json.lists){
			this.showJsonList(json);
		}
		for(var i = 0; i < json.scripts; i++)
		{	
			eval(json.js[i]);
		}
		if((typeof json.ret!="undefined")&&(typeof json.invalid=="object")){
			for(var i in json.invalid){
				if($('#'+_formid+' [@name='+json.invalid[i].key+']').attr("type")=="hidden") continue;
				$('#'+_formid+' [@name='+json.invalid[i].key+']').addClass('x-form-invalid');
				if($('#'+json.invalid[i].key+'_msg').size()==0){
					$('#'+_formid+' [@name='+json.invalid[i].key+']').after('<div id="'+json.invalid[i].key+'_msg"></div>');
				}
				$('#'+json.invalid[i].key+'_msg').addClass("x-field-invalid");
				$('#'+json.invalid[i].key+'_msg').html(json.invalid[i].val);
			}
		}
		for(var i=0; i< json.inlines; i++){
			var m=json.inline[i].m;
			var a=json.inline[i].a;
			var inlineform=Sany.control.getInlineSingleton(m,a);
			inlineform.showJson(json.inline[i]._json);
		}
		if(typeof json._notify_json!='undefined' ){
			notify_json=json["_notify_json"];
			for(var formid in json["_notify_json"]){
				
				var inlineform=Sany.control.getFormWithFormID(formid);
				inlineform.showJson(json["_notify_json"][formid]);
			}
			this.onSamePageAjax();
		}
	}

	this.doJson=function(){
		var page=this.getParam("_page_");
		url=Sany.domain+"/do.php?"+this.getParamUrl()+'&jsoncallback=?';
		var model=this.model;
		var action=this.action;
		var myForm=this;
		$.getJSON(url,function(json){
			switch(json.ret){					
				case 0:
					doLogin("url");
					break;
				case 1:
					myForm.showJson(json);
					break;
				case 2:
					if(typeof json.msg =="string"){
						alert(json.msg);			
					}
					break;
				case 4:
					myForm.showJson(json);
					break;
				case 7:
					if(typeof json.warning =="string"){
						alert(json.warning);			
					}
					break;
				default:
					break;
			}
			myForm.dirty=false;
			myForm.onJsonDone();
		});
	}
	this.doFormatJson=function(){
		url=Sany.domain+"/do.php?"+this.getParamUrl()+'&jsoncallback=?';
		var model=this.model;
		var action=this.action;
		var myForm=this;
		$.getJSON(url,function(json){
			switch(json.ret){					
				case 0:
					doLogin("url");
					break;
				case 1:
					myForm.showFormatJson(json);
					break;
				case 2:
					if(typeof json.msg =="string"){
						alert(json.msg);			
					}
					break;
				case 4:
					myForm.showJson(json);
					break;
				default:
					break;
			}
			myForm.dirty=false;
			myForm.onJsonDone();

		});
	}
	this.showFormatJson=function(json){
		var format=this.getData("_format");
		var formid=this.getData("_formid");
		$("#"+formid+"_list").empty();
		var outhtml='';
		format=format.list;
		if(typeof(json.pager)!="undefined"){
			if(typeof(json.pager.list.dm)!="undefined"&&json.pager.list["dm"]==2){
				format=this.getData("_format")["grid"];
			}
		}
		if(typeof(json.data)!="undefined"&&json.data!=null){
			for(var i in json.data.list){
				row=json.data.list[i];
				outhtml+=listBlockRow("list",row,format,"");
			}
			document.getElementById(formid+"_list").innerHTML=outhtml;
		}
	}
	this.postJson=function(){
		
		url=Sany.domain+"/post.php?"+this.getParamUrl()+'&jsoncallback=?';
		var model=this.model;
		var action=this.action;
		var myForm=this;
		if(this.getData("_needconfirm")===true){
			this.confirm();
			return;
		}
		$.getJSON(url,function(json){
			switch(json.ret){					
				case 0:
					doLogin("url");
					break;
				case 1:
					myForm.showJson(json);
					break;
				case 2:
					if(typeof json.msg =="string"){
						alert(json.msg);			
					}
					myForm.setData("_prompt_msg","success");
					myForm.setData("_prompt_timeout",3000);
					myForm.prompt();
					var fi=myForm.getParam("_fi_");
					//Sany.control.removeCurForm();
					curForm=Sany.control.getNextForm();
					if(curForm!==null){
						if(fi!==null){
							var oldfi=curForm.getParam("fi");
							curForm.setParam("fi",fi);
							curForm.doJson();
							curForm.setParam("fi",oldfi);
						}
						else{
							curForm.doJson();
						}

					}
					break;
				case 4:
					myForm.showJson(json);
					break;
				default:
					break;
			}
			myForm.dirty=false;
			myForm.onJsonDone();
		});
	}
	this.postLogin=function(){
		url=Sany.domain+"/post.php?"+this.getParamUrl()+'&jsoncallback=?';
		var model=this.model;
		var action=this.action;
		var myForm=this;
		$.getJSON(url,function(json){
			switch(json.ret){					
				case 0:
					doLogin("url");
					break;
				case 1:
					myForm.showJson(json);
					break;
				case 2:
					var fi=myForm.getParam("_fi_");
		//			myForm.confirm('test',json.msg);
					Sany.control.removeCurForm();
					curForm=Sany.control.getCurForm();
					if(curForm!==null){
						if(fi!==null){
							var oldfi=curForm.getParam("fi");
							curForm.setParam("fi",fi);
							curForm.doJson();
							curForm.setParam("fi",oldfi);
						}
						else{
							curForm.doJson();
						}

					}
					break;
				case 4:
					myForm.showJson(json);
					break;
				default:
					break;
			}
			myForm.dirty=false;
			myForm.onJsonDone();
		});
	}
	this.setContent=function(a,b){
		this.setData(a,b);

	}
	this.setContents=function(a){
		if(null==a||
		{
		}
		==a)return;
		for(var b in a)this.setContent(b,a[b])
	}

}

function SanyControl(){
	this.forms=new Array();
	this.notifyforms=new Array();
	this.curpopup=null;
	this.timeout=null;
	this.nrpopup=0;
	this.nrnotify=0;
	this.eventFormLoaded=new sanyEvent();
	this.getSingleton=function(model,action,formid){
		var key=model+action;
		if(formid){
			key=formid;
		}
		for(k in this.forms){
			if(k===key){
				return this.forms[k];
			}
		}
		this.forms[key]=new sanyForm(model,action);
		return this.forms[key];
	}
	this.getInlineSingleton=function(model,action,formid){
		var key="inline_"+model+action;
		if(formid){
			key=formid;
		}
		for(k in this.forms){
			if(k===key){
				return this.forms[k];
			}
		}
		this.forms[key]=new sanyForm(model,action);
		return this.forms[key];
	}
	this.getFormWithFormID=function(formid){
		for(k in this.forms){
			if(k===formid){
				return this.forms[k];
			}
		}
		return null;
	}
	this.bindNotifyAction=function(formid,param){
		this.notifyforms[formid]=param;
		
	}
	this.getNotifyAction=function(param){
		var retarr=new Array();
		for(var formid in this.notifyforms){
			var paramarr=this.notifyforms[formid];
			var found=0;
			for(var ai in paramarr){
				if(paramarr[ai]==param){
					found=1;
					break;
				}
				
			}
			if(found==1){
				retarr[retarr.length]=formid;
			}
		}
		return retarr;
	}
	this.bindOnFormLoaded=function(func){
		this.eventFormLoaded.addListen(func);
	}
	this.trigger=function(e){
		switch(e){
			case "onformloaded":
				this.eventFormLoaded.trigger();
				break;
			default:
				alert("unknown event:"+e);
				break;
		}
	}
	
	this.remove=function(model,action){
		var key=model+action;
		newarray=new Array();
		for(k in this.forms){
			if(k!==key){
				newarray[k]=this.forms[k];
			}
			else{
				this.forms[k].remove();
				this.forms[k]=null;
			}
		}
		this.forms=newarray;
	}
	this.removeFromUrl=function(url){
		var ma=maFromUrl(url);
		return this.remove(ma[0],ma[1]);
	}
	
	this.getCurForm=function(){
		if(this.curpopup!==null){
			return this.curpopup;
		}
		if(Sany.$tabs!==null){
			var n=Sany.$tabs.data('selected.tabs');	
			var liurl=$("li >a",Sany.$tabs).eq(n).data('load.tabs');
			if(typeof(liurl)=="string"){
				var ma=maFromUrl(liurl);
				return this.getSingleton(ma[0],ma[1]);
			}
		}
		var tmplen=0;
		for(var k in this.forms){
			tmplen++;
			if(this.forms[k].data['_default_action_'])
				return this.forms[k];
		}
		if(tmplen==0) return null;
		return this.forms[k];
		return null;
	}
	this.getNextForm=function(){
		if(this.curpopup!==null && this.curpopup.prevpopup!==null){
			return this.curpopup.prevpopup;
		}
		if(Sany.$tabs!==null){
			var n=Sany.$tabs.data('selected.tabs');	
			var liurl=$("li >a",Sany.$tabs).eq(n).data('load.tabs');
			if(typeof(liurl)=="string"){
				var ma=maFromUrl(liurl);
				return this.getSingleton(ma[0],ma[1]);
			}
		}
		for(k in this.forms) return this.forms[k];
		return null;
	}
	this.removeCurForm=function(){
		myForm=this.getCurForm();
		this.remove(myForm.model,myForm.action);
	}
	this.refreshCurForm=function(){
		myForm=this.getCurForm();
		myForm.dirty=true;
		myForm.onFormLoaded(null);
	}
}
function validOnFormLoaded()
{
	curForm=Sany.control.getCurForm();
	if(curForm==null) return false;
	form=curForm.getData("_formid");
	$('#'+form+' [@allowblank]').blur( function() {
		if($(this).attr("type")=="hidden"){
			return false;
		}
		var arrtype,value,vtype,allowblank,exps1,exps2,mintype,maxtype,msgtype,msg;
		value=$(this).val();
		vtype=$(this).attr("vtype");
		type=$(this).attr("type");
		allowblank=$(this).attr("allowblank");
		name=$(this).attr("name");
		exps1= /\w+\(([\d|\w|:|\-]+)\,([\d|\w|:|\-]+)\)/;
		exps2= /\([\d|\w|:|\-]+\,[\d|\w|:|\-]+\)/;
		if(vtype==null){
			vtype="true";	
		}
		var vtypearr=vtype.split("|");
		var checkflag=0;
		var checkmsg=[];
		for(var i in vtypearr){
			vtype=vtypearr[i];
			arrtype = vtype.match(exps1);
			if(arrtype == null){
			
			}
			else if(arrtype.length){
				mintype=arrtype[1];
				maxtype=arrtype[2];
				vtype = vtype.replace(exps2,"");
			}
			if(allowblank=="false"||(allowblank=="true"&&value)){
				switch(vtype){
					case "digits":
					case "int":
					case "email":
					case "alnum":
					case "alpha":
					case "time":
					case "url":
					case "postcode":
						if(!RegExps[vtype].test(value)) {
							checkmsg.push(rulemsg[vtype]);
							checkflag++;
						}
						break;
					case "length":
						if(value.length < mintype){
							checkmsg.push('内容长度不能少于'+mintype);
							checkflag++;
						}
						else if(value.length > maxtype && null !== maxtype){
							checkmsg.push('内容长度不能大于'+maxtype);
							checkflag++;
						}
						break;
					case "date":
					case "datetime":
						valuetime =	  new   Date(value.replace(/-/g,   "/"))
						mintype1   =   new   Date(mintype.replace(/-/g,   "/"));   
						maxtype1   =   new   Date(maxtype.replace(/-/g,   "/"));  
						if(Date.parse(valuetime)- Date.parse(mintype1) < 0){
							checkmsg.push('日期不能小于'+mintype);
							checkflag++;
						}
						else if(Date.parse(valuetime)- Date.parse(maxtype1) > 0){
							checkmsg.push('日期不能大于'+maxtype);
							checkflag++;
						}
						break;
					default:
						if(allowblank=="false"){
							if(type=="radio"||type=="checkbox"){
								if($('[@name='+name+'][@checked]').size()==0){
									checkmsg.push(rulemsg['notNull']);
									checkflag++;
								}
							}
							else{
								if(value==""){
									checkmsg.push(rulemsg['notNull']);
									checkflag++;
								}
							}
						}
						break;
				} // end switch
			} //end if
		}//end for
		if($('#'+name+'_msg').size()==0){
			$("[@name="+name+"]").parent().append('<div id="'+name+'_msg"></div>');
		}
		if(checkflag==vtypearr.length){
			$(this).addClass("x-form-invalid");
			$('#'+name+'_msg').addClass("x-field-invalid");
			$('#'+name+'_msg').html(checkmsg.join(rulemsg.or));
			$(this).attr("ttt","1");
		}
		else{
			$(this).removeClass("x-form-invalid");
			$('#'+name+'_msg').removeClass("x-field-invalid");
			$('#'+name+'_msg').empty();
			$(this).removeAttr("ttt");
			if($(this).attr("outcheck")=="true"){
				_seURL=Sany.domain+"/do.php?m="+curForm.model+"&a=Uc&_field_="+name+"&q="+encodeURIComponent(value);					
				$.getJSON(_seURL,function(json){
					switch(json.ret){
						case 0:
							doLogin("url");
							break;
						case 1:	
							$('#'+name+'_msg').html(json.data);
							$('#'+name+'_msg').css("width",180);
							break;
						case 2:								
							$('#'+name+'_msg').html(json.msg);
							break;
						default:
							break;								
					}
				});
			}
		}
		return false;
	});			
}
Sany.control=new SanyControl();
function selectall(name)
{
	_formid=Sany.control.getCurForm().getData('_formid');
	$("#"+_formid+" .tablesorter input[@name='"+name+"'][@type='checkbox']").each(function(){this.checked=true;});		
}
function selectnone(name)
{	
	_formid=Sany.control.getCurForm().getData('_formid');
	$("#"+_formid+" .tablesorter input[@name='"+name+"'][@type='checkbox']").each(function(){this.checked=false;});		
}
function insertFlash(elm, url, w, h,transparent) {
	
	if (!document.getElementById(elm)) return;
	var str = '';
	var T = '';
	str += '<object width="'+ w +'" height="'+ h +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0">';
	str += '<param name="movie" value="'+ url +'">';
	str += '<param name="wmode" value="opaque">';
	str += '<param name="quality" value="autohigh">';
	if (transparent) {str+=' <param name="wmode" value="transparent"/>';T='wmode="transparent"'}

	str += '<embed width="'+ w +'" height="'+ h +'" src="'+ url +'" quality="autohigh" wmode="opaque" '+T+' type="application/x-shockwave-flash" plugspace="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed>';
	str += '</object>';
	document.getElementById(elm).innerHTML = str;
}
function insertBannerFlash(elm,url,w,h,transparent,pics,links,texts){
	if (!document.getElementById(elm)) return;
	var str = '';
	var T = '';
	str += '<object width="'+ w +'" height="'+ h +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0">';
	str += '<param name="movie" value="'+ url +'">';
	str += '<param name="wmode" value="opaque">';
	str += '<param name="quality" value="autohigh">';
	str += '<param name="FlashVars" value="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+w+'&borderheight='+h+'">';
	if (transparent) {str+=' <param name="wmode" value="transparent"/>';T='wmode="transparent"'}
	str += '<embed width="'+ w +'" height="'+ h +'" src="'+ url +'" quality="autohigh" wmode="opaque" '+T+' type="application/x-shockwave-flash"  FlashVars="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+w+'&borderheight='+h+'" plugspace="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed>';
	str += '</object>';
	document.getElementById(elm).innerHTML = str;
}
function listRow(fi,rowdata,format){
	var row='<tr>';
	var col=rowdata.length;
	if(typeof format=="undefined" || format==null) format="";
	if(format!=""){
		tmprow=format;
		for(var k=0;k<col;k++){
			rd=rowdata[k];
			if(rd==null) rd="";
			if(typeof(rd)!="string"){
				rd=rd.toString();
			}
			tmprow=eval('tmprow.replace(/__'+k+'__/g,\''+rd.replace(/\'/g,"\\'").replace(/\n/g,"__#N__").replace(/\r/g,"__#R__")+'\')');
			//tmprow=eval('tmprow.replace(/__'+k+'__/g,\''+rd.replace(/\'/g,"\\'")+'\')');

		}
		tmprow=eval('tmprow.replace(/__fi__/g,\''+fi+'\')');
		row+=tmprow;
	}
	else{
		for(var k=0;k<col;k++){
			
			row +=(rowdata[k]==null)? "<td>&nbsp;</td>" : "<td>"+rowdata[k]+"</td>";	
		}
	}
	row+='</tr>';
	return row.replace(/__#N__/g,"\n").replace(/__#R__/g,"\r");
}
function matchBracket(str)
{
	var len=str.length;
	var found=0;
	for(var i=0;i<len;i++){
		if(str.charAt(i)=='('){
			found++;
		}
		if(str.charAt(i)==')'){
			if(found==0){
				
				return str.substr(0,i);
			}
			found--;
		}
	}
	alert("no match ) found");
	return "";
}
function listBlockRow(fi,rowdata,format,highlight)
{
	var col=rowdata.length;
	var temprow='';
	if(typeof format=="undefined" || format==null) format="";
	if(format!=""){
		for(var lk=0;lk<col;lk++){
			var rd=rowdata[lk];
			if(rd!=null && typeof(rd)=="object"){
				var idx=format.indexOf("__LIST"+lk+"__");
				if(idx==-1){
					alert("format error, need __LIST"+lk+"__");
				}
				var subformat=matchBracket(format.substr(idx+10));
				var subrow="";

				for(var sk=0;sk<rd.length;sk++){
					var srd=rd[sk];
					subrow+=listBlockRow(fi,srd,subformat,highlight);
				}
				var newformat=format.substr(0,idx).concat(subrow).concat(format.substr(idx+11+subformat.length));
				format=newformat;
			}
			else{
				var idx=format.indexOf("__LIST"+lk+"__");
				if(idx!=-1){
					var subformat=matchBracket(format.substr(idx+10));

					var newformat=format.substr(0,idx).concat(format.substr(idx+11+subformat.length));
					format=newformat;
				}
			}
			
		}
		var tmprow=format;
		for(var lk=0;lk<col;lk++){
			var rd=rowdata[lk];
			if(rd!=null && typeof(rd)=="object")continue;
			if(rd==null) rd="";
			if(-1==tmprow.indexOf("__"+lk+"_"))continue;
			if(typeof(rd)!="string"){
				rd=rd.toString();
			}
			var rdval=rd.replace(/\'/g,"\\'").replace(/\r/g,"__#R__").replace(/\n/g,"__#N__");
			//var rdval=rd.replace(/\'/g,"\\'");
			
			
			tmprow=eval('tmprow.replace(/__'+lk+'__/g,\''+rdval+'\')');
			
			if(-1==tmprow.indexOf("__"+lk+"_H"))continue;
			for(var hidx in highlight){
				var highword=highlight[hidx];
			//	var hiwd=highword.replace('/','\/');
			//	rdval=eval('rdval.replace(/'+hiwd+'/g,\'<span class="key">'+highword+'</span>\')');
				rdval=rdval.replace(highword,'<span class="key">'+highword+'</span>');
			}
			tmprow=eval('tmprow.replace(/__'+lk+'_H_/g,\''+rdval+'\')');


		}
		tmprow=eval('tmprow.replace(/__fi__/g,\''+fi+'\')');

		temprow+=tmprow;
	}
	
	return temprow.replace(/__#N__/g,"\n").replace(/__#R__/g,"\r");
}
function img_resize(ImgD,maxwidth,maxheight){  
	var image=new Image(); 
	image.src=ImgD.src;  
	if(image.width>0 && image.height>0){  
		flag=true;  
		if(image.width/image.height>=maxwidth/maxheight){  
			if(image.width>maxwidth){    
				ImgD.width=maxwidth;  
				ImgD.height=(image.height*maxwidth)/image.width;  
			}
			else{  
				ImgD.width=image.width;    
				ImgD.height=image.height;  
			}  
		}
		else{  
			if(image.height>maxheight){    
				ImgD.height=maxheight;  
				ImgD.width=(image.width*maxheight)/image.height;       
			}
			else{  
				ImgD.width=image.width;    
				ImgD.height=image.height;  
			}  
		}  
	}  
}
function on_refresh()
{
	 var hash1=document.location.hash;
     hash1=hash1.slice(1,hash1.length);
     var arrHash1=hash1.split(".");
     if(hash1.length==0)arrHash1=[];
     for(var i=0;i<arrHash1.length;i++)
     {
     //调用注册的脚本这里是关键
      bmf.actions[arrHash1[i]]();
     }
}
Sany.domain = '';
function openUrl(url,title)
{
	if(url.indexOf("tencent://")!=-1){
		return true;	
	}
	var ma=maFromUrl(url);
	var myForm=Sany.control.getSingleton(ma[0],ma[1]);
	myForm.setParamUrl(url);
	if(Sany.$tabs!==null){
		myForm.showTabs(title);
	}
	else{
		//myForm.showPopup(title);
	//	return true;
	}
	return false;
}
function doLogin(){
	myForm=Sany.control.getSingleton("Saneee_Spass","Poplogin");
	myForm.setContents({width:300,height:240});
	myForm.showPopup("会员登录");
}
function tabsClose(o)
{
	$li=$(o).parents("li");
	$ul=$(o).parents("ul");
	var url=$('a', $li).data('load.tabs');	
	Sany.control.removeFromUrl(url);
}
function _$(id){
	return document.getElementById(id);
}
function   copyString(str){  
	if(window.netscape){  
		netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');  
		Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper).copyString(str);  
	}  
	else{  
		window.clipboardData.setData('TEXT',str);  
	}  
	alert("图片地址已经复制到粘贴板，你可以使用Ctrl+V 贴到需要的地方去了哦！ ");
	return;
}
function startdown()
{
	var xcid=$("#downbaojia").attr("val");
	window.open('/cn/i/export.php?xcid='+xcid,'_self');
}
Sany.I=[];
var isIE = window.navigator.appVersion.toLowerCase().indexOf("msie")>=0;
var browserName = navigator.appName; 

function ClientWidth(){
	var theWidth = 0;
	if (window.innerWidth) { 
		theWidth = window.innerWidth 
	} 
	else if (document.documentElement && document.documentElement.clientWidth) { 
		theWidth = document.documentElement.clientWidth 
	} 
	else if (document.body) { 
		theWidth = document.body.clientWidth 
	}
	return theWidth;
}
function ClientHeight(){
	var theHeight = 0;
	if (window.innerHeight) { 
		theHeight = window.innerHeight 
	} 
	else if (document.documentElement && document.documentElement.clientHeight) { 
		theHeight = document.documentElement.clientHeight 
	} 
	else if (document.body) { 
		theHeight = document.body.clientHeight 
	}
	return theHeight;
}
function ScrollTop(){
	var theSTop=0;
	if (document.documentElement && document.documentElement.scrollTop){
		theSTop = document.documentElement.scrollTop;
	}else if (document.body){
		theSTop = document.body.scrollTop;
	}else if (window.pageYOffset){
		theSTop = window.pageYOffset;
	}
	return theSTop;
}
var control=true;
var deletesetInterval;
var hideTime;
function eventhing(){
	document.getElementById("bottombar").style.top = ScrollTop()+260+ "px";
	document.getElementById("bottombar").style.right =(ClientWidth()-1000)/2 +"px";
}
function AutoScroll(obj){
        $(obj).find("ul:first").animate({
                marginTop:"-10px"
        },500,function(){
                $(this).css({marginTop:"0px"}).find("li:first").appendTo(this);
        });
}
$(document).ready(function(){
setInterval('AutoScroll("#scrollNews")',1000)
});

function P(E,D)
{
	for(var R=0;R<E.length;R++)
	{
		if(E[R].toString()==D.toString())
		{
			return R
		}
	}
	return -1
}
isSafari = (document.childNodes && !document.all && !navigator.taintEnabled);  
var getXY = function(el) {  
	if (document.documentElement.getBoundingClientRect) { // IE  
		var box = el.getBoundingClientRect();  

		var rootNode = el.ownerDocument;  
		return [box.left + getDocumentScrollLeft(rootNode), box.top +  
				getDocumentScrollTop(rootNode)];  
	} else {  
		var pos = [el.offsetLeft, el.offsetTop];  
		var parentNode = el.offsetParent;  

		var accountForBody = (isSafari &&  
				el.style['position'] == 'absolute' &&  
				el.offsetParent == el.ownerDocument.body);  

		if (parentNode != el) {  
			while (parentNode) {  
				pos[0] += parentNode.offsetLeft;  
				pos[1] += parentNode.offsetTop;  
				if (!accountForBody && isSafari &&   
						parentNode.style['position'] == 'absolute' ) {   
					accountForBody = true;  
				}  
				parentNode = parentNode.offsetParent;  
			}  
		}  

		if (accountForBody) { //safari doubles in this case  
			pos[0] -= el.ownerDocument.body.offsetLeft;  
			pos[1] -= el.ownerDocument.body.offsetTop;  
		}   
		parentNode = el.parentNode;  

		// account for any scrolled ancestors  
		while ( parentNode.tagName && !/^body|html$/i.test(parentNode.tagName) )   
		{  
		   // work around opera inline/table scrollLeft/Top bug  
		   if (parentNode.style['display'].search(/^inline|table-row.*$/i)) {   
				pos[0] -= parentNode.scrollLeft;  
				pos[1] -= parentNode.scrollTop;  
			}  
			  
			parentNode = parentNode.parentNode;   
		}  

		return pos;  
	}  
} 
getDocumentScrollLeft = function(doc) {  
	 doc = doc || document;  
	 return Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft);  
 },   

 getDocumentScrollTop = function(doc) {  
	 doc = doc || document;  
	 return Math.max(doc.documentElement.scrollTop, doc.body.scrollTop);  
 }  
var au_click=function(obj){
	var E=getXY(obj);
	var I=Sany.I;
	if(obj.checked)
	{
		I.push(E);
		$("#list_btn").css("display","block");
		$("#list_btn").css("left",E[0]+"px");
		$("#list_btn").css("top",E[1]+15+"px")
	}
	else
	{
		var D=P(I,E);
		I.splice(D,1);
		if(I.length==0)
		{
			$("#list_btn").css("display","none");
			return
		}
		$("#list_btn").css("left",I[I.length-1][0]+"px");
		$("#list_btn").css("top",I[I.length-1][1]+15+"px")
	}
};
App={};
App.do_show=function(m,a){
	curForm=Sany.control.getSingleton(m,a);
	url=Sany.domain+"/do.php?"+curForm.getParamUrl()+'&jsoncallback=?';
	$.getJSON(url,function(json){
		switch(json.ret){					
			case 0:
				doLogin("url");
				break;
			case 1:
				curForm.showFormatJson(json);
				break;
			default:
				break;
		}
	});
}
App.do_buyfav=function(a,invid){
	switch(a){
		case "Add":
			myForm=Sany.control.getSingleton("Shop_Cart","Add");
			myForm.setData("title","设置购买数量");
			myForm.setData("width",160);
			myForm.setData("height",40);
			myForm.setData("contenthtml",'<div>购买数量:<input type="text" invid="'+invid+'" id="_pop_cart_num" name="num" value="1" size="4"><input type="button" name="btn" value="确定" onclick="App.checkNum();" ></div>');
			myForm.showPopSelfDefine();
			break;
		default:
			App.realbuyfav(a,invid,1);
			break;
	}
}
App.checkNum=function(){
	var num=$("#_pop_cart_num").val();
	var re=/^[1-9]+[0-9]*]*$/;
	if(!re.test(num)){
		alert("请输入整数的购买数量: 如 2");
		return false;
	}
	var invid=$("#_pop_cart_num").attr("invid");
	App.realbuyfav("Add",invid,num);
}
App.realbuyfav=function(a,invid,num){
	myForm=Sany.control.getSingleton("Shop_Cart","Add");
	var msg='';
	var title=null;
	switch(a){
		case "Add":
			msg='<a href="/cn/m/cart/" target="_blank" onclick="myForm.remove();App.clearChk();window.open(\"/cn/m/cart/\",\"_blank\");" ><font color="#999999">查看购物车</font></a>';
			title='加入购物车';
			break;
		case "Fav":
			msg='<a href="/cn/m/fav/" target="_blank" onclick="myForm.remove();window.open(\"/cn/m/fav/\",\"_blank\");" ><font color="#999999">查看我的收藏</font></a>';
			title='收藏宝贝';
			break;
		default:
			break;
	}
	var burl='/docart.php?a='+a+'&invid='+invid+'&num='+num;
	$.getJSON(burl,function(json){
		switch(json.ret){					
			case 0:
				doLogin();
				break;
			case 1:
				break;	
			case 2:
				if(json.msg.indexOf("下架")!=-1){
					msg = '<a href="/cn/i/search/?q=" target="_blank" onclick="myForm.remove();App.clearChk();window.open(\"/cn/i/search/?q=\",\"_blank\");" ><font color="#999999">搜索相近产品</font></a>';	
				}
				myForm.setData("_prompt_msg",json.msg+msg);
				myForm.setData("_prompt_timeout",3000);
				myForm.setData("title",title);
				myForm.prompt();
				break;

			default:
				break;
		}
	});
}
App.do_modNum=function(invid){
	myForm=Sany.control.getSingleton("Shop_Cart","Add");
	var msg='';
	var num=$("input[@name='do_num_"+invid+"']").val();
	var oldnum=$("input[@name='do_num_"+invid+"']").attr("oldval");
	var re=/^[1-9]+[0-9]*$/;
	if(oldnum==num||!re.test(num)){ 
		$("input[@name='do_num_"+invid+"']").val(oldnum);
		return false;
	}
	var burl='/docart.php?a=ModNum&invid='+invid+'&num='+num;
	$.getJSON(burl,function(json){
		switch(json.ret){					
			case 0:
				doLogin();
				break;
			case 1:
				break;	
			case 2:
				myForm.setData("_prompt_msg",json.msg+msg);
				myForm.setData("_prompt_timeout",3000);
				myForm.setData("title",'修改购买数量');
				myForm.prompt();
				//App.do_show("Usr_Suchway","Mycart");
location.href='/cn/m/cart/';
				break;
			default:
				break;
		}
	});
}
App.do_patchModNum=function(){
	if($("input[@name='auction_id']").size()==0){
		alert("当前购物车为空,请先购买产品!");
		return false;
	}
	myForm=Sany.control.getSingleton("Shop_Cart","Add");
	var msg='';
	var num=$("input[@name='auction_id']").val();	
	var burl='/docart.php?a=PatchModNum';
	$("input[@name='auction_id']").each(function(){	
		var invid=$(this).val();
		var num=$("input[@name='do_num_"+invid+"']").val();	
		burl+='&auction_id[]='+invid+'&num_'+invid+'='+num;
	});
	$.getJSON(burl,function(json){
		switch(json.ret){					
			case 0:
				doLogin();
				break;
			case 1:
				break;	
			case 2:
				myForm.setData("_prompt_msg",json.msg+msg);
				myForm.setData("_prompt_timeout",3000);
				myForm.setData("title",'修改购买数量');
				myForm.prompt();
				//App.do_show("Usr_Suchway","Mycart");
location.href='/cn/m/cart/';
				break;
			default:
				break;
		}
	});
}
App.do_clearMycart=function(){
	if($("input[@name='auction_id']").size()==0){
		return false;
	}
	myForm=Sany.control.getSingleton("Shop_Cart","Add");
	var msg='';
	var burl='/docart.php?a=ClearCart';
	$.getJSON(burl,function(json){
		switch(json.ret){					
			case 0:
				doLogin();
				break;
			case 1:
				break;	
			case 2:
				myForm.setData("_prompt_msg",json.msg+msg);
				myForm.setData("_prompt_timeout",3000);
				myForm.setData("title",'清空购物车');
				myForm.prompt();
				//App.do_show("Usr_Suchway","Mycart");
location.href='/cn/m/cart/';
				break;
			default:
				break;
		}
	});
}
App.do_patchbuyfav=function(a){
	myForm=Sany.control.getSingleton("Shop_Cart","Add");
	var msg='';
	var update=0;
	var title=null;
	switch(a){
		case "PatchAdd":
			msg='<a href="/cn/m/cart/" target="_blank" onclick="myForm.remove();App.clearChk();window.open(\"/cn/m/cart/\",\"_blank\");" ><font color="#999999">查看购物车</font></a>';
			title='加入购物车';
			break;
		case "PatchFav":
			msg='<a href="/cn/m/fav/" target="_blank" onclick="myForm.remove();App.clearChk();window.open(\"/cn/m/fav/\",\"_blank\");" ><font color="#999999">查看我的收藏</font></a>';
			title='收藏宝贝';
			break;
		case "PatchDelFav":
			msg='<a href="/cn/m/fav/" target="_blank" onclick="myForm.remove();App.clearChk();window.open(\"/cn/m/fav/\",\"_blank\");" ><font color="#999999">查看我的收藏</font></a>';
			title='删除收藏宝贝';
			update=2;
			break;
		case "PatchDelHfav":
			msg='<a href="/cn/m/fav/h.php" target="_blank" onclick="myForm.remove();App.clearChk();window.open(\"/cn/m/fav/h.php\",\"_blank\");" ><font color="#999999">历史收藏</font></a>';
			title='删除历史收藏';
			update=3;
			break;
		case "PatchDel":
			msg='<a href="/cn/m/cart/" target="_blank" onclick="myForm.remove();App.clearChk();window.open(\"/cn/m/cart/\",\"_blank\");" ><font color="#999999">查看购物车</font></a>';			
			title='删除购物车宝贝';
			update=1;
			break;
		case "PatchModNum":
			msg='';
			update=1;
			title='修改购买数量';
			break;		
		default:
			break;
	}
	var burl='/docart.php?a='+a;
	if($("input[@name='auction_id'][checked]").size()==0){
		alert('请至少选择一种商品');
		return false;
	}
	$("input[@name='auction_id'][checked]").each(function(){
		val=$(this).val();
		burl+="&auction_id[]="+val;
		if(a.indexOf("ModNum")>-1){
			burl+="&num_"+val+"="+$("input[@name='do_num_"+val+"']").val();	
		}
	});
	$.getJSON(burl,function(json){
		switch(json.ret){					
			case 0:
				doLogin();
				break;
			case 1:
				break;	
			case 2:
				if(json.msg.indexOf("下架")!=-1){
					msg = '<a href="/cn/i/search/?q=" target="_blank" onclick="myForm.remove();App.clearChk();window.open(\"/cn/i/search/?q=\",\"_blank\");" ><font color="#999999">搜索相近产品</font></a>';	
				}
				App.clearChk();
				myForm.setData("_prompt_msg",json.msg+msg);
				myForm.setData("_prompt_timeout",3000);
				myForm.setData("title",title);
				myForm.prompt();
				if(3==update){
					App.do_show("Usr_Suchway","Hfav");	
				}
				if(2==update){
					App.do_show("Usr_Suchway","Myfav");	
				}
				if(1==update){
					//App.do_show("Usr_Suchway","Mycart");
location.href='/cn/m/cart/';
				}
				break;

			default:
				break;
		}
	});
}
App.do_delcart=function(a,invid){
	myForm=Sany.control.getSingleton("Shop_Cart","Add");
	var msg='';
	var update=0;
	var title=null;
	switch(a){
		case "Del":
			msg='<a href="/cn/m/cart/" target="_blank" onclick="myForm.remove();App.clearChk();window.open(\"/cn/m/cart/\",\"_blank\");" ><font color="#999999">查看购物车</font></a>';			
			update=1;
			title='删除购物车宝贝';
			break;
		case "DelFav":
			msg='<a href="/cn/m/fav/" target="_blank" onclick="myForm.remove();App.clearChk();window.open(\"/cn/m/fav/\",\"_blank\");" ><font color="#999999">查看我的收藏</font></a>';
			update=2;
			title='删除收藏夹宝贝';
			break;
		case "DelHfav":
			msg='<a href="/cn/m/fav/h.php" target="_blank" onclick="myForm.remove();App.clearChk();window.open(\"/cn/m/fav/h.php\",\"_blank\");" ><font color="#999999">查看历史收藏</font></a>';
			update=3;
			title='删除历史收藏';
			break;
		default:
			break;
	}
	var burl='/docart.php?a='+a+'&invid='+invid;
	$.getJSON(burl,function(json){
		switch(json.ret){					
			case 0:
				doLogin();
				break;
			case 1:
				break;	
			case 2:
				App.clearChk();
				myForm.setData("_prompt_msg",json.msg+msg);
				myForm.setData("_prompt_timeout",3000);
				myForm.setData("title",title);
				myForm.prompt();
				if(3==update){
					App.do_show("Usr_Suchway","Hfav");	
				}
				if(2==update){
					App.do_show("Usr_Suchway","Myfav");	
				}
				if(1==update){
					//App.do_show("Usr_Suchway","Mycart");
location.href='/cn/m/cart/';
				}
				break;

			default:
				break;
		}
	});
}
App.clearChk=function(mode){
	var mode = mode || 'off'; 
	$("input[@name='auction_id'][@type='checkbox']").each(function(){
		switch(mode) {  
			case 'on':   
				$(this).attr("checked",true);   
				break;  
			case 'off':   
				this.checked = false;   
				break;
		}
	});
	if(mode=='off'){
		$("#list_btn").hide();
	}else{
		$("#list_btn").show();
	}
}
App.do_xiadan=function(){
	var burl='/doorder.php?a=Xiadan';
	if($("input[@name='auction_id']").size()==0){
		alert("当前购物车为空,请先购买产品!");
		return false;
	}
	if($("#form_xiadan input[@name='address'][checked]").size()==0){
		alert("请选择收货地址!");
		return false;
	}
	if(_$("other_address_radio").checked){
		if($("#n_prov").val()==""){
			alert("请选择地区");
			return false;
		}
		if($("#n_ad").val()==""){
			alert("请填写街道地址");
			return false;
		}
		if($("#n_po").val()==""){
			alert("邮编不能为空");
			$("#n_po").focus();
			return false;
		}
		if($("#deliverName").val()==""){
			alert("收货人姓名不能为空");
			$("#deliverName").focus();
			return false;
		}

	}
	if($("#form_xiadan input[@name='fm_sendtype'][checked]").size()==0){
		alert("请选择送货方式!");
		return false;
	}
	burl+='&'+$("#form_xiadan").formSerialize()+'&go_url='+encodeURI("/cn/m/order/show.php");
	$.getJSON(burl,function(json){
		switch(json.ret){					
			case 0:
				doLogin();
				break;
			case 1:
				if(typeof(json.msg)!="undefined"&&json.msg){
					alert(json.msg);
				}
				if(typeof(json.url)!="undefined"&&json.url){
					App.go_url(json.url);
				}
				break;	
			case 2:
				if(typeof(json.msg)!="undefined"&&json.msg){
					alert(json.msg);
				}
				break;
			default:
				if(typeof(json.msg)!="undefined"&&json.msg){
					alert(json.msg);
				}
				break;
		}
	});
}
App.go_url=function(url){
	window.location.href=url;	
}
App.do_water=function(){
	if($("input[@name='auction_id'][checked]").size()==0) return false;
	myForm=Sany.control.getSingleton("Shop_Cart","Popwater");
	myForm.setContents({width:300,height:240});
	myForm.showPopup("图片加水印");
}
App.deal_water=function(){
	if($("input[@name='auction_id'][checked]").size()==0) return false;
	var burl='/docart.php?a=Popwater';
	$("input[@name='auction_id'][checked]").each(function(){
		burl+="&auction_id[]="+$(this).val();													  
	});
	$("#Shop_FavPopwater").ajaxSubmit({beforeSubmit:function(){
			if($("input[@name='auction_id'][checked]").size()==0){
				alert("请至少选择一个产品");
				return false;
			}
			if($("#Shop_FavPopwater input[@name='watertype'][checked]").val()==0){
				if($("#Shop_FavPopwater input[@name='watercontent']").val()==0){
					alert("请输入水印文字内容");
					return false;
				}
				if($("#Shop_FavPopwater input[@name='color']").val()==0){
					alert("请选择文字水印颜色");
					return false;
				}
			}
			else{
				if($("#Shop_FavPopwater input[@name='file']").val()==""){
					alert("请上传水印图片");
					return false;
				}
			}
			if($("input[@name='auction_id'][checked]").size()==0){
				alert("请至少选择一个产品");
				return false;
			}
		},success:function(responseText){
			var json=responseText;
////			if($("#Shop_FavPopwater input[@name='watertype'][checked]").val()){
////			}
//				var json=eval("("+responseText+")");
			switch(json.ret){					
				case 0:
					doLogin();
					break;
				case 1:
					break;	
				case 2:
					App.clearChk();
					myForm=Sany.control.getSingleton("Shop_Cart","Popwater");
					alert(json.msg);
					myForm.remove();
					App.do_show("Usr_Suchway","Myfav");	
					break;
				default:
					break;
			}
		},url:burl,type:'POST',dataType:'json'});
	return false;
}
App.click_replacewater=function(invid){
	myForm=Sany.control.getSingleton("Shop_Cart","Replacewater");
	myForm.setContents({width:400,height:200});
	myForm.setParam("invid",invid);
	myForm.showPopup("替换图片");
}
App.deal_replacewater=function(){
	myForm=Sany.control.getSingleton("Shop_Cart","Replacewater");
	var invid=myForm.getParam("invid");
	var burl='/docart.php?a=Replacewater&invid='+invid;
	$("#Shop_CartReplacewater").ajaxSubmit({beforeSubmit:function(){
			if($("#Shop_CartReplacewater input[@name='file']").val()==""){
				alert("请上传图片");
				return false;
			}
		},success:function(responseText){
//			var json=eval("("+responseText+")");
			var json=responseText;
			switch(json.ret){					
				case 0:
					doLogin();
					break;
				case 1:
					break;	
				case 2:
					alert(json.msg);
					myForm.remove();
					App.do_show("Usr_Suchway","Myfav");	
					break;
				default:
					break;
			}
		},url:burl,type:'POST',dataType:'json'});
	return false;
}
App.rewater=function(){
	myForm=Sany.control.getSingleton("Shop_Cart","Replacewater");
	var invid=myForm.getParam("invid");
	var burl='/docart.php?a=Rewater&invid='+invid;
	$("#Shop_CartReplacesuffix").ajaxSubmit({beforeSubmit:function(){
			var f=0;												 
			$("#Shop_CartReplacesuffix input[@type='file']").each(function(){
				if($(this).val()==""){
					f++;
				}
			});
			if(f==$("#Shop_CartReplacesuffix input[@type='file']").size()){
				alert("请至少上传一张图片");
				return false;
			}
		},success:function(responseText){
//			var json=eval("("+responseText+")");
			var json=responseText;
			switch(json.ret){					
				case 0:
					doLogin();
					break;
				case 1:
					break;	
				case 2:
					alert(json.msg);
					myForm.remove();
					App.do_show("Usr_Suchway","Myfav");	
					break;
				default:
					break;
			}
		},url:burl,type:'POST',dataType:'json'});
	return false;
}
App.up_suffpic=function(){
	myForm=Sany.control.getSingleton("Shop_Cart","Replacewater");
	var invid=myForm.getParam("invid");
	var burl='/docart.php?a=Upsuffix&invid='+invid;
	$("#Shop_CartSuffpic").ajaxSubmit({beforeSubmit:function(){
			var f=0,n=0;												 
			$("#Shop_CartSuffpic input[@type='file']").each(function(){
				if($(this).val()==""){
					f++;
				}else{
					n++;
				}
			});
			if(f==$("#Shop_CartSuffpic input[@type='file']").size()){
				alert("请至少上传一张图片");
				return false;
			}
			if((n+parseInt($("#Shop_CartSuffpic input[@name='fav_num']").val()))>2){
				alert("您已经上传"+$("#Shop_CartSuffpic input[@name='fav_num']").val()+"张附图,最多只能上传2张附图"+(n+parseInt($("#Shop_CartSuffpic input[@name='fav_num']").val())));
				return false;
			}
		},success:function(responseText){
//			var json=eval("("+responseText+")");
			var json=responseText;
			switch(json.ret){					
				case 0:
					doLogin();
					break;
				case 1:
					break;	
				case 2:
					alert(json.msg);
					myForm.remove();
					App.do_show("Usr_Suchway","Myfav");	
					break;
				default:
					break;
			}
		},url:burl,type:'POST',dataType:'json'});
	return false;
}

App.modify_my=function(){
	myForm=Sany.control.getSingleton("Saneee_Contact","Modifymy");
	var burl='/post.php?m=Saneee_Contact&a=Modifymy';
	$("#myuserform").ajaxSubmit({beforeSubmit:function(){
			if($("#myuserform input[@name='realname']").val()==""){
				alert("请填写真实姓名");
				return false;
			}
			if($("#myuserform input[@name='address']").val()==""){
				alert("请填写地址");
				return false;
			}
		},success:function(responseText){
			var json=responseText;
			switch(json.ret){					
				case 0:
					doLogin();
					break;
				case 1:
					break;	
				case 2:
					myForm.setData("_prompt_msg",json.msg);
					myForm.setData("_prompt_timeout",3000);
					myForm.setData("title","修改联系信息");
					myForm.prompt();
					App.do_show("Usr_Suchway","My");	
					break;
				default:
					break;
			}
		},url:burl,type:'POST',dataType:'json'});
	return false;
}
App.modify_mypwd=function(){
	myForm=Sany.control.getSingleton("Saneee_Contact","Modifymy");
	var burl='/post.php?m=Saneee_Spass&a=Modifymypwd';
	$("#myuserform").ajaxSubmit({beforeSubmit:function(){
			if($("#myuserform input[@name='passwd']").val()==""){
				alert("密码不能为空");
				return false;
			}
			if($("#myuserform input[@name='new_passwd']").val()==""){
				alert("新密码不能为空");
				return false;
			}
			if($("#myuserform input[@name='new_repasswd']").val()==""){
				alert("确认新密码不能为空");
				return false;
			}
			if($("#myuserform input[@name='new_repasswd']").val()!=$("#myuserform input[@name='new_passwd']").val()){
				alert("新密码与确认新密码不符");
				return false;
			}
		},success:function(responseText){
			var json=responseText;
			switch(json.ret){					
				case 0:
					doLogin();
					break;
				case 1:
				case 2:
					myForm.setData("_prompt_msg",json.msg);
					myForm.setData("_prompt_timeout",3000);
					myForm.setData("title","修改密码");
					myForm.prompt();
					App.do_show("Usr_Suchway","Mypwd");	
					break;
				case 4:
					myForm.setData("_prompt_msg",json.msg);
					myForm.setData("_prompt_timeout",3000);
					myForm.setData("title","修改密码");
					myForm.prompt();
					break;
				default:
					break;
			}
		},url:burl,type:'POST',dataType:'json'});
	return false;
}
App.chong=function(){
	var price=$("#mychongform input[@name='price']").val();
	var paytype=$("#mychongform input[@name='fm_paytype'][checked]").val();
	switch(paytype){
		case "alipay":
			var burl='http://www.suchway.cn/cn/alipay/chong.php';
			break;
		case "chinabank":
			var burl='http://www.suchway.cn/cn/chinabank/chong.php?v_amount='+price;
			break;
		default:
			var burl='http://www.suchway.cn/cn/alipay/chong.php';
			break;
	}
	myForm=Sany.control.getSingleton("Saneee_Contact","Modifymy");
	var price=$("#mychongform input[@name='price']").val();
	$("#mychongform").ajaxSubmit({beforeSubmit:function(){
			var re=/^[0-9]+.?[0-9]*$/;
			if(!re.test(price)||parseFloat(price)<0.01){
				alert("请输入正确的充值金额: 如 20");
				$("#mychongform input[@name='price']").focus();
				return false;
			}
		},success:function(responseText){
			var json=responseText;
			switch(json.ret){					
				case 0:
					doLogin();
					break;
				case 1:
					if(typeof(json.form)!="undefined"&&json.form){
						myForm.setData("_prompt_msg",json.msg+json.form);
					}else{
						myForm.setData("_prompt_msg",json.msg);
					}
					myForm.setData("_prompt_timeout",3000);
					myForm.setData("title","商趣充值-->提示信息");
					myForm.prompt();
					if(typeof(json.url)!="undefined"&&json.url){
						setTimeout("window.location.href ='"+json.url+"';", 3000);
					}
					if(typeof(json.js)!="undefined"&&json.js){
						eval(json.js);
					}
					break;
				case 2:
					myForm.setData("_prompt_msg",json.msg);
					myForm.setData("_prompt_timeout",3000);
					myForm.setData("title","商趣充值-->提示信息");
					myForm.prompt();
					break;
				case 4:
					myForm.setData("_prompt_msg",json.msg);
					myForm.setData("_prompt_timeout",3000);
					myForm.setData("title","商趣充值-->提示信息");
					myForm.prompt();
					break;
				default:
					break;
			}
		},url:burl,type:'POST',dataType:'json'});
	return false;
}
App.write_gb=function(){
	myForm=Sany.control.getSingleton("Shop_Message","Popwrite");
	myForm.setContents({width:550,height:380});
	myForm.showPopup("签写留言");
}
App.save_gb=function(){
	myForm=Sany.control.getSingleton("Shop_Message","Popwrite");
	var formid="Shop_MessagePopwrite";
	$('#'+formid+' [@allowblank]').trigger("blur");
	if($("#"+formid+" [@ttt='1']").size()) return false;
	var burl='/post.php?m=Shop_Message&a=Popwrite';
	$("#"+formid).ajaxSubmit({beforeSubmit:function(){
		},success:function(responseText){
			var json=responseText;
			switch(json.ret){					
				case 0:
				case 1:
				case 2:
				case 4:
					alert(json.msg);
					myForm.remove();
					App.do_show("Qt_G","List");	
					break;
				default:
					break;
			}
		},url:burl,type:'POST',dataType:'json'});
	return false;
}
App.shouhuo=function(){
	myForm=Sany.control.getSingleton("Shop_Shouhuoaddr","MyAdd");
	var formid="mainform";
	$('#'+formid+' [@allowblank]').trigger("blur");
	if($("#"+formid+" [@ttt='1']").size()) return false;
	var id=$("#mainform input[@name='id']").val();
	var a="MyAdd";
	if(id){
		var a="MyModi";
	}
	var burl='/post.php?m=Shop_Shouhuoaddr&a='+a;
	$("#"+formid).ajaxSubmit({beforeSubmit:function(){
		if($("#mainform input[@name='fm_f']").val()==""){
			alert("收货人姓名不能为空");
			$("#mainform input[@name='fm_f']").focus();
			return false;
		}
		if($("#fm_pr").val()==""){
			alert("请选择地区");
			return false;
		}
		if($("#fm_ad").val()==""){
			alert("请填写街道地址");
			return false;
		}
		if($("#fm_po").val()==""){
			alert("邮编不能为空");
			$("#fm_po").focus();
			return false;
		}
		},success:function(responseText){
			var json=responseText;
			switch(json.ret){					
				case 0:
					doLogin();
					break;
				case 1:
				case 2:
				case 4:
					alert(json.msg);
					myForm.remove();
				//	App.do_show("Qt_Shouhuo","MyAddressList");	
					App.go_url('/cn/m/shouhuo/');
					break;
				default:
					break;
			}
		},url:burl,type:'POST',dataType:'json'});
	return false;		
}
App.loadjs=0;

App.divisionChange=function(obj){
	if(App.loadjs==0){
		App.load_ds_js();		
	}
	if(App.loadjs){
		i=obj.value;
		G=_$("fm_c");
		M=_$("fm_a");
		G.options.length=0;
		G.options.add(new Option("",""));
		M.options.length=0;
		M.options.add(new Option("",""));
		M.options[0].selected=true;
		if(i>0){
			E=SY.DistrictSelector.A[i];
			if(E&&E.children){
				if(E.children.length>1){
					G.options[0]=new Option("","")
				}
				for(var c in E.children){
					var H=SY.DistrictSelector.A[E.children[c]];
					G.options[G.options.length]=new Option(H.name,H.code);
				}
			}	
		}
	}
}
App.load_ds_js=function(){
	if(App.loadjs==1) return "";
	var jsFile = "http://www.suchway.cn/js/districtselector.js";
	jsFile += "?t="+ (new Date()).getTime();
	var js = document.createElement("script");
	js.setAttribute("src",jsFile); 
	js.setAttribute("type","text\/javascript");
	js.setAttribute("id", "sanyDistrictUrl");
	js.setAttribute("defer","defer");
	//for ie
	js.onreadystatechange = function(){
		if(js.readyState=='loaded'||js.readyState== 'complete') {
			App.LoadDsJsCallBack();
		}
	};
	//for ff
	js.onload =App.LoadDsJsCallBack;
	document.body.insertBefore(js,null); // null for ff	
}
App.LoadDsJsCallBack=function(){
	SY.DistrictSelector.initData(SY.DistrictSelector._ds_data);
	App.loadjs=1;	
}
function delDeliver(id){
	myForm=Sany.control.getSingleton("Shop_Shouhuoaddr","MyAdd");
	var formid="mainform";
	var burl='/post.php?m=Shop_Shouhuoaddr&a=MyDel';
	_$("id").value=id;
	$("#"+formid).ajaxSubmit({beforeSubmit:function(){
		},success:function(responseText){
			var json=responseText;
			switch(json.ret){					
				case 0:
					doLogin();
					break;
				case 1:
				case 2:
				case 4:
					alert(json.msg);
					myForm.remove();
				//	App.do_show("Qt_Shouhuo","MyAddressList");	
					App.go_url('/cn/m/shouhuo/');
					break;
				default:
					break;
			}
		},url:burl,type:'POST',dataType:'json'});
	return false;		
}
function selectDeliver(obj){
	//App.load_ds_js();		
	var da = deliverAddr[obj];
	if(da){
		var fullName = da[0];
		var province = da[1];
		var city = da[2];
		var area = da[3];
		var address = da[4];
		var zipcode = da[5];
		var telt = da[6];
		var telte = da[7];
		var teltel = da[8];
		var mobile = da[9];
		document.getElementById('id').value = obj;
		document.getElementById('fm_f').value = fullName;
		try {
			if(App.loadjs==0){
				App.load_ds_js();		
			}
			if(App.loadjs){
				P=_$("fm_pr");
				C=_$("fm_c");
				A=_$("fm_a");
				C.options.length=1;
				C.options.add(new Option("",""));
				A.options.length=1;
				A.options.add(new Option("",""));
				A.options[0].selected=true;
				for(var c=0;c<P.options.length;c++){
					//var H=SY.DistrictSelector.A[P.options[c].value];
					if(province>0&&province==P.options[c].value){
						P.options[c].selected=true;
						break;
					}
				}
				if(province>0){
					E=SY.DistrictSelector.A[province];
					if(E&&E.children){
						if(E.children.length>1){
							C.options[0]=new Option("","")
						}
						for(var c in E.children){
							var H=SY.DistrictSelector.A[E.children[c]];
							C.options[c]=new Option(H.name,H.code);
							if(city>0&&city==H.code){
								C.options[c].selected=true;
							}
						}
					}
					if(city>0){
						E=SY.DistrictSelector.A[city];
						if(E&&E.children){
							if(E.children.length>1){
								A.options[0]=new Option("","")
							}
							for(var c in E.children){
								var H=SY.DistrictSelector.A[E.children[c]];
								A.options[c]=new Option(H.name,H.code);
								if(area>0&&area==H.code){
									A.options[c].selected=true;
								}
							}
						}
					}	
				}
				
			}	
		}catch (e) {
			
		}
		document.getElementById('fm_ad').value = address;
		document.getElementById('fm_po').value = zipcode;
		document.getElementById('phoneSection').value = telt;
		document.getElementById('phoneCode').value = telte;
		document.getElementById('phoneExt').value = teltel;
		document.getElementById('mobilePhone').value = mobile;
		document.getElementById('deliverName').innerHTML='修改收货地址';
		document.getElementById('createD').style.display='none';
		document.getElementById('updateD').style.display='block';
	}
}
App.cityChange=function(obj){
	i=obj.value;
	G=_$("fm_a");
	G.options.length=0;
	G.options.add(new Option("",""));
	G.options[0].selected=true;
	if(i>0){
		E=SY.DistrictSelector.A[i];
		if(E&&E.children){
            if(E.children.length>1){
                G.options[0]=new Option("","")
            }
			for(var c in E.children){
				var H=SY.DistrictSelector.A[E.children[c]];
				G.options[G.options.length]=new Option(H.name,H.code);
			}
		}	
	}
}
App.listorder=function(name,val){
	var curForm=Sany.control.getSingleton("Usr_Suchway","Myorder");
	if(name=="cls"){
		curForm.setParam(val,null);
	}else{
		curForm.setParam(name,val);
	}
	curForm.doJson();	
}
App.useOtherArea=function(){
	$("#addressFormTable").removeClass("hidden");
	App.load_ds_js();		
}
function setCurArea(code){
	url=Sany.domain+'/do.php?m=Shop_Cart&a=CurArea&code='+code+'&jsoncallback=?';
	$.getJSON(url,function(json){
		switch(json.ret){					

			case 0:
				doLogin("url");
				break;
			case 1:
				//alert(json.data.totship);
				totship=json.data.totship;
				invship=json.data.invship;
				if(typeof(totship)!="undefined"){
					for(var t in totship){
						var ts=totship[t];
						_$("f_fee"+ts[0]).value=ts[2];
						_$("html_fee"+ts[0]).innerHTML=ts[1]+"&nbsp;&nbsp;"+ts[2]+"&nbsp;&nbsp;元";
					}
					for(var i in invship){
						//alert(vi+invship[i]);
						var iv=invship[i];
						var ifee='';
						for(var vi in iv){
							ifee+=iv[vi][0]+'：'+iv[vi][1]+"&nbsp;&nbsp;元"+iv[vi][2]+"<br>";
						}
						//_$("i_fee"+i).innerHTML=ifee;
					}
					_$("html_destName").innerHTML=json.data.destname;
				}
				break;
			default:
				break;
		}
	});
}
App.setCurArea=function(code){																								 
	$("#addressFormTable").addClass("hidden");
	setCurArea(code);
}
App.nprovChange=function(obj){
	if(App.loadjs==0){
		App.load_ds_js();		
	}
	if(App.loadjs){
		i=obj.value;
		G=_$("n_city");
		M=_$("n_area");
		setCurArea(i);
		G.options.length=0;
		G.options.add(new Option("",""));
		M.options.length=0;
		M.options.add(new Option("",""));
		M.options[0].selected=true;
		if(i>0){
			E=SY.DistrictSelector.A[i];
			if(E&&E.children){
				if(E.children.length>1){
					G.options[0]=new Option("","")
				}
				for(var c in E.children){
					var H=SY.DistrictSelector.A[E.children[c]];
					G.options[G.options.length]=new Option(H.name,H.code);
				}
			}	
		}
	}
}
App.ncityChange=function(obj){
	i=obj.value;
	G=_$("n_area");
	G.options.length=0;
	G.options.add(new Option("",""));
	G.options[0].selected=true;
	if(i>0){
		E=SY.DistrictSelector.A[i];
		if(E&&E.children){
            if(E.children.length>1){
                G.options[0]=new Option("","")
            }
			for(var c in E.children){
				var H=SY.DistrictSelector.A[E.children[c]];
				G.options[G.options.length]=new Option(H.name,H.code);
			}
		}	
	}
}
function download_pic(s,i){
	window.open('/cn/i/downloadpic.php?d=down&s='+s+'&i='+i,'_self');	
}
function resizeimg(ImgD,maxwidth,maxheight){  
	var image=new Image(); 
	image.src=ImgD.src;  
	if(image.width>0 && image.height>0){  
		flag=true;  
		if(image.width/image.height>=maxwidth/maxheight){  
			if(image.width>maxwidth){    
				ImgD.width=maxwidth;  
				ImgD.height=(image.height*maxwidth)/image.width;  
			}
			else{  
				ImgD.width=image.width;    
				ImgD.height=image.height;  
			}  
		}
		else{  
			if(image.height>maxheight){    
				ImgD.height=maxheight;  
				ImgD.width=(image.width*maxheight)/image.height;       
			}
			else{  
				ImgD.width=image.width;    
				ImgD.height=image.height;  
			}  
		}  
	}  
} 
