var pid = location.host;
if (pid == 'beta-gunz.ijji.com') pid = 'gunz.ijji.com';
var __click_pos_x = 0, __click_pos_y = 0;
var __clickFrame;
var __CLICKSTATS_SCALE_FACTOR = 40;
var SERVICE_URL_DEV = 'http://dev-services.ijji.com:8081';
var SERVICE_URL_ALPHA = 'http://alpha-services.ijji.com';
var SERVICE_URL_BETA = 'http://services.ijji.com';
var SERVICE_URL_RELEASE = 'http://services.ijji.com';
var __CLICKSTATS_VERSION = 0.3;
if (location.href.indexOf('http://dev-') >= 0) {
        SERVICE_URL = SERVICE_URL_DEV;
} else if (location.href.indexOf('http://alpha-') >= 0) {
        SERVICE_URL = SERVICE_URL_ALPHA;
} else if (location.href.indexOf('http://beta-') >= 0) {
        SERVICE_URL = SERVICE_URL_BETA;
} else {
        SERVICE_URL = SERVICE_URL_RELEASE;
}
function clicktrack(e) {
        var agent = window.navigator.userAgent;
        if (agent.indexOf("MSIE") !=-1 ) {
        } else {;
                return;
        }
        if (pid.indexOf(".ijji.com") == -1) {
        	return;
        }
    var screenWidth = parseInt(document.body.scrollWidth);
    if ( typeof(window.screenLeft) == 'number' ) {
                //relative
        __click_pos_x = (event.screenX - window.screenLeft + document.body.scrollLeft) - parseInt(screenWidth / 2);
        __click_pos_y = event.screenY - window.screenTop + document.body.scrollTop;
        //absolute
        //__click_pos_x = event.screenX - window.screenLeft + document.body.scrollLeft;
        //__click_pos_y = event.screenY - window.screenTop + document.body.scrollTop;
    } else {
                __click_pos_x = event.clientX - screenWidth;
        __click_pos_y = event.clientY;
    }
    if ( typeof(__clickFrame)=="undefined") {
        __clickFrame = document.createElement("iframe");
        __clickFrame.name = '__clickFrame';
        __clickFrame.style.display = 'none';
        document.body.appendChild(__clickFrame);
    }
    if ( typeof(__clickFrame) == 'object') {
        __clickFrame.src = SERVICE_URL + '/service/stats/click?version='+__CLICKSTATS_VERSION+'&pid='+pid+'&xpos='+__click_pos_x+'&ypos=' + __click_pos_y + '&scale=' + __CLICKSTATS_SCALE_FACTOR;
    }
/*
if (typeof(document.getElementById('debugDiv') == 'object') {
document.getElementById('debugDiv').innerText = 'x:' + __click_pos_x + ',y:' + __click_pos_y +
    ',event.screenX:' + event.screenX + ',window.screenLeft:' + window.screenLeft +
    ',document.body.scrollLeft:' + document.body.scrollLeft + ',outerWidth' + document.body.clientWidth + ',document.body.scrollHeight:' + document
.body.scrollTop+',screenWidth:' + screenWidth+',scrollWidth:'+document.body.scrollWidth;}
*/
}

function clickPixel() {
    ht = document.getElementsByTagName("html");
    ht[0].style.filter = "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)";
    document.getElementById('clickPixelDiv').style.display = 'block';
    __clickPixelFrame.location.href = SERVICE_URL + '/service/stats/clickPixel?pid='+pid;
}

function createPixels(obj) {
        var s = '';
        for (var i=0;i<obj.length;i++) {
                s += createPixelDiv(obj[i].xindex, obj[i].yindex, obj[i].cnt, obj[i].maxCnt);
        }
        document.getElementById('clickPixelDiv').style.display = 'block';
        document.getElementById('clickPixelDiv').innerHTML = s;
}

function createPixelDiv(xindex, yindex, cnt, maxCnt) {
        var OFFSET = 1;
        var BORDER = 1;
        var BORDER_CLR = '#AAAAAA';
        var screenWidth = parseInt(document.body.scrollWidth);
        var leftpos = parseInt(screenWidth /2 ) + (__CLICKSTATS_SCALE_FACTOR*xindex);
        var toppos = __CLICKSTATS_SCALE_FACTOR*yindex;
        var op = parseInt((cnt / maxCnt) * 100 * 0.9);
        if (op < 0) op = 0;
        if (op == 0) op = 1;
        op = 40;
        if (screenWidth <= (leftpos + __CLICKSTATS_SCALE_FACTOR)) return '';
        var s = '<div onmouseover="this.style.borderColor=\'RED\';" onmouseout="this.style.borderColor=\''+BORDER_CLR+'\';" title="'+cnt+' clicks" style="position:absolute;top:'+(toppos)+';left:'+(leftpos)+';width:'+(__CLICKSTATS_SCALE_FACTOR - OFFSET)+';height:'+(__CLICKSTATS_SCALE_FACTOR - OFFSET)+';z-index:9999;border:'+BORDER+'px solid '+BORDER_CLR+';"><div style="width:100%;height:100%;background-color:'+getRGB(cnt,maxCnt)+';opacity:.3;-moz-opacity:'+(op/100)+';filter:alpha(opacity='+op+');font-size:10px;color:#000000;text-align:left;"><div style="filter:alpha(opacity=100);"></div></div></div>';
        return s;
}

function getRGB(value, maxValue) {
		var tempMaxValue = parseInt(maxValue / 2);
        if (value >= parseInt(tempMaxValue))
        {
			var r = d2h(255 - parseInt((value - (tempMaxValue)) * 255 / (tempMaxValue)));
			var g = d2h(51 - parseInt((value/2) * 51 / (tempMaxValue)));
			var b = d2h(parseInt((value - tempMaxValue) * 255 / (tempMaxValue)));
        } else {
			var r = d2h(255);
			var g = d2h(51 + parseInt(((tempMaxValue) - value) * 204 / (tempMaxValue)));
			var b = d2h(0);
		}
		if (r.length < 2)r = '0' + r;
		if (g.length < 2)g = '0' + g;
		if (b.length < 2)b = '0' + b;
		return '#'+r+g+b;
}

function d2h(d) {return d.toString(16);}

function clearClickPixel() {
    ht = document.getElementsByTagName("html");
    ht[0].style.filter = "";
    document.getElementById('clickPixelDiv').innerHTML = '';
    document.getElementById('clickPixelDiv').style.display = 'none';
}

function initClickTracking() {
	document.write('<iframe name="__clickPixelFrame" frameborder="0" style="display:none;"></iframe><div id="clickPixelDiv"></div>');
}

function startClickTracking(scaleFactor) {
	if (typeof(scaleFactor) != 'undefined') {
		__CLICKSTATS_SCALE_FACTOR = scaleFactor;
	}
	document.onmousedown=clicktrack;
}

//for test
//document.write('<div style="z-index:99999;"><a href="javascript:clickPixel();">Show ClickPixel</a>|<a href="javascript:clearClickPixel();">Clear ClickPixel</a></div>');
