var usersqlvisible = false;
var DB = new Database("DB");


function load(DB){
	$("#tablediv").hide();
	$("#usersqlarea").hide();
//	loadCSV(DB, "PUBLIC_TBL", "public_tbl.csv");
	loadCSV(DB, "HITO_TBL", "kiyo.csv");
//	loadCSV(DB, "PRIVATE_TBL", "private_tbl.csv");
}

function toggle(){
	if (usersqlvisible == true) {
		$('#showsql').val("SQL??\??");
		$('#usersqlarea').slideUp('slow');
		usersqlvisible = false;
	}
	else {
		$('#usersqlarea').slideDown('slow');
		$('#showsql').val("SQL??B??");
		usersqlvisible = true;
	}
}

function DivDocument(){
	this.source = "";
	this.write = _Write;
	this.apply = _Apply;
};
function _Write(str){
	this.source += str;
}
function _Apply(){
	$("#tablediv").html(this.source);
}

/*
 * document??O???`????????????
 */
function writeTbl(myDB, sql){
	$("#tablediv").hide();
	var doc = new DivDocument();
	sql = $.trim(sql);
	var selected = myDB.Select(sql);
	if (selected.length == 0) {
//		doc.write("??????????v?????R?[?h??????????????")
		doc.write("NOT FOUND")
	}
	else {
		//myDB.View(selected, doc);
		MyView(selected, doc);
	}
	doc.apply();
	$("#tablediv").slideDown("slow");
}



/*
 * ?W????View??J???????`??????????????????????????<br />
 */
function MyView (arrPDades, o) {
	//????????????
	var aryColumn = ["NAME","TITLE","ISSN"];

	o.write("<table>");

	var column="";
	column += "<tr class='header'>";
	for(var i=0; i < aryColumn.length; i++){
		column += "<td>";
		column += aryColumn[i];
		column += "</td>";
	}
	column += "</tr>";
	o.write(column);

	for (intX = 0; intX < arrPDades.length; intX++) {
		o.write("<tr>");
		for (intY = 0; intY < arrPDades[intX].length; intY++){
			o.write("<td>");
			o.write(arrPDades[intX][intY]+" ");
			o.write("</td>");
		}
		o.write("</tr>");
	}
	o.write("</table>");
}

function loadCSV(myDB, tableName, filename){
	$.ajax({
	    url: filename,
	    type: 'GET',
	    dataType: 'text',
	    timeout: 1000,
	    error: function(){
//	        alert('File Not Found');
	    },
	    success: function(xml){
			var table = [];
			//CSV??p?[?X
			lines = xml.split("\r\n");
			for(var i=0; i < lines.length; i++){
				if (lines[i] != "") {
					table.push(lines[i].split(","));
				}
			}
			makeTbl(myDB, table, tableName);
	    }
	});
}

function makeTbl(myDB, table, tableName){
	myDB.CreateTable(tableName,table[0]);

	//?w?b?_???????
	for(var i=1; i < table.length; i++){
		myDB.Insert(tableName,table[i]);
	}
}


/**
 * SQL?????
 * @author iwai
 */
function makesql(){
    var name = document.sqlform.hito.value;
//    var seibetu = document.sqlform.seibetu.value;
//    var downage = document.sqlform.downage.value;
//    var upage = document.sqlform.upage.value;

//	Result = name.replace(/^[\s　]+|[\s　]+$/g,'');
//	alert(Result);

//    Result2 = name.replace(/^\s+|\s+$/g, "").replace(/[\s　]+$/mg,"");
//	alert(Result2);

//	Result3 = name.replace(/^[ 　]*/gim, "").replace(/[ 　]*$/gim, "");
//	alert(Result3);

//	Result4 = name.replace(/^\s+|\s+$/g, '');
//	alert(Result4);

    sql = "";
    
    sql += "SELECT";
     sql += " name,title,ISSN";
     sql += " FROM HITO_TBL";   
    sql += " WHERE true";

//    if (name != "") {
//        if (name.match("%")) {
//            sql += " AND name LIKE \"" + "%" + name + "%" + "\"";
			sql +=  " AND (name like \"" + "%" + name + "%" + "\"";
			sql += " or name_kana like \"" + "%" + name + "%" + "\" )";
//        }
//        else {
//            sql += " AND name LIKE \"" + "%" + name + "%" + "\"";
//			sql +=  " AND (name = \"" + name + "\"";
//			sql += " or name_kana = \"" + name + "\" )";
//			sql +=  " AND (name like \"" + "%" + name + "%" + "\"";
//			sql += " or name_kana like \"" + "%" + name + "%" + "\" )";
//        }
//    }


    
    return sql;
}


function key_press(){
	if(window.event.keyCode == 13){writeTbl(DB,makesql());$('#usersql').val(makesql());}
}

   


