var global = {};
global.initConst = {};
global.gTemplates = {};
global.areaConst = {};
global.cert = {};
function loadsearch() {
	var ac = new AjaxWrap(loadConst);
	ac.getXML("litconst.xml", true);
}

function loadSearchResult(url){
	var ac = new AjaxWrap(loadSearchResultCb);
	ac.openText(url, true);
}

function loadSearchResultCb(pagehtml){	
	var div_obj = document.getElementById("searchresultpoint");
	div_obj.innerHTML = processPage(pagehtml);
}

function processPage(orgtext){
	while(true){
	    var regxb = '<!--ajaxscript:B##--';
	    var regxe = '--ajaxscript:E-->';
	    var rb=orgtext.indexOf(regxb);
	    var re=orgtext.indexOf(regxe,rb);
    	if(rb==-1)  return orgtext;
	    var data = orgtext.substring(rb+regxb.length, re);
    	var newdata = eval(data);
	    orgtext = orgtext.replace(regxb+data+regxe,newdata);
    }
}

function change_area2(doc, pro, c){
	var province = doc.getElementsByName(pro)[0];
	var city = doc.getElementsByName(c)[0];
	
	city.options.length = 0;
	var length = 0;
	var arr = global.areaConst[province.options[province.selectedIndex].value].array;
	for(var i in arr){
		city.options[length] = new Option(arr[i], i, length==0, false);
		++length;
	}

}
function postSearchUserForm(pagename,formname,ishigh){
	var searchPsStr = formToSearchString(formname);
    var queryString = pagename+"?"+searchPsStr+ "ishigh="+ishigh;
    window.location=queryString;
}
function formToSearchString(formname)
{
	var queryString='';
	var form_obj = document.getElementById(formname);
	if(form_obj==null) return null;
	queryString='province='+form_obj.province.value+'&city='+form_obj.city.value;
	queryString+='&age='+form_obj.age.value+'&ageBegin='+form_obj.ageBegin.value;
	queryString+='&ageEnd='+form_obj.ageEnd.value+'&sex='+form_obj.sex.value;
	queryString+='&marriage='+form_obj.marriage.value+'&aim='+form_obj.aim.value+"&";
	return queryString;
}
function renderPageDivFunction(pageno,pagename,pageform){
	var searchPsStr = formToRequestString(pageform);
    var queryString = "loadSearchResult('"+pagename+"?"+searchPsStr+ "from="+(pageno-1)*9 + "&count=9')";
    return queryString;
}
function renderPageDivLoop(begin, end, current, pagename, pageform){
	var loopret = "";
	for(var i = begin ; i <= end; ++i){
		if(i == current){
			loopret += "<span class='sed' style='font-weight:bold;color:#676767;font-size:14px;'>" + i + "</span>";
		}else{
			loopret += "&nbsp;<a class='num' href='javascript:void(0)' onclick="+renderPageDivFunction(i,pagename,pageform)+" >" + i + "</a>"
		}
	}
	return loopret;
}
function renderPageDiv(current,per,total,pagename,pageform){

	var ret = "";
	var totpage = parseInt(Math.ceil(total / per).toFixed());
	var offset = (totpage!=11?1:0);
	
	if(totpage <= 1)  return ret;
	ret+="<div class='pageLink' style='margin-bottom:5px;'>";
	if(current > 1){
		ret+="&nbsp;<a class='num' href='javascript:void(0)' onclick="+renderPageDivFunction(current-1,pagename,pageform)+" ><img src='images/icn_left.gif' border='0'>&nbsp;上一页</a>"; 
	}

	if(totpage<=10){
	//不足10个记录
		ret += renderPageDivLoop(1, totpage, current, pagename, pageform);
	}else if(current<=8){
	//偏向列首,在前10个记录
		ret += renderPageDivLoop(1, 10, current, pagename, pageform);
		ret += "...";
		ret += renderPageDivLoop(totpage-offset, totpage, current, pagename, pageform);
	}else if(current>=totpage-7){	
	//偏向列尾,在后10个记录
		ret += renderPageDivLoop(1, 1+offset, current, pagename, pageform);
		ret += "...";
		ret += renderPageDivLoop(totpage-9, totpage, current, pagename, pageform);
	}else{
	//在列中
		ret += renderPageDivLoop(1, 2, current, pagename, pageform);
		ret += "...";
		ret += renderPageDivLoop(current-4, current+4, current, pagename, pageform);
		ret += "...";
		ret += renderPageDivLoop(totpage-1, totpage, current, pagename, pageform);
	}
	
	if(current < totpage){
		ret+="&nbsp;<a class='num' href='javascript:void(0)' onclick="+renderPageDivFunction(current+1, pagename, pageform)+" >下一页&nbsp;<img src='images/icn_right.gif' border='0'></a>";
	}
	ret+="</div>";	
	return ret;
	
}
function overIndex(span){
	span.style.backgroundColor = '#f2f6fb';	
	span.style.border = '1px solid #d0dbe7';
}

function outIndex(span){
	span.style.backgroundColor = '';	
	span.style.border = '#ffffff 1px solid';	
}
function loadConst(xmlConst){	
	var area = xmlConst.getElementsByTagName("province");
	for(var i = 0 ; i < area.length; ++i){
		if(area[i].attributes){
			var array = [];
			var items = area[i].childNodes;
			for(var j = 0; j < items.length; ++j){
				if(items[j].attributes){
					array[parseInt(items[j].getAttribute("key"))] = items[j].getAttribute("value");
				}
			}
			global.areaConst[area[i].getAttribute("key")] = {value:area[i].getAttribute("value"),
													array:array};
		}
	}
}
function searchfixTd(now, up){
	var ret = "";
	for(var i = now; i <up; ++i){
		ret += "<td width='232' height='144'>&nbsp;</td>  ";
	}
	return ret;
}
function transAgeRange(form_step3,selectname,beginname,endname) {
	var idx = form_step3.elements[selectname].selectedIndex;
	var agesel = parseInt(form_step3.elements[selectname].options[idx].value);
	var setEmbracerAgeBegin=function(age) {
		form_step3.elements[beginname].value = age;

	}
	var setEmbracerAgeEnd=function(age) {
		form_step3.elements[endname].value = age;	
	}	
	switch(agesel) {
			case 1:
				setEmbracerAgeBegin(18);
				setEmbracerAgeEnd(25);
				break;
			case 2:
				setEmbracerAgeBegin(26);
				setEmbracerAgeEnd(35);
				
				break;
			case 3:
				setEmbracerAgeBegin(36);
				setEmbracerAgeEnd(45);
				
				break;
			case 4:
				setEmbracerAgeBegin(45);
				setEmbracerAgeEnd(100);
				break;
			default:
				setEmbracerAgeBegin(18);
				setEmbracerAgeEnd(25);				
				break; 
			
	}
	
}
function ageselSearch(ageBegin,ageEnd) {
            
	var ageavg = parseInt( (parseInt(ageBegin) + parseInt(ageEnd)) /2);
	var agesel = 1;
	if(ageavg >= 18 && ageavg <=25 )
		agesel = 1;
	
	else if(ageavg >= 26 && ageavg <=35 )
		agesel = 2;
	
	else if(ageavg >= 36 && ageavg <=45 )
		agesel = 3;
	
	else if(ageavg >= 46  )
		agesel = 4;
    return agesel;              
}
var heightEdge = [0,145,150,155,160,165,170,180,300];
function transHeightRange(form_step3,selectname,beginname,endname) {
	var idx = form_step3.elements[selectname].selectedIndex;
	var heightsel = parseInt(form_step3.elements[selectname].options[idx].value);
	var setEmbracerHeightBegin=function(height) {
		form_step3.elements[beginname].value = height;

	}
	var setEmbracerHeightEnd=function(height) {
		form_step3.elements[endname].value = height;	
	}
	if(parseInt(heightsel)==-1){
		setEmbracerHeightBegin(-1);
		setEmbracerHeightEnd(-1);
	}else{
		setEmbracerHeightBegin(heightEdge[heightsel-1]+1);
		setEmbracerHeightEnd(heightEdge[heightsel]);
	}
}
function heightselSearch(heightBegin, heightEnd) {
	var heightavg = parseInt( (parseInt(heightBegin) + parseInt(heightEnd)) /2);
	var heightsel = 0;
	for(var i = 0; i < heightEdge.length-1; ++i){
		if(heightavg>heightEdge[i] && heightavg<=heightEdge[i+1])
			heightsel=i+1;
	}
    return heightsel;              
}

function renderSexOp(sex) {
	var ret = "<option value=1 " + (sex==1?"selected":"") +">男</option>";
	ret += "<option value=0 " + (sex==0?"selected":"") +">女</option>";
	return ret;
}
function renderProvince(sel){
	var ret = "";
	for (var i in global.areaConst) {
		ret += "<option value=" + i + (sel == i ? " selected" : " ") + ">"
						+  global.areaConst[i].value + "</option>\n";
	}
	return ret;
}

function renderCity(pr, c){
	var ret =  "";
	if(pr != -1){
		var arr = global.areaConst[pr].array;
		for (var i in arr) {
			ret += "<option value=" + i + (c == i ? " selected" : " ") + ">"
						+  arr[i] + "</option>\n";
		}

	}
	return ret;
}


function AjaxWrap(callBack) {
	this.req = null;
	this.callBack = callBack;
	if (window.XMLHttpRequest) {
		this.req = new XMLHttpRequest();
	}else if (window.ActiveXObject){
		try {
			this.req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e1) {
			try {
				this.req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e2) {
				alert("unsuport navigate");
			}
		}
	}	
}
function response(req,cb,bXML) {
	return function(){
		if (req.readyState == 4) {
			if (req.status == 200) {			
				if(bXML){
					cb(req.responseXML);
				}else{
					cb(req.responseText);
				}
			}			
		}
	}
}
AjaxWrap.prototype.getXML = function(url, sync){
	this.openEx("GET", url, true, sync);
}

AjaxWrap.prototype.openEx = function(method, url, bXML, sync){
	this.req.onreadystatechange = response(this.req, this.callBack, bXML);	
	this.req.open(method, url, sync);
	this.req.send("");
}
AjaxWrap.prototype.openText = function(url, sync){
	this.req.onreadystatechange = response(this.req, this.callBack, false);
	this.req.open("POST", url, sync);
	this.req.send("");
}
function formToRequestString(formname)
{
	var query_string='';
	var form_eleobj = document.getElementById(formname);
	if(!form_eleobj) return form_eleobj;
	var form_obj = document.getElementById(formname).elements;
	for (var i=0;i<form_obj.length ;i++)
	{
		var e=form_obj[i];
		if (e.name!='')
		{
			var element_value = "";
			if (e.type.toLowerCase()=='select'){
				element_value=e.options[e.selectedIndex].value;
			}else if (e.type.toLowerCase()=='checkbox' || e.type.toLowerCase()=='radio'){
				if (e.checked==false){
					continue;
				}
				element_value=e.value;
			}else{
				element_value=e.value;
			}
			query_string+=e.name+'='+element_value.replace(/\&/g,"%26") + '&';
		}

	}
	return query_string;
}
function showImage(imgname,tag,url,pos) {
    tag.attachEvent("onmouseout",mouseout);

    var helper = document.all["_showImage"];
    helper.removeAttribute("src");
    helper.removeAttribute("width");
    helper.removeAttribute("height");
    helper.onload=showImage_show;
    helper.src = url;

    function mouseout() {
        //if(event.toElement != helper) //注释本行将使鼠标移出原图时弹出图立即关闭
            helper.onmouseout();
        helper.onload = null;
        helper.removeAttribute("src");
        tag.detachEvent("onmouoseout",arguments.callee);
    }

    function showImage_show() {
        var rc = tag.getBoundingClientRect();
        helper.style.display = '';
        var rc2 = helper.getBoundingClientRect();
        helper.alt = (rc2.right-rc2.left)+" x "+(rc2.bottom-rc2.top);

        var body = document.body;

        var l = rc.left;
        var t = rc.top;
        var r = body.clientWidth-rc.right;
        var b = body.clientHeight-rc.bottom;
        var ratio = (rc2.bottom-rc2.top) / (rc2.right-rc2.left);

        var pos = typeof(pos)!='undefined'?pos:-1;
        if(pos >= 0) { //指定了显示方位
            var w = pos==1||pos==3?body.clientWidth : pos==0?r:l;
            var h = pos==0||pos==2?body.clientHeight : pos==1?t:b;
            if(h < w*ratio) w = h/ratio;
            else if(w < h/ratio) h = w*ratio;

        } else { //未指定显示方位，自动选择
            var pos0_2 = l < r ? 0 : 2;
            var pos1_3 = t < b ? 3 : 1;
            var w = l < r ? r : l;
            var h = t < b ? b : t;
            var h1 = w*ratio; if(h1 > body.clientHeight) h1 = body.clientHeight;
            var h2 = body.clientWidth*ratio; if(h2 > h) h2 = h;
            if(h1 > h2) {
                var pos = pos0_2;
                h = h1;
                w = h1 / ratio;
            } else {
                var pos = pos1_3;
                h = h2;
                w = h2 / ratio;
            }
        }

        if(rc2.bottom-rc2.top > h || rc2.right-rc2.left > w) {
            helper.width = w;
            helper.height = h;
        }

        var rc2 = helper.getBoundingClientRect();
        l = (pos==1||pos==3?rc.left:pos==0?rc.right:rc.left-(rc2.right-rc2.left));
        t = (pos==0||pos==2?rc.top:pos==3?rc.bottom:rc.top-(rc2.bottom-rc2.top));
        var k = body.clientWidth-(l+rc2.right-rc2.left);
        if(k < 0) l += k;
        var k = body.clientHeight-(t+rc2.bottom-rc2.top);
        if(k < 0) t += k;

        helper.style.left = -2+body.scrollLeft+l;
        helper.style.top = -2+body.scrollTop+t;
    }

}