/**
 * LoadHTML and MargeList Sample
 */

( function( $ ) {
	
	var windowObject = window,documentObject = document;
	
	var $extend   = $.extend,$ajax = $.ajax;
	
	var loadPage  = String(document.location);
	
	var bodyId,loadFiles ;
	
	var loadedContents = [];
	
	var listNum = 10;
	
	$(function(){

		bodyId = $("body").attr("id");
		
		if( bodyId == "home" ){
			loadFiles = [
					{ url:"info/data.html", target:"#news" },
					{ url:"insurance/info/data.html", target:"#news" },
					{ url:"nursing_office/info/data.html", target:"#news" },
					{ url:"welfare_office/info/data.html", target:"#news" },
					{ url:"medical/info/data.html", target:"#news" },
					{ url:"social/info/data.html", target:"#news" },
					{ url:"general/info/data.html", target:"#news" },
					{ url:"tokyo_conference/info/data.html", target:"#news" }
			];
		}else if(loadPage.match("info/")){
			loadFiles = [
					{ url:"index.html", target:"#news" },
					{ url:"../insurance/info/data.html", target:"#news" },
					{ url:"../nursing_office/info/data.html", target:"#news" },
					{ url:"../welfare_office/info/data.html", target:"#news" },
					{ url:"../medical/info/data.html", target:"#news" },
					{ url:"../social/info/data.html", target:"#news" },
					{ url:"../general/info/data.html", target:"#news" },
					{ url:"../tokyo_conference/info/data.html", target:"#news" }
			];
			listNum = 50; 
		}else{
			loadFiles = [
					{ url:"info/data.html", target:"#news" }
			];
		}
		
		
	} );
	
	$( load );
	
	function load() {
		var $wrapper = $( "#wrapper" );
		var $target = $( "#news #newsData" );
		$target.find("#areaLoad").empty();
		
		if( $target.length == 0 ) { $target = $( "<div></div>" ).attr( { "id":"target" } ).appendTo( $wrapper ); }
		
		var file = loadFiles.shift();
		
		var ajaxOptions = {
			url:file.url, dataType:"html", type:"GET",
			beforeSend:_beforeSend, dataFilter:_dataFilter, success:_success, error:_error, complete:_complete
		};
		
		$ajax( ajaxOptions );
		
		function _beforeSend( xmlHttpRequest ) {
		//	console.info( "_beforeSend", xmlHttpRequest );
		}
		
		function _dataFilter( data, type ) {
		//	console.info( "_dataFilter", data, type );
			
			var $loadedHtml = $( data ),
				$loadedWrapper,
				$loadedContents;
			
			function _each( index, element ) {
				//alert("d");
				var $element = $( element );
				if( $element.attr( "id" ) === "wrapper" ) { $loadedWrapper = $element; return false; }
			}
			
			//console.log(data);
			//console.log($loadedHtml);
			
			$loadedHtml.each( _each );
		
			if( $loadedWrapper && $loadedWrapper.length == 1 ) { $loadedContents = $loadedWrapper.find( file.target ); }
			
			data = $loadedContents;
			
			return data;
		}
		
		function _success( data, textStatus, xmlHttpRequest ) {
		//	console.info( "_success", data, textStatus, xmlHttpRequest );
			
			loadedContents.push( data );
		}
		
		function _error( xmlHttpRequest, textStatus, errorThrown ) {
		//	console.info( "_error", xmlHttpRequest, textStatus, errorThrown );
			
			throw errorThrown;
		}
		
		function _complete( xmlHttpRequest, textStatus ) {
		//	console.info( "_complete", xmlHttpRequest, textStatus );
			
			if( loadFiles.length === 0 ) {
				next();
			} else {
				load();
			}
		}
		
		function next() {
			var $margeList = $( "<ul></ul>" ).attr( { "id":"upList" } );
			
			for( var i = 0, l = loadedContents.length; i < l; i++ ) {
				var $loadedList = $( loadedContents[i] ).find( "li" );
				for( var j = 0, m = $loadedList.length; j < m; j++ ) {
					var $loadedListItem = $loadedList.eq( j );
					$margeList.append( $loadedListItem );
				}
			}
			
			var $margeListItems = $( "li", $margeList ).sort( function( a, b ) {
				//alert(a);
				//alert($( "span.date", a ).text().replace(/\//g,""));
				a = Number($( "span.date", a ).text().replace(/\//g,"").toLowerCase());
				b = Number($( "span.date", b ).text().replace(/\//g,"").toLowerCase());
				//alert(a,b);				
				if( a > b ) { return -1; }
				if( a < b ) { return 1; }
				return 0;
			} );
			
			$margeListItems = $margeListItems.slice( 0, listNum );
			//console.dir($margeListItems);
			$margeList.empty().append( $margeListItems );
			$( "#areaLoad" ).remove( );
			$target.append( $margeList );
			upListURLChange2();
		}
		
		function upListURLChange2(){
				
			var _root  = document.location.hostname;
			if(document.location.hostname){
				//$("#news").append("http ["+_root+"]<br>");
				_root = "http://"+_root+"/"
			}else{
				_root = "file:///D:/Work/kokuho/html/htdocs_img_jp/";
				//$("#news").append("local ["+_root+"]<br>");
			}	
				
			var _root2 = "stage/"

			var isMSIE = /*@cc_on!@*/0;
			
			/**
			if(bodyId.match("home")){
				$("#news").append("home階層<br>");
			}
				
			if(bodyId.match("kokuho-category")){
				$("#news").append("kokuho-category階層<br>");
			}
				
			if(loadPage.match("info/")){
				$("#news").append("info階層<br>");
			}
			/**/
			
			$("#upList a").each(function(){
				var _layer = "";
				var _this  = $(this);
				var _class = _this.parent().attr("class");
				var _link  = String(_this.attr('href'));
				
				var _link1;	
				var _class1="";
				var _pageEnd=""
				
				if(isMSIE){
					//alert('IE');
					_link1 = _link.replace(_root, "");
					_link1 = _link1.replace(_root2, "");
					_link1 = _link1.replace(/\.\.\//g, "");
					if(loadPage.match("info/")){
					_link1 = _link1.replace("info/", "");
					}
				
					//$("#news").append("_link1 ["+_link1+"]<br>");
					
				}else{
					_link1 = _link.replace("../", "");
				}
				
				if(_link.slice(-1)=="/"){
					_pageEnd="index.html"
				}
				
				
				if(_class.match("topics")){
					
					var _fileCheck;
					
					if(_link1.match(/^pdf/) || _link1.match(/^doc/) || _link1.match(/^xls/) || _link1.match(/^zip/))_fileCheck = true;
					
					if(bodyId.match("home")){
				
						
					}
					
					if(bodyId.match("kokuho-category")){
						_layer = "../";
					}
					
					if(_link1.match("tohoku/")){
						var _linkG = _link1.split("tohoku/");
						_link1 = _link1.replace(_linkG[0],"");
					}
					
					if(loadPage.match("info/")){
						if(!_fileCheck){
							//$("#news").append("pathCheck＝＝＝＞");
							//if("_blank"==_this.attr("target"))console.log(_link1+" : blank")
							if(_link1.match("http://")) return;
							_layer = "../";
						}
					}else{
						/*console.log(_link1);*/
						if(_link1.match("http://")) return;
						if(_fileCheck){			
							_layer = "info/"		
						}
					}
					
					//$("#news").append("_link1 ["+_layer+_link1+_pageEnd+"]<br>");
					
					_link2 = _layer + _link1;
					
				}else{
					if(loadPage.match("info/")){
						
						_layer = "../"
					}
					
					if(bodyId.match("kokuho-category")){
					}else{
						_class1 = _class + "/";					
					}
					
					//$("#news").append("_link1 ["+_layer+_class1 +_link1+_pageEnd +"]<br>");
					
					_link2 = _layer + _class1 + _link1
				}
				
				_this.attr('href',_link2+_pageEnd);
							
			});
		}
		
	}
	
} )( jQuery );

