NewPost = function (objName) {
	this._objName = objName;
	
	this._dataUrl = "http://map.cyworld.com/home/homedata.map?cmd=newPost";
	this._maxCount = 10; 
	this._delimeter =  "|^|";
	
	this._firstFps = 32; 	
	this._retryFps = 5000; 	
	this._firstLoadTime	= 1000;  
	this._nextLoadTime = 8000;  
	this._refreshTime = 2;
	this._MaxTryXML = 3;     
	this._tryCount = 0;	    
	
	this._moveIdx 	  = 0;
	this._refreshcount= 0;		

	this._lineH		  = 28;
	this._lineW		  = "100%";
	this._DataSet 	  = [];
	
	this._itemid	  = [];
	this._itemboxid	  = [];
	this._itemaction  = [];
	this._itemword1   = [];
	this._itemword2   = [];
	this._itemimg  		= [];
	this._itempos     = [];
	this._startpos	  = 0;
	this._endpos	  = this._maxCount;

	this.play = function() {
		this._displayTitle();
		this._response();
	}
	this._clearTimer = function() {
		if (this._timeoutId1)  { clearTimeout(this._timeoutId1); }
    if (this._timeoutId2)  { clearTimeout(this._timeoutId2); }
    if (this._secondLoadTimeId)  { clearInterval(this._secondLoadTimeId); }
	}
	
	this.createHttpRequest = function() {
		if (window.ActiveXObject) {
			try {
      	return new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
   	  	try {
					return new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e2) {
        	return null;
				}
			}
		} else if(window.XMLHttpRequest) {
    	return new XMLHttpRequest();
		} else {
    	return null;
		}
	}

	this._createXMLHTTP = function() {
		var ret = this.createHttpRequest();	
		var self = this;
		ret.onreadystatechange = function () {
			if (ret.readyState == 4) {
				if (ret.status == 200){
					self._tryCount = 0;
					self._setDataSet(ret.responseText);
				} else if (ret.status == 404) {
					self._tryCount++;
					if ( self._tryCount <= self._MaxTryXML ) {
						if (self._TryTimeId)  { clearInterval(self._TryTimeId); }
				    self._TryTimeId = setInterval(self._objName+"._response();", 1000);
					} else {
						if (self._TryTimeId)  { clearInterval(self._TryTimeId); }
					}
				}
			}
		}

		return ret;
	}

	this._displayTitle = function() {
		this._drawRankTag();
	}
	
	this._drawRankTag = function () {
		var record ='';
		for ( var index = this._startpos; index < this._endpos; index++ ) {
			this._itemid[index] = "rankid"+index;
      this._itemboxid[index] = "rankboxid"+index;
			this._itemword1[index] = "rankword1id" + index;
			this._itemword2[index] = "rankword2id" + index;
			this._itemimg[index] = "ranknumimgid" + index;
		}
	}
	
	this._firstSequence = function() {
		var obj = document.getElementById(this._itemid[this._moveIdx]);

		if ( this._itemaction[this._moveIdx] == 0 || typeof this._itemaction[this._moveIdx] == "undefined" ) {
			obj.style.top = px(this._lineH);
			this._makeLine(this._moveIdx);
			this._itemaction[this._moveIdx] = 1;
		}
	
		obj.style.top = px(parseInt(obj.style.top) - 4);
		if ( parseInt(obj.style.top) <= 0 ) {
			obj.style.top = 0;
			if (this._secondLoadTimeId) { clearInterval(this._secondLoadTimeId); }
      if ( this._moveIdx < this._endpos - 1) {
				this._makeLine(this._moveIdx);
	      this._moveIdx++;
	      this._secondLoadTimeId = setInterval(this._objName+"._firstSequence();", this._firstFps);
			} else {
				this._makeLine(this._moveIdx);
	      this._moveIdx = this._startpos;
				this._refreshcount++;
				if ( this._refreshcount > this._refreshTime ) {
					this._refreshcount = 0;
					this._refresh();
				} else {
					this._makeHTML();
				}
			}
		}

	}
	
	this._makeLine = function(I) {
		var tmplist = null;
		tmplist = this._DataSet[I].split(this._delimeter);

		if ( tmplist[2] == "n" ) {
			 tmplist[3] = "";
		}
		
		var obj = document.getElementById(this._itemword1[I]);
		obj.href= tmplist[1];
		obj.innerText = tmplist[0];

		if (tmplist[0] != tmplist[4]) {
			obj.title = tmplist[4];
		} else {
			obj.title = "";
		}

		var obj = document.getElementById(this._itemimg[I]);
		obj.src = tmplist[2];
		
		var obj = document.getElementById(this._itemword2[I]);
		obj.innerHTML = tmplist[3]; 

		this._itemaction[I] = 0;
	}
	
	this._makeHTML = function() {
		var firstn = 3;

		if ( this._refreshcount == 0 ) {
			firstn = this._firstLoadTime;
		} else {
			firstn = this._nextLoadTime;
		}

		if (this._timeoutId2)  { clearTimeout(this._timeoutId2); }
		this._timeoutId2 = setTimeout(this._objName+"._displayRank()", firstn);
	}

	this._displayRank = function() {
		if (this._secondLoadTimeId)  { clearInterval(this._secondLoadTimeId); }
		this._secondLoadTimeId = setInterval(this._objName+"._firstSequence()", this._firstFps);
	}

	this._setDataSet = function(data) {
		var myObj = JSON.parse(data);

		if (myObj) {
			try {
				for (var I in myObj['item']) {
					var item = myObj['item'][I];
					if (!item.T) continue;
					
					var keyword  = convertHTMLtag(item.T);
					var title = convertHTMLtag(item.K);
					var url = item.URL;
					var img = item.IMG;
					var postdate = item.D;

					this._DataSet[I] = keyword + this._delimeter + url + this._delimeter + img + this._delimeter + postdate + this._delimeter + title;
				}
			} catch (e) {
				this._refresh();
				return false;
			}

			this._makeHTML();
		} else {
			this._refresh();
			return false;
		}	
	}

	this._response = function() {
		this._http = this._createXMLHTTP();
		if (!this._http) return false;
		
    var surl = this._dataUrl;
    surl += "&d=" + (new Date()).getTime();
		
    this._http.open("GET", surl, true);
    this._http.setRequestHeader("Content-Type", "text/xml")
    this._http.setRequestHeader("Accept-Language","ko");
    this._http.send(null);
	}

	this._refresh = function(){
		this._clearTimer();
		this._timeoutId1 = setTimeout(this._objName+"._response();", this._retryFps);
	}

}