/*
20080317
ajax tags by ascent
*/

function AQ_tags_switcher(o,m) {
	if(m=='u2d') {
		var ff = o.ftag_use;
		var tt = o.ftag_db;
	}
	else {
		if(o.ftag_use.length >= o.slimit) {
			alert("抱歉！選擇已超過限制");
			return;
		}
		var ff = o.ftag_db;
		var tt = o.ftag_use;
	}
	var i=0; var tags = new Array();
	while(ff.selectedIndex != -1) {
		tags[i] = new Array(ff.options[ff.selectedIndex].value, ff.options[ff.selectedIndex].innerHTML);
		ff.removeChild(ff.options[ff.selectedIndex]);
		i++;
	}
	if(tags.length > 0) {
		AQ_insertOptions(tt,tags,o);
	}
}

function AQ_insertOptions(s,d,o) {
	var nums_n = s.length;
	var nums_d = d.length;
	var nn = (nums_n > 0) ? nums_n : 0 ;
	if(nums_d > 1) {
	  for(var i=0; i < nums_d; i++) {
			if(!AQ_findOptionsValue(s,d[i][0])) {
	  		s.options[nn] = new Option(d[i][1], d[i][0]);
	  		nn++;
			}
	  }
	}
	else if(nums_d == 1 && !AQ_findOptionsValue(s,d[0][0])) {
	  s.options[nn] = new Option(d[0][1], d[0][0]);
	}
	AQ_collectSelectValues(o.ftag_use, o.usetag);
}

function AQ_removeOptions(s,d) {
	while(s.selectedIndex != -1) {
		s.removeChild(s.options[s.selectedIndex]);
	}
}

function AQ_findOptionsValue(s,v) {
	var nums_n = s.length;
	for(var j=0; j < nums_n; j++) {
		if(s.options[j].value == v) {
	  	return "__AQ__"+j;
		}
	}
}

function AQ_collectSelectValues(s,f) {
	var nums_n = s.length;
	f.value = "";
	for(var j=0; j < nums_n; j++) {
		f.value += s.options[j].value+',';
	}
}

function AQ_tags_make_selector_static(rsp) {
	var tagdb = new Array();
	var taguse = new Array();
	if(rsp.jsm != 'OK'){ return false;}
	if(rsp.db && rsp.db.length > 0) {
		for(var i=0; i < rsp.db.length; i++) {
			tagdb[tagdb.length] = new Array(rsp.db[i].sid, rsp.db[i].sname);
		}
		AQ_insertOptions(ot[rsp.code].ftag_db, tagdb, ot[rsp.code]);
	}
}

/*
//ajax stuff
function AQ_tags_get_db(o) {
	o = o;
	sendMode = 'html';
  recMode = 'text';
  iuri = path_tags_bin+'?a=GET&btid='+o.btid+'&code='+o.code+'&uid='+uid;
  imethod = 'GET';
  do_func = 'AQ_tags_make_selector()';
  doAJSSobj();
}

function AQ_tags_make_selector() {
	var rsp = eval("(" + this.responsed + ")");
	var tagdb = new Array();
	var taguse = new Array();
	if(rsp.jsm != 'OK'){ return false;}
	if(rsp.db && rsp.db.length > 0) {
		for(var i=0; i < rsp.db.length; i++) {
			tagdb[tagdb.length] = new Array(rsp.db[i].sid, rsp.db[i].sname);
		}
		AQ_insertOptions(ot[rsp.code].ftag_db, tagdb, ot[rsp.code]);
	}

	if(rsp.use && rsp.use.length > 0) {
		var myTagsDbIndexs = new Array();
		for(var i=0; i < rsp.use.length; i++) {
			taguse[taguse.length] = new Array(rsp.use[i].sid, rsp.use[i].sname);
			myTagsDbIndexs[i] = AQ_findOptionsValue(o.ftag_db, rsp.use[i].tagid);
			if(myTagsDbIndexs[i]) {
				myTagsDbIndexs[i] = myTagsDbIndexs[i].replace(/__AQ__/,"");;
				ftag_db.options[myTagsDbIndexs[i]].selected = true;
				AQ_removeOptions(ot[rsp.code].ftag_db, 0);
			}
		}
		AQ_insertOptions(ot[rsp.code].ftag_use, taguse, ot[rsp.code]);
	}

}


function AQ_tags_add_db(tag) {
	sendMode = 'html';
  recMode = 'text';
  iuri = path_tags_bin+'?a=ADD&blogid='+blogid+'&postid='+postid+'&tag='+encodeURIComponent(tag);
  imethod = 'POST';
  do_func = 'AQ_tags_add_db_handle()';
  doAJSSobj();
}

function AQ_tags_add_db_handle() {
	var rsp = eval("(" + this.responsed + ")");
	var taguse = new Array();
	if(rsp.jsm != 'OK'){
		field_style_alert(tagsform.elements['newtag']);
		doInnerHTML('resp_msg_tag',rsp.msg);
		return false;
	}
	if(rsp.use && rsp.use.length > 0) {
		taguse[0] = new Array(rsp.use[0].tagid, rsp.use[0].tag);
		var myTagsDbIndex = AQ_findOptionsValue(ftag_db, rsp.use[0].tagid);
		if(myTagsDbIndex) {
			myTagsDbIndex = myTagsDbIndex.replace(/__AQ__/,"");;
			ftag_db.options[myTagsDbIndex].selected = true;
			AQ_removeOptions(ftag_db, 0);
		}
		AQ_insertOptions(ftag_use,taguse,0);
	}
	tagsform.elements['newtag'].value = "";
}

function AQ_tags_remove_use_db(tagid,dmd) {
	var qdmd = (dmd==1) ? '&dmd=1' : '' ;
	sendMode = 'html';
	recMode = 'text';
	iuri = path_tags_bin+'?a=DEL&bblogid='+blogid+'&tagid='+tagid+'&postid='+postid+qdmd;
	imethod = 'POST';
	do_func = 'AQ_tags_remove_use_db_handle()';
	doAJSSobj();
}

function AQ_tags_remove_use_db_handle() {
	var rsp = eval("(" + this.responsed + ")");
	if(rsp.jsm == 'ERROR'){alert(rsp.msg);}
}
*/
