/********************************************************************************************
 * Basic Functions 
 *
 * Made by Max , June 2010.
 *
 *
 * 1. Variables
 *		- isIE : ie or not
 *
 * 2. Functions
 * 	- Browser
 * 		createBookmark ( [url, title] ) : Create bookmark specified by url and title
 *																The url, title is current domain and author by default.
 *		- String function
 *			getBytes(string) : Returns the byte(s) of the given string.
 *
 *		- Layer
 *			getDistance(object, layer id) : Returns the distance from object to given layer.
 *			getPos(object) : Returns the positions from given object to left top of document.
 *
 *		- Event
 *			addOnLoadEvent(callback function) : Set onload function with keep existing onload.
 * 										
 ********************************************************************************************/

var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;

function createBookmark(){		// make bookmark current domain and author
	var url;
	var title;
	
	if(arguments.length==2){
		url = arguments[0];
		title = arguments[1];
	} else {	
		url = 'http://'+document.location.host.replace(/^([a-z0-9]+\.)?([\w]+\.[a-z]{2,4}(?:\.[a-z]{2})?)$/, "www.$2");
		var res = document.getElementsByTagName("meta");
		title = document.title;
		for(i=0;i<res.length;i++){
			if(res[i].name.toLowerCase()=="author"){ title=res[i].content; break; }
		}
	}
	if(isIE) window.external.AddFavorite(url, title);
	else	alert('Áñ°ÜÃ£±â¸¦ µî·ÏÇÏ½Ã·Á¸é Ctrl + D Å°¸¦ ´­·¯ÁÖ¼¼¿ä.');
}

function getBytes(str){
	var len = str.length;
	var bytes = 0;
	for(i=0; i< len; i++){
		var c = str.charAt(i);
		if(escape(c).length > 4) bytes += 2; // Two byte character
		else bytes++;
	}
	return bytes;
}

function getDistance(obj, id) {
	var r = { x: obj.offsetLeft, y: obj.offsetTop };
	while(obj.offsetParent){
		obj = obj.offsetParent;
		if(obj.id){
			if(obj.id==id) break;
		}
		r.x += obj.offsetLeft;
		r.y += obj.offsetTop;
	}
	return r;
}

function getPos(obj) {
	var r = { x: obj.offsetLeft, y: obj.offsetTop };
	if (obj.offsetParent) {
		var tmp = getPos(obj.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
}


function addOnLoadEvent(func){
	if(typeof window.onload != 'function'){
		window.onload = func;
	} else {
		var oldonload = window.onload;
		window.onload = function(){
			oldonload();
			if(typeof func != 'function') eval(func);
			else func();
		}
	}
}

/************************************************************************************************
 *
 * Preload Image Function (November. 24, 2008)
 *
 *	Copyright (C) 2008  JKNews Co,. Ltd.		Programmed by Maxwell, Shim( msshim@jknews.co.kr )
 ************************************************************************************************/
var Preload = {
		motion:false,
		loaded:false,
		onComplete:{},
		imgComplete: 0,
		loadingImage:'loadingImage',
		arg: 0,
		checkOnLoad: function(){
			Preload.imgComplete++;
			if(Preload.imgComplete == Preload.arg){
				if(Preload.motion){
					if(Preload.loadingImage!='') document.getElmentById(Preload.loadingImage).style.display='none';
					Preload.onComplete();
				} else Preload.loaded = true;
			}
		},
		load: function(){
			Preload.motion = Preload.loaded = false;
			Preload.imgComplete = 0;
			Preload.arg = arguments.length;
			var img = new Array();
			for(i=0; i<Preload.arg; i++){
				img[i] = new Image();
				img[i].src = arguments[i];
				if(img[i].complete) Preload.checkOnLoad();
				else img[i].onload = function(){ Preload.checkOnLoad(); }
			}
		}
	}