var xOffset,yOffset;
var tempX = 0;
var tempY = 0;
var trackerurl = "http://www.visualclicks.de/tracker/tracker.php";
//var trackerurl = "alien/vclicks/wwwtracker/tracker.php";
var initial_pagecall;
var trackingsession = "";


var vcBrowserDetect = {
    init: function () {
        this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
        this.version = this.searchVersion(navigator.userAgent)
            || this.searchVersion(navigator.appVersion)
            || "an unknown version";
        this.OS = this.searchString(this.dataOS) || "an unknown OS";
    },
    searchString: function (data) {
        for (var i=0;i<data.length;i++)    {
            var dataString = data[i].string;
            var dataProp = data[i].prop;
            this.versionSearchString = data[i].versionSearch || data[i].identity;
            if (dataString) {
                if (dataString.indexOf(data[i].subString) != -1)
                    return data[i].identity;
            }
            else if (dataProp)
                return data[i].identity;
        }
    },
    searchVersion: function (dataString) {
        var index = dataString.indexOf(this.versionSearchString);
        if (index == -1) return;
        return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
    },
    dataBrowser: [
        {
            string: navigator.userAgent,
            subString: "Chrome",
            identity: "Chrome"
        },
        {     string: navigator.userAgent,
            subString: "OmniWeb",
            versionSearch: "OmniWeb/",
            identity: "OmniWeb"
        },
        {
            string: navigator.vendor,
            subString: "Apple",
            identity: "Safari",
            versionSearch: "Version"
        },
        {
            prop: window.opera,
            identity: "Opera",
            versionSearch: "Version"
        },
        {
            string: navigator.vendor,
            subString: "iCab",
            identity: "iCab"
        },
        {
            string: navigator.vendor,
            subString: "KDE",
            identity: "Konqueror"
        },
        {
            string: navigator.vendor,
            subString: "Googlebot",
            identity: "Googlebot"
        },
        {
            string: navigator.vendor,
            subString: "Googlebot-Image",
            identity: "Googlebot-Image"
        },
        {
            string: navigator.vendor,
            subString: "Playstation",
            identity: "Playstation"
        },
        {
            string: navigator.userAgent,
            subString: "Firefox",
            identity: "Firefox"
        },
        {
            string: navigator.vendor,
            subString: "Camino",
            identity: "Camino"
        },
        {        // for newer Netscapes (6+)
            string: navigator.userAgent,
            subString: "Netscape",
            identity: "Netscape"
        },
        {
            string: navigator.userAgent,
            subString: "MSIE",
            identity: "Explorer",
            versionSearch: "MSIE"
        },
        {
            string: navigator.userAgent,
            subString: "Gecko",
            identity: "Mozilla",
            versionSearch: "rv"
        },
        {         // for older Netscapes (4-)
            string: navigator.userAgent,
            subString: "Mozilla",
            identity: "Netscape",
            versionSearch: "Mozilla"
        }
    ],
    dataOS : [
        {
            string: navigator.platform,
            subString: "Win",
            identity: "Windows"
        },
        {
            string: navigator.platform,
            subString: "Mac",
            identity: "Mac"
        },
        {
               string: navigator.userAgent,
               subString: "iPhone",
               identity: "iPhone/iPod"
        },
        {
               string: navigator.platform,
               subString: "iPad",
               identity: "iPad"
        },
        {
            string: navigator.platform,
            subString: "Linux",
            identity: "Linux"
        }
    ]

};
vcBrowserDetect.init();


//detect browser
var IE = document.all?true:false
if (!IE) 
{
	document.captureEvents(Event.MOUSEMOVE)
}

var firstElement=document.getElementsByTagName('body')[0].childNodes[1];
                
if (firstElement)
{
    xOffset=findPosX(firstElement);
    yOffset=findPosY(firstElement);
}
else
{
    xOffset=0;
    yOffset=0;
}                
if (IE)
{
	var marginLeftExplorer  = parseInt(document.getElementsByTagName('body')[0].style.marginLeft);
	var marginTopExplorer   = parseInt(document.getElementsByTagName('body')[0].style.marginTop);
	if (isNaN(marginLeftExplorer)) {marginLeftExplorer=10;}
	if (isNaN(marginTopExplorer)) {marginTopExplorer=15;}
	xOffset=xOffset+marginLeftExplorer;
	yOffset=yOffset+marginTopExplorer;
}
document.onmousedown = getMouseXY;



function findPosX(obj){
	var curleft = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}else if (obj.x){
		curleft += obj.x;
	}
	return curleft;
}


function findPosY(obj){
	var curtop = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}else if (obj.y){
		curtop += obj.y;
	}
	return curtop;
}


function getMouseXY(e) 
{
	if (IE) 
    {
		tempX = event.clientX + document.body.scrollLeft
		tempY = event.clientY + document.body.scrollTop
	} 
    else 
    {
		tempX = e.pageX;
		tempY = e.pageY;
	}
    
    var targ;
    if (!e) var e = window.event;
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    if (targ.nodeType == 3) // defeat Safari bug
    targ = targ.parentNode;
    theId=targ.id

    
    details         = new ClickDetails(targ);
    //alert(details.exactPosition);
    serializer      = new VClicksPHP_Serializer();
    serialized_data = serializer.serialize(details);
    var url=trackerurl+'?session='+trackingsession+'&transfer='+serialized_data+'&callerURL='+escape(document.location.href)+'&referrerURL='+escape(document.referrer); /*Your URL here*/
    guardar(url);
	return true;
}


function vclickAdduservalue(userkey,uservalue)
{
    var url=trackerurl+'?userkey='+userkey+'&uservalue='+escape(uservalue)+'&callerURL='+escape(document.location.href);
    guardar(url);
    return true;
}


function getPreviousElements(object)
{
    var parentstring = "";
    while (object.previousSibling)
    {
        parentstring    = object.previousSibling.nodeName+" | "+parentstring;
        object          = object.previousSibling;
    }
}


function getElementIndex(object)
{
    var objectindex = 0;
    var parentstring = "";
    var originObject = object;
    while (object.previousSibling)
    {
        parentstring    = object.previousSibling.nodeName+" | "+parentstring;
        object          = object.previousSibling;
        if (object.nodeName == originObject.nodeName)
        {
            objectindex++;
        }
    }
    return objectindex;
}


function getParentLevel(object)
{
    if (object.parentNode)
    {
        return object.parentNode;
    }
    return null;
}



function getExactPosition(object)
{
    var result          = getElementIndex(object);
    var parentObject    = getParentLevel(object);
    var namelist        = object.nodeName+"-"+result;
    while (parentObject)
    {
        namelist        = parentObject.nodeName+"-"+getElementIndex(parentObject)+"|"+namelist;
        result          = getElementIndex(parentObject)+"-"+result;
        parentObject    = getParentLevel(parentObject);
    }
    //return result;
    return namelist;
}


function str_replace(search, replace, subject) {
    return subject.split(search).join(replace);
}

if(!PluginDetect){var PluginDetect={getNum:function(b,c){if(!this.num(b)){return null}var a;if(typeof c=="undefined"){a=/[\d][\d\.\_,-]*/.exec(b)}else{a=(new RegExp(c)).exec(b)}return a?a[0].replace(/[\.\_-]/g,","):null},hasMimeType:function(c){if(PluginDetect.isIE){return null}var b,a,d,e=c.constructor==String?[c]:c;for(d=0;d<e.length;d++){b=navigator.mimeTypes[e[d]];if(b&&b.enabledPlugin){a=b.enabledPlugin;if(a.name||a.description){return b}}}return null},findNavPlugin:function(g,d){var a=g.constructor==String?g:g.join(".*"),e=d===false?"":"\\d",b,c=new RegExp(a+".*"+e+"|"+e+".*"+a,"i"),f=navigator.plugins;for(b=0;b<f.length;b++){if(c.test(f[b].description)||c.test(f[b].name)){return f[b]}}return null},AXO:window.ActiveXObject,getAXO:function(b,a){var f=null,d,c=false;try{f=new this.AXO(b);c=true}catch(d){}if(typeof a!="undefined"){delete f;return c}return f},num:function(a){return(typeof a!="string"?false:(/\d/).test(a))},compareNums:function(g,e){var d=this,c,b,a,f=window.parseInt;if(!d.num(g)||!d.num(e)){return 0}if(d.plugin&&d.plugin.compareNums){return d.plugin.compareNums(g,e)}c=g.split(",");b=e.split(",");for(a=0;a<Math.min(c.length,b.length);a++){if(f(c[a],10)>f(b[a],10)){return 1}if(f(c[a],10)<f(b[a],10)){return -1}}return 0},formatNum:function(b){if(!this.num(b)){return null}var a,c=b.replace(/\s/g,"").replace(/[\.\_]/g,",").split(",").concat(["0","0","0","0"]);for(a=0;a<4;a++){if(/^(0+)(.+)$/.test(c[a])){c[a]=RegExp.$2}}if(!(/\d/).test(c[0])){c[0]="0"}return c[0]+","+c[1]+","+c[2]+","+c[3]},initScript:function(){var $=this,userAgent=navigator.userAgent;$.isIE=/*@cc_on!@*/false;$.IEver=$.isIE&&((/MSIE\s*(\d\.?\d*)/i).exec(userAgent))?parseFloat(RegExp.$1,10):-1;$.ActiveXEnabled=false;if($.isIE){var x,progid=["Msxml2.XMLHTTP","Msxml2.DOMDocument","Microsoft.XMLDOM","ShockwaveFlash.ShockwaveFlash","TDCCtl.TDCCtl","Shell.UIHelper","Scripting.Dictionary","wmplayer.ocx"];for(x=0;x<progid.length;x++){if($.getAXO(progid[x],1)){$.ActiveXEnabled=true;break}}$.head=typeof document.getElementsByTagName!="undefined"?document.getElementsByTagName("head")[0]:null}$.isGecko=!$.isIE&&typeof navigator.product=="string"&&(/Gecko/i).test(navigator.product)&&(/Gecko\s*\/\s*\d/i).test(userAgent)?true:false;$.GeckoRV=$.isGecko?$.formatNum((/rv\s*\:\s*([\.\,\d]+)/i).test(userAgent)?RegExp.$1:"0.9"):null;$.isSafari=!$.isIE&&(/Safari\s*\/\s*\d/i).test(userAgent)?true:false;$.isChrome=(/Chrome\s*\/\s*\d/i).test(userAgent)?true:false;$.onWindowLoaded(0)},init:function(c,a){if(typeof c!="string"){return -3}c=c.toLowerCase().replace(/\s/g,"");var b=this,d;if(typeof b[c]=="undefined"){return -3}d=b[c];b.plugin=d;if(typeof d.installed=="undefined"||a==true){d.installed=null;d.version=null;d.version0=null;d.getVersionDone=null;d.$=b}b.garbage=false;if(b.isIE&&!b.ActiveXEnabled){if(b.plugin!=b.java){return -2}}return 1},isMinVersion:function(g,e,c,b){return -3},getVersion:function(e,b,a){var d=PluginDetect,c=d.init(e),f;if(c<0){return null}f=d.plugin;if(f.getVersionDone!=1){f.getVersion(b,a);if(f.getVersionDone===null){f.getVersionDone=1}}d.cleanup();return(f.version||f.version0);return null},getInfo:function(f,c,b){var a={};return a},cleanup:function(){var a=this;if(a.garbage&&typeof window.CollectGarbage!="undefined"){window.CollectGarbage()}},isActiveXObject:function(b){var d=this,a,g,f="/",c='<object width="1" height="1" style="display:none" '+d.plugin.getCodeBaseVersion(b)+">"+d.plugin.HTML+"<"+f+"object>";if(d.head.firstChild){d.head.insertBefore(document.createElement("object"),d.head.firstChild)}else{d.head.appendChild(document.createElement("object"))}d.head.firstChild.outerHTML=c;try{d.head.firstChild.classid=d.plugin.classID}catch(g){}a=false;try{if(d.head.firstChild.object){a=true}}catch(g){}try{if(a&&d.head.firstChild.readyState<4){d.garbage=true}}catch(g){}d.head.removeChild(d.head.firstChild);return a},codebaseSearch:function(c){var e=this;if(!e.ActiveXEnabled){return null}if(typeof c!="undefined"){return e.isActiveXObject(c)};var j=[0,0,0,0],g,f,b=e.plugin.digits,i=function(k,m){var l=(k==0?m:j[0])+","+(k==1?m:j[1])+","+(k==2?m:j[2])+","+(k==3?m:j[3]);return e.isActiveXObject(l)};var h,d,a=false;for(g=0;g<b.length;g++){h=b[g]*2;j[g]=0;for(f=0;f<20;f++){if(h==1&&g>0&&a){break}if(h-j[g]>1){d=Math.round((h+j[g])/2);if(i(g,d)){j[g]=d;a=true}else{h=d}}else{if(h-j[g]==1){h--;if(!a&&i(g,h)){a=true}break}else{if(!a&&i(g,h)){a=true}break}}}if(!a){return null}}return j.join(",")},dummy1:0}}PluginDetect.onDetectionDone=function(g,e,d,a){return -1};PluginDetect.onWindowLoaded=function(c){};PluginDetect.quicktime={mimeType:["video/quicktime","application/x-quicktimeplayer","image/x-macpaint","image/x-quicktime"],progID:"QuickTimeCheckObject.QuickTimeCheck.1",progID0:"QuickTime.QuickTime",classID:"clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B",minIEver:7,HTML:'<param name="src" value="A14999.mov" /><param name="controller" value="false" />',getCodeBaseVersion:function(a){return'codebase="#version='+a+'"'},digits:[8,64,16,0],clipTo3digits:function(f){if(f===null||typeof f=="undefined"){return null}var e,d,h,g=this.$;e=f.split(",");if(g.compareNums(f,"7,60,0,0")<0&&g.compareNums(f,"7,50,0,0")>=0){d=e[0]+","+e[1].charAt(0)+","+e[1].charAt(1)+","+e[2]}else{d=e[0]+","+e[1]+","+e[2]+","+e[3]}h=d.split(",");return h[0]+","+h[1]+","+h[2]+",0"},getVersion:function(){var a=null,d,b=this.$,e=true;if(!b.isIE){if(navigator.platform&&(/linux/i).test(navigator.platform)){e=false}if(e){d=b.findNavPlugin(["QuickTime","(Plug-in|Plugin)"]);if(d&&d.name&&b.hasMimeType(this.mimeType)){a=b.getNum(d.name)}}this.installed=a?1:-1}else{var c;if(b.IEver>=this.minIEver&&b.getAXO(this.progID0,1)){a=b.codebaseSearch()}else{c=b.getAXO(this.progID);if(c&&c.QuickTimeVersion){a=c.QuickTimeVersion.toString(16);a=a.charAt(0)+"."+a.charAt(1)+"."+a.charAt(2)}}this.installed=a?1:(b.getAXO(this.progID0,1)?0:-1)}this.version=this.clipTo3digits(b.formatNum(a))}};PluginDetect.flash={mimeType:["application/x-shockwave-flash","application/futuresplash"],progID:"ShockwaveFlash.ShockwaveFlash",classID:"clsid:D27CDB6E-AE6D-11CF-96B8-444553540000",getVersion:function(){var c=function(i){if(!i){return null}var e=/[\d][\d\,\.\s]*[rRdD]{0,1}[\d\,]*/.exec(i);return e?e[0].replace(/[rRdD\.]/g,",").replace(/\s/g,""):null};var j,g=this.$,h,f,b=null,a=null,d=null;if(!g.isIE){j=g.findNavPlugin("Flash");if(j&&j.description&&g.hasMimeType(this.mimeType)){b=c(j.description)}}else{for(f=15;f>2;f--){a=g.getAXO(this.progID+"."+f);if(a){d=f.toString();break}}if(d=="6"){try{a.AllowScriptAccess="always"}catch(h){return"6,0,21,0"}}try{b=c(a.GetVariable("$version"))}catch(h){}if(!b&&d){b=d}}this.installed=b?1:-1;this.version=g.formatNum(b);return true}};PluginDetect.shockwave={mimeType:"application/x-director",progID:"SWCtl.SWCtl",classID:"clsid:166B1BCA-3F9C-11CF-8075-444553540000",getVersion:function(){var a=null,b=null,f,d,c=this.$;if(!c.isIE){d=c.findNavPlugin("Shockwave for Director");if(d&&d.description&&c.hasMimeType(this.mimeType)){a=c.getNum(d.description)}}else{try{b=c.getAXO(this.progID).ShockwaveVersion("")}catch(f){}if(typeof b=="string"&&b.length>0){a=c.getNum(b)}else{if(c.getAXO(this.progID+".8",1)){a="8"}else{if(c.getAXO(this.progID+".7",1)){a="7"}else{if(c.getAXO(this.progID+".1",1)){a="6"}}}}}this.installed=a?1:-1;this.version=c.formatNum(a)}};PluginDetect.div=null;PluginDetect.pluginSize=1;PluginDetect.DOMbody=null;PluginDetect.uninstantiate=function(a){var c,b=this;if(!a){return}try{if(a[0]&&a[0].firstChild){a[0].removeChild(a[0].firstChild)}if(a[0]&&b.div){b.div.removeChild(a[0])}if(b.div&&b.div.childNodes.length==0){b.div.parentNode.removeChild(b.div);b.div=null;if(b.DOMbody&&b.DOMbody.parentNode){b.DOMbody.parentNode.removeChild(b.DOMbody)}b.DOMbody=null}a[0]=null}catch(c){}};PluginDetect.getObject=function(b,a){var f,c=this,d=null;try{if(b&&b[0]&&b[0].firstChild){d=b[0].firstChild}}catch(f){}try{if(a&&d&&typeof d.focus!="undefined"&&typeof document.hasFocus!="undefined"&&!document.hasFocus()){d.focus()}}catch(f){}return d};PluginDetect.getContainer=function(a){var c,b=null;if(a&&a[0]){b=a[0]}return b};PluginDetect.hideObject=function(a){var b=this.getObject(a);if(b&&b.style){b.style.height="0"}};PluginDetect.instantiate=function(h,b,c,a){var j=function(d){var e=d.style;if(!e){return}e.border="0px";e.padding="0px";e.margin="0px";e.fontSize=(g.pluginSize+3)+"px";e.height=(g.pluginSize+3)+"px";e.visibility="visible";if(d.tagName&&d.tagName.toLowerCase()=="div"){e.width="100%";e.display="block"}else{if(d.tagName&&d.tagName.toLowerCase()=="span"){e.width=g.pluginSize+"px";e.display="inline"}}};var k,l=document,g=this,p,i=(l.getElementsByTagName("body")[0]||l.body),o=l.createElement("span"),n,f,m="/";if(typeof a=="undefined"){a=""}p="<"+h+' width="'+g.pluginSize+'" height="'+g.pluginSize+'" ';for(n=0;n<b.length;n=n+2){p+=b[n]+'="'+b[n+1]+'" '}p+=">";for(n=0;n<c.length;n=n+2){p+='<param name="'+c[n]+'" value="'+c[n+1]+'" />'}p+=a+"<"+m+h+">";if(!g.div){g.div=l.createElement("div");f=l.getElementById("plugindetect");if(f){j(f);f.appendChild(g.div)}else{if(i){try{if(i.firstChild&&typeof i.insertBefore!="undefined"){i.insertBefore(g.div,i.firstChild)}else{i.appendChild(g.div)}}catch(k){}}else{try{l.write('<div id="pd33993399">o<'+m+"div>");i=(l.getElementsByTagName("body")[0]||l.body);i.appendChild(g.div);i.removeChild(l.getElementById("pd33993399"))}catch(k){try{g.DOMbody=l.createElement("body");l.getElementsByTagName("html")[0].appendChild(g.DOMbody);g.DOMbody.appendChild(g.div)}catch(k){}}}}j(g.div)}if(g.div&&g.div.parentNode&&g.div.parentNode.parentNode){g.div.appendChild(o);try{o.innerHTML=p}catch(k){}j(o);return[o]}return[null]};PluginDetect.windowsmediaplayer={mimeType:["application/x-mplayer2","application/asx"],progID:"wmplayer.ocx",classID:"clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6",getVersion:function(){var a=null,e=this.$,b=null;this.installed=-1;if(!e.isIE){if(e.hasMimeType(this.mimeType)){if(e.findNavPlugin(["Windows","Media","(Plug-in|Plugin)"],false)||e.findNavPlugin(["Flip4Mac","Windows","Media"],false)){this.installed=0}var d=e.isGecko&&e.compareNums(e.GeckoRV,e.formatNum("1.8"))<0;if(!d&&e.findNavPlugin(["Windows","Media","Firefox Plugin"],false)){var c=e.instantiate("object",["type",this.mimeType[0]],[]),f=e.getObject(c);if(f){a=f.versionInfo}e.uninstantiate(c)}}}else{b=e.getAXO(this.progID);if(b){a=b.versionInfo}}if(a){this.installed=1}this.version=e.formatNum(a)}};PluginDetect.silverlight={mimeType:"application/x-silverlight",progID:"AgControl.AgControl",digits:[9,20,9,12,31],getVersion:function(){var c=this.$,j=document,g=null,b=null,f=false;if(!c.isIE){var a=[null,null],e=c.findNavPlugin("Silverlight Plug-in",false),h=c.isGecko&&c.compareNums(c.GeckoRV,c.formatNum("1.6"))<=0;if(e&&c.hasMimeType(this.mimeType)){g=c.formatNum(e.description);if(g){p=g.split(",");if(parseInt(p[2],10)>=30226&&parseInt(p[0],10)<2){p[0]="2"}g=p.join(",")}if(c.isGecko&&!h){f=true}if(!f&&!h&&g){a=c.instantiate("object",["type",this.mimeType],[]);b=c.getObject(a);if(b){if(typeof b.IsVersionSupported!="undefined"){f=true}if(!f){b.data="data:"+this.mimeType+",";if(typeof b.IsVersionSupported!="undefined"){f=true}}}c.uninstantiate(a)}}}else{b=c.getAXO(this.progID);var p=[1,0,1,1,1],l,k,o,i=function(d){return(d<10?"0":"")+d.toString()},m=function(q,d,s,t,r){return(q+"."+d+"."+s+i(t)+i(r)+".0")},n=function(d,s){var q,r=m((d==0?s:p[0]),(d==1?s:p[1]),(d==2?s:p[2]),(d==3?s:p[3]),(d==4?s:p[4]));try{return b.IsVersionSupported(r)}catch(q){}return false};if(b&&typeof b.IsVersionSupported!="undefined"){for(l=0;l<this.digits.length;l++){o=p[l];for(k=o+(l==0?0:1);k<=this.digits[l];k++){if(n(l,k)){f=true;p[l]=k}else{break}}if(!f){break}}if(f){g=m(p[0],p[1],p[2],p[3],p[4])}}}this.installed=f?1:-1;this.version=c.formatNum(g)}};PluginDetect.initScript();

            
function ClickDetails(clickobj)
{
    var br=new Array(4);
    var os=new Array(2);
    var flash=new Array(2);

    //br=getBrowser();
    os=getOS();
    jsver = jsVersion();
                     
    this.browser                = vcBrowserDetect.browser;    //!
    this.browserinformation     = vcBrowserDetect.version;    //!
    this.browsermajorversion    = 0;
    this.browserminorversion    = 0;
    this.browserengine          = vcBrowserDetect.OS;    //!
    this.browserengineversion   = br[3];
    this.os                     = vcBrowserDetect.OS;//os[0];
    this.os_version             = os[1];
    this.flashversion           = PluginDetect.getVersion("Flash");
    this.jsversion              = jsver;
    this.hostname               = "";
    this.colordepth             = screen.colorDepth;
    
    this.windowsmedia           = PluginDetect.getVersion("WindowsMediaPlayer");
    this.realmedia              = "";
    this.acrobatreader          = getUserPDFVersion();
    this.quicktime              = PluginDetect.getVersion("Quicktime");
    this.silverlight            = PluginDetect.getVersion("Silverlight");
    this.director               = PluginDetect.getVersion("Shockwave");
    this.uservisits             = Get_Cookie("clicktrackvisits");

    this.session                = trackingsession;
    this.visitcount             = Get_Cookie("clicktrackvisits");
    
    this.htmlType       = "";
    this.htmlInputType  = "";
    this.htmlDetailName = "";
    this.htmlLink       = "";
    this.exactPosition  = "";                          
    this.referrer       = ""
    
    if (clickobj)
    {
        if (clickobj.nodeName == "IMG" && clickobj.parentNode.getAttribute('href'))
        {
            this.htmlType       = "IMG";
            this.htmlLink       = clickobj.parentNode.getAttribute('href');
            this.exactPosition  = str_replace("#document-0|", "", getExactPosition(clickobj));
        }
        if (clickobj.nodeName == "INPUT")
        {
            this.htmlType       = "INPUT";
            this.htmlInputType  = clickobj.getAttribute('type');
            this.htmlDetailName = clickobj.getAttribute('name');
            this.exactPosition  = str_replace("#document-0|", "", getExactPosition(clickobj));
        }
        if (clickobj.nodeName == "TEXTAREA")
        {
            this.htmlType       = "TEXTAREA";
            this.htmlInputType  = clickobj.getAttribute('type');
            this.htmlDetailName = clickobj.getAttribute('name');
            this.exactPosition  = str_replace("#document-0|", "", getExactPosition(clickobj));
        }
        if (clickobj.nodeName == "SELECT")
        {
            this.htmlType       = "SELECT";
            this.htmlDetailName = clickobj.getAttribute('name');
            this.exactPosition  = str_replace("#document-0|", "", getExactPosition(clickobj));
        }
        if (clickobj.nodeName == "A")
        {
            this.htmlType       = "A";
            this.htmlLink       = clickobj.getAttribute('href');
            this.exactPosition  = str_replace("#document-0|", "", getExactPosition(clickobj));
        }

        if (clickobj.nodeName == "DIV")
        {
            this.exactPosition  =  str_replace("#document-0|", "", getExactPosition(clickobj));
        }

  
	this.htmlLink = "";	//2DO FIX?!
        this.orientation    = 0;
        this.divname        = theId;
        
        if (IE)
        {
            this.clickX         = parseInt(tempX - (document.body.clientWidth/2));
            this.clickY         = tempY;
            this.raw_left       = tempX;
            this.screenWidth    = document.body.clientWidth;
            this.screenHeight   = document.body.clientHeight;
        }
        else
        {                         
            this.clickX         = parseInt(tempX - (window.innerWidth/2));
            this.clickY         = tempY;
            this.raw_left       = tempX;
            this.screenWidth    = window.innerWidth;
            this.screenHeight   = window.innerHeight;
        }
    }
    else
    {
        this.htmlType       = "";
        this.htmlLink       = "";
        this.exactPosition  = "";
    }
}




function guardar(url){

    var newIMG = document.createElement("img");
    newIMG.src = url;
    newIMG.width = "1";
    newIMG.height= "1";
    newIMG.alt = "";
    bodynode = document.getElementsByTagName('body')[0];
    //alert(bodynode);
    //alert(newIMG.src);
    bodynode.appendChild(newIMG);
}






// initialize global variables
var detectableWithVB = false;
var pluginFound = false;
var jsVer = -1;
 _jsVersion();




function Set_Cookie( name, value, expires, path, domain, secure , expireminutes) 
{
    // set time, it's in milliseconds
    var today = new Date();
    today.setTime( today.getTime() );

    /*
    if the expires variable is set, make the correct 
    expires time, the current script below will set 
    it for x number of days, to make it for hours, 
    delete * 24, for minutes, delete * 60 * 24
    */
    if (expireminutes)
    {
        expires =expireminutes * 1000 * 60;
        var expires_date = new Date( today.getTime() + (expires) );
    }
    else
    {
        if ( expires )
        {
        expires = expires * 1000 * 60 * 60 * 24;
        }
        var expires_date = new Date( today.getTime() + (expires) );
    }

    document.cookie = name + "=" +escape( value ) +
    ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
    ( ( path ) ? ";path=" + path : "" ) + 
    ( ( domain ) ? ";domain=" + domain : "" ) +
    ( ( secure ) ? ";secure" : "" );
}



// this function gets the cookie, if it exists
function Get_Cookie( name ) 
{
    var start = document.cookie.indexOf( name + "=" );
    var len = start + name.length + 1;
    if ( ( !start ) &&
    ( name != document.cookie.substring( 0, name.length ) ) )
    {
    return null;
    }
    if ( start == -1 ) return null;
    var end = document.cookie.indexOf( ";", len );
    if ( end == -1 ) end = document.cookie.length;
    return unescape( document.cookie.substring( len, end ) );
}
            

function Delete_Cookie( name, path, domain ) {
if ( Get_Cookie( name ) ) document.cookie = name + "=" +
( ( path ) ? ";path=" + path : "") +
( ( domain ) ? ";domain=" + domain : "" ) +
";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}


//Delete_Cookie( "clicktrackvisits", "", "" );
//Delete_Cookie( "clicktracksession", "", "" );

var clicktrackvisits    = Get_Cookie("clicktrackvisits");
var clicktracksession   = Get_Cookie("clicktracksess");

if (!clicktracksession)
{
    if (!clicktrackvisits)
    {
        clicktrackvisits = 1;
    }
    else
    {
        clicktrackvisits = parseInt(clicktrackvisits) + parseInt(1);
    }
    a = new Date();
    var clicktracksession = a.getTime();
    Set_Cookie( "clicktrackvisits", clicktrackvisits, 365, "/", "", "" , 60*24*365);
    Set_Cookie( "clicktracksess", clicktracksession, "", "/", "", "" , 60);
    
    details         = new ClickDetails();
    serializer      = new VClicksPHP_Serializer();
    serialized_data = serializer.serialize(details);
    //var url=trackerurl+'?init=1&width='+screen.width+'&height='+screen.height+'&session='+clicktracksession+'&visitcount='+clicktrackvisits+'&transfer='+serialized_data+'&callerURL='+escape(document.location.href)+'&referrerURL='+escape(document.referrer); /*Your URL here*/
    guardar(url);
    
}



//***************************************************************************************************************************************************
//initial call

details         = new ClickDetails();
serializer      = new VClicksPHP_Serializer();
serialized_data = serializer.serialize(details);

var url=trackerurl+'?initdata='+serialized_data+'&width='+screen.width+'&height='+screen.height+'&titlename='+escape(top.document.title)+'&visitcount='+clicktrackvisits+'&session='+trackingsession+'&callerURL='+escape(document.location.href)+'&referrerURL='+escape(document.referrer);
guardar(url);
//***************************************************************************************************************************************************


function getUserPDFVersion()
{
    var acrobat=new Object();
    acrobat.installed=false;
    acrobat.version='0.0';
    if (navigator.plugins && navigator.plugins.length)
    {for ( var x = 0, l = navigator.plugins.length; x < l; ++x ) {
    if (navigator.plugins[x].description.indexOf('Adobe Acrobat') != -1)
    {acrobat.version=parseFloat(navigator.plugins[x].description.split('Version ')[1]);
    if (acrobat.version.toString().length == 1) acrobat.version+='.0';
    acrobat.installed=true;
    break;
    }}}
    else if (window.ActiveXObject)
    {for (x=2; x<10; x++){
    try
    {oAcro=eval("new ActiveXObject('PDF.PdfCtrl."+x+"');");
    if (oAcro)
    {acrobat.installed=true;
    acrobat.version=x+'.0';}}
    catch(e) {}}
    try
    {oAcro4=new ActiveXObject('PDF.PdfCtrl.1');
    if (oAcro4)
    {acrobat.installed=true;
    acrobat.version='4.0';}}
    catch(e) {}
    try
    {oAcro7=new ActiveXObject('AcroPDF.PDF.1');
    if (oAcro7){
    acrobat.installed=true;
    acrobat.version='7.0';}}
    catch(e) {}}
    return acrobat.version;
}






// Return operating system we are running on top of
function getOS(obj) {

    var os=new Array("unknown", "unknown");

    (isEmpty(obj) ? brs=navigator.userAgent.toLowerCase() : brs=obj);

    if (brs.search(/windows\sce/) != -1) {
        os[0]="wince";
        try {
            os[1]=brs.match(/windows\sce\/(\d+(\.?\d)*)/)[1];
        } catch (e) { }
        return os;
    } else if ( (brs.search(/windows/) !=-1) || ((brs.search(/win9\d{1}/) !=-1))
) {
        os[0]="win";
        if (brs.search(/nt\s5\.1/) != -1) {
            os[1]="xp";
        } else if (brs.search(/nt\s5\.0/) != -1) {
            os[1]="2000";
        } else if ( (brs.search(/win98/) != -1) || (brs.search(/windows\s98/)!=
-1 ) ) {
            os[1]="98";
        } else if (brs.search(/windows\sme/) != -1) {
            os[1]="me";
        } else if (brs.search(/nt\s5\.2/) != -1) {
            os[1]="win2k3";
        } else if ( (brs.search(/windows\s95/) != -1) || (brs.search(/win95/)!=
-1 ) ) {
            os[1]="95";
        } else if ( (brs.search(/nt\s4\.0/) != -1) || (brs.search(/nt4\.0/) ) !=
-1) {
            os[1]="nt4";
        }

        return os;
    } else if (brs.search(/linux/) !=-1) {
        os[0]="linux";
        try {
            os[1] = brs.match(/linux\s?(\d+(\.?\d)*)/)[1];
        } catch (e) { }
        return os;
    } else if (brs.search(/mac\sos\sx/) !=-1) {
        os[0]="macosx";
        return os;
    } else if (brs.search(/freebsd/) !=-1) {
        os[0]="freebsd";
        try {
            os[1] = brs.match(/freebsd\s(\d(\.\d)*)*/)[1];
        } catch (e) { }
        return os;
    } else if (brs.search(/sunos/) !=-1) {
        os[0]="sunos";
        try {
            os[1]=brs.match(/sunos\s(\d(\.\d)*)*/)[1];
        } catch (e) { }
        return os;
    } else if (brs.search(/irix/) !=-1) {
        os[0]="irix";
        try {
            os[1]=brs.match(/irix\s(\d(\.\d)*)*/)[1];
        } catch (e) { }
        return os;
    } else if (brs.search(/openbsd/) !=-1) {
        os[0]="openbsd";
        try {
            os[1] = brs.match(/openbsd\s(\d(\.\d)*)*/)[1];
        } catch (e) { }
        return os;
    } else if ( (brs.search(/macintosh/) !=-1) || (brs.search(/mac\x5fpowerpc/)
!= -1) ) {
        os[0]="macclassic";
        return os;
    } else if (brs.search(/os\/2/) !=-1) {
        os[0]="os2";
        try {
            os[1]=brs.match(/warp\s((\d(\.\d)*)*)/)[1];
        } catch (e) { }
        return os;
    } else if (brs.search(/openvms/) !=-1) {
        os[0]="openvms";
        try {
            os[1]=brs.match(/openvms\sv((\d(\.\d)*)*)/)[1];
        } catch (e)  { }
        return os;
    } else if ( (brs.search(/amigaos/) !=-1) || (brs.search(/amiga/) != -1) ) {
        os[0]="amigaos";
        try {
            os[1]=brs.match(/amigaos\s?(\d(\.\d)*)*/)[1];
        } catch (e) { }
        return os;
    } else if (brs.search(/hurd/) !=-1) {
        os[0]="hurd";
        return os;
    } else if (brs.search(/hp\-ux/) != -1) {
        os[0]="hpux";
        try {
            os[1]=brs.match(/hp\-ux\sb\.[\/\s]?(\d+([\._]\d)*)/)[1];
        } catch (e) { }
        return os;
    } else if ( (brs.search(/unix/) !=-1) || (brs.search(/x11/) != -1 ) ) {
        os[0]="unix";
        return os;
    } else if (brs.search(/cygwin/) !=-1) {
        os[0]="cygwin";
        return os;
    } else if (brs.search(/java[\/\s]?(\d+([\._]\d)*)/) != -1) {
        os[0]="java";
        try {
            os[1]=brs.match(/java[\/\s]?(\d+([\._]\d)*)/)[1];
        } catch (e) { }
        return os;
    } else if (brs.search(/palmos/) != -1) {
        os[0]="palmos";
        return os;
    } else if (brs.search(/symbian\s?os\/(\d+([\._]\d)*)/) != -1) {
        os[0]="symbian";
        try {
            os[1]=brs.match(/symbian\s?os\/(\d+([\._]\d)*)/)[1];
        } catch (e) { }
        return os;
    } else {
        os[0]="unknown";
        return os;
    }
}

function getGeckoVersion() {
    return brs.match(/gecko\/([0-9]+)/)[1];
}

function getMSIEVersion() {
    return brs.match(/msie\s(\d+(\.?\d)*)/)[1];
}

function getFullUAString(obj) {
    (isEmpty(obj) ? brs=navigator.userAgent.toLowerCase() : brs=obj);
    return brs;
}

function hasFlashPlugin(obj) {

    (isEmpty(obj) ? brs=navigator.userAgent.toLowerCase() : brs=obj);

    var f=new Array("0", "0");
    var brwEng=getBrowser(obj)[2];
    var opSys=getOS(obj)[0]; 

    if ( (brwEng=="gecko") || (brwEng=="opera") || (brwEng=="khtml") || (brwEng=="mozold") || (opSys=="macosx") || (opSys=="macclassic") ) {
        if (navigator.plugins && navigator.plugins.length) {
            x = navigator.plugins["Shockwave Flash"];
            if (x) {
                f[0] = 2;
                if (x.description) {
                    y = x.description;
                    f[1] = y.charAt(y.indexOf('.')-1);
                }
            } else {
                f[0] = 1;
            }
            if (navigator.plugins["Shockwave Flash 2.0"]) {
                f[0] = 2;
                f[0] = 2;
            }
        } else if (navigator.mimeTypes && navigator.mimeTypes.length) {
            x = navigator.mimeTypes['application/x-shockwave-flash'];
            if (x && x.enabledPlugin) {
                f[0] = 2;
            } else {
                f[0] = 1;
            }
        }

   return f;

  } else if (brwEng=="msie") {
      // IE flash detection.
       for(var i=15; i>0; i--) {
           try {
               var flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i);
               f[1] = i;
               break;
               //return;
           } catch(e) { }
       }

       if (f[1]>0) {
           f[0]=2
       } else {
           f[0]=1
       }
   return f;
   } else {
       f[0]=0;
       f[1]=0;
       return f;
   }
}

// Helper function to detect Javascript version
function _jsVersion() {
    document.write('<script language="JavaScript1.0">var jsVer=1.0;</script>');
    document.write('<script language="JavaScript1.1">var jsVer=1.1;</script>');
    document.write('<script language="JavaScript1.2">var jsVer=1.2;</script>');
    document.write('<script language="JavaScript1.3">var jsVer=1.3;</script>');
    document.write('<script language="JavaScript1.4">var jsVer=1.4;</script>');
    document.write('<script language="JavaScript1.5">var jsVer=1.5;</script>');
    document.write('<script language="JavaScript1.6">var jsVer=1.6;</script>');
    document.write('<script language="JavaScript1.7">var jsVer=1.7;</script>');
    document.write('<script language="JavaScript1.8">var jsVer=1.8;</script>');
    document.write('<script language="JavaScript2.0">var jsVer=2.0;</script>');
}

function jsVersion() {
   return jsVer;
}

function isEmpty(input) {
    return (input==null || input =="")
}



function VClicksPHP_Serializer(UTF8) {
    
    /** public methods */
    function serialize(v) {
        // returns serialized var
        var    s;
        switch(v) {
            case null:
                s = "N;";
                break;
            default:
                s = this[this.__sc2s(v)] ? this[this.__sc2s(v)](v) : this[this.__sc2s(__o)](v);
                break;
        };
        return s;
    };
    
    function unserialize(s) {
        // returns unserialized var from a php serialized string
        __c = 0;
        __s = s;
        return this[__s.substr(__c, 1)]();
    };
    
    function stringBytes(s) {
        // returns the php lenght of a string (chars, not bytes)
        return s.length;
    };
    
    function stringBytesUTF8(s) {
        // returns the php lenght of a string (bytes, not chars)
        var     c, b = 0,
            l = s.length;
        while(l) {
            c = s.charCodeAt(--l);
            b += (c < 128) ? 1 : ((c < 2048) ? 2 : ((c < 65536) ? 3 : 4));
        };
        return b;
    };
    
    /** private methods */
    function __sc2s(v) {
        return v.constructor.toString();
    };
    
    function __sc2sKonqueror(v) {
        var    f;
        switch(typeof(v)) {
            case ("string" || v instanceof String):
                f = "__sString";
                break;
            case ("number" || v instanceof Number):
                f = "__sNumber";
                break;
            case ("boolean" || v instanceof Boolean):
                f = "__sBoolean";
                break;
            case ("function" || v instanceof Function):
                f = "__sFunction";
                break;
            default:
                f = (v instanceof Array) ? "__sArray" : "__sObject";
                break;
        };
        return f;
    };
    
    function __sNConstructor(c) {
        return (c === "[function]" || c === "(Internal Function)");
    };
    
    function __sCommonAO(v) {
        var    b, n,
            a = 0,
            s = [];
        for(b in v) {
            n = v[b] == null;
            if(n || v[b].constructor != Function) {
                s[a] = [
                    (!isNaN(b) && parseInt(b).toString() === b ? this.__sNumber(b) : this.__sString(b)),
                    (n ? "N;" : this[this.__sc2s(v[b])] ? this[this.__sc2s(v[b])](v[b]) : this[this.__sc2s(__o)](v[b]))
                ].join("");
                ++a;
            };
        };
        return [a, s.join("")];
    };
    
    function __sBoolean(v) {
        return ["b:", (v ? "1" : "0"), ";"].join("");
    };
    
    function __sNumber(v) {
        var     s = v.toString();
        return (s.indexOf(".") < 0 ? ["i:", s, ";"] : ["d:", s, ";"]).join("");
    };
    
    function __sString(v) {
        return ["s:", v.length, ":\"", v, "\";"].join("");
    };
    
    function __sStringUTF8(v) {
        return ["s:", this.stringBytes(v), ":\"", v, "\";"].join("");
    };
    
    function __sArray(v) {
        var     s = this.__sCommonAO(v);
        return ["a:", s[0], ":{", s[1], "}"].join("");
    };
    
    function __sObject(v) {
        var     o = this.__sc2s(v),
            n = o.substr(__n, (o.indexOf("(") - __n)),
            s = this.__sCommonAO(v);
        return ["O:", this.stringBytes(n), ":\"", n, "\":", s[0], ":{", s[1], "}"].join("");
    };
    
    function __sObjectIE7(v) {
        var     o = this.__sc2s(v),
            n = o.substr(__n, (o.indexOf("(") - __n)),
            s = this.__sCommonAO(v);
        if(n.charAt(0) === " ")
            n = n.substring(1);
        return ["O:", this.stringBytes(n), ":\"", n, "\":", s[0], ":{", s[1], "}"].join("");
    };
    
    function __sObjectKonqueror(v) {
        var    o = v.constructor.toString(),
            n = this.__sNConstructor(o) ? "Object" : o.substr(__n, (o.indexOf("(") - __n)),
            s = this.__sCommonAO(v);
        return ["O:", this.stringBytes(n), ":\"", n, "\":", s[0], ":{", s[1], "}"].join("");
    };
    
    function __sFunction(v) {
        return "";
    };
    
    function __uCommonAO(tmp) {
        var    a, k;
        ++__c;
        a = __s.indexOf(":", ++__c);
        k = parseInt(__s.substr(__c, (a - __c))) + 1;
        __c = a + 2;
        while(--k)
            tmp[this[__s.substr(__c, 1)]()] = this[__s.substr(__c, 1)]();
        return tmp;
    };

    function __uBoolean() {
        var    b = __s.substr((__c + 2), 1) === "1" ? true : false;
        __c += 4;
        return b;
    };
    
    function __uNumber() {
        var    sli = __s.indexOf(";", (__c + 1)) - 2,
            n = Number(__s.substr((__c + 2), (sli - __c)));
        __c = sli + 3;
        return n;
    };
    
    function __uStringUTF8() {
        var     c, sls, sli, vls,
            pos = 0;
        __c += 2;
        sls = __s.substr(__c, (__s.indexOf(":", __c) - __c));
        sli = parseInt(sls);
        vls = sls = __c + sls.length + 2;
        while(sli) {
            c = __s.charCodeAt(vls);
            pos += (c < 128) ? 1 : ((c < 2048) ? 2 : ((c < 65536) ? 3 : 4));
            ++vls;
            if(pos === sli)
                sli = 0;
        };
        pos = (vls - sls);
        __c = sls + pos + 2;
        return __s.substr(sls, pos);
    };
    
    function __uString() {
        var     sls, sli;
        __c += 2;
        sls = __s.substr(__c, (__s.indexOf(":", __c) - __c));
        sli = parseInt(sls);
        sls = __c + sls.length + 2;
        __c = sls + sli + 2;
        return __s.substr(sls, sli);
    };
    
    function __uArray() {
        var    a = this.__uCommonAO([]);
        ++__c;
        return a;
    };
    
    function __uObject() {
        var     tmp = ["s", __s.substr(++__c, (__s.indexOf(":", (__c + 3)) - __c))].join(""),
            a = tmp.indexOf("\""),
            l = tmp.length - 2,
            o = tmp.substr((a + 1), (l - a));
        if(eval(["typeof(", o, ") === 'undefined'"].join("")))
            eval(["function ", o, "(){};"].join(""));
        __c += l;
        eval(["tmp = this.__uCommonAO(new ", o, "());"].join(""));
        ++__c;
        return tmp;
    };
    
    function __uNull() {
        __c += 2;
        return null;
    };
    
    function __constructorCutLength() {
        function ie7bugCheck(){};
        var    o1 = new ie7bugCheck(),
            o2 = new Object(),
            c1 = __sc2s(o1),
            c2 = __sc2s(o2);
        if(c1.charAt(0) !== c2.charAt(0))
            __ie7 = true;
        return (__ie7 || c2.indexOf("(") !== 16) ? 9 : 10;
    };
    
    /** private variables */
    var     __c = 0,
        __ie7 = false,
        __b = __sNConstructor(__c.constructor.toString()),
        __n = __b ? 9 : __constructorCutLength(),
        __s = "",
        __a = [],
        __o = {},
        __f = function(){};
    
    /** public prototypes */
    VClicksPHP_Serializer.prototype.serialize = serialize;
    VClicksPHP_Serializer.prototype.unserialize = unserialize;
    VClicksPHP_Serializer.prototype.stringBytes = UTF8 ? stringBytesUTF8 : stringBytes;
    
    /** serialize: private prototypes */
    if(__b) { // Konqueror / Safari prototypes
        VClicksPHP_Serializer.prototype.__sc2s = __sc2sKonqueror;
        VClicksPHP_Serializer.prototype.__sNConstructor = __sNConstructor;
        VClicksPHP_Serializer.prototype.__sCommonAO = __sCommonAO;
        VClicksPHP_Serializer.prototype[__sc2sKonqueror(__b)] = __sBoolean;
        VClicksPHP_Serializer.prototype.__sNumber = 
        VClicksPHP_Serializer.prototype[__sc2sKonqueror(__n)] = __sNumber;
        VClicksPHP_Serializer.prototype.__sString = VClicksPHP_Serializer.prototype[__sc2sKonqueror(__s)] = UTF8 ? __sStringUTF8 : __sString;
        VClicksPHP_Serializer.prototype[__sc2sKonqueror(__a)] = __sArray;
        VClicksPHP_Serializer.prototype[__sc2sKonqueror(__o)] = __sObjectKonqueror;
        VClicksPHP_Serializer.prototype[__sc2sKonqueror(__f)] = __sFunction;
    }
    else { // FireFox, IE, Opera prototypes
        VClicksPHP_Serializer.prototype.__sc2s = __sc2s;
        VClicksPHP_Serializer.prototype.__sCommonAO = __sCommonAO;
        VClicksPHP_Serializer.prototype[__sc2s(__b)] = __sBoolean;
        VClicksPHP_Serializer.prototype.__sNumber = 
        VClicksPHP_Serializer.prototype[__sc2s(__n)] = __sNumber;
        VClicksPHP_Serializer.prototype.__sString = VClicksPHP_Serializer.prototype[__sc2s(__s)] = UTF8 ? __sStringUTF8 : __sString;
        VClicksPHP_Serializer.prototype[__sc2s(__a)] = __sArray;
        VClicksPHP_Serializer.prototype[__sc2s(__o)] = __ie7 ? __sObjectIE7 : __sObject;
        VClicksPHP_Serializer.prototype[__sc2s(__f)] = __sFunction;
    };
    
    /** unserialize: private prototypes */
    VClicksPHP_Serializer.prototype.__uCommonAO = __uCommonAO;
    VClicksPHP_Serializer.prototype.b = __uBoolean;
    VClicksPHP_Serializer.prototype.i =
    VClicksPHP_Serializer.prototype.d = __uNumber;
    VClicksPHP_Serializer.prototype.s = UTF8 ? __uStringUTF8 : __uString;
    VClicksPHP_Serializer.prototype.a = __uArray;
    VClicksPHP_Serializer.prototype.O = __uObject;
    VClicksPHP_Serializer.prototype.N = __uNull;
};
