//****************************//
function getE(elementid) {
		return document.getElementById(elementid);
	}
function getEN(elementname) {
		return document.getElementsByName(elementname);
	}
//****************后退************//
function goback(url){
	if(url==""){
		history.go(-1);
	}else{
		location.href=url;
	}
}
//*****************元素定位******************//
function getElementPos(elementId) {
 
	var ua = navigator.userAgent.toLowerCase();
	var isOpera = (ua.indexOf('opera') != -1);
	var isIE = (ua.indexOf('msie') != -1 && !isOpera); // not opera spoof
 
	var el = document.getElementById(elementId);
 
	if(el.parentNode === null || el.style.display == 'none') 
	{
		return false;
	}
 
	var parent = null;
	var pos = [];
	var box;
 
	if(el.getBoundingClientRect)	//IE
	{
		box = el.getBoundingClientRect();
		var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
		var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
 
		return {x:box.left + scrollLeft, y:box.top + scrollTop};
	}
	else if(document.getBoxObjectFor)	// gecko
	{
		box = document.getBoxObjectFor(el);
		   
		var borderLeft = (el.style.borderLeftWidth)?parseInt(el.style.borderLeftWidth):0;
		var borderTop = (el.style.borderTopWidth)?parseInt(el.style.borderTopWidth):0;
 
		pos = [box.x - borderLeft, box.y - borderTop];
	}
	else	// safari & opera
	{
		pos = [el.offsetLeft, el.offsetTop];
		parent = el.offsetParent;
		if (parent != el) {
			while (parent) {
				pos[0] += parent.offsetLeft;
				pos[1] += parent.offsetTop;
				parent = parent.offsetParent;
			}
		}
		if (ua.indexOf('opera') != -1 
			|| ( ua.indexOf('safari') != -1 && el.style.position == 'absolute' )) 
		{
				pos[0] -= document.body.offsetLeft;
				pos[1] -= document.body.offsetTop;
		} 
	}
		
	if (el.parentNode) { parent = el.parentNode; }
	else { parent = null; }
  
	while (parent && parent.tagName != 'BODY' && parent.tagName != 'HTML') 
	{ // account for any scrolled ancestors
		pos[0] -= parent.scrollLeft;
		pos[1] -= parent.scrollTop;
  
		if (parent.parentNode) { parent = parent.parentNode; } 
		else { parent = null; }
	}
	return {x:pos[0], y:pos[1]};
}

//*************监听input test选取 切换样式************//
function whichElement(e)
{
var targ
if (!e) var e = window.event
if (e.target) targ = e.target
else if (e.srcElement) targ = e.srcElement
if (targ.nodeType == 3) 
   targ = targ.parentNode
return targ;
}
function initializeInput()
{
    var inputs = document.getElementsByTagName('INPUT');
	for (var i=0; i<inputs.length; i++)
	{		
	    var inputname=inputs[i].name,type=inputs[i].type;
	    
	    if(type=="text")
	    {        
	        if (inputs[i].addEventListener){
                inputs[i].addEventListener("focus",function(){this.className="inputfocus"}, false);			
		    } 
		    else if (inputs[i].attachEvent){		
			    inputs[i].attachEvent('onfocus',function (ev){
			    whichElement(ev).className="inputfocus"}
			    );
            }
		
		    if (inputs[i].addEventListener){
                inputs[i].addEventListener("blur",function(){this.className=""}, false);			
		    } 
		    else if (inputs[i].attachEvent){
			    inputs[i].attachEvent('onblur',function (ev){			    
			    whichElement(ev).className=""});
            } 	            
	    }
	    
	    
	}
}

//***********监控textarea字数，并截断多余字数***********//
function textareaLimit(ta,tat,limit){
	if(ta==""||tat==""||limit=="")return false;
	var textatea = getE(ta).value;
	if(textatea.length > limit){
		getE(ta).value = textatea.substring(0,limit);
		getE(tat).innerHTML = "0";
	}else{
		getE(tat).innerHTML = limit - textatea.length;
	}
}

function singleCheck(obj,val){
	if(obj==""||val=="")return false;
	if(getEN(obj).length<1)return false;
	for(i = 0;i < getEN(obj).length;i++){
		if(getEN(obj)[i].value == val){
			getEN(obj)[i].checked = true;
			return false;
		}
	}
}
function multiCheck(obj,val){
	if(obj==""||val=="")return false;
	if(getEN(obj).length<1)return false;
	var tempArr=val.split(",")
	
	for(i = 0;i < getEN(obj).length;i++){
		for(j = 0 ; j < tempArr.length; j++){
			if(getEN(obj)[i].value == tempArr[j]){
				getEN(obj)[i].checked = true;
				j = tempArr.length;
			}	
		}
	}
}
function singleSelect(obj,val){
	if(obj==""||val=="")return false;
	if(getE(obj).options.length<1)return false;
	for (var i=0;i<getE(obj).options.length;i++ ){
		if (getE(obj).options(i).value==val){
			getE(obj).selectedIndex =i;
		}
	}
}

/***************数字下拉类（有时间扩展成数组）************/
function showselect(obj,s,e){
	var html_temp="";
	var temp = document.getElementById("select_div");
	var pos = getElementPos(obj);
	for(i = s ; i <= e ; i++)
	html_temp += "<a href=\"javascript:void(0)\" onmouseover=\"select2text('"+ obj +"','"+ i +"')\">"+i+"</a>"
	if((e-s)>6){
		temp.style.width = Math.ceil((e-s)/7)*30 + "px";
	}else{
		temp.style.width = "30px"
	}
	temp.innerHTML = html_temp;
	temp.style.top = (pos.y+20) + "px";
	temp.style.left = (pos.x) + "px";
	temp.style.display = "";
}

function hideselect(){
	var temp = document.getElementById("select_div");
	temp.innerHTML = "";
	temp.style.top = "0px";
	temp.style.left = "0px";
	temp.style.display = "none";
}
function select2text(obj,val){
	getE(obj).value = val;
}
function checkselectnum(obj,s,e){
	var temp = getE(obj).value
	var iNumber = /^\d+$/
	if(temp!=""){
		if (!iNumber.test(temp)){
			getE(obj).value = ""
		}
	}
	hideselect();
}
/************结束**********/

/*************选项卡******/
function swichTab(name,divname,n,style1,style2){
	var divarray = divname.split("$")
	var menuArray = document.getElementById(name).getElementsByTagName(divarray[0]);//获取节点
	var tabArray = document.getElementById("tab_"+name).getElementsByTagName(divarray[1]);//获取节点
	for (var i = 0; i < menuArray.length; i++){ 
		if (i == n){
			menuArray[i].className = style1;
			tabArray[i].style.display = "";
		}else{
			menuArray[i].className = style2;
			tabArray[i].style.display = "none";
		}
	}
}
/*******************************/

//等比缩放JS
//调用：<img src="图片" onload="javascript:DrawImage(this,宽,高)">
function DrawImage(ImgD,iwidth,iheight){
var flag=false;
var image=new Image();
if(iwidth == '')iwidth = 150;   //定义允许宽度，大则等比例缩小，高度自适应
if(iheight == '')iheight = 150; //定义允许高度，大则等比例缩小，宽度自适应
image.src=ImgD.src;
if(image.width>0 && image.height>0){
   flag=true;
   if(image.width/image.height>= iwidth/iheight){
    if(image.width>iwidth){
     ImgD.width=iwidth;
     ImgD.height=(image.height*iwidth)/image.width;
    }else{
     ImgD.width=image.width;
     ImgD.height=image.height;
    }
   }else{
    if(image.height>iheight){
     ImgD.height=iheight;
     ImgD.width=(image.width*iheight)/image.height;
    }else{
     ImgD.width=image.width;
     ImgD.height=image.height;
    }
   }
}
}
//ajax 类
function createxmlhttprequest()
{
	var xmlhttp=false;
	try
	{
		xmlhttp=new ActiveXObject('Msxm12.XMLHTTP');
	}
	catch(e)
	{
		try
		{
			xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
		}
		catch(e)
		{
			try
			{
				xmlhttp=new XmlHttpRequest();
			}
			catch(e)
			{
			}
		}
	 }
	return xmlhttp;
}

//房源收藏
function favorite(htype,id)
{
    var xmlhttp = createxmlhttprequest();
	//window.open("inc/regCheck.asp?rType=2&/="+escape(str))
    xmlhttp.open("get","include/favorite.asp?t="+htype+"&i="+id+"&r=" + Math.random(),true);
	xmlhttp.onreadystatechange=function()
	{
		if(xmlhttp.readyState==4)
		{
			if(xmlhttp.status==200)
			{
				switch(xmlhttp.responseText){
					case "no" :
						alert("该房源不存在或已被删除！");
						break;
					case "on" :
						alert("您已经收藏了该房源！");
						break;
					case "log" :
						alert("用户尚未登陆，请先登录！");
						break;
					case "yes" :
						alert("该房源已成功的添加到您的收藏夹，您可以在用户平台浏览您收藏的房源！");
						break;
				}
			}
		}
	}
	xmlhttp.send(null);
}

//JS版的Server.UrlEncode编码函数(存在兼容性问题，火狐下window.execScript不被支持，请使用下面方法)
//修改了下，把正则/./g换成了/[^0-9a-zA-Z]/g，数字和字母不转译，比较奇怪^/w为什么不行
//用法:变量.UrlEncode()
String.prototype.UrlEncode = function()
{
	var str = this;
	str = str.replace(/[^0-9a-zA-Z]/g,function(sHex)
	{
		window.EnCodeStr = "";
		window.sHex = sHex;
		window.execScript('window.EnCodeStr=Hex(Asc(window.sHex))',"vbscript");
		return window.EnCodeStr.replace(/../g,"%$&");
	});
	return str;
}
//-->

//server.urlencode和sercer.urldecode
var EncodeURI = function(unzipStr,isCusEncode){
    if(isCusEncode){
        var zipArray = new Array();
        var zipstr = "";
        var lens = new Array();
        for(var i=0;i<unzipStr.length;i++){
			var ac = unzipStr.charCodeAt(i);
			zipstr += ac;
			lens = lens.concat(ac.toString().length);
        } 
        zipArray = zipArray.concat(zipstr);
        zipArray = zipArray.concat(lens.join("O"));
        return zipArray.join("N");
    }else{
        //return encodeURI(unzipStr);
        var zipstr=""; 
        var strSpecial="!\"#$%&'()*+,/:;<=>?[]^`{|}~%"; 
        var tt= "";
        for(var i=0;i<unzipStr.length;i++){ 
            var chr = unzipStr.charAt(i); 
            var c=StringToAscii(chr); 
            tt += chr+":"+c+"n"; 
            if(parseInt("0x"+c) > 0x7f){ 
                 zipstr+=encodeURI(unzipStr.substr(i,1));
            }else{ 
                 if(chr==" ") 
                    zipstr+="+"; 
                 else if(strSpecial.indexOf(chr)!=-1) 
                    zipstr+="%"+c.toString(16); 
                 else 
                    zipstr+=chr; 
                } 
            } 
        return zipstr; 
    }
}

var DecodeURI = function(zipStr,isCusEncode){
    if(isCusEncode){
        var zipArray = zipStr.split("N");
        var zipSrcStr = zipArray[0];
        var zipLens;
        if(zipArray[1]){
            zipLens = zipArray[1].split("O");    
        }else{
            zipLens.length = 0;
        }       
        var uzipStr = "";        
        for(var j=0;j<zipLens.length;j++){
            var charLen = parseInt(zipLens[j]);
            uzipStr+= String.fromCharCode(zipSrcStr.substr(0,charLen));
            zipSrcStr = zipSrcStr.slice(charLen,zipSrcStr.length);
        }        
        return uzipStr;
    }else{
        //return decodeURI(zipStr);
        var uzipStr=""; 
        for(var i=0;i<zipStr.length;i++){ 
            var chr = zipStr.charAt(i); 
            if(chr == "+"){ 
                 uzipStr+=" "; 
            }else if(chr=="%"){ 
                 var asc = zipStr.substring(i+1,i+3); 
                 if(parseInt("0x"+asc)>0x7f){ 
                     uzipStr+=decodeURI("%"+asc.toString()+zipStr.substring(i+3,i+9).toString()); ; 
                     i+=8; 
                 }else{ 
                     uzipStr+=AsciiToString(parseInt("0x"+asc)); 
                     i+=2; 
                 } 
            }else{ 
                 uzipStr+= chr; 
            } 
        } 
        return uzipStr;
    }
}
var StringToAscii = function(str){
    return str.charCodeAt(0).toString(16);
}
var AsciiToString = function(asccode){
    return String.fromCharCode(asccode);
}
