SIBULIB =
{
//**************************************************************************
//priavte variable
//**************************************************************************
iframeId: 'sibulla_iframe',
formId: 'sibulla_iframe_form',
iframeContentTemplate: '
',
imgContentTemplate: '
',
sendUrls: {'http': 'http://wl005.sibulla.com/sibulog/access', 'https': 'https://wl005.sibulla.com/sibulog/access'},
//**************************************************************************
//check opera
//**************************************************************************
isOpera: function()
{
var ua = navigator.userAgent.toLowerCase();
return (ua.indexOf("opera") > -1 ? true : false);
},
//**************************************************************************
// check ie
//**************************************************************************
isIE: function()
{
var ua = navigator.userAgent.toLowerCase();
return (!SIBULIB.isOpera() && ua.indexOf("msie") > -1 ? true : false);
},
//**************************************************************************
// check safari
//**************************************************************************
isSafari: function()
{
var ua = navigator.userAgent.toLowerCase();
return ( (/webkit|khtml/).test(ua) ? true : false );
},
//**************************************************************************
// check Firefox
//**************************************************************************
isFirefox: function()
{
var ua = navigator.userAgent.toLowerCase();
return( !SIBULIB.isSafari() && ua.indexOf("gecko") > -1 ? true : false);
},
//**************************************************************************
// check Android
//**************************************************************************
isAndroid: function()
{
var ua = navigator.userAgent.toLowerCase();
return( ua.indexOf("android") > -1 ? true : false);
},
//**************************************************************************
// check iPad
//**************************************************************************
isIPad: function()
{
var ua = navigator.userAgent.toLowerCase();
return( ua.indexOf("ipad") > -1 ? true : false);
},
//**************************************************************************
// check iPhone
//**************************************************************************
isIPhone: function()
{
var ua = navigator.userAgent.toLowerCase();
return( ua.indexOf("iphone") > -1 ? true : false);
},
//**************************************************************************
// check Smart Phone
//**************************************************************************
isSmartPhone: function()
{
return SIBULIB.isAndroid() || SIBULIB.isIPad() || SIBULIB.isIPhone();
},
//**************************************************************************
// check Array Object
//**************************************************************************
isArray: function(value)
{
return Object.prototype.toString.apply(value) === '[object Array]';
},
//**************************************************************************
// padding
//**************************************************************************
padding: function(n)
{
return n < 10 ? "0" + n : n;
},
//**************************************************************************
// use has own
//**************************************************************************
useHasOwn: function()
{
!!{}.hasOwnProperty;
},
//**************************************************************************
// json encode string type part
//**************************************************************************
META_TBL: {"\b": '\\b', "\t": '\\t', "\n": '\\n', "\f": '\\f', "\r": '\\r', '"' : '\\"', "\\": '\\\\' },
jsonEncodeForString: function(s)
{
if( /["\\\x00-\x1f]/.test(s) ){
return '"' +
s.replace(/([\x00-\x1f\\"])/g, function(a, b)
{
var c = SIBULIB.META_TBL[ b ];
if( c ){
return c;
}
c = b.charCodeAt();
return "\\u00" + Math.floor(c / 16).toString(16) + (c % 16).toString(16);
}) +
'"';
}
return '"' + s + '"';
},
//**************************************************************************
// json encode array object type part
//**************************************************************************
jsonEncodeForArray: function(o)
{
var a = ["["], b, i, l = o.length, v;
for (i = 0; i < l; i += 1) {
v = o[i];
switch (typeof v) {
case "undefined":
case "function":
case "unknown":
break;
default:
if (b) {
a.push(',');
}
a.push( v === null ? "null" : SIBULIB.jsonEncode(v) );
b = true;
}
}
a.push("]");
return a.join("");
},
//**************************************************************************
// json encode date type part
//**************************************************************************
jsonEncodeForDate: function(o)
{
return '"' + o.getFullYear() + "-" + SIBULIB.padding(o.getMonth() + 1) + "-" + SIBULIB.padding(o.getDate()) + "T" +
SIBULIB.padding(o.getHours()) + ":" + SIBULIB.padding(o.getMinutes()) + ":" + SIBULIB.padding(o.getSeconds()) + '"';
},
//**************************************************************************
// json encode
//**************************************************************************
jsonEncode: function(o)
{
if( typeof(o) == "undefined" || o === null ){
return "null";
}
else if( SIBULIB.isArray(o) ){
return SIBULIB.jsonEncodeForArray( o );
}
else if( Object.prototype.toString.apply(o) === '[object Date]' ){
return SIBULIB.jsonEncodeForDate( o );
}
else if( typeof(o) == "string" ){
return SIBULIB.jsonEncodeForString( o );
}
else if( typeof(o) == "number" ){
return isFinite( o ) ? String( o ) : "null";
}
else if(typeof(o) == "boolean" ){
return String( o );
}
else{
var a = ["{"], b, i, v;
for (i in o) {
if(!SIBULIB.useHasOwn() || o.hasOwnProperty(i)) {
v = o[i];
switch (typeof v) {
case "undefined":
case "function":
case "unknown": break;
default:
if(b){
a.push(',');
}
a.push( SIBULIB.jsonEncode(i), ":", v === null ? "null" : SIBULIB.jsonEncode(v) );
b = true;
}
}
}
a.push("}");
return a.join("");
}
},
//**************************************************************************
// Formating String
//**************************************************************************
stringFormat: function(format)
{
var args = Array.prototype.slice.call(arguments, 1);
return format.replace(/\{(\d+)\}/g, function(m, i){
return args[i];
});
},
//**************************************************************************
// String both trim
//**************************************************************************
trim: function(data)
{
return data.replace(/^\s+|\s+$/g,"");
},
//**************************************************************************
// String left only trim
//**************************************************************************
ltrim: function(data)
{
return data.replace(/^\s+/,"");
},
//**************************************************************************
// String right only trim
//**************************************************************************
rtrim: function(data)
{
return data.replace(/\s+$/,"");
},
//**************************************************************************
// Create unique Id
//**************************************************************************
createUniqId: function(len, chars)
{
var tbl = chars.split( '' );
var value = '';
for( var i = 0; i < len; i++ ){
value += tbl[ Math.floor(Math.random() * tbl.length) ];
}
return value;
},
//**************************************************************************
// Create random Id
//**************************************************************************
createRandomId: function(len, chars)
{
chars = chars || 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
return SIBULIB.createUniqId( len, chars );
},
//**************************************************************************
// Create java servlet like session id
//**************************************************************************
createSessionId: function()
{
return SIBULIB.createUniqId( 32, 'ABCDEF0123456789' );
},
//**************************************************************************
// get cookie value
//**************************************************************************
getCookie: function(cname)
{
var cookies = document.cookie.toString().split(';');
cname = SIBULIB.trim(cname.toString());
for(var n in cookies)
{
var element = SIBULIB.ltrim(cookies[n]);
var pos = element.indexOf('=');
if( pos == -1 ){
continue;
}
if( element.substring(0, pos) == cname ){
return unescape( element.substring(pos + 1) );
}
}
return '';
},
//**************************************************************************
// create date object by unixtime
//**************************************************************************
createDateByUnixtime: function(unixTime)
{
var date = new Date();
date.setTime( unixTime * 1000 );
return date;
},
//**************************************************************************
// set and replace cookie value
//**************************************************************************
setCookie: function(cname, value, path, domain, expires, isSecure)
{
var cookie = SIBULIB.trim(cname.toString()) + '=' + escape(value) + ';';
if( path ){
cookie += 'path=' + path + '; ';
}
if( domain ){
cookie += 'domain=' + domain + '; ';
}
if( expires && (expires instanceof Date) ){
cookie += 'expires=' + expires.toGMTString() + '; ';
}
if( expires && (expires instanceof String) ){
cookie += 'expires=' + expires + '; ';
}
if( isSecure ){
cookie += 'secure';
}
document.cookie = cookie;
},
//**************************************************************************
// send log data by post method
//**************************************************************************
sendPostData: function(data)
{
// write iframe tag
var iframe = document.createElement( 'iframe' );
iframe.id = SIBULIB.iframeId;
iframe.setAttribute( 'name', SIBULIB.iframeId );
iframe.setAttribute( 'src', 'javascript:false' );
iframe.setAttribute( 'width', '1' );
iframe.setAttribute( 'height', '1' );
iframe.setAttribute( 'border', '0' );
iframe.setAttribute( 'frameborder', 'no' );
document.body.appendChild(iframe);
// get iframe document
var childDoc = ( SIBULIB.isIE() ?
iframe.contentWindow.document : (iframe.contentDocument || window.frames[SIBULIB.iframeId].document) );
// write form tag
var protocol = location.protocol;
var sendUrl = (protocol == "http:" ? SIBULIB.sendUrls['http'] : SIBULIB.sendUrls['https']);
var content = SIBULIB.stringFormat( SIBULIB.iframeContentTemplate, SIBULIB.formId, SIBULIB.formId, sendUrl, 'post' );
childDoc.open();
childDoc.write( content );
childDoc.close();
// get form element and submit
var childForms = childDoc.getElementsByName( SIBULIB.formId );
SIBULIB.writeHiddenData( childDoc, childForms[0], data );
childForms[0].submit();
//remove iframe( 500msec later)
var tId = window.setTimeout( function(){
document.body.removeChild( iframe );
try{
window.clearTimeout( tId );
}
catch(e){
;
}
}, 500 );
},
//**************************************************************************
// session data by first party cookies
//**************************************************************************
setupFirstPartyCookie: function(data)
{
var now = new Date();
var id = data['id'],
sessId = SIBULIB.getCookie( id + '_si' ),
visitId = SIBULIB.getCookie( id + '_vi' ),
sessNum = SIBULIB.getCookie( id + '_sessnum' ),
sessExpire = SIBULIB.getCookie( id + '_sessexpire' );
var expireTime = null;
var isCreateSession = false,
isCreateVisitId = false,
isCreateSessNum = false;
//
//get session expire time
//
try{
expireTime = SIBULIB.createDateByUnixtime(
sessExpire ? parseInt(sessExpire) / 1000 : now.getTime() / 1000
);
}
catch(e){
expireTime = new Date();
}
//
//create session
//
if( now.getTime() >= expireTime.getTime() ){
sessId = SIBULIB.createSessionId();
isCreateSession = true;
}
expireTime.setTime( now.getTime() + (30 * 60 * 1000) );
//
//create visit
//
if( !visitId ){
visitId = SIBULIB.createRandomId( 13 ).toUpperCase();
}
//
//create visit num
//
try{
if( !sessNum ){
isCreateSessNum = true;
}
sessNum = ( sessNum ? parseInt(sessNum) : 0 );
sessNum += ( isCreateSession ? 1 : 0 );
}
catch(e){
isCreateSessNum = true;
sessNum = 1;
}
SIBULIB.setCookie( id + '_sessexpire', expireTime.getTime() );
if( isCreateSession ){
SIBULIB.setCookie( id + '_si', sessId );
}
if( isCreateSession || isCreateVisitId ){
var expire = SIBULIB.createDateByUnixtime( (now.getTime() / 1000) + (90 * 24 * 60 * 60) );
SIBULIB.setCookie( id + '_vi', visitId, null, null, expire );
}
if( isCreateSession || isCreateSessNum ){
var expire = SIBULIB.createDateByUnixtime( (now.getTime() / 1000) + (90 * 24 * 60 * 60) );
SIBULIB.setCookie( id + '_sessnum', sessNum, null, null, expire );
}
data['vi'] = visitId;
data['si'] = sessId;
data['sn'] = sessNum;
return data;
},
//**************************************************************************
// send log data by get method
//**************************************************************************
sendGetData: function(data, objImg)
{
var protocol = location.protocol;
var sendUrl = (protocol == "http:" ? SIBULIB.sendUrls['http'] : SIBULIB.sendUrls['https']);
//
//setup first party cookie for smart phone.
//
if( SIBULIB.isSmartPhone() ){
data = SIBULIB.setupFirstPartyCookie( data );
}
//
// hash to array
//
var params = new Array();
for( var n in data ){
if( typeof(params[n]) == 'function' ){
continue;
}
if( n == 'REFERER' || n == 'w' || n == 't' ){
continue;
}
params.push( n + '=' + data[n] );
}
//
//append title, width and referer
//
if( 't' in data ){
params.push( 't=' + data['t'] );
}
if( 'w' in data ){
params.push( 'w=' + data['w'] );
}
if( 'REFERER' in data ){
params.push( 'REFERER=' + data['REFERER'] );
}
//
//append parameters
//
sendUrl += (params.length > 0 ? '?' : '');
sendUrl += params.join('&');
//
//create and send log data
//
if( objImg ){
objImg.src = sendUrl;
}
else{
var imgTag = SIBULIB.stringFormat( SIBULIB.imgContentTemplate, sendUrl );
document.write( imgTag );
}
},
//**************************************************************************
// Write Hidden Tag
//**************************************************************************
writeHiddenData: function(doc, form, data)
{
var protocol = location.protocol;
var sendUrl = (protocol == "http:" ? SIBULIB.sendUrls['http'] : SIBULIB.sendUrls['https']);
//
//setup first party cookie for smart phone.
//
if( SIBULIB.isSmartPhone() ){
data = SIBULIB.setupFirstPartyCookie( data );
}
//
// hash to array
//
var params = new Array();
for( var n in data ){
if( typeof(params[n]) == 'function' ){
continue;
}
if( n == 'REFERER' || n == 'w' || n == 't' ){
continue;
}
params.push( {
name: n,
value: data[n]
} );
}
//
//append title, width and referer
//
if( 't' in data ){
params.push( {
name: 't',
value: data['t']
} );
}
if( 'w' in data ){
params.push( {
name: 'w',
value: data['w']
} );
}
if( 'REFERER' in data ){
params.push( {
name: 'REFERER',
value: data['REFERER']
} );
}
//
//write hidden tag
//
for( var i = 0; i < params.length; i++ ){
if( typeof(params[i]) == 'function' ){
continue;
}
SIBULIB.createHiddenElement( doc, form, params[i].name, params[i].value );
}
},
//**************************************************************************
// create hidden tag
//**************************************************************************
createHiddenElement: function(doc, parent, name, value)
{
var element = doc.createElement('input');
element.type = 'hidden';
element.name = name;
element.value = value;
parent.appendChild(element);
return element;
},
//**************************************************************************
// get current url(current page url & referer url)
//**************************************************************************
getCurrentUrls: function()
{
var refer = '';
var url = '';
try{
if (document.referrer == parent.frames.location) {
refer = top.document.referrer.toString();
url = location.href.toString();
}
else {
refer = document.referrer.toString();
url = document.location.href.toString();
}
if (refer.length == "" && window.opener != null) {
refer = window.opener.location.toString();
url = location.href.toString();
}
}catch(e){
refer = document.referrer.toString();
url = location.href.toString();
}
return {
'referer': refer,
'request': url
};
},
//**************************************************************************
// url encoding
//**************************************************************************
urlEncode: function(str)
{
var s0, i, s, u;
s0 = ""; // encoded str
for (i = 0; i < str.length; i++){ // scan the source
s = str.charAt(i);
u = str.charCodeAt(i); // get unicode of the char
if (s == " "){s0 += "+";} // SP should be converted to "+"
else {
if ( u == 0x2a || u == 0x2d || u == 0x2e || u == 0x5f || ((u >= 0x30) && (u <= 0x39)) || ((u >= 0x41) && (u <= 0x5a)) || ((u >= 0x61) && (u <= 0x7a))){ // check for escape
s0 = s0 + s; // don't escape
}
else { // escape
if ((u >= 0x0) && (u <= 0x7f)){ // single byte format
s = "0"+u.toString(16);
s0 += "%"+ s.substr(s.length-2);
}
else if (u > 0x1fffff){ // quaternary byte format (extended)
s0 += "%" + (0xf0 + ((u & 0x1c0000) >> 18)).toString(16);
s0 += "%" + (0x80 + ((u & 0x3f000) >> 12)).toString(16);
s0 += "%" + (0x80 + ((u & 0xfc0) >> 6)).toString(16);
s0 += "%" + (0x80 + (u & 0x3f)).toString(16);
}
else if (u > 0x7ff){ // triple byte format
s0 += "%" + (0xe0 + ((u & 0xf000) >> 12)).toString(16);
s0 += "%" + (0x80 + ((u & 0xfc0) >> 6)).toString(16);
s0 += "%" + (0x80 + (u & 0x3f)).toString(16);
}
else { // double byte format
s0 += "%" + (0xc0 + ((u & 0x7c0) >> 6)).toString(16);
s0 += "%" + (0x80 + (u & 0x3f)).toString(16);
}
}
}
}
return s0;
},
//**************************************************************************
// subtract parameter
//**************************************************************************
getSubtractParam: function(refer)
{
try{
if (refer == null || refer.length == 0 || (refer.indexOf("http://",0) == -1 && refer.indexOf("https://",0) == -1)) {
return "";
}
}
catch(Exception){
return "";
}
var new_refer = refer;
var index = refer.indexOf("?",0);
if (index != -1 || refer.length < index) {
new_refer = refer.substring(0,index);
}
return new_refer;
},
//**************************************************************************
// add event handler
//**************************************************************************
addEvent: function(target, eventName, handler)
{
if( SIBULIB.isIE() == true ){
target.attachEvent( 'on' + eventName, function() {
handler.call( target, window.event );
} );
}
else{
target.addEventListener( eventName, handler, false );
}
},
//**************************************************************************
// initilize ec data
//**************************************************************************
initEcData: function(cno, totalBuyCount, totalBuyMoney, orderNo, totalPrice)
{
return {
'cust_no': cno || '', //customer no
'total_buy_count': (totalBuyCount ? parseInt(totalBuyCount) : 0 ), //total buy count( including this timing)
'total_buy_money': (totalBuyMoney ? parseInt(totalBuyMoney) : 0 ), //total buy money( including this timing)
'order_no': orderNo || '', //order no
'total_price': (totalPrice ? parseInt(totalPrice) : 0 ), //total price
'items': [] //array of detail item data
};
},
//**************************************************************************
// append ec item data
//**************************************************************************
appendEcItem: function(ecData, itemNo, itemName, itemCount, itemUnitPrice, itemPrice)
{
var item = {
'no': itemNo || '', //item no
'name': itemName || '', //item name
'count': ( itemCount == undefined ? 0 : parseInt(itemCount) ), //number
'unit_price': ( itemUnitPrice == undefined ? 0 : parseInt(itemUnitPrice) ), //unit price
'price': ( itemPrice == undefined ? 0 : parseInt(itemPrice) ) //total price( number * unit price)
}
ecData.items.push( item );
},
//**************************************************************************
// create ec data
//**************************************************************************
createEcData: function(cno, totalBuyCount, totalBuyMoney, orderNo, totalPrice, itemNos, itemNames, itemCounts, itemUnitPrices, itemPrices, sep)
{
var nos = (itemNos ? itemNos.split(sep) : new Array());
var names = (itemNames ? itemNames.split(sep) : new Array());
var counts = (itemCounts ? itemCounts.split(sep) : new Array());
var unitPrices = (itemUnitPrices ? itemUnitPrices.split(sep) : new Array());
var prices = (itemPrices ? itemPrices.split(sep) : new Array());
var ecData = SIBULIB.initEcData(cno, totalBuyCount, totalBuyMoney, orderNo, totalPrice);
for( var i = 0; i < nos.length; i++ ){
var no = nos[i];
var name = names[i] || '';
var count = (counts[i] ? parseInt(counts[i]) : 0);
var unitPrice = (unitPrices[i] ? parseInt(unitPrices[i]) : 0);
var price = (prices[i] ? parseInt(prices[i]) : 0);
SIBULIB.appendEcItem( ecData, no, name, count, unitPrice, price );
}
return ecData;
}
};
//*****************************************************************************
//regular type
//*****************************************************************************
function c6f67(id)
{
var urls = SIBULIB.getCurrentUrls();
var data = {
'id': id,
't': SIBULIB.urlEncode( document.title ),
'w': screen.width,
'h': screen.height,
're': "1",
'REFERER': SIBULIB.urlEncode( urls.referer )
};
SIBULIB.sendGetData( data );
}
//*****************************************************************************
//referer without params type
//*****************************************************************************
function c6f68(id)
{
var urls = SIBULIB.getCurrentUrls();
var data = {
'id': id,
't': SIBULIB.urlEncode( document.title ),
'w': screen.width,
'h': screen.height,
're': "1",
'REFERER': SIBULIB.urlEncode( SIBULIB.getSubtractParam( urls.referer ) )
};
SIBULIB.sendGetData( data );
}
//*****************************************************************************
//send current url without params
//*****************************************************************************
function c6f69(id)
{
var urls = SIBULIB.getCurrentUrls();
var data = {
'id': id,
't': SIBULIB.urlEncode( document.title ),
'w': screen.width,
'h': screen.height,
'URL': SIBULIB.urlEncode( SIBULIB.getSubtractParam( urls.request ) ),
're': "1",
'REFERER': SIBULIB.urlEncode( urls.referer )
};
SIBULIB.sendGetData( data );
}
//*****************************************************************************
//send current url with user param
//*****************************************************************************
function c6f70(id, param)
{
var urls = SIBULIB.getCurrentUrls();
var prms = (param != undefined ? '?' + param : '');
var data = {
'id': id,
't': SIBULIB.urlEncode( document.title ),
'w': screen.width,
'h': screen.height,
'URL': SIBULIB.urlEncode( SIBULIB.getSubtractParam(urls.request) + prms ),
're': "1",
'REFERER': SIBULIB.urlEncode( urls.referer )
};
SIBULIB.sendGetData( data );
}
//*****************************************************************************
//send flash click log
//*****************************************************************************
function c6f71(id, gifid, param)
{
var urls = SIBULIB.getCurrentUrls();
var prms = (param != undefined ? '?' + param : '');
var dt = new Date();
var data = {
'r': dt.getTime(),
'id': id,
't': SIBULIB.urlEncode( document.title ),
'w': screen.width,
'h': screen.height,
'URL': SIBULIB.urlEncode( SIBULIB.getSubtractParam(urls.request) + prms ),
're': "1",
'REFERER': SIBULIB.urlEncode( urls.referer )
};
var objImg = document.images[gifid];
SIBULIB.sendGetData( data, objImg );
}
//__Start_Of_Dynamic_Only__
//*****************************************************************************
// ATTENSION!! Dynamic tag server only!!
//frame site send log
//*****************************************************************************
function c6f72(id)
{
var urls = SIBULIB.getCurrentUrls();
var refer = urls.referer;
var siteurls = new Array('http://drink.s140.xrea.com/','http://www.isize.com/','http://www24.atwiki.jp/realwebanalytics/','https://drink.s140.xrea.com/','https://www.isize.com/');
// get referer from cookie
for(var n in siteurls){
if( typeof(siteurls[n]) == 'function' ){
continue;
}
var siteurl = siteurls[n];
if( siteurl == refer.substring(0, siteurl.length) ){
refer = getCookie( 'siburefer' );
break;
}
}
// set request url to cookie
setCookie( 'siburefer', location.href );
var data = {
'id': id,
't': SIBULIB.urlEncode( document.title ),
'w': screen.width,
'h': screen.height,
're': "1",
'REFERER': SIBULIB.urlEncode( refer )
};
SIBULIB.sendGetData( data );
}
//__End_Of_Dynamic_Only__
//*****************************************************************************
// send with ec data
//*****************************************************************************
function c6f73(id, ecData)
{
var ec = SIBULIB.jsonEncode( ecData );
var urls = SIBULIB.getCurrentUrls();
var data = {
'ec': SIBULIB.urlEncode( ec ),
'id': id,
't': SIBULIB.urlEncode( document.title ),
'w': screen.width,
'h': screen.height,
'URL': urls.request,
'REFERER': urls.referer
};
//add onload event
SIBULIB.addEvent(window, 'load', function(){
SIBULIB.sendPostData( data );
} );
}
//*****************************************************************************
//send flash click log (new version)
//*****************************************************************************
function c6f74(id, param)
{
var urls = SIBULIB.getCurrentUrls();
var prms = (param != undefined ? '?' + param : '');
var dt = new Date();
var data = {
'r': dt.getTime(),
'id': id,
't': SIBULIB.urlEncode( document.title ),
'w': screen.width,
'h': screen.height,
'URL': SIBULIB.urlEncode( SIBULIB.getSubtractParam(urls.request) + prms ),
're': "1",
'REFERER': SIBULIB.urlEncode( urls.referer )
};
// create or get sibulla image gif element
var objImg = null;
try{
objImg = document.getElementById('sibulla_gif20091113');
}
catch( e ){
;
}
if( !objImg ){
objImg = document.createElement('img');
objImg.id = 'sibulla_gif20091113';
objImg.width = 1;
objImg.height = 1;
document.body.appendChild( objImg );
}
SIBULIB.sendGetData( data, objImg );
return true;
}
var id = 'texc4ynl';
var param = '';
c6f67(id);