
//for ie6 hack
if($.browser.msie && $.browser.version==6){
	$(".console").addClass("ie6").prepend($("#global"));
}
//set menu
function setMenu(id,data){
	var elements = $("s"+id,data);
    var li="";
    elements.find("sdt").each(function(){
    	
    	if($(this).attr("selecteds")=="true"){
    		var cl="selected";
    	}else{
    		var cl="";
    	}
    	li += "<li><a class='"+cl+"' href='"+$(this).attr("href")+"' target='"+$(this).attr("target")+"'>"+$(this).attr("title")+"</a>";
    	
    	var dd = "";
    	$("sdd",this).each(function(){
    		if($(this).attr("selecteds")=="true"){
    			var cl="selected";
    		}else{
    			var cl="";
    		}
    		dd += "<li><a class='"+cl+"' href='"+$(this).attr("href")+"' target='"+$(this).attr("target")+"'>"+$(this).attr("title")+"</a>"
    	});
    	if(dd)li+="<ul class='sub'>"+dd+"</ul>";
    	li += "</li>";
    });
    if(li){
		$("#"+id+" ul.main").html(li);
		$("#"+id+" ul.sub li:last-child").addClass("last-child");
	}else{
		$("#"+id).hide();
	}
}
//for ie Xml parser
var parseXML = function(str){
	if(!$.support.htmlSerialize){
		var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async="false";
		xmlDoc.loadXML(str); 
		return $(xmlDoc);
	}else{
		return $(str);
	}
}

//ajax
$.ajax({
	url:xml_file,
	cache :false,
	dataType:"text",
	success: function(data) {
		
		data = data.replace(/subaru-config:/g, "s");
		data = data.replace(/selected/g, "selecteds");
		data = data.replace(/loop/g, "loops");
		data = data.replace(/text/g, "texts");
		
		//for ie hack
		if($.browser.msie && $.browser.version<9){
			data = data.replace(/&/g, "&amp;");
			data = parseXML(data);
		}
		//feature
		setMenu("feature",data);
		//global
		setMenu("global",data);
		//local
		setMenu("local",data);
		
		var globalHeight = $("sextend-swf",data).attr("height")||$("sextend-swf2",data).attr("height")||$("sinclude-img",data).attr("height")||140;

		
		$(".console").height(globalHeight-0+65+5);
		$("#global").height(globalHeight);
		
		if($("sextend-swf",data).attr("src")){
			//swf mode
			_AC_FL_RunContent( 'codebase','http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0','width','900','height',globalHeight,'id','main','align','middle','src',parser_file,'quality','high','bgcolor','#ffffff','name','main','allowscriptaccess','always','pluginspage','http://www.macromedia.com/go/getflashplayer','flashvars','filePath='+xml_file,'movie',parser_file,'wmode','transparent' );
			
		}else if($("sextend-swf2",data).attr("src")){
			
			if($.browser.msie && $.browser.version==6){
				$("#global").prepend("<div id='flashcontent'></div>");
			}else{
				$("#global").append("<div id='flashcontent'></div>");
			}
			
			var so = new SWFObject($("sextend-swf2",data).attr("src"), "sotester", "900", $("sextend-swf2",data).attr("height"), "9.0.0", "#FFFFFF"); 
			
			so.addParam("wmode", "transparent");
			$("sextend-swf2 saddparam",data).each(function(){
				so.addParam($(this).attr("param"), $(this).attr("value")); 
			});
			$("sextend-swf2 saddvariable",data).each(function(){
				if($(this).attr("value")=="location.href)"){
					so.addParam($(this).attr("param"), location.href);
				}else{
					so.addParam($(this).attr("param"), $(this).attr("value"));
				}
			});
			so.write("flashcontent"); 
			 
		}else if($("sinclude-img sli",data).size()>=1){
			//gallery mode
			var imgs="";
			$("sinclude-img sli",data).each(function(){
				imgs = "<img src='"+$(this).attr("src")+"'>"+imgs;
			});
			$("#global").prepend("<div class='slide'>"+imgs+"</div>");
			
			if($("sinclude-img",data).attr("loops")=="false"){
				var fadeGallery = function(){
					if($("#global div.slide img").size()>1){
						setTimeout(function(){
							$("#global div.slide img:last").fadeOut(function(){
								$(this).remove();
								fadeGallery();
							});
						},5000);
					}
				}
				fadeGallery()
			}else{
				if($("#global div.slide img").size()>1){
					var fadeGallery = function(){
							setTimeout(function(){
								$("#global div.slide img:last").fadeOut(function(){
									$(this).prependTo("#global div.slide").show();
									fadeGallery();
								});
							},5000);
					}
					fadeGallery()
				}
			}
			
			//text
			var mode;
			if(mode = $("sinclude-txt",data).attr("mode")){
				if($.browser.msie && $.browser.version<9){
					$("#global .layer").before("<div class='text mode"+mode+"'><h2>"+$("sinclude-txt stitle",data).text()+"</h2><p>"+$("sinclude-txt stexts",data).text().replace(/\n/g, "<br>")+"</p></div>");
				}else{
					var tdata = data.replace(/\n|\r/g, "<br>").replace(/\r\n/g, "");
					var regexp = new RegExp(/<stitle><!\[CDATA\[(.+?)\]\]><\/stitle>.+?<stexts><!\[CDATA\[(.+?)\]\]><\/stexts>/g);
					var m = regexp.exec(tdata);
					$("#global").append("<div class='text mode"+mode+"'><h2>"+m[1]+"</h2><p>"+m[2]+"</p></div>");
				}
				
			}
	
		}else{
			$("#global").css("background","#D7D7D7").find(".layer").hide();
		}
		
		//featuer navi
		$("#feature ul.sub").each(function(){
			//for ie hack
			if($.browser.msie && $.browser.version==7){
				var maxLi = 0;
				$("li",this).each(function(){
					if(maxLi<$(this).width())maxLi=$(this).width();
				});
				$(this).width(maxLi);
			}else if($.browser.msie && $.browser.version==6){
				var maxA = 0;
				$("a",this).each(function(){
					if(maxA<$(this).width())maxA=$(this).width();
				});
				$(this).width(maxA);
			}
			var outerHeight = $(this).outerHeight(true);
			
			//set updown btn
			if(outerHeight>globalHeight-0+16){
				$(this)
					.append("<li class='up'><img src='"+img_dir+"navi_up.gif' alt='up'/></li><li class='down'><img src='"+img_dir+"navi_down.gif' alt='down'/></li>")
					.css("height",globalHeight-0+16-12-30)
					.data("moveTop",outerHeight-(globalHeight-0+8));
			}
			$(this).addClass("fix");
		});
		$("#feature").css({
			visibility:"visible",
			display:"none"
		});
		
		
		//global navi
		$("#global ul.sub").each(function(){
			//for ie hack
			if($.browser.msie && $.browser.version==7){
				var maxLi = 0;
				$("li",this).each(function(){
					if(maxLi<$(this).width())maxLi=$(this).width();
				});
				$(this).width(maxLi);
			}else if($.browser.msie && $.browser.version==6){
				var maxA = 0;
				$("a",this).each(function(){
					if(maxA<$(this).width())maxA=$(this).width();
				});
				$(this).width(maxA);
			}
			
			//set updown btn
			var outerHeight = $(this).outerHeight(true);
			if(outerHeight>globalHeight-27){
				$(this)
					.append("<li class='up'><img src='"+img_dir+"navi_up.gif' alt='up'/></li><li class='down'><img src='"+img_dir+"navi_down.gif' alt='down'/></li>")
					.css("height",globalHeight-27-12-30)
					.data("moveTop",outerHeight-(globalHeight-30));
					
			}
			$(this).addClass("fix")
			
		});
		$("#global").css({
			visibility:"visible",
			display:"none"
		});
		
		//local navi
		$("#local").css("height",globalHeight-80+"px");
		
		var localNaviPosi = "-"+$("#local").outerWidth()-0+1;
		$("#local").css("left",localNaviPosi-12+"px");
		
		$("#local .switch").mouseover(function(){
			$("#local:not(:animated)").animate({"left":"0px"},"fast");
			$("#local .switch img").attr("src",img_dir+"local_arrow_on.gif");
		}).mouseout(function(){
			$("#local .switch img").attr("src",img_dir+"local_arrow.gif");
		});
		$("#local").mouseleave(function(){
			$("#local").animate({"left":localNaviPosi+"px"},"fast");
		});
		
		if($.browser.msie && $.browser.version==6){
			var maxA = 0;
			$("a","#local ul.sub").each(function(){
				if(maxA<$(this).width())maxA=$(this).width();
			});
			$("#local ul.sub li").width(maxA);
		}
		//console.log(globalHeight-80+":"+($("#local ul.main").outerHeight(true)-20))
		if(globalHeight-80<($("#local ul.main").outerHeight(true)-20)){
			$("#local ul.sub").wrap("<div class='subWrap'></div>")
				.data("moveTop",$("#local ul.sub").outerHeight(true)-(globalHeight-80-20-20));
			$("#local div.subWrap").height(globalHeight-80-20-20).after("<div class='up'><img src='"+img_dir+"navi_up.gif' alt='up'/></div><div class='down'><img src='"+img_dir+"navi_down.gif' alt='down'/></div>");
			
			$("#local").delegate("div.down","mouseenter",function(){
				var ulSub = $("#local").find("ul.sub");
				ulSub.animate({"margin-top":"-"+ulSub.data("moveTop")+"px"},(ulSub.data("moveTop")-0+parseInt(ulSub.css("margin-top")))*10);
				$("img",this).attr("src",img_dir+"navi_down_on.gif");
			}).delegate("div.down","mouseleave",function(){
				$("#local").find("ul.sub").stop();
				$("img",this).attr("src",img_dir+"navi_down.gif");
			}).delegate("div.up","mouseenter",function(){
				var ulSub = $("#local").find("ul.sub");
				ulSub.animate({"margin-top":0},parseInt(ulSub.css("margin-top"))*-10);
				$("img",this).attr("src",img_dir+"navi_up_on.gif");
			}).delegate("div.up","mouseleave",function(){
				$("#local").find("ul.sub").stop();
				$("img",this).attr("src",img_dir+"navi_up.gif");
			})
		}
		//opening animation
		$(function(){
			$("#feature").slideDown(function(){
				$("#global").slideDown(function(){
					$("#global div.slide,#global div.text").fadeIn();
					$("#logo").animate({"left":"0px"},function(){
						$("#logo img").fadeIn(function(){
							setTimeout(function(){
								$("#local .switch").css("display","block");
								$("#local").animate({"left":0},function(){
									var tm = setTimeout(function(){
										$("#local").trigger("mouseleave");
									},1000);
								});
							},1000);
						});
					})
				});
			});
		});
	}
});

//featuer navi
$("#feature ul.main").delegate("li:has(.sub)","mouseenter",function(){
	$("ul.sub:not(:animated)",this).slideDown("fast");
}).delegate("li:has(.sub)","mouseleave",function(){
	$("ul.sub",this).slideUp("fast");
})


//global navi
$("#global ul.main").delegate("li:has(.sub)","mouseenter",function(){
	$("ul.sub:not(:animated)",this).slideDown("fast");
}).delegate("li:has(.sub)","mouseleave",function(){
	$("ul.sub",this).slideUp("fast");
})

//up down
$("ul.main").delegate("li.down","mouseenter",function(){
	var ulSub = $(this).parent();
	ulSub.find("li:first-child").animate({"margin-top":"-"+ulSub.data("moveTop")+"px"},(ulSub.data("moveTop")-0+parseInt(ulSub.find("li:first-child").css("margin-top")))*10);
	$("img",this).attr("src",img_dir+"navi_down_on.gif");
	
}).delegate("li.down","mouseleave",function(){
	$(this).parent().find("li:first-child").stop();
	$("img",this).attr("src",img_dir+"navi_down.gif");
}).delegate("li.up","mouseenter",function(){
	var ulSub = $(this).parent();
	ulSub.find("li:first-child").animate({"margin-top":0},parseInt(ulSub.find("li:first-child").css("margin-top"))*-10);
	$("img",this).attr("src",img_dir+"navi_up_on.gif");
}).delegate("li.up","mouseleave",function(){
	$(this).parent().find("li:first-child").stop();
	$("img",this).attr("src",img_dir+"navi_up.gif");
})

//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function _AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function _AC_Generateobj(objAttrs, params, embedAttrs){ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  $("#global").append(str);
}

function _AC_FL_RunContent(){
  var ret = 
    _AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  _AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function _AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  _AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function _AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = _AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}



