// JavaScript Document

//Global Parameter
//path
var cate_f ="";/*Category Folder "foldername/"*/
var relative_path = "";/*Category Folder to root path ".../"*/

//working (Current HTMLfile and path)
var relative_path2 ="";
var this_folder = "";
var this_file = "";
var this_path = "";

//top menu(panel) 
var panel1_ds;
var panel2_ds;
var panel3_ds;
var panel4_ds;
var panel5_ds;
//event list 
var evnt_ds;
var news_ds;
//sub menu(leftside menu) 
var s_menu;
var s_heads;
var s_items;

/*path and filename get*/
function get_path(){
	var path = location.pathname;
	var n = 0;
	if( cate_f.length  > 0 ){
		n = path.indexOf(cate_f,0);
	}
	if(n > 0){
		path = path.substring(n+cate_f.length,path.length);
		n = path.indexOf("/",0);
		while( n > 0 ){
			relative_path2 = relative_path2 + "../";
			this_folder = this_folder+path.substring(0,n+1);
			path = path.substring(n+1,path.length);
			n = path.indexOf("/",0);
		}
	}
	this_file = path;
	this_path = this_folder+this_file;
}

/*[MS-IE] XML Caching                         */
/* get xml url edit [xxxxxxxxx.xml?timecunt]  */
function xml2IE(xml_uri){
	var add_string = "";
	if(navigator.userAgent.indexOf("MSIE") >= 0){
		var now = new Date();
		add_string = '?time="'+now.getTime()+'"';
	}
	return xml_uri+add_string;
}

//Initialization
/*Memu seting*/
function tabMenu_seting(){
	//Widget TabbedPanels
	var tabMenu = new Spry.Widget.TabbedPanels("h_menu");
	//onTabMouseOver Overwriting
	tabMenu.onTabMouseOver = Spry.Widget.TabbedPanels.prototype.onTabClick;
	//onTabClick Overwriting
	tabMenu.onTabClick = null;
}
/*Memu panel data  Filter*/
var panel_filter = function(dataSet, row, rowNumber)
{
	if(row["link"].indexOf("http",0) == -1){
		row["link"] = relative_path + relative_path2 + row["link"] ;
		row["target"] ="";
	}
	else{
		row["target"] ="target='_blank'";
	}
	return row; // Return the row to keep it in the data set.
}
/*Memu panel data read*/
function menu_read(){
	var memu_xml =  relative_path + relative_path2 +"memu.xml";
	memu_xml = xml2IE(memu_xml);
	panel1_ds = new Spry.Data.XMLDataSet(memu_xml, "menu/items/item[@category='guide']");
	panel2_ds = new Spry.Data.XMLDataSet(memu_xml, "menu/items/item[@category='examinee']");
	panel3_ds = new Spry.Data.XMLDataSet(memu_xml, "menu/items/item[@category='student']");
	panel4_ds = new Spry.Data.XMLDataSet(memu_xml, "menu/items/item[@category='graduate']");
	panel5_ds = new Spry.Data.XMLDataSet(memu_xml, "menu/items/item[@category='general']");
	
	panel1_ds.filterData(panel_filter);
	panel2_ds.filterData(panel_filter);
	panel3_ds.filterData(panel_filter);
	panel4_ds.filterData(panel_filter);
	panel5_ds.filterData(panel_filter);
}
/*date Format conversion*/
function date_fmt_j( date_txt){
	var w_date= new Date(date_txt);
	var y = w_date.getFullYear();
	if( y ){
    	y = y +"年";
	}else{
		Y = w_date.getYear();
		if (Y < 1900) Y += 1900;
		y = y +"年";
	}
	var m = w_date.getMonth() + 1;
	if( m >0 ){
    	m = m +"月";
	}
	var d = w_date.getDate();
	if( d ){
    	d  = d  +"日";
	}
	return( y + m + d);
}
/*event list Filter*/
var event_filter = function(dataSet, row, rowNumber)
{
	
	row["date_txt"] = date_fmt_j(row["pubDate"]);

	if(row["@category"] =="nyushi"){
		row["cat_txt"] ="入試広報";
	}else if(row["@category"] =="gakusei"){
		row["cat_txt"] ="学生";
	}
	else if(row["@category"] =="keizai"){
		row["cat_txt"] ="経営経済科";
	}
	else if(row["@category"] =="nougaku"){
		row["cat_txt"] ="環境農学科";
	}
	else if(row["@category"] =="hoiku"){
		row["cat_txt"] ="保育科";
	}else{
		row["cat_txt"] ="大学";/*info_all*/
	}

	if(row["link"].indexOf("http",0) == -1){
		row["link"] = relative_path + relative_path2 + row["link"] ;
	}
	return row; // Return the row to keep it in the data set.
}
/*event list read*/
function event_read(selects){
	var event_xml =  relative_path + relative_path2 +"rss/news_data.xml";
	
	event_xml = xml2IE(event_xml);
	evnt_ds = new Spry.Data.XMLDataSet(event_xml, "lists/item[@type='event'" + selects +" ]",{sortOnLoad:"pubDate",sortOrderOnLoad:"descending"});
	news_ds = new Spry.Data.XMLDataSet(event_xml, "lists/item[@type='news'" + selects +"]",{sortOnLoad:"pubDate",sortOrderOnLoad:"descending"});
	evnt_ds.setColumnType("pubDate", "date");
	news_ds.setColumnType("pubDate", "date");
	evnt_ds.filterData(event_filter);
	news_ds.filterData(event_filter);
}
/*XML data  [LF] -> [<br/>]*/
function lf2br( x_string ){
	var h_string = x_string.replace(String.fromCharCode(0x0A),"<br />");
	return h_string;
}

/*sub menu(leftside menu) Filter title ["menu/header"]*/
var submenu_tfilter = function(dataSet, row, rowNumber){
	row["title"] = lf2br(row["title"]);
	row["link"] = relative_path2+row["link"] ;
	return row; // Return the row to keep it in the data set.
}
/*sub menu(leftside menu) Filter +title edit only*/
var submenu_hfilter = function(dataSet, row, rowNumber){
	row["title"] = lf2br(row["title"]);
	return row; // Return the row to keep it in the data set.
}
/*sub menu(leftside menu) Filter item ["menu/items/item"]*/
var submenu_ifilter = function(dataSet, row, rowNumber){
	if( row["link"] == this_path ){
		row["class"]="x"; 
	}else{
		row["class"]=""; 
	}
	if(row["link"].indexOf("http",0) == -1){
		row["link"] = relative_path2+row["link"] ;
		row["target"] ="";
	}
	else{
		row["target"] ="target='_blank'";
	}
	row["title"] = lf2br(row["title"]);
	
	return row; // Return the row to keep it in the data set.
}
/*sub menu(leftside menu) list read*/
function submenu_read(menu_path){
	menu_path = xml2IE(menu_path);
	s_menu = new Spry.Data.XMLDataSet(menu_path, "menu/header");
	s_heads = new Spry.Data.XMLDataSet(menu_path, "menu/heads/item");
	s_items = new Spry.Data.XMLDataSet(menu_path, "menu/items/item");
	s_menu.filterData(submenu_tfilter);
	s_heads.filterData(submenu_hfilter);
	s_items.filterData(submenu_ifilter);
}


/*page load event*/
Spry.Utils.addLoadListener(tabMenu_seting);

