/**
 * Global Variable
 *
 */
var tab_change_interbal_ms = 2000;	//2sec
var dom = new Object();
dom.ajax = new Object();
dom.core = new Object();
dom.event = new Object();



/**
 * Ajax
 *
 */
dom.ajax.httpGetRequest = function(url, callback, headers) {
	/* Create XMLHttpRequest Object */
	var oHttp = null;
	if(window.XMLHttpRequest) {
		oHttp = new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		try {
			oHttp = new window.ActiveXObject("Msxml2.XMLHTTP.3.0");
		} catch(e) {
			return null;
		}
	}
	if( oHttp != null ) {
		/* HTTP GET Request */
		oHttp.open('GET', url, true);
		/* Set Request Header */
		if( typeof(headers) == 'object' ) {
			for(var name in headers) {
				oHttp.setRequestHeader(name, headers[name]);
			}
		}
		/* Define the Callback Function of the state change evnet */
		oHttp.onreadystatechange = function() {
			if (oHttp.readyState == 4) {
				callback(oHttp);
			}
		};
		/* Send HTTP GET Request*/
		oHttp.send(null);
	}
	/* Return oHttp Object */
	return oHttp;
};



/**
 * Core
 *
 */
dom.core.removeChildNodes = function(node) {
  while( node.hasChildNodes() ) {
    node.removeChild(node.lastChild);
  }
}

dom.core.getTextContent = function(node) {
  var text = "";
  if(! node) { return text; }
  if(typeof node.textContent != "undefined") {
    text = node.textContent;
  } else if(typeof node.innerText != "undefined") {
    text = node.innerText;
  } else if( node.hasChildNodes() ) {
    for (var i = node.childNodes.length; i--;) {
      var o = node.childNodes.item(i);
      if(o.nodeType == 3) {
        text = o.nodeValue + text;
      } else {
        text = dom.core.getTextContent(o) + text;
      }
    }
  }
  return text;
}



/**
 * Event
 *
 */
dom.event.addEventListener = function(elm, type, func, useCapture) {
	if(! elm) { return false; }
	if(! useCapture) {
		useCapture = false;
	}
	if(elm.addEventListener) {
		elm.addEventListener(type, func, false);
	} else if(elm.attachEvent) {
		elm.attachEvent('on'+type, func);
	} else {
		return false;
	}
	return true;
};

dom.event.target = function(evt) {
	/* W3C DOM browser */
	if(evt && evt.target) {
		/* for Safari 1.3 */
		if(evt.target.nodeType == 3) {
			return evt.target.parentNode;
		} else {
			return evt.target;
		}
	/* Internet Explorer */
	} else if(window.event && window.event.srcElement) {
		return window.event.srcElement;
	/* other */
	} else {
		return null;
	}
};

dom.event.preventDefault = function(evt) {
  /* W3C DOM browser */
  if(evt && evt.preventDefault) {
    evt.preventDefault();
    /* for Safari 1.3 */
    evt.currentTarget['on'+evt.type] = function() {return false;};
  /* Internet Explorer */
  } else if(window.event) {
    window.event.returnValue = false;
  }
};


/**
 * Count
 *
 */
function ccbn (id){
	if(!_checkCookie(id)){
		return;
	}
	var referer = '';
	if(document.referrer){
		referer = document.referrer;
	}
	var url = '/banner/count.php?id=' + id + '&referer=' + referer;
	var callback = function(oHttp){};
	var oHttp = dom.ajax.httpGetRequest(url, callback);
	if (!oHttp) {}
}
function _getCookie(key,  tmp1, tmp2, xx1, xx2, xx3) {
    tmp1 = " " + document.cookie + ";";
    xx1 = xx2 = 0;
    len = tmp1.length;
    while (xx1 < len) {
        xx2 = tmp1.indexOf(";", xx1);
        tmp2 = tmp1.substring(xx1 + 1, xx2);
        xx3 = tmp2.indexOf("=");
        if (tmp2.substring(0, xx3) == key) {
            return(unescape(tmp2.substring(xx3 + 1, xx2 - xx1 - 1)));
        }
        xx1 = xx2 + 1;
    }
    return("");
}
function _setCookie(key, val, tmp) {
	var dateObj = new Date();
	dateObj.setHours(23);
	dateObj.setMinutes(59);
	dateObj.setSeconds(59);
	var gmtString = dateObj.toGMTString();
	tmp = key + "=" + escape(val) + "; ";
	tmp += "expires=" + gmtString + "; ";
	tmp += "path=/; ";
	document.cookie = tmp;
}

function _checkCookie(id){
	var ret = true;
	var cookieName = 'bn_count_id_' + id;
	var value = _getCookie(cookieName);
	if(value && (value != '')){
		ret = false;
	}else{
		_setCookie(cookieName, '1');
	}
	return ret;
}


