﻿//////////////////////////////////////////////////////
//保存URL
//////////////////////////////////////////////////////
//全局变量，check_url(TrackblogID)决定
var global_check_trackblog_url;
function save_trackblog_url_to_list(TrackblogID){
	var txt_url = get_input("txt_trackblog_url");

	txt_url = txt_url.trim();
	
	boolean_save = (txt_url);
	if (!boolean_save){
		alert("请输入URL！");
	}
	else{
		global_check_trackblog_url = 0;
		check_url(txt_url);
		
		if (global_check_trackblog_url == 0){
			alert ("您输入的URL无效！");
		}
		else{
			check_tb_url_exist(TrackblogID, txt_url);
			
			if(global_check_tb_url_exist == 1){
				alert("您输入的URL已存在！");
			}
			else{
				//通过URL验证后重置global_check_trackblog_url值				
				txt_url = encodeURIComponent(txt_url);
				
				var strForm = "url=" + txt_url;
				
				var url = "trackblog.asp?action=SaveTrackblogURLtoList&TrackblogID=" + TrackblogID;
				
				var async_mode = true;
				xmlHttp = createXMLHTTP();
				
				//异步模式（IE和Firefox都支持onreadystatechange）
				xmlHttp.onreadystatechange = function() {stateChanged_2(9, TrackblogID)};
				
				xmlHttp.open("POST", url, async_mode);
				xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				xmlHttp.send(strForm);
			}
		}
	}
}


//////////////////////////////////////////////////////
//验证URL有效性
//////////////////////////////////////////////////////
function check_url(txt_url){
	//var sRE = /\/trackblog.asp\?TrackblogID=(\d*)/i;
	var sRE = /TrackblogID=(\d*)/i;
	sRE.test(txt_url);
	//alert(RegExp.$1);
	TrackblogID = RegExp.$1;
				
	if (TrackblogID){
		var strForm = "action=CheckTrackblogURL&TrackblogID=" + TrackblogID;
		//var url = "trackblog.asp?action=CheckTrackblogURL";
		var url = txt_url;
		
		var async_mode = false;
		xmlHttp = createXMLHTTP();
		
		xmlHttp.onreadystatechange = function() {stateChanged(9)};
		
		xmlHttp.open("POST", url, async_mode);
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlHttp.send(strForm);
	}
}


//////////////////////////////////////////////////////
//显示URL列表
//////////////////////////////////////////////////////
function display_trackblog_list_ajax(TrackblogID){
	var url = "trackblog.asp?action=DisplayTrackblogListAjax&TrackblogID=" + TrackblogID;
	xmlHttp = createXMLHTTP();
	xmlHttp.onreadystatechange = function() {stateChanged_2(10, TrackblogID)};
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}


//////////////////////////////////////////////////////
//发送Trackblog队列
//////////////////////////////////////////////////////
var TBP_url_list, TBP_url_list_length;
function send_trackblog_list(TrackblogID){
	//alert(TrackblogID);
	
	//处理地址列表
	decompose_TBP_url_list(TrackblogID);

	if(TBP_url_list!=""){
		send_trackblog(0);
	}
}


//////////////////////////////////////////////////////
//发送Trackblog
//////////////////////////////////////////////////////
function send_trackblog(URLListOrder){
	display_trackblog_tips_saving(URLListOrder);
	
	u_url = encodeURIComponent(TBP_url);
	t_title = encodeURIComponent(TBP_title);
	b_blog_name = encodeURIComponent(TBP_blog_name);
	e_excerpt = encodeURIComponent(TBP_excerpt);

	var strForm = "url=" + u_url + "&title=" + t_title + "&blog_name=" + b_blog_name + "&excerpt=" + e_excerpt;
	
	url = TBP_url_list[URLListOrder];
	
	var async_mode = true;
	xmlHttp = createXMLHTTP();
	
	check_trackblog_url_local(url);

	switch(global_check_trackblog_url_local){
		case 0:
			xmlHttp.onreadystatechange = function() {stateChanged_2(8, URLListOrder)};
			break;
		case 1:
			//获取生成静态页的ArticleID
			var sRE = /TrackblogID=(\d+)/i;
			sRE.test(url);
			ArticleID = RegExp.$1;
			
			xmlHttp.onreadystatechange = function() {stateChanged_3(1, URLListOrder, ArticleID)};
			break;
	}
		
	xmlHttp.open("POST", url, async_mode);
	xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlHttp.send(strForm);
}


//////////////////////////////////////////////////////
//获取并处理TBP_url_list地址列表
//////////////////////////////////////////////////////
function decompose_TBP_url_list(TrackblogID){
	var url = "trackblog.asp?action=SearchTrackblogURL&TrackblogID=" + TrackblogID;
	xmlHttp = createXMLHTTP();
	xmlHttp.onreadystatechange = function() {stateChanged(11)};
	xmlHttp.open("GET", url, false);
	xmlHttp.send(null);
}


//////////////////////////////////////////////////////
//检测URL是否存在
//////////////////////////////////////////////////////
var global_check_tb_url_exist;
function check_tb_url_exist(ArticleID, txt_url){
	decompose_TBP_url_list(ArticleID);
	
	global_check_tb_url_exist = 0;
	for(i=0;(i<TBP_url_list_length)&&(global_check_tb_url_exist == 0);i++){
		//alert(txt_url == TBP_url_list[i]);
		if(txt_url == TBP_url_list[i]){
			global_check_tb_url_exist = 1;
			
		}
	}
}

//////////////////////////////////////////////////////
//检测URL是本地还是远程
//////////////////////////////////////////////////////
var global_check_trackblog_url_local;
function check_trackblog_url_local(txt_url){
	var sRE = /(http:\/\/.*\/)/i;
	
	sRE.test(txt_url);
	http_url = RegExp.$1;
	
	sRE.test(location.href);
	http_local = RegExp.$1;
	
	global_check_trackblog_url_local = 0;
	
	if(http_url == http_local){
		global_check_trackblog_url_local = 1;
	}
}
