﻿/**
函数:简单获取对象
*/
function D(str){
	if (str=="") return;
	return document.getElementById(str);
}
var t1ti={	//执行全局代码
	eval: function(code){
		if(!!(window.attachEvent && !window.opera)){
			//ie
			execScript(code);
		}else{
			//not ie
			window.eval(code);
		}
	},

	//阻止事件冒泡
	stopEvent: function(e){
		if (!e) e = arguments[0] || window.event;
		if (e.stopPropagation) {
			e.stopPropagation();
		} else {
			e.cancelBubble = true;
		}
	},
	
	//阻止默认行为
	stopDefault: function(e){
		if(e && e.preventDefault){
			e.preventDefault();
		}else{
			window.event.returnValue = false;
		}
		return false;
	},
	
	reset:function(){
		$("form")[0].reset();
		return false;
	}
}
//通用表单验证
var cf={
	isEmpty:function(object){
		_str = $.trim(object.value);
		if (_str.length == 0){
			return true;
		}
	},
	//是否中文
	isChinese: function(object)
	{
		return /^[\u4E00-\u9FA5]{0,25}$/.test($.trim(object.value));
	},
	//是否英文
	isEnglish: function(object)
	{
		return /^[A-Za-z]+$/.test($.trim(object.value));
	},
	//数字（正整数）
	isNumber : function(object)
	{
		return /^\d+$/.test($.trim(object.value));
	},
	//整数（正整数和负整数）
	isInteger : function(object)
	{
		return /^[-\+]?\d+$/.test($.trim(object.value));
	},
	//实数（小数）
	isDouble : function(object)
	{
		return /^[-\+]?\d+(\.\d+)?$/.test($.trim(object.value));
	},
	//QQ
	isQQ : function(object)
	{
		return /^[1-9]\d{3,8}$/.test($.trim(object.value));
	},
	//是否为合法电子邮件地址
	isEmail: function(object)
	{
	   return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test($.trim(object.value)); 
	},
	//是否合法url地址
	isURL: function(object)
	{
		var regTextUrl = /^(file|http|https|ftp|mms|telnet|news|wais|mailto):\/\/(.+)$/;
		return regTextUrl.test($.trim(object.value));
	},
	//是否邮政编码(中国)
	isPostalCode: function(object)
	{
		var regTextPost = /^(\d){6}$/;
		return regTextPost.test($.trim(object.value));
	},
	//是否是有效中国身份证
	isIDCard: function(object)
	{
		var iSum=0;
		var info="";
		var sId;
		var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};
		//如果输入的为15位数字,则先转换为18位身份证号
		if(object.value.length == 15)    
			sId = cf.idCardUpdate($.trim(object.value));    
		else
			sId = object.value;
		
		if(!/^\d{17}(\d|x)$/i.test(sId))
		{
			return false;
		}
		sId=sId.replace(/x$/i,"a");
		//非法地区
		if(aCity[parseInt(sId.substr(0,2))]==null)
		{
			return false;
		}
		var sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
		var d=new Date(sBirthday.replace(/-/g,"/"))    
		//非法生日
		if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))
		{
			return false;
		}
		for(var i = 17;i>=0;i--) 
		{
			iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11);
		}
		if(iSum%11!=1)
		{
			return false;
		}
		return true;    
	},
	//是否有效的电话号码(中国)
	isPhoneCall: function(object)
	{
		return /([0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^[0-9]{3,4}[0-9]{3,8}$)|(^0{0,1}13[0-9]{9})/.test(object.value);
	},
	//是否有效的手机号码(最新的手机号码段可以是15开头的
	isMobile: function(object)
	{
		return /0{0,1}1(3|5)[0-9]{9}/.test(object.value);
	},
	//15位身份证转换为18位,如果参数字符串中有非数字字符,则返回"#"表示参数不正确
	idCardUpdate: function(_str)
	{ 
		var idCard18;
		var regIDCard15 = /^(\d){15}$/;
		if(regIDCard15.test(_str))
		{
			var nTemp = 0;
			var ArrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
			var ArrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
			_str = _str.substr(0,6) + '1' + '9' + _str.substr(6,_str.length-6);
			for(var i=0;i<_str.length;i++)
			{
				nTemp += parseInt(_str.substr(i,1)) * ArrInt[i];
			}
			_str += ArrCh[nTemp % 11];
			idCard18 = _str;        
		}
		else
		{
			idCard18 = "#";
		}
		return idCard18;
	}
}
//对话框
function OpenMWin(url,w,h)
{
    var theDes = "status:no;center:yes;help:no;minimize:no;maximize:no;dialogWidth:"+w+"px;scroll:no;dialogHeight:"+h+"px;border:think";
    return self.showModalDialog(url,null,theDes);
}
//窗口大小不可变
function OpenWin(win,url,w,h)
{
    parameter = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width="+w+",height="+h+"";
	return window.open(url,win,parameter);
}
//户型选择器
function UnitSelector_Open(type, val, title, all)
{
	val = val?val:'';
	title = title?title:'';
	all = all?all:'';
	return OpenMWin("/Select_Units.asp?Type=" + type + "&hid=" + val + "&WinTitle=" + title + "&ShowAll=" + all, 700, 600);
}

//查询文本框中字符的长度
function checkLength(which,maxChars,viewID) {
	var val=$(which).val();
	var len=val.length;
	if (val.length > maxChars){
		$(which).val(val.substring(0,maxChars));
		len=maxChars
	}
	var curr = maxChars-len;
	document.getElementById(viewID).innerHTML = curr.toString();
}

//动态生成Select
function createFrame(idList,selectedList){
	var max=10;
	var idArr=idList.split(",");
	var selArr=selectedList.split(",");
	if (idArr.length!=selArr.length){
		selArr=[0,0,0];
	}
	for (var i=0;i<idArr.length;i++){
		createOption(idArr[i],max,selArr[i])
	}
}
function createOption(id,max,selected){
	for(var i=0;i<=10;i++){
		var Option = document.createElement("OPTION");  
		Option.text=i;   
		Option.value=i;
		document.getElementById(id).options.add(Option);
	}
	document.getElementById(id).options[selected].selected=true;
}
//默认列表表格的行为
var DefTable={
	id:"",
	clickCountURL:"",
	openAll:function(){
		$(DefTable.id+" tr:hidden").show();
	},
	closeAll:function(){
		$(DefTable.id+" tr.otherInfo").hide();
	},
	init:function(id){
		DefTable.id=id;
		$(id+" tr").mouseover(function(){
		$(this).addClass("over");
		}).mouseout(function(){
			$(this).removeClass("over");
		}).click(function(){
			var infoID="#"+$(this).attr("rel");
			if($(infoID).css("display")=="none"){
				$(infoID).show();
				//统计展开次数
				if (DefTable.clickCountURL!=""){
					var clickID=infoID.substr(infoID.indexOf("#info")+6);
					if (clickID!="") {
					}else{
						alert("统计点击时,得到一个空ID");
					}
				}
			}else{
				$(infoID).hide();
			};
		});
		$(".listBox:even").addClass("j");
		//$("a[@onClick]").bind("click",function(e){stopEvent(e);});
		$(DefTable.id+" input.input_checkbox").click(function(e){
			stopEvent(e);
			$("#bar"+$(this).val()).hasClass("sel") ? $("#bar"+$(this).val()).removeClass("sel") : $("#bar"+$(this).val()).addClass("sel");
		})
	}
}
//在一个按逗号隔开的字符串中标记删除的串
function TagDelStr(str,delStr){
	if (str=="" || delStr=="" || str.indexOf(delStr)==-1) return str;
	var len=delStr.length;
	var strA=str.substr(0,(str.indexOf(delStr)-1));
	var strB=str.substr(str.indexOf(delStr)+len);
	return strA+"<"+delStr+">"+strB;
}
//修改联系信息
function OpenContact(){
	var result = OpenMWin("Contact_Mdy.asp",400,250);
	if(!result) return false;
	$("#me").html("姓名："+result.name+"&nbsp;电话："+result.tel);
}
//查询文本框中字符的长度
function checkLength(which,maxChars,viewID) {
	var val=$(which).val();
	var len=val.length;
	if (val.length > maxChars){
		$(which).val(val.substring(0,maxChars));
		len=maxChars
	}
	var curr = maxChars-len;
	$("#"+viewID).html(curr.toString());
}
//排序按钮
function OrderBy(UrlInfo,flag){
	if (typeof(flag)=="undefined"){flag=0;};
	if (UrlInfo.substr(UrlInfo.length-1,1)=="&"){
		orderStr="order="
	}else{
		orderStr="&order="
	}
	location.href = UrlInfo + orderStr + flag;
}
//分布跳转
function goto(url,currpage){
    var currpage = prompt("请输入跳转到的页号",currpage);
    if(currpage)
    {
		location.href="?currpage="+currpage+"&"+url;
    }
}

//上传类
function filesload(opt){
	var options={
		'dataInput':$("#dateInput"), //上传控件
		'listDiv':$("#listDiv"), //上传图片列表容器
		'max':6, //最大上传数
		'printWater':'select', //select可以先把加不加水印 yes必须加水印 no不加水印
		'removeName':"delPhoto" //删除图片存放控件
	}
	jQuery.extend(options,opt);
	this.upfile=upfile;
	var loaded_num=0; //确定上传的数量
	var loaded_total=0;//已上传的总数量
	init();
	function init(){ //把已经上传图片呈现
		var loaded=options.dataInput;
		var loaded_img_str=loaded.val();
		if(loaded_img_str!=""){
			imgs=loaded_img_str.split(",");
			for(i=0;i<imgs.length;i++){
				setload(jQuery.trim(imgs[i]),false);
				loaded_num+=1;
			}
		}
		filesload.count+=1; //上传组件创建的数量
	}
	function upfile(){
		if(loaded_num>=options.max){
			alert("图片已经到达最大数量");
			return false;
		}
		var returnVal=OpenMWin("/loadfile.asp?pw="+options.printWater+"&r="+Math.random()*10000,600,20);
		if(returnVal!= null && typeof(returnVal)==="object" && returnVal.files!=""){setload(returnVal.files,true);}
	}
	function setload(url,insertData){
		var list=options.listDiv;
		if(insertData){
			var input=options.dataInput;
			if(input.val()!=""){
				input.val(input.val()+","+url);
			}else{
				input.val(url);
			}
		}
		loaded_num+=1;
		loaded_total+=1;
		var div=$(document.createElement("div")).attr({"class":"item","id":"load_item_"+filesload.count+"_"+loaded_total});
		var img=$(document.createElement("img")).attr({"src":url,"width":100,"height":100});
		var a=$(document.createElement("a")).attr({"href":"javascript:void(0);"}).html("×点击删除").data({"url":url,"id":"#load_item_"+filesload.count+"_"+loaded_total,"del":"0"}).click(function(){
			del(this);
		})
		list.prepend(div.append(img).append(a));
	}
	
	function del(a){
		var url=$(a).data("url");
		var html_id=$(a).data("id");
		var is_del=$(a).data("del");
		var input=options.dataInput;
		if (is_del=="0"){
			$(html_id).fadeTo("slow",0.4);
			$(a).data("del","1");
			$(a).html("点击恢复");
			input.val(input.val().replace(new RegExp(","+url+"|"+url+",|"+url,"g"),""))
			$("form:first").append($(document.createElement("input")).attr({"type":"hidden","id":html_id.replace("#","")+"_del","name":options.removeName,"value":url}));
			loaded_num-=1;
		}else if(is_del=="1"){
			if(loaded_num>=options.max){
				alert("图片已经到达最大数量,请先删除其它图片");
				return;
			}
			$(html_id).fadeTo("slow",1);
			$(a).data("del","0");
			$(a).html("×点击删除");
			var input_data=input.val();
			if (input_data==""){
				input.val(url);
			}else{
				input.val(input_data+","+url);
			}
			$(html_id+"_del").remove();
			loaded_num+=1;
		}
	}
}
filesload.count=0;
//查找带有户型的相关楼盘
function FindUnits(addr){
	var addrVal=addr || $("#addr").val()
	if(addrVal==""){
		$("#unitsReturn").html("无地址信息");
		return;
	}
	$("#unitsReturn").html("查找中...");
	jQuery.get("/AjaxSer.asp",{"key":addrVal,"do":"sHouseForUnits"},function(data){
		data=eval("("+data+")");
		if(data.returnVal==-1){
			$("#unitsReturn").html("根据您的地址，没有找到户型!");
			return;
		}else{
			var strTmp="请选择户型图：";
			var arrTmp=data.returnVal;
			var len=arrTmp.length;
			for (var i=0;i<len;i++){
				var Otmp=arrTmp[i];
				strTmp=strTmp+'&nbsp;<a href="javascript:my_UnitSelector_Open('+Otmp.hid+');void(0);">'+Otmp.na+'('+Otmp.num+')</a>&nbsp;'
			}
			$("#unitsReturn").html(strTmp);
		}
	});
}
//打开户型列表
function my_UnitSelector_Open(val)
{
	var result = UnitSelector_Open(1, val, "请选择户型图");
	if(!result) return false;
	$("#unitPhotoID").val(result.id);
	$("#unitPhoto").html('<div class="unitBox"><img src="'+result.imgPath+'" width="100" height="100" title="'+result.title+'" /><br><a href="javascript:delUnit();void(0);">×点击删除</a></div>');
	$("#noUnit").attr("checked",false);
};
//删除户型图
function delUnit(){
	$("#unitPhotoID").val("");
	$("#unitPhoto").html("");
}
//建议搜索
function lookup(inputID){
	if(!inputID) {return "";}
	input=$(inputID);
	var suggestionsBox=$(document.createElement("div")).attr({'class':'suggestionsBox','style':'display:none;'});
	var suggestionList=$(document.createElement("div")).attr({"class":"suggestionList"});
	var closeBar=$(document.createElement("a")).attr({"href":"javascript:void(0);","class":"closeBar"}).html("关闭").click(function(){
		suggestionsBox.hide();
	});
	var iframe=$(document.createElement("iframe")).attr({"style":"display:none;position:absolute;left:0;top:0;width:170px;z-index:-1","scrolling":"no"}); //ie6防下拉框在浮动层之上
	input.wrap('<span class="suggestions" id="suggestions"></span>');
	var suggestions=$("#suggestions");
	suggestions.append(suggestionsBox);
	suggestionsBox.append(suggestionList).append(closeBar);
	if($.browser.msie){
		suggestionsBox.append(iframe);
	}

	input.bind("keyup",function(){_lookup(this.value);});
	input.bind("change",function(e){FindUnits();});
	input.bind("click",function(e){t1ti.stopEvent(e);});
	$("body").bind("click",function(e){suggestionsBox.hide();});
	
	function _lookup(val){
		if(val.length==0){
			suggestionsBox.hide();
		}else{
			$.post("/ajaxSer.asp", {"key":""+val+"","do":"searchSug"}, function(data){
				if(data.length>0) {
					var oArr=eval("("+data+")");
					var ul=$(document.createElement("ul"));
					for (var i=0;i<oArr.length;i++){
						var name=oArr[i].n;
						var area=oArr[i].a;
						var li=$(document.createElement("li")).data({"val":name,"area":""+area}).click(function(){
							var val=$(this).data("val");
							var area=$(this).data("area");
							if(!area){
								area="";
							}
							input.val(val);
							suggestionsBox.hide();
							FindUnits(val);
							var options=$("#area").children("option");
							options.eq(0).attr("selected","selected");
							options.each(function(){
								if($(this).text()==area){
									$(this).attr("selected","selected");
								}
							});
						}).html(name.replace(val,"<span class='cRed'>"+val+"</span>")+"&nbsp;<span class='cGray f12px'>"+area+"</span>").mouseover(function(){
							$(this).addClass("over");
						}).mouseout(function(){
							$(this).removeClass("over");
						});
						ul.append(li);
					}
					suggestionList.empty().append(ul);
					if($.browser.msie){
						iframe.css("height",suggestionsBox.height()+"px");
					}
					iframe.show();
					suggestionsBox.show();
					
				}else{
					iframe.hide();
					suggestionsBox.hide();
				}
			});
		}
	}
}
//户型说明调用
function unitinfo(container,room,hall,initArr){
	var msg={
		"loading":"正在加载户型说明选项...",
		"init":"请正确选择户型结构",
		"searchErr":"没有匹配的选项..."
	}
	var con=$(container);
	var roomObj=$(room);
	var hallObj=$(hall);
	var data="";
	var msgBox=$(document.createElement("div")).attr("style","color:red;");
	var list=$(document.createElement("div"));
	con.append(msgBox).append(list);
	msgBox.html(msg.loading);
	$.get("/ajaxSer.asp?do=getUnitInfo",function(rel){
		data=eval("("+rel+")");
		$(room+","+hall).change(function(){show_select(parseInt(roomObj.val()),parseInt(hallObj.val()),0);});
		msgBox.empty().html(msg.init);
		if(initArr && initArr.length==3){
			show_select(initArr[0],initArr[1],initArr[2]);
		}
	})
	
	function show_select(r,h,i){
		if(r==0){
			msgBox.empty().html(msg.init);
			list.empty();
		}else{
			var tmp_arr=search_data(r,h);
			if(tmp_arr.length==0){
				tmp_arr=search_data(r,0)
			}
			create_list(tmp_arr,i);
		}
	}
	
	function search_data(r,h){
		if(parseInt(r)>4){r=4}
		if(data=="") return [];
		var search_result=[];
		var l=data.length;
		for(i=0;i<l;i++){
			var item=data[i];
			if(r==item.r && h==item.h){
				search_result.push(item);
			}
		}
		return search_result;
	}

	function create_list(arr,initID){
		list.empty();
		var l=arr.length;
		if(l==0){
			msgBox.empty().html(msg.searchErr);
			return;
		}else{
			msgBox.empty();
		}
		for(i=0;i<l;i++){
			var radio_state=(arr[i].id==initID)?"checked='checked'":"";
			list.append($(document.createElement("p")).html("<input type='radio' "+radio_state+" name='unitInfoID' value='"+arr[i].id+"'/>"+arr[i].i));
		}
	}
}

