//引用 weberr.js 
document.write("<scr"+"ipt  language=javascript  src='"+vfenqi_http_base+"templates/js/weberr.js'></scr"+"ipt>");
var MemberInfo = {'column2913':-1,'column2904':-1};
var CardInfo = {'num':0};
var vfenqi_business = 1;                                                        //vfenqi 业务模式

dojo.require("dojo.cookie");
dojo.require("dojo.string");

var ShowLoginInfo = function(){
	var strHelp = '<li><a target="_blank" href="'+ vfenqi_http_base + 'html/Default/help1.htm">帮助中心</a></li>';
	var strLogin = strHelp + '<li><a id="my_cart" target="cart" href="'+ vfenqi_http_base + 'UserCart.php">购物车(${cardnum})</a></li>'
			+'<li><a id="my_vfenqi" href="'+ vfenqi_http_base + 'UserIndex.php">我的分期</a></li>'
			+'<li><a style="cursor:pointer;" onClick="Save({opt:\'Logout\'});">登出</a></li>'
			+'<li style="background:none"><a>您好，${name}</a></li>';
	var strNoLogin = strHelp + '<li><a href="'+ vfenqi_http_base + 'default.php?m=User&a=Forget">忘记密码</a></li>'
		+'<li><a href="'+ vfenqi_http_base + 'default.php?m=User&a=Reg">注册</a></li>'
		+'<li><a href="'+ vfenqi_http_base + 'default.php?m=User&a=Login">登录</a></li>';
	var _str ;
	var _member = {'name':'','cardnum':0};

	_str = dojo.cookie("userinfo");
	if("string" == typeof(_str) ) {
		MemberInfo = dojo.fromJson(_str);
		_member.name = MemberInfo.column2913;

		_str = '';
		_str = dojo.cookie("cardinfo");
		if("string" == typeof(_str) ) {
			CardInfo= dojo.fromJson(_str);
			_member.cardnum = CardInfo.num;
		}
		dojo.byId("topnav").innerHTML = dojo.string.substitute(strLogin,_member);
		//价格 切换时的操作 更新购物车链接
		dojo.subscribe("SwitchBusiness", null, function(business){ 
			dojo.byId("my_cart").href = vfenqi_http_base + "UserCart.php?business="+vfenqi_business;
		});
	}else{
		dojo.byId("topnav").innerHTML = strNoLogin;
		var strLoginHtml = '<div class="close"><a onclick="dojo.byId(\'login_main\').style.display=\'none\'">'
			+'<img src="'+vfenqi_http_base+'templates/images/login_close.gif" alt="关闭" title="关闭"  width="24" height="24" /></a></div>'
			+'<form method="post" name="login" onsubmit="Save(dojo.formToObject(this) );return false;" onKeyDown="if(event.keyCode==13) Save(dojo.formToObject(this) );"><div class="frame">'
			+'<ul id="username"><input type="hidden" name="opt" value="Login" />'
			+'<li>用户名：<input id="txtNickname" name="nickname" tabindex="1" type="text" id="user" size="18" maxlength="14" '
			+'dojoType="dijit.form.ValidationTextBox" required="true" trim="true" regexp="^[\w]{6,20}$" invalidMessage="" class="ime" /></li>'
			+'<li>密　码：<input id="password" tabindex="2" name="password" type="password" size="18" maxlength="14" '
			+'dojoType="dijit.form.ValidationTextBox" required="true" trim="true" regexp="^[\w]{6,20}$" invalidMessage="" /></li></ul>'
			+'<div id="login_button"><input onKeyDown="if(event.keyCode==13) Save(dojo.formToObject(this) );" type="image" src="'+vfenqi_http_base+'templates/images/login_button.gif" width="86" height="46" /></div></div>'
			+'<div class="reg"><a href="'+vfenqi_http_base +'html/User/Reg.htm"><img src="'+vfenqi_http_base+'templates/images/reg_button.gif" alt="注册维信分期会员" width="157" height="34" /></a>'
			+'</div></form>';
		var oDiv=document.createElement("div");
		oDiv.id = "login_main";
		oDiv.innerHTML = strLoginHtml;
		dojo.body().appendChild(oDiv);
	}
}


//初始化 显示 登录信息
dojo.addOnLoad(ShowLoginInfo);
//初始化价格显示模式
dojo.addOnLoad(function(){
	var business = dojo.cookie("business");
	//url 参数处理(覆盖 cookie 参数)
	if(location.search.length > 1 ){
		var _str;
		var objGet;
		_str = location.search.substr(1);
		objGet = dojo.queryToObject(_str);
		if("business" in objGet){
			business = objGet["business"];
		}
	}
	if( (4 == business) || (2 == business) ) {				//业务 模式 不为 消费信贷时 切换业务模式
		SwitchPrice(business);
	}else{
		SwitchPrice(1);
	}
});

//表单提交参数
var kwarg = {
    url:vfenqi_http_base+'WebInterface.php',
    form:'fmMain',
    content:{},
    method:'POST',
    handleAs: "json-comment-optional",
    handle: function(response, ioArgs){
        if(response instanceof Error){
            if(response.dojoType == "cancel"){
                console.debug("Request canceled.");
            }else if(response.dojoType == "timeout"){
                console.debug("Request timed out.");
            }else{
                console.error(response);
            }
        }else{
            console.debug("Successful server response! ");
            console.debug("HTTP status code: ", ioArgs.xhr);
            return response;
        }
    }
};


//全选 某表单下的 CheckBox
var CheckAll = function(fmid,checked){
    var iq = "[type='checkbox']";

    dojo.query(iq,fmid).forEach(function(item){
        console.log(item.id);
//        console.dir(item);
        dijit.byId(item.id).setChecked(checked);
    });
}
var ShowError = function( errmsg ) {
	if(errmsg.length){
		dojo.byId('error').innerHTML = errmsg;
		dojo.byId('error').style.display="block";
	}
	window.scrollTo(0,0);
}
//target 跳转目标页
//response 服务端返回信息
var cbPostRet = function ( response,target) {
	console.debug(response);
	dojo.byId('error').style.display="none";
	console.debug(target);
	switch(response.errno){
		case 1:			//未登录用户，跳转到登录页
			dojo.byId('login_main').style.display='block';
			break;
		case 6:			//登录 处理
			if(true == response.status){
				var lastopt = dojo.cookie('lastopt');
				if(lastopt.length>0){
					eval (lastopt);
					console.debug(lastopt);
					dojo.cookie("lastopt",null) ;
				}else{
					ShowLoginInfo();
					dojo.byId('login_main').style.display='none';
					dojo.byId('txtNickname').value='';
					dojo.byId('password').value='';
				}
			}else{
				ShowError(errMessage[response.errno]);
			}
			break;
		case 7:
			top.location.href = vfenqi_http_base ;
			break;
		default:		//默认　处理
			if(true == response.status){
				if(target){
					location = target;
					return false;
				}
			}
			ShowError(errMessage[response.errno]);
	}
}

//表单提交
//formContents  表单信息
//obj           其它需要提交的变量，若与表单重复，将覆盖表单值
//target       是否刷新当前页
var Save = function(formContents, obj, target) {
    var objPost = {};

    for(var prop in formContents){
        if( undefined != formContents[prop] && "" != formContents[prop] ){
            objPost[prop] = formContents[prop].toString();
        }
    }
//    console.dir(objPostOrder);
    if(obj){
        dojo.mixin(objPost,obj);
    }
    kwarg.content = objPost;
//    console.log(kwarg.url);
    console.debug( kwarg.content );
    dojo.xhrPost(kwarg).addCallback(function(response){
		if((response.status==false || response.status=='false') && response.errno==1){		//未登录时保存登录前的操作
			var lastopt = 'Save('+dojo.toJson(objPost)+',null,'+dojo.toJson(target)+')';
			dojo.cookie("lastopt",lastopt);
			console.debug(dojo.cookie("lastopt") );
		}
		cbPostRet(response,target);
	});
    return false;
}


var valiAll = function (){
 var isOk=true;
 dijit.registry.filter(function(widget){return widget.declaredClass=="dijit.form.ValidationTextBox"?true:false;}).forEach(function(widget){
  if(!widget.isValid()){
   ShowError(errMessage[33]);
   isOk=false;
   return;
  }
 });
return isOk;
}


var createjscssfile = function (filename, filetype){
	if (filetype=="js"){ //if filename is a external Javascript file
		var fileref=document.createElement('script');
		fileref.setAttribute("type","text/javascript");
		fileref.setAttribute("src", filename);
	}
	else if (filetype=="css"){ //if filename is an external CSS file
		var fileref=document.createElement("link");
		fileref.setAttribute("rel", "stylesheet");
		fileref.setAttribute("type", "text/css");
		fileref.setAttribute("href", filename);
	}
	return fileref;
}

var replacejscssfile = function (oldfilename, newfilename, filetype){
	var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none";	//determine element type to create nodelist using
	var targetattr=(filetype=="js")? "src" : (filetype=="css")? "href" : "none";		//determine corresponding attribute to test for
	var allsuspects=document.getElementsByTagName(targetelement);
	for (var i=allsuspects.length; i>=0; i--){							//search backwards within nodelist for matching elements to remove
		if (allsuspects[i] && allsuspects[i].getAttribute(targetattr)!=null 
			&& allsuspects[i].getAttribute(targetattr).indexOf(oldfilename)!=-1){
		   var newelement=createjscssfile(newfilename, filetype);
			allsuspects[i].parentNode.replaceChild(newelement, allsuspects[i]);
		}
	}
}

var SwitchPrice = function (business) {
	if(!((1 == business) || (2 == business) ) ){
		return false;
	}else{
		//保存业务模式 到客户端 cookie
		dojo.cookie("business",business);
		//保存业务模式 到服务器端 SESSION
//		Save({opt:'ChangeBusiness',business:business});
		replacejscssfile(vfenqi_business_css[vfenqi_business], vfenqi_business_css[business], 'css');
		vfenqi_business = business;
		try{
			dojo.byId('bank1').style.display='none';
			dojo.byId('bank2').style.display='none';
			dojo.byId('bank'+business).style.display='block';
		}catch(e){}
		//触发 价格 切换事件
		dojo.publish("SwitchBusiness", [ business ]);
	}
	try{
		dojo.byId('changbank_main').style.display='none';
	}catch(e){}
}
