var Base64 = {
	// private property
	_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
	// public method for encoding
	encode : function (input) {
		var output = "";
		var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
		var i = 0;

		input = Base64._utf8_encode(input);

		while (i < input.length) {
			chr1 = input.charCodeAt(i++);
			chr2 = input.charCodeAt(i++);
			chr3 = input.charCodeAt(i++);

			enc1 = chr1 >> 2;
			enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
			enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
			enc4 = chr3 & 63;

			if (isNaN(chr2)) {		enc3 = enc4 = 64;
			} else if (isNaN(chr3)) {		enc4 = 64;			}

			output = output +
			this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
			this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
		}
		return output;
	},

	// public method for decoding
	decode : function (input) {
		var output = "";
		var chr1, chr2, chr3;
		var enc1, enc2, enc3, enc4;
		var i = 0;

		input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

		while (i < input.length) {
			enc1 = this._keyStr.indexOf(input.charAt(i++));
			enc2 = this._keyStr.indexOf(input.charAt(i++));
			enc3 = this._keyStr.indexOf(input.charAt(i++));
			enc4 = this._keyStr.indexOf(input.charAt(i++));

			chr1 = (enc1 << 2) | (enc2 >> 4);
			chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
			chr3 = ((enc3 & 3) << 6) | enc4;

			output = output + String.fromCharCode(chr1);

			if (enc3 != 64) {		output = output + String.fromCharCode(chr2);		}
			if (enc4 != 64) {		output = output + String.fromCharCode(chr3);		}
		}

		output = Base64._utf8_decode(output);

		return output;

	},

	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";

		for (var n = 0; n < string.length; n++) {

			var c = string.charCodeAt(n);

			if (c < 128) {		utftext += String.fromCharCode(c);		}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}

		}

		return utftext;
	},

	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;

		while ( i < utftext.length ) {

			c = utftext.charCodeAt(i);

			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}

		}

		return string;
	}

}

function d_setCookie(name, value) {
	var today = new Date();
	today.setDate( today.getDate() + 365 );
	document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + today.toGMTString() +";";
}

function d_getCookie( name ) {
	var cookieName = name + "=";
	var x = 0;
	while ( x <= document.cookie.length ) {
		var y = (x+cookieName.length);
		if ( document.cookie.substring( x, y ) == cookieName ) {
			if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 ) endOfCookie = document.cookie.length;
			return unescape( document.cookie.substring( y, endOfCookie ) );
		}
		x = document.cookie.indexOf( " ", x ) + 1;
		if ( x == 0 ) break;
	}
	return "";
}

function _index(s,t){
	return s.indexOf(t)
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////

var wv_java					= 'Unknown';
var wv_cookie				= 'Unknown';
var wv_browser			= 'Unknown';
var wv_browserV			= 'Unknown';
var wv_ref					= '';
var wv_key					= '';
var wv_arg					= '';
var wv_url					= '';
var wv_os					= 'Unknown';
var wv_code				= 'none';
var wv_lastdate			= '';

if(typeof(wv_login) == "undefined") {
	var wv_login = "";
}
if(typeof(wv_support) == "undefined") {
	var wv_support = "";
}
if(typeof(wv_campaign) == "undefined") {
	var wv_campaign = "";
}
if(typeof(wv_userid) == "undefined") {
	var wv_userid = "";
}



wv_java			= (navigator.javaEnabled()==true)?'1':'0';
wv_cookie		= (navigator.cookieEnabled==true)?'1':'0';

wv_browser		= navigator.appName;
wv_cpu			= navigator.cpuClass; 
wv_plat			= navigator.platform;
wv_appV			= navigator.appVersion;

/*
if(wv_browser.charAt(0) == "N") {
	wv_browserV=wv_appV.substring(0,wv_appV.indexOf(" "));
	
	if(wv_browserV.charAt(0) == "3")						wv_browser = "Netscape3";
	else if(wv_browserV.charAt(0) == "4")				wv_browser = "Netscape4";
	else if(wv_browserV.charAt(0) == "5")				wv_browser = "Netscape5";
	else if(wv_browserV.charAt(0) == "6")				wv_browser = "Netscape6";
	else if(wv_browserV.charAt(0) == "7")				wv_browser = "Netscape7";
	else if(wv_browserV.charAt(0) == "8")				wv_browser = "Netscape8";
	else																		wv_browser = "Unknown";

} else if(wv_browser.charAt(0) == "M") {
	wv_browserV=wv_appV.substring(wv_appV.indexOf("MSIE")+5, wv_appV.indexOf("MSIE")+8);

	if(wv_browserV.charAt(0) == "4")						wv_browser = "InternetExplorer4";
	else if(wv_browserV.charAt(0) == "5")				wv_browser = "InternetExplorer5";
	else if(wv_browserV.charAt(0) == "6")				wv_browser = "InternetExplorer6";
	else if(wv_browserV.charAt(0) == "7")				wv_browser = "InternetExplorer7";
	else if(wv_browserV.charAt(0) == "8")				wv_browser = "InternetExplorer8";
	else if(wv_browserV.charAt(0) == "9")				wv_browser = "InternetExplorer9";
	else																		wv_browser = "Unknown";

}*/

wv_ref		= document.referrer;
wv_key	= document.referrer;

wv_url		= document.URL;
wv_page	= document.URL;
wv_code	= document.URL;

if( wv_url.charAt(wv_url.length)=='/' )
	wv_url = wv_url.substring(0,wv_url.length-1);

if( wv_url.indexOf('://') > 0 )
	wv_url = wv_url.substring(wv_url.indexOf('://')+3,wv_url.length);

if( wv_url.indexOf('/') > 0 )
	wv_url = wv_url.substring(0,wv_url.indexOf('/'));

if( wv_url.indexOf(':') > 0 )
	wv_url = wv_url.substring(0,wv_url.indexOf(':'));

if(wv_ref.charAt(wv_ref.length)=='/')
	wv_ref = wv_ref.substring(0,wv_ref.length-1);

if( wv_ref.indexOf('://') > 0)
	wv_ref = wv_ref.substring(wv_ref.indexOf('://')+3,wv_ref.length);
if( wv_ref.indexOf('/') > 0 )
	wv_ref = wv_ref.substring(0,wv_ref.indexOf('/'));
if( wv_ref.indexOf(':') > 0 )
	wv_ref = wv_ref.substring(0,wv_ref.indexOf(':'));

if( (wv_ref=='undefined')||( wv_ref == '' ) )
	wv_ref = 'bookmark' ;

if( wv_page.charAt(wv_page.length-1)=='/' )
	wv_page = wv_page.substring(0,wv_page.length-1);

if( wv_page.indexOf('?') > 0 )
	wv_page = wv_page.substring(0,wv_page.indexOf('?'));

if( wv_page.lastIndexOf('/') > 0 )
	wv_page = wv_page.substring(wv_page.lastIndexOf('/')+1,wv_page.length);

if( wv_page.indexOf('?') == 0 )
	wv_page = 'index';
else if( wv_page.indexOf('?') > 1 )
	wv_page = wv_page.substring(0,wv_page.indexOf('?'));

if( (wv_page == wv_url) || (wv_page.indexOf('.') < 0) )
	wv_page = 'index';

if( wv_page.indexOf('#') > 0 )
	wv_page = wv_page.substring(0,wv_page.indexOf('#'));

if( wv_key.indexOf('?') > 0 ) {
	wv_key = wv_key.substring(wv_key.indexOf('?')+1,wv_key.length);
} else {
	wv_key = 'none' ;
}
if( (wv_key=='undefined')||( wv_key == '' ) )
	wv_key = 'none' ;

if( wv_code.indexOf('mcode') > 0 ) {
	wv_code = wv_code.substring(wv_code.indexOf('mcode')+6,wv_code.length);
	if( wv_code.indexOf('&') > 1 )
		wv_code = wv_code.substring(0,wv_code.indexOf('&'));
} else {
	wv_code = 'none';
}

/*
if( wv_plat.indexOf('undefined') >= 0 || wv_plat == '' )
	wv_os = 'os_Unknown' ;
else
	wv_os = wv_plat ;

if( wv_os.indexOf('Win32') >= 0 ){

	if( wv_appV.indexOf('98')>=0)					wv_os = 'Windows98';
	else if( wv_appV.indexOf('95')>=0 )			wv_os = 'Windows95';
	else if( wv_appV.indexOf('Me')>=0 )		wv_os = 'WindowsMe';
//	else if( wv_appV.indexOf('NT')>=0 )			wv_os = 'WindowsNT';
	else if( wv_appV.indexOf('NT 5.0')>=0)			wv_os = 'Windows2000';
	else if( wv_appV.indexOf('NT 5.1')>=0)			wv_os = 'WindowsXP';
	else if( wv_appV.indexOf('NT 5.2')>=0)			wv_os = 'Windows2003';
	else if( wv_appV.indexOf('NT 6.0')>=0)			wv_os = 'WindowsVista';
	else if( wv_appV.indexOf('NT 7.0')>=0)			wv_os = 'Windows7';
	else wv_os = 'Windows'+wv_appV;


} else {

	wv_plat_substr		= wv_plat.substring(0,4);

	if( wv_plat_substr == 'Wind')					wv_os = 'Windows31';
	else if( wv_plat_substr == 'Mac6' )			wv_os = 'Mac' ;
	else if( wv_plat_substr == 'MacO' )			wv_os = 'Mac' ;
	else if( wv_plat_substr == 'MacP' )			wv_os = 'Mac' ;
	else if(  wv_plat_substr == 'Linu' )			wv_os = 'Linux' ;
	else if(  wv_plat_substr == 'OS/2' )			wv_os = 'OS2' ;
	else if( wv_plat_substr == 'Free' )			wv_os = 'FreeBSD';
	else															wv_os = wv_plat;
}*/

wv_resolution			= window.screen.width+'x'+window.screen.height;

var s_day = new Date();

var user_zone=s_day.getTimezoneOffset()/60;
/*
if(user_zone >= 12) {							user_zone = 'gmt_24';
} else if(user_zone >= 11) {				user_zone = 'gmt_01';
} else if (user_zone >= 10) {				user_zone = 'gmt_02';
} else if (user_zone >= 9) {				user_zone = 'gmt_03';
} else if (user_zone >= 8) {				user_zone = 'gmt_04';
} else if (user_zone >= 7) {				user_zone = 'gmt_05';
} else if (user_zone >= 6) {				user_zone = 'gmt_06';
} else if (user_zone >= 5) {				user_zone = 'gmt_07';
} else if (user_zone >= 4) {				user_zone = 'gmt_08';
} else if (user_zone >= 3) {				user_zone = 'gmt_09';
} else if (user_zone >= 2) {				user_zone = 'gmt_10';
} else if (user_zone >= 1) {				user_zone = 'gmt_11';
} else if (user_zone >= 0) {				user_zone = 'gmt_12';
} else if (user_zone >= -1) {				user_zone = 'gmt_13';
} else if (user_zone >= -2) {				user_zone = 'gmt_14';
} else if (user_zone >= -3) {				user_zone = 'gmt_15';
} else if (user_zone >= -4) {				user_zone = 'gmt_16';
} else if (user_zone >= -5) {				user_zone = 'gmt_17';
} else if (user_zone >= -6) {				user_zone = 'gmt_18';
} else if (user_zone >= -7) {				user_zone = 'gmt_19';
} else if (user_zone >= -8) {				user_zone = 'gmt_20';
} else if (user_zone >= -9) {				user_zone = 'gmt_21';
} else if (user_zone >= -10) {				user_zone = 'gmt_22';
} else if (user_zone >= -11) {				user_zone = 'gmt_23';
} else if (user_zone >= -12) {				user_zone = 'gmt_24';
}
*/

var _UD='undefined';
var _UN='unknown';


_bn=navigator.appName;

if(_bn.substring(0,9)=="Microsoft") _bn="MSIE";

_bN=(_bn=="Netscape");
_bI=(_bn=="MSIE");
_bO=(_index(navigator.userAgent,"Opera")>-1);

if(_bO)_bI='';

_bz=navigator.appName;
_pf=navigator.platform;
_av=navigator.appVersion;

_UA = navigator.userAgent;
_ua = navigator.userAgent.toLowerCase();

_st = _index(_UA,'(') + 1;
_end = _index(_UA,')');
_str = _UA.substring(_st, _end);
_if = _str.split('; ');

if(_bI){
	_cmp = navigator.appName;
	_str = _if[1].substring(5, _if[1].length);
	_vs = (parseFloat(_str)).toString();
} else if ( (_st = _index(_ua,"opera")) > 0){
	_cmp = "Opera" ;
	_vs = _ua.substring(_st+6, _ua.indexOf('.',_st+6));
} else if ((_st = _index(_ua,"firefox")) > 0){
	_cmp = "Firefox"; 
	_vs = _ua.substring(_st+8, _ua.indexOf('.',_st+8));
} else if ((_st = _index(_ua,"netscape6")) > 0){
	_cmp = "Netscape";
	_vs = _ua.substring(_st+10, _ua.length);

	if ((_st = _index(_vs,"b")) > 0 ) {
		_str = _vs.substring(0,_index(_vs,"b"));
		_vs = _str ;
	};
} else if ((_st = _index(_ua,"netscape/7")) > 0){
	_cmp = "Netscape";
	_vs = _ua.substring(_st+9, _ua.length);
	if ((_st = _index(_vs,"b")) > 0 ){
		_str = _vs.substring(0,_index(_vs,"b"));
		_vs = _str;
	};
} else {
	if (_index(_ua,"gecko") > 0){
		if(_index(_ua,"safari")>0){
			_cmp = "Safari";
			_ut = _ua.split('/');
			for( var ii=0;ii<_ut.length;ii++)
				if(_index(_ut[ii],'safari')>0){
					_vst = _ut[ii].split(' '); _vs = _vst[0];
				}
		}else{
			_cmp = navigator.vendor;
		}
	} else if (_index(_ua,"nav") > 0){
		_cmp = "Netscape Navigator";
	}else{
		_cmp = navigator.appName;
	};
	_av = _UA ; 
}

_bz = _cmp.replace("Microsoft","");

//if (_index(_vs,'.')<0){
//	_vs = _vs + '.0'
//}


if( _index(_pf,_UD) >= 0 || _pf == '' ){
	_os = _UN ;
}else{
	_os = _pf ;
};

if( _index(_os,'Win32') >= 0 ){
	if( _index(_av,'98')>=0){
		_os = 'Windows98';
	}else if( _index(_av,'95')>=0 ){
		_os = 'Windows95';
	} else if( _index(_av,'Me')>=0 ){
		_os = 'WindowsMe';
	}else if( _index(_av,'NT')>=0 ){
		_os = 'WindowsNT';
	}else{
		_os = 'Windows';
	};

	if( _index(_ua,'nt 5.0')>=0){
		_os = 'Windows2000';
	};
	if( _index(_ua,'nt 5.1')>=0){
		_os = 'WindowsXP';
	//	if( _index(_ua,'sv1') > 0 ){
	//		_os = 'WindowsXP(SP2)';
	//	};
	};
	if( _index(_ua,'nt 5.2')>=0){
		_os ='Windows2003';
	};
	if( _index(_ua,'nt 6.0')>=0){
		_os ='WindowsVista';
	};
	if( _index(_ua,'nt 6.1')>=0){
		_os ='Windows7';
	};
};

_pf_s = _pf.substring(0,4);
if( _pf_s == 'Wind'){
	if( _pf_s == 'Win1'){
		_os = 'Windows3.1';
	}else if( _pf_s == 'Mac6' ){
		_os = 'Mac';
	}else if( _pf_s == 'MacO' ){
		_os ='Mac';
	}else if( _pf_s == 'MacP' ){
		_os='Mac';
	}else if(_pf_s == 'Linu'){
		_os='Linux';
	}else if( _pf_s == 'WebT' ){
		_os='WebTV';
	}else if(  _pf_s =='OSF1' ){
		_os ='CompaqOpenVMS';
	}else if(_pf_s == 'HP-U' ){
		_os='HPUnix';
	}else if(  _pf_s == 'OS/2' ){
		_os = 'OS/2' ;
	}else if( _pf_s == 'AIX4' ){
		_os = 'AIX';
	}else if( _pf_s == 'Free' ){
		_os = 'FreeBSD';
	}else if( _pf_s == 'SunO' ){
		_os = 'SunO';
	}else if( _pf_s == 'Drea' ){
		_os = 'Drea';
	}else if( _pf_s == 'Plan' ){
		_os = 'Plan';
	}else{
		_os = _UN;
	};
};


	if( _vs.indexOf('.') > 0 ) {
		_vs = _vs.substring(0,_vs.indexOf('.'));
	}

	wv_browser = _bz.replace(" ", "")+_vs;
	wv_os = _os;
//&bz="+_bz+"&bv="+_vs+"&os="+_os



var year		= s_day.getFullYear();
var month	= s_day.getMonth()+1;
var day			= s_day.getDate();
var hour		= s_day.getHours();
var min			= s_day.getMinutes();
var sec			= s_day.getSeconds();
var msec		= s_day.getMilliseconds();
if(month < 10)		month	= "0"+ month;
if(day < 10)			day		= "0"+ day;
if(hour < 10)			hour		= "0"+ hour;
if(min < 10)			min		= "0"+ min;
if(sec < 10)			sec		= "0"+ sec;
if(msec < 100)		msec	= "0"+ msec;

var name = "wv_time"+wv_url;
var wv_lastdate = d_getCookie(name);

d_setCookie(name,year+""+month+""+day+""+hour+""+min+""+sec);

name = "wv_session_" + wv_url;
var wv_session = d_getCookie(name);
var now = year+""+month+""+day+""+hour+""+min+""+sec+""+msec;

if( wv_session.length > 4 ) {
	if( ( parseInt(now.substring(2,14), 10) - parseInt(wv_session.substring(2,14),10) ) > 10000 ) {
		document.cookie = name + "=" + escape(now) + "; path=/;";
		wv_session = "NO|"+ escape(now);
	} else {
		wv_session = "YES|"+ wv_session;
	}
} else {
	document.cookie = name + "=" + escape(now) + "; path=/;";
	wv_session = "NO|"+ escape(now);
}


if (wv_key.length > 100) {
	wv_key = wv_key.substring(0, 100);
}


var wv_src = "https://famine24.net/log/weblog.php?browser="+wv_browser+"&os="+wv_os;
wv_src += "&resolution="+wv_resolution+"&java="+wv_java+"&cookie="+wv_cookie+"&ref="+escape(wv_ref)+"&url="+escape(wv_url)+"&page="+escape(wv_page);
wv_src += "&user_zone="+user_zone+"&marketingcode="+escape(wv_code)+"&lastdate="+wv_lastdate+"&wv_session="+wv_session;
wv_src += "&flag_login="+wv_login+"&flag_support="+wv_support+"&flag_campaign="+wv_campaign+"&userid="+wv_userid+"&keyword="+Base64.encode(wv_key);


wv_arg = "<div height='0' style='top:-1;position:absolute'>";
wv_arg += "<img src='"+wv_src+"' border='0' height='0' width='0'>";
wv_arg += "</div>";
document.write("<a href='http://www.worldvision.or.kr' target='_blank'>"+wv_arg+"</a>");

//document.write(wv_src);

