//dynamic = {};

function dynamic() {}

dynamic.load = function(sUri, sFormat) {
	var xmlHttp = XmlHttp.create();
	xmlHttp.open("GET", sUri, false);
	xmlHttp.send(null);

	try {
		switch (sFormat) {
			case 'xml':
				ret = xmlHttp.responseXML.xml;
				break;
			case 'text': case 'html': default:
				ret = xmlHttp.responseText;
				break;
		}

	} catch (e) {
		ret = _('Error while loading...');
	} finally {
		return ret;
	}
}
dynamic.loadText = function(sUri) {
	return dynamic.load(sUri,'text');
}
dynamic.loadHtml = function(sUri) {
	return dynamic.load(sUri,'html');
}
dynamic.loadXml = function(sUri) {
	return dynamic.load(sUri,'xml');
}


//Create a crossbrowser XMLHTTP Object
// used to find the Automation server name
function getDomDocumentPrefix() {
	if (getDomDocumentPrefix.prefix)
		return getDomDocumentPrefix.prefix;
	
	var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
	var o;
	for (var i = 0; i < prefixes.length; i++) {
		try {
			// try to create the objects
			o = new ActiveXObject(prefixes[i] + ".DomDocument");
			return getDomDocumentPrefix.prefix = prefixes[i];
		}
		catch (ex) {};
	}
	
	throw new Error("Could not find an installed XML parser");
}

function getXmlHttpPrefix() {
	if (getXmlHttpPrefix.prefix)
		return getXmlHttpPrefix.prefix;
	
	var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
	var o;
	for (var i = 0; i < prefixes.length; i++) {
		try {
			// try to create the objects
			o = new ActiveXObject(prefixes[i] + ".XmlHttp");
			return getXmlHttpPrefix.prefix = prefixes[i];
		}
		catch (ex) {};
	}
	
	throw new Error("Could not find an installed XML parser");
}

// XmlHttp factory
function XmlHttp() {}
XmlHttp.create = function () {
	try {
		if (window.XMLHttpRequest) {
			var req = new XMLHttpRequest();
			
			// some versions of Moz do not support the readyState property
			// and the onreadystate event so we patch it!
			if (req.readyState == null) {
				req.readyState = 1;
				req.addEventListener("load", function () {
					req.readyState = 4;
					if (typeof req.onreadystatechange == "function")
						req.onreadystatechange();
				}, false);
			}/**/
			return req;
		}
		if (window.ActiveXObject) {
			return new ActiveXObject(getXmlHttpPrefix() + ".XmlHttp");
		}
	}
	catch (ex) {}
	// fell through
	throw new Error("Your browser does not support XmlHttp objects");
};

// XmlDocument factory
function XmlDocument() {}

XmlDocument.create = function () {
	try {
		// DOM2
		if (document.implementation && document.implementation.createDocument) {
			var doc = document.implementation.createDocument("", "", null);
			
			// some versions of Moz do not support the readyState property
			// and the onreadystate event so we patch it!
			if (doc.readyState == null) {
				doc.readyState = 1;
				doc.addEventListener("load", function () {
					doc.readyState = 4;
					if (typeof doc.onreadystatechange == "function")
						doc.onreadystatechange();
				}, false);
			}
			
			return doc;
		}
		if (window.ActiveXObject)
			return new ActiveXObject(getDomDocumentPrefix() + ".DomDocument");
	}
	catch (ex) {}
	throw new Error("Your browser does not support XmlDocument objects");
};


function cm_get_byte(str) 
{
	//¹®ÀÚ¿­ÀÇ byte ±æÀÌ¸¦ ¾Ë¾Æ³¿(ÇÑ±Û 2byte·Î Ã³¸®) 
	var i,m=str.length, re_count=0,val = 0;; 
	for(i=0;i<m;i++) 
	{ 
		val = escape(str.charAt(i)).length; 
		if(val>3) re_count++; 
		re_count++; 
	}	
	return re_count; 
} 

/*¹®ÀÚ¿­ ÀÚ¸£´Â script*/
function cm_get_byte_length(str,limit_byte)
{ 
	//ÁöÁ¤µÈ ¹ÙÀÌÆ® ±æÀÌ¸¸Å­ÀÇ length¸¦ ¹ÝÈ¯, È¦¼ö·Î Â©¸®¸é -1ÀÇ ±æÀÌ¹ÝÈ¯ 
	var i,m=str.length, re_count=0,val = 0;; 
	var len_count = 0;
	var big_leter = 0;
	for(i=0; re_count<limit_byte ;i++) 
	{
		val = escape(str.charAt(i)).length; 
		len_count++; 
		if(val>3){ re_count++; }
		if(str.charCodeAt(i)<90 && str.charCodeAt(i)>65 && big_leter==0)
		{
			//´ë¹®ÀÚ°¡ ÇÑ±ÛÀÚ¶óµµÀÖÀ»°æ¿ì
			re_count++;
			big_leter++;
		}
		re_count++; 
	} 
	if(re_count%2 == 1)
	{
		var return_str = str.slice(0,len_count-1);
	}
	else
	{
		var return_str = str.slice(0,len_count);
	}
	return return_str;
} 

/****************pd_list Á¶°Ç°Ë»ö ½ºÅ©¸³Æ®**************/

var condition_box=["condition_search"];
/*¸ðµÎº¸±â ¹öÆ° ¾ø¿¡°í º¸ÀÌ±â*/
function Get_Size(id)
{
	for (var i=0; i<condition_box.length; i++)
	{
		var f_tags= getObject(condition_box[i]).getElementsByTagName("ul");		
		for(var t=0;t<f_tags.length;t++)
		{
			var attr = f_tags[t].getAttribute("btid");
			if(attr)
			{
				ele_height = getHeight(f_tags[t]);
				//¸ðµÎº¸±â¹öÆ° block
				if(ele_height>30)
				{
					btn_id = getObject(f_tags[t].getAttribute("btid"));
					if(btn_id!="")
					{
						f_tags[t].className = "rewidth";
						btn_id.style.display = "block";
					}
				}

				
				//°¡°Ý´ë height Á¶Á¤
				if(attr == "ckpr_all_btn")
				{
					getObject("ckpr_open").style.height=ele_height;
				}
			}

			//¼±ÅÃ Á¶°Ç height Á¶Á¤
			if(f_tags[t].className == "sel_ul")
			{
				ele_height = getHeight(f_tags[t]);
				getObject("sel_ul").style.height=ele_height;
			}
		}
	}

	etc_function();
}




var req=null;
var console=null;
var use_brand = 0;

function brand_use()
{
	use_brand = 1;
}

//µ¥ÀÌÅÍ ÀÐÀ» ÁØºñ /xml ·Î ¸¸µë //ÀÐÀ½
function Load_Data(cate,url,term_name,state,chk_arr)
{
	//¼­¹ö¿¡µ¥ÀÌÅÍ ¿äÃ»º¸³»±â
	if(window.XMLHttpRequest)
	{
		req=new XMLHttpRequest(); //¸ðÁú¶ó /»çÆÄ¸®
		try 
		{
			req.onreadystatechange =function(){ onReadyState(cate,term_name,state,chk_arr);};
			req.open("GET", url, true);
			req.send(null);
		}
		catch (e) 
		{
			alert(e);
		}

	}
	else if(typeof ActiveXObject)
	{
		req=new ActiveXObject("Microsoft.XMLHTTP"); //ÀÎÅÍÅÝ ÀÍ½ºÇÃ·¯·¯
			//ÆÄÀÏ¿­°í ÀÐ±â
		if(req)
		{
			req.onreadystatechange=function(){ onReadyState(cate,term_name,state,chk_arr);};
			req.open("GET", url, true);
			req.send();
		}
	}

}

//element Ãß°¡
//¼ø¼­ Ãß°¡³ëµå ¾ÆÀÌµð ÀÌ¸§ Å¬·¡½º Å¸ÀÔ º§·ù
function CreateElement(add_ele,ele_id,ele_name,ele_class,ele_type,ele_value)
{
	var new_ele = document.createElement(add_ele);
	new_ele.id = ele_id;
	new_ele.name = ele_name;
	new_ele.className = ele_class;
	new_ele.type = ele_type;
	new_ele.value = ele_value;

	return new_ele;
}

//ÀÐÀ» ÆÄÀÏÀÇ ÀÀ´äÀ» ±â´Ù¸²
function onReadyState(cate,term_name,state,chk_arr)
{
	if(req.readyState==4)
	{
		var level1_id=getObject(term_name+"_td");
	//	alert(req.responseText);
		var GetXml = req.responseXML;
		var condtion = GetXml.getElementsByTagName("options");

		//close Á¸Àç½Ã ´Ý¾ÆÁØ´Ù
		var div_text=getObject(term_name+"_close");
		if(div_text)
		{
			div_text.style.display="none";
		}
		//open Á¸Àç½Ã ´Ý¾ÆÁØ´Ù with btn
		var div_text=getObject(term_name+"_open");
		if(div_text)
		{
			div_text.style.display="none";
			getObject(term_name+"_close_btn").style.display="none";
		}
		
		if(condtion.length>0)
		{
			var name = GetXml.getElementsByTagName("name");
			var value = GetXml.getElementsByTagName("value");
			var position = GetXml.getElementsByTagName("status");

			//±âº»ÀÌÀÖ´ÂÁö ¾ø´Â Áö Ã¼Å©
			var is_basis = GetXml.getElementsByTagName("isbasis");
			if(is_basis.length)
			{
				var basis_is = is_basis[0].firstChild.nodeValue;
			}


			//°³¼ö¿¡ µû¶ó open ÀÇ Å¬·¡½º ÁöÁ¤ÇØÁÖ±â
			//div ¸¸µç´Ù
			var div_class = state;
			if(state == "open")
			{
				if(name.length<13)
				{
					div_class = "open_1";
				}
				else if(name.length<25)
				{
					div_class = "open_2";
				}
				else
				{
					div_class = "open_3";
				}
			}
			
			var add_div = CreateElement('div',term_name+"_"+state,'',div_class,'','');

			var add_condtion = CreateElement('ul','','','','','');
			add_div.appendChild(add_condtion);

			var basis_str="";
			var import_str="";
			var all_str="";
			var result_str="";
			var opt_name_view = "";
			var name_more_view = "";
			//Ã¼Å©µÈ °ªµé
			var c = 0;
			if(chk_arr)
			{
				c = chk_arr.split("^");
			}

			for(var i=0;i<name.length;i++)
			{
				//ÁÖ¿ä ±âº»À» ±¸ºÐÇØÁÖ´Â º¯¼ö
				var contion_class = "";
				var status_is = "";

				//±ÛÀÚ¼ö ÀÚ¸£±â				
				opt_name_view = name[i].firstChild.nodeValue;
				if(state!="close")
				{
					name_more_view = "";
					if(cm_get_byte(name[i].firstChild.nodeValue) > 12)
					{
						opt_name_view = cm_get_byte_length(name[i].firstChild.nodeValue,12)+"..";
						name_more_view = " onMouseover=\"write_detail('"+name[i].firstChild.nodeValue+"'); return true;\" onMouseout=\"hide(); return true;\"";
					}
				}


				//°¡°Ý´ë´Â status°¡ Á¸ÀçÇÏÁö¾ÊÀ½
				if(position.length>0)
				{
					status_is=position[i].firstChild.nodeValue;
					if(status_is=="I")
					{
						var contion_class = "class=mall_impact";
					}
				}
				
				//È­ÀåÇ° Ä«Å×°í¸®´Â Á¦Á¶»ç ºê·£µå value °ªÀ» ¾´´Ù
				//if((term_name=="ckcomp" || term_name=="ckbnd") && cate.slice(0,3)!="060")
				if((term_name=="ckcomp" || term_name=="ckbnd") && use_brand==0)
				{
					var chk_value=name[i].firstChild.nodeValue;
				}
				else
				{
					var chk_value=value[i].firstChild.nodeValue;
				}

				var chk_exp = "";
				for(var u=0;u<c.length;u++)
				{
					if(c[u] == chk_value)	
					{
						chk_exp = "checked";
						break;
					}
				}

				var a_name = "<li "+contion_class+"><input type=\"checkbox\" id=\""+term_name+"_"+chk_value+"\" name=\""+term_name+"\" value=\""+chk_value+"\" onclick=\"chk_key(this);\" "+chk_exp+"><label for=\""+term_name+"_"+chk_value+"\" style=\"cursor:pointer;\""+name_more_view+">"+opt_name_view+"</label></li>";
		
				//±âº»ÀÌ Á¸ÀçÇÒ°æ¿ì
				if(basis_is=="Y" && status_is=="B")
				{
					basis_str += a_name;
				}

				all_str += a_name;
			}
			

			if(state=="close")
			{
				if(basis_str.length)
				{
					add_condtion.innerHTML = basis_str;
				}
				else
				{
					add_condtion.innerHTML = all_str;
				}

				var add_btn = CreateElement('ul','','','more_btn','','');
				var img_btn="<a href=\"javascript:Show_Condition('"+cate+"','"+term_name+"','open','"+chk_arr+"')\"><img src=\"/images/model_list/btn_price_see.gif\"> ¸ðµÎº¸±â("+name.length+")</a>";
				add_btn.innerHTML=img_btn;
				add_div.appendChild(add_btn);
				level1_id.appendChild(add_div);

				//ÁÙ¿©º¸±â Å¬¸¯
				if(getObject(term_name+"_chk"))
				{			
					getObject(term_name+"_chk").value = "";
				}

				var h = getHeight(add_condtion);
				if(h>30 || basis_str.length)
				{
					add_condtion.className = "rewidth";
					add_btn.style.display = "block";
				}
			}
			else
			{
				add_condtion.innerHTML = all_str;
				level1_id.appendChild(add_div);

				var add_btn_div = document.createElement("div");
				add_btn_div.id=term_name+"_close_btn";
				add_btn_div.className = "close_btn";
				var img_btn="<a href=\"javascript:Show_Condition('"+cate+"','"+term_name+"','close','"+chk_arr+"')\"><img src=\"/images/model_list/icon_reduce.gif\"></a>";
				add_btn_div.innerHTML=img_btn;
				level1_id.appendChild(add_btn_div);

				//¸ðµÎº¸±â Å¬¸¯Ã¼Å©
				var form= document.forms['variable'];
				chg(form,term_name+"_chk",'Y');
			}
		}
		else
		{
			alert("µ¥ÀÌÅÍ ·Îµù¿¡ ½ÇÆÐÇß½À´Ï´Ù");
		}

	}
}

function Find_dir(cid,term_name)
{
	//var root = "/main/pd/get_xml.php?filename=";
	var root = "/model_list/get_xml.php?filename=";
	var f_dir = "";
;
	var file_num = cid.split("_");
	if(file_num[0] == "bn")
	{	
		f_dir = "xml_bnd/1/"+file_num[1]+"/"+file_num[1];
		if(file_num[2])
		{
			f_dir += "_"+file_num[2];
		}
	}
	else if(file_num[0] == "comp")
	{
		f_dir = "xml_comp/"+file_num[1]+"/"+file_num[2]+"/";
		if(file_num[3])
		{
			f_dir += file_num[3]+"/";
			c3_f = "_"+file_num[3];
		}
		f_dir += file_num[1]+"_"+file_num[2]+c3_f;
	}
	else
	{
		f_dir = "xml/";
		for(var j=0;j<4;j++)
		{
			var start = j*3;
			var end = start+3;
			var c_name = cid.slice(start,end);
			if(c_name.length)
			{
				if(c_name.slice(0,1)>0)	f_dir += c_name+"/";
				else
				{	if(c_name.slice(1,2)>0)	f_dir +=  c_name.slice(1)+"/";
					else f_dir += c_name.slice(2)+"/";
				}
			}
		}
		f_dir += cid;
	}
	

	var dir = root + f_dir+"_"+term_name.slice(2);
	return dir;
}

function Show_Condition(cate,term_name,state,chk_arr)
{
	//ÆÄÀÏ À§Ä¡
	var open_file = Find_dir(cate,term_name);

	var term_state=getObject(term_name+"_"+state);
	if(!term_state)
	{
		Load_Data(cate,open_file,term_name,state,chk_arr);
	}
	else
	{
		//ÇØ´çÇÏ´Â div ¿­¾îÁØ´Ù
		term_state.style.display="block";

		//¸ðµÎº¸±â Å¬¸¯¿©ºÎ
		var div_status = getObject(term_name+"_chk");

		if(state=="open")
		{
			if(div_status)
			{
				div_status.value = "Y";
			}
			term_close=getObject(term_name+"_close");
			getObject(term_name+"_close_btn").style.display="block";
		}
		else
		{
			if(div_status)
			{
				div_status.value = "";
			}
			term_close=getObject(term_name+"_open");
			getObject(term_name+"_close_btn").style.display="none";
		}
		term_close.style.display="none";
	}

}


//±âÅ¸Á¶°Ç ¼±ÅÃ½Ã º¸ÀÌ°Ô ÇÏ±â
function Show_etc_Condition(cate,term_name,state,chk_arr)
{
	//ÆÄÀÏ À§Ä¡
	var open_file = Find_dir(cate,term_name);

	var view_div = getObject(term_name+"_"+state);
	Etc_display(term_name,'block'); 
	if(!view_div)
	{
		Load_Data(cate,open_file,term_name,state,chk_arr);
	}
}

//°¡°Ý¼±ÅÃ ´ë º¸¿©ÁÖ±â
function Price_area(term_name,onstate,offstate)
{
	getObject(term_name+"_"+onstate).style.display = "block";
	getObject(term_name+"_"+offstate).style.display = "none";
}

//±âÅ¸Á¶°Ç display Á¶Á¤
function Etc_display(term_name,display)
{
	var veiw_etc = getObject(term_name+"_etc");
	veiw_etc.style.display = display;
	var dt_status = getObject(term_name+"_click");

	var op_display="";
	if(display=="none")
	{
		op_display="inline";
		//±âÅ¸Á¶°Ç °¢°¢ Å¬¸¯ Ã¼Å©
		if(dt_status)
		{
			dt_status.value = "";
		}
	}
	else
	{
		op_display="none";
		//±âÅ¸Á¶°Ç °¢°¢ Å¬¸¯ Ã¼Å©
		if(dt_status)
		{
			dt_status.value = "Y";
		}
		else
		{
			var form= document.forms['variable'];
			chg(form,term_name+"_click",'Y');
		}
	}
	//id ¾ø¾îÁ®¾ßÇÑ´Ù
	var hide_id = getObject(term_name+"_id");
	hide_id.style.display=op_display;

	etc_function();
}

//Á¶°Ç °Ë»ö ºÎºÐ display Á¶Àý
function etc_function()
{
	for (var i=0; i<condition_box.length; i++)
	{
		var dt_tags= getObject(condition_box[i]).getElementsByTagName("dt");

		//±âÅ¸Á¶°ÇÀÌ ÀÖÀ»°æ¿ì¿¡¸¸
		if(dt_tags.length>0)
		{
			getObject("etc_tr").className = "background_no";
			var open_dt = 1;
			for(var t=0;t<dt_tags.length;t++)
			{
				if(dt_tags[t].style.display == "" || dt_tags[t].style.display == "inline")
				{
					open_dt = 0;
				}

				//¸Ç¸¶Áö¸· ±âÅ¸Á¶°ÇÀÌ ÆìÁ®ÀÖ´À³Ä ÆìÁ®ÀÖÁö¾Ê´À³Ä..Ã¼Å©
				if(t == (dt_tags.length-1) && dt_tags[t].style.display == "none" && open_dt == 0)
				{
					getObject("etc_tr").className = "top_bg";
				}
			}

			if(open_dt==1)
			{
				getObject("etc_tr").style.display = "none";
			}
			else
			{
				getObject("etc_tr").style.display = "block";
			}
		}
	}
}
