var CategoryMgr = function (paramObject) {
    var ID = paramObject.ID;						
    var title = paramObject.title;					
    var URL = paramObject.URL;						
    var noticeCallback = paramObject.callback;		
    
    var XHRTool = new XHRToolKit(URL, function (result) {
        onReceiveData(result);
    });
    
    var arrArticles = null;				
    var bDataReady = false;				
    
    var initData = function () {
        arrArticles = new Array();
        bDataReady = false;
    }
    
    var onReceiveData = function (bSuccess) {
        if (bSuccess) {
            var responseXML = XHRTool.getResponseXML();
            var responseDoc = responseXML.documentElement;
            
            if (responseDoc) {
                var itemElements = responseDoc.getElementsByTagName("article");
                if (itemElements && itemElements.length > 0) { 
                    for (var i = 0; i < itemElements.length; i++) {
                        if (isValidNormalArticle(itemElements[i])) {
							if (getElementData(itemElements[i], "picture") == 'f' && getElementData(itemElements[i], "link") == '-1'){
								var tTitle = getElementData(itemElements[i], "articleName");
								var tDescription = getPageId(itemElements[i]);
								var tContent = getElementData(itemElements[i], "content");
								var tPage = getPageId(itemElements[i]);
								var tArea = getSelCords(itemElements[i]);
								arrArticles[arrArticles.length] = new Article(tTitle, tDescription, tContent, tPage, tArea);								
							}
                        }
                    }
                    if (arrArticles.length > 0) { 
                        bDataReady = true;
                    }
                }
            }
        }
        noticeCallback(ID);
//        alert("CategoryMgr.onReceiveData() End");
    }
    var isValidNormalArticle = function (itemElement) {
        if (itemElement.getElementsByTagName("content")[0]) {
            return true;
        }
        return false;
    }
	var getElementData = function (itemElement, element) {
		return itemElement.getElementsByTagName(element)[0].firstChild.data;
	}
	var getPageId = function (itemElement){
		//var elem = itemElement.getElementsByTagName("articleParts");
		return itemElement.getElementsByTagName("articleParts")[0].getElementsByTagName("page")[0].attributes.getNamedItem("id").value;
	}
	var getSelCords = function (itemElement){
		// 0,28
		var factor = 0.23;
		var xArr = new Array();
		var yArr = new Array();
		var cords = itemElement.getElementsByTagName("articleParts")[0].getElementsByTagName("page")[0].getElementsByTagName("point");
		for (var i = 0; i < cords.length; i++) {
			xArr[i] = Math.round(cords[i].attributes.getNamedItem("x").value * factor);
			yArr[i] = Math.round(cords[i].attributes.getNamedItem("y").value * factor);			
		}
		var x = xArr.min() ;
		var y = yArr.min() ;
		var w = xArr.max() - x;
		var h = yArr.max() - y;
		return new Area(43+x,6+y,w,h);
		//alert('position:absolute; border:1px solid #990000; left:'+x+ 'px; width:'+w+'px; top:'+y+'px; height:'+h+'px;');
		//return 'position:absolute; border:1px solid #990000; left:'+x+ 'px; width:'+w+'px; top:'+y+'px; height:'+h+'px; z-index:1000';
	}
    this.sendXHRRequest = function () {
        initData();
        XHRTool.sendXHRRequest();
    }
    this.getID = function () {
        return ID;		
    }
    this.getTitle = function () {
        return title;		
    }
    this.getURL = function () {
        return URL;		
    }
    this.getArticles = function () {
        return arrArticles;		
    }
    this.isReady = function () {
        return bDataReady;
    }
}

























