var xmlreqs = new Array();

function CXMLReq(type, xmlhttp) { this.type = type; this.xmlhttp = xmlhttp; }

function lr(url, data, objCheck){
        var xmlhttp = false;
        var _targObject = null;
        var _do = null;
        var type = null;

	if( !data ) data = 'inner';
	if( !objCheck ) objCheck = 2;

        _opt = objCheck;
        _targObject = document.getElementById(data);

        if(window.XMLHttpRequest)
                xmlhttp2 = new XMLHttpRequest();
        else if(window.ActiveXObject)
                xmlhttp2 = new ActiveXObject("Microsoft.XMLHTTP");
        else alert('Please upgrade your browser.');

        switch( _opt ){
		case 1: document.getElementById(data).innerHTML = "<div align = 'center'><div align='center' style='height: 100px; width: 100px; margin-top: 120px;'><img src='images/loading/ajax-loader.gif'></div></div>";
			break;
		case 4: document.getElementById(data).innerHTML = "Processing...";
			break;
	}

        if(window.XMLHttpRequest) {
                xmlhttp=new XMLHttpRequest();
                xmlhttp.onreadystatechange=xmlhttpChange;
                xmlhttp.open("POST",url,true);
                xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                xmlhttp.send(data);
        }else if(window.ActiveXObject) {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                if(xmlhttp) {
                        xmlhttp.onreadystatechange=xmlhttpChange;
                        xmlhttp.open("POST",url,true);
                        xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                        xmlhttp.send(data);
                }
        }

        var xmlreq = new CXMLReq(data, xmlhttp); xmlreqs.push(xmlreq);
}

function xmlhttpChange() {
 if (typeof(window['xmlreqs']) == "undefined") return;

 var xmldoc = null;
 for (var i=0; i < xmlreqs.length; i++) {
        if (xmlreqs[i].xmlhttp.readyState == 4) {
                if (xmlreqs[i].xmlhttp.status == 200 || xmlreqs[i].xmlhttp.status == 304) {
                        response = xmlreqs[i].xmlhttp.responseText;
                        switch( xmlreqs[i].type ) {
				default:{
					document.getElementById(xmlreqs[i].type).innerHTML = (response);
					break;
				}
			}

                        xmlreqs.splice(i,1); i--;
                } else {//error
                        xmlreqs.splice(i,1); i--;
                }
        }
 }
}

function dohud(){
        var scit = new Date();
        var ms   = (scit.getHours() * 24 * 60 * 1000) + (scit.getMinutes() * 60 * 1000) + (scit.getSeconds() * 1000) + scit.getMilliseconds();

	lr('hud.php?r=' + ms, 'hud', 2);
}

function rHud(time){
	setTimeout("lr('hud.php?r="+time+"','hud',2);",500);
}

function number_format (number, decimals, dec_point, thousands_sep)
{
        number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
        var n = !isFinite(+number) ? 0 : +number,
                prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
                sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
                dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
                s = '',
                toFixedFix = function (n, prec) {
                        var k = Math.pow(10, prec);
                        return '' + Math.round(n * k) / k;
                };

                // Fix for IE parseFloat(0.55).toFixed(0) = 0;
                s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
                if (s[0].length > 3) {
                        s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
                }
                if ((s[1] || '').length < prec) {
                        s[1] = s[1] || '';
                        s[1] += new Array(prec - s[1].length + 1).join('0');
                }

        return s.join(dec);
}

function uCost(id,pts,upq,ord)
{
        var doc = document.getElementById('q'+id);
        var qty = doc.value;
        var vdc = document.getElementById('v'+id);

        if( qty >= 1 )
        {
                var htm = qty * pts;

                if( ord == 1 )
                        vdc.innerHTML='$'+number_format(htm);
                else if( ord == 2 )
			vdc.innerHTML=number_format(htm)+' points';
		else	vdc.innerHTML=number_format(htm)+' scalps';

                if( htm > upq )
                        var col = '#bb1219';
                else    var col = '#00d80f';
                vdc.style.color=col;
        }
        else if( qty == 0 ) vdc.innerHTML='';
        else
        {
                vdc.innerHTML='Quantity must be greater than 0!';
                vdc.style.color='red';
        }
}

function fI(a,b,c,d){
	if( d == 2 )
		window.setTimeout("lr('inventory.php','inner',2);",2000);
	else if( c > b ){
	        if( d ){
			window.setTimeout("gdur("+a+");",1500);
		}

		window.setTimeout("lr('inventory.php?action=icons&id="+a+"','"+a+"A',2);",2000);
	}else{
		var doc = document.getElementById('w'+a);
		window.setTimeout("document.getElementById('ini').removeChild(document.getElementById(\'w"+a+"\'));",2000);
	}
}

function gdur(a){
	var e = strip_tags(document.getElementById(a+'A').innerHTML);
	if( e.substr(295,17) != 'Not Enough Money!' ){
		document.getElementById('dura'+a).innerHTML="100%";
		document.getElementById('dura'+a).style.color="green";
	}
}

function cQ(form)
{
    var elements = document.getElementById(form).elements;
    var pairs = new Array();
    for (var i = 0; i < elements.length; i++) {
        if ((name = elements[i].name) && (value = elements[i].value))
            pairs.push(name + "=" + encodeURIComponent(value));
    }
    var tastypairpear = pairs.join("&");
    return tastypairpear;
}

function relog(){
	lr('login.php?log=1&username='+document.getElementById('un').value+'&password='+document.getElementById('pw').value,'lbi',2);
	document.getElementById('hud').innerHTML='<br><br>Handshaking...<br><br>';
        document.getElementById('hud').style.display='';
        document.getElementById('lz').style.display='none';
	window.setTimeout("lr('main.php');",1500);

	return false;
}

function blmid(){
	document.getElementById('hud').style.display='none';
	lr('blmi.php','lz',2);
	document.getElementById('lz').style.display='';
}

function sfm(h,e,t) {
        var kc;
        if (window.event) kc = window.event.keyCode;
        else if (e) kc = e.which;
        else return true;

        if (kc == 13) {
		switch(t){
			case 1: relog(); break;
			case 2: lr('forgot.php?em='+document.getElementById('em').value,'loginbox',2); reload('recover'); break;
			default: h.form.submit(); break;
		}

                return false;
        }else   return true;
}

function strstr (haystack, needle, bool) {
    var pos = 0;
 
    haystack += '';
    pos = haystack.indexOf(needle);
    if (pos == -1) {
        return false;
    } else {
        if (bool) {
            return haystack.substr(0, pos);
        } else {
            return haystack.slice(pos);
        }
    }
}

function strpos (haystack, needle, offset) {
    var i = (haystack + '').indexOf(needle, (offset || 0));
    return i === -1 ? false : i;
}

function strip_tags (input, allowed) {
    allowed = (((allowed || "") + "").toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join('');
    var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,
        commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi;
    return input.replace(commentsAndPhpTags, '').replace(tags, function ($0, $1) {
        return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : '';
    });
}

function setFocus(doc){
	setTimeout("document.getElementById('"+doc+"').focus();",1000);
}

function ppp_fill(a,b,c){
	document.getElementById('IA').value=a;
	document.getElementById('IB').value=b;
	document.getElementById('IC').value=c;
}

function msel(a){
	var opt = document.getElementById('action').value;
	if( a )
		var ext = '&id='+a;
	else	var ext = '';

	window.location.href="index.php?on=mailbox&"+opt+"=1"+ext;
}

function checkAll(a,b){
	var doc = document.getElementById('CBI');
	if( doc.className == 'cba' ){
		var fill = true;
		document.getElementById('CBI').setAttribute('class','cbn');
	}else{
		var fill = false;
		document.getElementById('CBI').setAttribute('class','cba');
	}

	for(i=1;i<=b;i++){
		document.getElementById(a+i).checked=fill;
	}
}

function cnf(a,b){
	for(i=1;i<=b;i++){
		document.getElementById(a+i).setAttribute('name',a+'[]');
	}
}

function msw(){
	var doc = document.getElementById('ag');
	if( doc.style.display == 'none' ){
		var fill = '';
		var html = 'Discard Gift';
		var spec = 1;
	}
	else{
		var fill = 'none';
		var html = 'Add Gift';
		var spec = 2;
	}

	document.getElementById('ag').style.display=fill;
	document.getElementById('agl').innerHTML=html;
	document.getElementById('giftVal').value='';
}

function isrch(a){
	var arr = new Array('str','def','spd','hps');
	for(i=0;i<=3;i++){
		if( document.getElementById(arr[i]).checked )
			document.getElementById(arr[i]).value = 1;
		else	document.getElementById(arr[i]).value = '';
	}

	lr('item_market.php?s=1&'+cQ(a),'sRes',1);
	window.setTimeout("document.getElementById('sdb').innerHTML='';",2000);
}

function fbx(a){
	if( document.getElementById(a).checked )
		document.getElementById(a).value=1;
	else	document.getElementById(a).value='';
}

function istyl(a,b,c){
	document.getElementById('cost'+a).innerHTML='$'+number_format(b);
	if( b > c )
		document.getElementById('cost'+a).style.color='#bb1219';
	else	document.getElementById('cost'+a).style.color='#00d80f';
}

function idesc(a){
	document.getElementById('hud').style.display='none';
	lr('item_description.php?id='+a,'lz',2);
	document.getElementById('lz').style.display='';
}

function udesc(a){
	document.getElementById('hud').style.display='none';
	lr('chat_users.php?r='+a,'lz',2);
	document.getElementById('lz').style.display='';
}

function reload(a){
	if( a )
		var ext = '?on='+a;
	else	var ext = '';

	window.setTimeout("window.location.href='index.php"+ext+"';",2000);
}

