/**
 * ±â»ç ÆäÀÌÁöÀÇ ±âº»ÀûÀÎ ¼½¼Ç ³×ºñ°ÔÀÌ¼Ç Ãâ·Â ÀÚ¹Ù½ºÅ©¸³Æ®ÀÔ´Ï´Ù.
 * º» ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ±â Àü¿¡ ¹Ýµå½Ã, ÇØ´ç »çÀÌÆ®ÀÇ Ä«Å×°í¸®¸¦ Á¤ÀÇÇÑ ÀÚ¹Ù½ºÅ©¸³Æ®°¡ ¸ÕÀú Á¤ÀÇµÇ¾î¾ß ÇÕ´Ï´Ù.
 * Áï, <script type='text/javascript' src='focus_navi.js'></script>
 *     <script type='text/javascript' src='navi.js'></script>
 * ¿Í °°Àº ÇüÅÂ·Î »ç¿ëÇÏ¿©¾ß ÇÕ´Ï´Ù.
 * ±â»ç ÆäÀÌÁö¿¡¼­ ³×ºñ°ÔÀÌ¼ÇÀÌ ¿Í¾ßÇÒ À§Ä¡¿¡¼­ navi.print(thisCode);¸¦ È£ÃâÇÏ½Ê½Ã¿À.
 * ex) ÀüÃ¼ »ç¿ë ¿¹
 * <html>
 * <head>
 * <script type='text/javascript' src='focus_navi.js'></script>  <-- ¹Ýµå½Ã navi.jsº¸´Ù ¸ÕÀú
 * <script type='text/javascript' src='http://image.chosun.com/js/navi.js'></script>
 * <script type='text/javascript'>
 * var thisCode = ${CODE};
 * </script>
 * </head>
 * <body>
 * <script type='text/javascript'>navi.print(thisCode);</script>
 * </body>
 * </html>
 *
 * ¸®½ºÆ®¿¡¼­ ÀÌ½´ Å¸ÀÌÆ²·Î »ç¿ëÇÏ½Ã´Â °æ¿ì¿¡´Â ÀÌ½´Å¸ÀÌÆ²ÀÌ ¿Í¾ßÇÏ´Â À§Ä¡¿¡¼­ navi.printTitle(naviCode); ¸¦ È£ÃâÇÏ½Ê½Ã¿À.
 * ³×ºñ°ÔÀÌ¼Ç°ú ´Ù¸¥Á¡Àº È£ÃâÇÏ´Â ÇÔ¼ö¸íÀÌ ´Ù¸¦ »Ó »ç¿ëÇÏ´Â ¹æ¹ýÀº °°½À´Ï´Ù.
 * 
**/
function Navigator() {
	this.init();
}

var	cats = new Array();

Navigator.prototype = {
	init: function() {
		this.setCategories();
	},
	
	setCategories: function() {
		for (var i = 0; i < arrCats.length; i++) {
			var	s = arrCats[i].split("|");
			
			if (s.length < 5) {
				alert(arrCats[i] + '´Â\\n¿Ã¹Ù¸¥ Ä«Å×°í¸® Á¤º¸°¡ ¾Æ´Õ´Ï´Ù.');
				return false;
			}
			
			cats[i] = new Category(s[0], s[1], s[2], s[3], s[4]); //0: id, 1: name, 2: subname, 3: term, 4: url
		}
	},
	
	// ÇØ´ç ¾ÆÀÌµðÀÇ Navigator °æ·Î¸¦ Ç¥½ÃÇÑ´Ù.
	getNavigationString: function(id) {
		var	c = this.getCategory(id);
		var	pid = new String(id);

		var navi = new Array(pid.length);

		// ¿ª¼øÀ¸·Î ³×ºñ°ÔÀÌ¼ÇÀ» »ý¼ºÇÑ´Ù.
		if (c.getUrl() != "")
			navi[pid.length - 1] = "<a href='" + c.getUrl() + "' target=_top>" + c.getName() + "</a>";

		while (pid.length > 1) {
			pid = new String(c.getParentId());

			c = this.getCategory(pid);
			
			if (c.getUrl() == "")    continue;
		    navi[pid.length - 1] = "<a href='" + c.getUrl() + "' target=_top>" + c.getName() + "</a> > ";
		}
		
		var str = "";
		for (var i = 0; i < navi.length; i++) {
			if (navi[i] == "" || navi[i] == null)		continue;
			str += navi[i];
		}

		return str;
	},
	
	getCategory: function(id) {
		for (var i = 0; i <cats.length; i++) {
			if (cats[i].getId() == id)		return cats[i];
		}
		
		return null;
	},
	
	getParent: function(cid) {
		if (cid.length < 2)		return cid;
		
		var pid = cid.substring(0, cid.length - 1);
		
		return getCategory(pid);
	},
	
	print: function(id) {
		var navi = this.getNavigationString(id);

		document.write(navi);
	}, 
	
	getTitleString: function(id) {
		var cat = this.getCategory(id);

		var str = "<td style='padding:12px 0px 0px 100px'><font class='menutop_txt'><a href='" + cat.getUrl() 
			      + "' target=_top>" + cat.getName()
			      + "</a></font><font class='menutop_tit'> - " + cat.getSubName()
			      + "</font></td><td width='130' style='padding:18px 10px 0px 0px'><font color='#5f708e'>" + cat.getTerm()
			      + "</font></td>";

		return str;
	},

	printTitle: function(id) {
		var issueTitle = this.getTitleString(id);
	    document.write(issueTitle);
	}
}

function Category(id, name, subname, term, url) {
	this.init(id, name, subname, term, url);
}

Category.prototype = {
	init: function(id, name, subname, term, url) {
		this.id = id;
		/**
		 * Ä«Å×°í¸®ÀÇ ¾ÆÀÌµð Ã¼°è´Â ¾ÆÀÌµð ¹øÈ£¿Í ¾ÆÀÌµð ÀÚ¸´¼ö·Î ÀÌ·ç¾îÁ® ÀÖ´Ù.
		 * 1 -> 11 -> 12 -> 121, ...
		 * ÀÚ¸´¼ö°¡ 1º¸´Ù Å« ¾ÆÀÌµð¸¦ °®´Â Ä«Å×°í¸®´Â »óÀ§ Ä«Å×°í¸®°¡ ¹Ýµå½Ã ÀÖ´Ù.
		 * »óÀ§ Ä«Å×°í¸® ¾ÆÀÌµð´Â ¾ÆÀÌµð¿¡¼­ ¸¶Áö¸· ÀÚ¸´¼ö¸¦ Á¦¿ÜÇÑ ÄÚµå°¡ µÈ´Ù.
		 */
		this.pid = (id.length > 1) ? id.substr(0, id.length - 1) : "";
		this.name = name;
		this.subname = subname;
		this.term = term;
		this.url = url;
	},
	
	
	getParentId: function() {
		return this.pid;
	},

	getId: function() {
		return this.id;
	},

	getName: function() {
		return this.name;
	},

    getSubName: function() {
		return this.subname;
	},

    getTerm: function() {
		return this.term;
	},

	getUrl: function() {
		return this.url;
	},

	toString: function() {
		return "<a href='" + this.url + "' target=_top>" + this.name + "</a>";
	}
}

var	navi = new Navigator();