//var site = "";
var site = "http://www.snta.gov.cn/pro/";
var oldhtml;
var oldpage;

//last
function hotel(target, linkUrl, cityCode, countryCode, count, exception){
	url = site+"p.do?method=lastHotel";
	args = "pageSize="+count+"&cityCode="+cityCode+"&countryCode="+countryCode;
	root = "Hotel";
	detailUrl = "p.do?method=detailHotel&id=";
	
	parse(target, url, linkUrl, args, root, exception);
}
function view(target, linkUrl, cityCode, countryCode, count, exception){
	url = site+"p.do?method=lastView";
	args = "pageSize="+count+"&cityCode="+cityCode+"&countyCode="+countryCode;
	root = "View";
	
	parse(target, url, linkUrl, args, root, exception);
}
function restaurant(target, linkUrl, cityCode, countryCode, count, exception){
	url = site+"p.do?method=lastRestaurant";
	args = "pageSize="+count+"&cityCode="+cityCode+"&countyCode="+countryCode;
	root = "Restaurant";
	
	parse(target, url, linkUrl, args, root, exception);
}

function travel(target, linkUrl, cityCode, countryCode, count, exception){
	url = site+"p.do?method=lastTravelAgency";
	args = "pageSize="+count+"&cityCode="+cityCode+"&countyCode="+countryCode;
	root = "TravelAgency";
	
	parse(target, url, linkUrl, args, root, exception);
}
function shop(target, linkUrl, cityCode, countryCode, count, exception){
	url = site+"p.do?method=lastShopArea";
	args = "pageSize="+count+"&cityCode="+cityCode+"&countyCode="+countryCode;
	root = "ShopArea";
	
	parse(target, url, linkUrl, args, root, exception);
}
function eplace(target, linkUrl, cityCode, countryCode, count, exception){
	url = site+"p.do?method=lastEntertainPlace";
	args = "pageSize="+count+"&cityCode="+cityCode+"&countyCode="+countryCode;
	root = "EntertainPlace";
	
	parse(target, url, linkUrl, args, root, exception);
}
function farmhouse(target, linkUrl, cityCode, countryCode, count, exception){
	url = site+"p.do?method=lastFarmHouse";
	args = "pageSize="+count+"&cityCode="+cityCode+"&countyCode="+countryCode;
	root = "FarmHouse";
	//alert(args);
	parse(target, url, linkUrl, args, root, exception);
}

function parse(target, url, linkUrl, args, root, exception){
	var oldhtml = document.getElementById(target).innerHTML;
	document.getElementById(target).innerHTML = "";

  	$.ajax({   
  		type: "post",   
		url: url,   
		data: args, 
		dataType: 'text/xml',
		   
		success: function(result) {
		//alert(result);
		 //is Microsoft.XMLDOM
		 if((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0)){
		 xmlDom = new ActiveXObject("Microsoft.XMLDOM");
		 xmlDom.loadXML(result); 
      	 result = xmlDom
      	 }
      	 //alert($(result).find(root).length);
      	 if($(result).find(root).length==0){
      	 
      	 	document.getElementById(target).innerHTML = exception;
      	 	return;
      	 }
      	 
		$(result).find(root).each(function(){
		var temphtml = oldhtml;
		var params = $(this).children();
		
		for(var i=0;i<params.length;i++){
			var tagName = params[i].tagName;
			var value = params[i].text;
			var reg = new RegExp("","g");
			
			if(tagName == "id"){
				reg.compile("@linkUrl","g");
				temphtml = temphtml.replace(reg, linkUrl+"?id="+value);
			}else{
			reg.compile("@"+tagName,"g");
			temphtml = temphtml.replace(reg, value);
			reg.compile("_and_","g");
			temphtml = temphtml.replace(reg, "&");
			}
		}
		document.getElementById(target).innerHTML = document.getElementById(target).innerHTML + temphtml;
		})  
		},
		  
		error: function(){document.getElementById(target).innerHTML = exception;}   
		
		});
		
}

//list
function list_hotel(target, linkUrl, keyword, cityCode, countryCode, pageNo, pageSize, exception){

	url = site+"p.do?method=listHotel";
	root = "Hotel";
	
	parse_list(target, url, 'list_hotel', linkUrl, keyword, cityCode, countryCode, pageNo, pageSize,  root, exception);
}
function list_view(target, linkUrl, keyword, cityCode, countryCode, pageNo, pageSize, exception){
	url = site+"p.do?method=listView";
	root = "View";

	parse_list(target, url, 'list_view', linkUrl, keyword, cityCode, countryCode, pageNo, pageSize, root, exception);
}
function list_restaurant(target, linkUrl, keyword, cityCode, countryCode, pageNo, pageSize, exception){
	url = site+"p.do?method=listRestaurant";
	root = "Restaurant";
	
	parse_list(target, url, 'list_restaurant', linkUrl, keyword, cityCode, countryCode, pageNo, pageSize, root, exception);
}

function list_travel(target, linkUrl, keyword, cityCode, countryCode, pageNo, pageSize, exception){
	url = site+"p.do?method=listTravelAgency";
	root = "TravelAgency";
	
	parse_list(target, url, 'list_travel', linkUrl, keyword, cityCode, countryCode, pageNo, pageSize, root, exception);
}
function list_shop(target, linkUrl, keyword, cityCode, countryCode, pageNo, pageSize, exception){
	url = site+"p.do?method=listShopArea";
	root = "ShopArea";
	
	parse_list(target, url, 'list_shop', linkUrl, keyword, cityCode, countryCode, pageNo, pageSize, root, exception);
}
function list_eplace(target, linkUrl, keyword, cityCode, countryCode, pageNo, pageSize, exception){
	url = site+"p.do?method=listEntertainPlace";
	root = "EntertainPlace";
	
	parse_list(target, url, 'list_eplace', linkUrl, keyword, cityCode, countryCode, pageNo, pageSize, root, exception);
}

function list_farmhouse(target, linkUrl, keyword, cityCode, countryCode, pageNo, pageSize, exception){
	url = site+"p.do?method=listFarmHouse";
	root = "FarmHouse";
	//alert(cityCode);
	parse_list(target, url, 'list_farmhouse', linkUrl, keyword, cityCode, countryCode, pageNo, pageSize, root, exception);
}

function parse_list(target, url, fun, linkUrl, keyword, cityCode, countryCode, pageNo, pageSize, root, exception){


	if(oldhtml == null){
		oldhtml = document.getElementById(target).innerHTML;
	}
	
	document.getElementById(target).innerHTML = "";
	if(oldpage == null){
		oldpage = document.getElementById(target+"_page").innerHTML;
	}
	document.getElementById(target+"_page").innerHTML = "";
	
  	$.ajax({   
  		type: "post",   
		url: url,   
		data: "pageNo="+pageNo+"&pageSize="+pageSize+"&cityCode="+cityCode+"&countryCode="+countryCode+"&name="+escape(keyword).replace(/\%u/g,"%25u"),
		dataType: 'text/xml',
		   
		success: function(result) {
		//alert(result);
		 //is Microsoft.XMLDOM
		if((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0)){
		 xmlDom = new ActiveXObject("Microsoft.XMLDOM");
		 xmlDom.loadXML(result); 
      	 result = xmlDom
      	 }
      	 if($(result).find(root).length==0){
      	 
      	 	document.getElementById(target).innerHTML = exception;
      	 	return;
      	 }
      	 	 
       if(oldpage != null){
			var temppage = oldpage;
			
			var pageNo;
			var pageSize;
			var totalPages;
			var totalRecords;
			var previous;
			var next;
			$(result).find("page").each(function(){
				var reg = new RegExp("","g");
				
				pageNo = $(this).children("pageNo").text();
				pageSize = $(this).children("pageSize").text();
				totalPages = $(this).children("totalPages").text();
				totalRecords = $(this).children("totalRecords").text();
				previous = $(this).children("previous").text();
				next = $(this).children("next").text();
				
				reg.compile("@pageNo","g");
				temppage = temppage.replace(reg, pageNo);
				reg.compile("@pageSize","g");
				temppage = temppage.replace(reg, pageSize);
				reg.compile("@totalPages","g");
				temppage = temppage.replace(reg, totalPages);
				reg.compile("@totalRecords","g");
				temppage = temppage.replace(reg, totalRecords);
				
			})
			//(target, linkUrl, cityCode, countryCode, pageNo, pageSize, exception)
			temppage += "<script>function firstPage(){"+fun+"('"+target+"','"+linkUrl+"','"+keyword+"','"+cityCode+"','"+countryCode+"', 1,"+pageSize+",'"+exception+"');}"+"function previousPage(){"+fun+"('"+target+"','"+linkUrl+"','"+keyword+"','"+cityCode+"','"+countryCode+"',"+previous+","+pageSize+",'"+exception+"');}"+"function nextPage(){"+fun+"('"+target+"','"+linkUrl+"','"+keyword+"','"+cityCode+"','"+countryCode+"',"+next+","+pageSize+",'"+exception+"');}"+"function lastPage(){"+fun+"('"+target+"','"+linkUrl+"','"+keyword+"','"+cityCode+"','"+countryCode+"',"+totalPages+","+pageSize+",'"+exception+"');}"+"function jumpPage(p){"+fun+"('"+target+"','"+linkUrl+"','"+keyword+"','"+cityCode+"','"+countryCode+"',p,"+pageSize+",'"+exception+"');}"+"</script>";
			//alert(temppage);
			//document.getElementById(target+"_page").innerHTML = temppage;
			$("#"+target+"_page").html(temppage);
		}
      	 
		$(result).find(root).each(function(){
		var temphtml = oldhtml;
		var params = $(this).children();
		
		for(var i=0;i<params.length;i++){
		
			var tagName = params[i].tagName;
			var value = params[i].text;
			var reg = new RegExp("","g");
			
			if(tagName == "id"){
				reg.compile("@linkUrl","g");
				temphtml = temphtml.replace(reg, linkUrl+"?id="+value);
			}else{
			reg.compile("@"+tagName,"g");
			temphtml = temphtml.replace(reg, value);
			reg.compile("_and_","g");
			temphtml = temphtml.replace(reg, "&");
			}
		}
		
		
		document.getElementById(target).innerHTML = document.getElementById(target).innerHTML + temphtml;
		})  
		},
		  
		error: function(){document.getElementById(target).innerHTML = exception;}   
		
		});
		
}
//detail
function show_hotel(target, exception){
	var root = "HotelForm";
	var url = site+"p.do?method=detailHotel";
	
	parse_detail(target, url, root, exception);
}
function show_view(target, exception){
	var root = "ViewForm";
	var url = site+"p.do?method=detailView";
	
	parse_detail(target, url, root, exception);
}
function show_travel(target, exception){
	var root = "TravelAgencyForm";
	var url = site+"p.do?method=detailTravelAgency";
	
	parse_detail(target, url, root, exception);
}
function show_shop(target, exception){
	var root = "ShopAreaForm";
	var url = site+"p.do?method=detailShopArea";
	
	parse_detail(target, url, root, exception);
}
function show_eplace(target, exception){
	var root = "EntertainPlaceForm";
	var url = site+"p.do?method=detailEntertainPlace";
	
	parse_detail(target, url, root, exception);
}
function show_restaurant(target, exception){
	var root = "RestaurantForm";
	var url = site+"p.do?method=detailRestaurant";
	
	parse_detail(target, url, root, exception);
}
function show_farmhouse(target, exception){
	var root = "FarmHouseForm";
	var url = site+"p.do?method=detailFarmHouse";
	
	parse_detail(target, url, root, exception);
}

function parse_detail(target, url, root, exception){

var URI=location.search;
var Request = new Object();
if(URI.indexOf("?")!=-1)
{
    var str = URI.substr(1)  
    strs = str.split("&");
    for(var i=0;i<strs.length;i++)
    {
        Request[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
    }
}
var id = Request["id"];

	var oldhtml = document.getElementById(target).innerHTML;
	//$("#"+target).html("");

  	$.ajax({   
  		type: "post",   
		url: url,   
		data: "id="+id, 
		dataType: 'text/xml',
		   
		success: function(result) {
		//alert(result);
		 //is Microsoft.XMLDOM
		 if((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0)){
		 xmlDom = new ActiveXObject("Microsoft.XMLDOM");
		 xmlDom.loadXML(result); 
      	 result = xmlDom
      	 }
      	 //alert($(result).find(root).length);
      	 if($(result).find(root).length==0){
      	 
      	 	document.getElementById().innerHTML = exception;
      	 	return;
      	 }
      	 
		$(result).find(root).each(function(){
		var temphtml = oldhtml;
		var params = $(this).children();
		
		var childrens = new Array();
		var index = 0;
		
		
		for(var i=0;i<params.length;i++){
			
			var tagName = params[i].tagName;
			var value = params[i].text;
			var reg = new RegExp("","g");
			
			if($(params[i]).attr("attr") != null && $("#"+tagName).text() != ""){
				var oldgrand = document.getElementById(tagName).innerHTML;
				document.getElementById(tagName).innerHTML = "";
				childrens[index] = new HtmlMap(tagName, "");
				
				var attr = $(params[i]).attr("attr");
				var size = $(params[i]).children(attr).length;

				if(size==0){
					var ex = $("#"+tagName).attr("exception");
					if(ex != null){
						childrens[index].value = ex;
					}else{
						childrens[index].value = exception;
					}
				}
				
				$(params[i]).children(attr).each(function(){
				var tempgrand = oldgrand;
				var grands = $(this).children();
				
				if(grands.length==0){
					alert(tagName + "have no child!");
				}else{
					
					for(var j=0;j<grands.length;j++){
						var grandTagName = grands[j].tagName;
						var grandValue = grands[j].text;
						
						var grandReg = new RegExp("","g");
						grandReg.compile("@"+tagName+"."+grandTagName,"g");
						
						tempgrand = tempgrand.replace(grandReg, grandValue);
						grandReg.compile("_and_","g");
						tempgrand = tempgrand.replace(grandReg, "&");
						
					}
						
				}
				childrens[index].value = childrens[index].value + tempgrand;
				})
				
			index++;
			}else{
				reg.compile("@"+tagName,"g");
				temphtml = temphtml.replace(reg, value);
				reg.compile("_and_","g");
				temphtml = temphtml.replace(reg, "&");
			}
		}
		document.getElementById(target).innerHTML = temphtml;
		for(var c=0;c<childrens.length;c++){

				document.getElementById(childrens[c].name).innerHTML = childrens[c].value;

				if(childrens[c].name.indexOf("Pic")!=-1){
							var scrollPic_02 = new ScrollPic();
							scrollPic_02.scrollContId   = "ISL_Cont_1";
							scrollPic_02.arrLeftId      = "LeftArr";
							scrollPic_02.arrRightId     = "RightArr";
					
							scrollPic_02.frameWidth     = 300;
							scrollPic_02.pageWidth      = 300;
					
							scrollPic_02.speed          = 10;
							scrollPic_02.space          = 10;
							scrollPic_02.autoPlay       = false;
							scrollPic_02.autoPlayTime   = 3;
					
							scrollPic_02.initialize();
				}
		}
		})  
		},
		  
		error: function(){ document.getElementById(target).innerHTML = exception;}   
		
		});
		
}

function HtmlMap(name, value){
	this.name = name;
	this.value = value;
}

function include(target,url,exception){
  	$.ajax({   
  		type: "get",   
		url: url,   
		data: "", 
		dataType: 'html',
		   
		success: function(result) {
			if(result.indexOf("<body>")!=-1)
				result=result.substring(result.indexOf("<body>")+6, result.indexOf("</body>"));
			document.getElementById(target).innerHTML=result;
		},
		  
		error: function(){
			document.getElementById(target).innerHTML=exception;
		} 
		});
}
