var xml;
var result;
var playid;
var busy = 0;
var task_run = 0;
var quotecount = 0;
var errorcount = 0;
var tmpquote = new Array();
function httpRequest(url,target,handle,qry) {
    if (typeof XMLHttpRequest == 'undefined') {
        objects = Array(
            'Microsoft.XmlHttp',
            'MSXML2.XmlHttp',
            'MSXML2.XmlHttp.3.0',
            'MSXML2.XmlHttp.4.0',
            'MSXML2.XmlHttp.5.0'
        );
        for (i = 0; i < objects.length; i++) {
            try {
                xml = new ActiveXObject(objects[i]);
            } catch (e) {}
        }
    } else {
        xml = new XMLHttpRequest();
    }
    if(handle == "handleQuote") {
        for(x in tmpquote) {
            if(tmpquote[x] == url) {
                return;
            }
        }
        tmpquote[quotecount] = url;
        quotecount++;
    }
    xml.open('post', url, true);
    xml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    result = document.getElementById(target);
    busy = 1;
    if (handle) {
        xml.onreadystatechange = eval(handle);
    } else {
        xml.onreadystatechange = function() {
            if (xml.readyState == 4) {
                result.innerHTML = xml.responseText;
                busy = 0;
            }
        }
    }
    xml.send(qry);
}

function _get_obj_toppos(obj)
{
    var top = obj.offsetTop;
    while( (obj = obj.offsetParent) != null )
    {
        top += obj.offsetTop;
    }
    return top;
}

function handleQuote () {
    if (xml.readyState == 4) {
        if (xml.responseText == "Error") {
            alert("Error: You don't have permission to post a reply in this topic");
        } else {
            result.value += unescape(xml.responseText) + '\n';
            var target_pos  = _get_obj_toppos( result );
            if ( target_pos )
            {
                scroll( 0, target_pos - 10 );
            }
        }
        busy = 0;
    }
}

function handleEdit () {
    if (xml.readyState == 4) {
        if (xml.responseText == "Error") {
            alert("Error: You don't have permission to edit this topic");
        } else {
            result.innerHTML = unescape(xml.responseText);
        }
        busy = 0;
    }
}

function CancelEdit () {
    var oldreply = document.getElementById('oldreply');
    var replyform = document.getElementById('replyform');
    if(oldreply) {
        oldreply.style.display = '';
    }
    if(replyform) {
        replyform.style.display = 'none';
    }
}

function SaveEdit (id) {
    var msg = document.getElementById('quickreply').value;
    if (msg.length < 1) {
        alert("You cannot save blank post.");
        return false;
    }
    var mcheck = msg.match(/\+/g);
    if (mcheck) {
        for (i = 0; i < mcheck.length; i++) {
            msg = msg.replace(mcheck[i], "<PLUS>");
        }
    }
    var mcheck2 = msg.match(/&/g);
    if (mcheck2) {
        for (i = 0; i < mcheck2.length; i++) {
            msg = msg.replace(mcheck2[i], "<AND>");
        }
    }
    httpRequest('/doquickedit'+id+'.html','post_'+id,'handleSave',"Post=" + msg);
    return false;
}

function handleSave () {
    if (xml.readyState == 4) {
        if (xml.responseText == "Error") {
            alert("Error: You don't have permission to edit this topic");
        } else {
            result.innerHTML = xml.responseText;
        }
        busy = 0;
    }
}

function quickShout () {
    var msg = document.shout.Post.value;
    var action = document.shout.action;
    if (msg.length < 1) {
        alert("Please enter something to shout.");
        return false;
    }
    var mcheck = msg.match(/\+/g);
    if (mcheck) {
        for (i = 0; i < mcheck.length; i++) {
            msg = msg.replace(mcheck[i], "<PLUS>");
        }
    }
    var mcheck2 = msg.match(/&/g);
    if (mcheck2) {
        for (i = 0; i < mcheck2.length; i++) {
            msg = msg.replace(mcheck2[i], "<AND>");
        }
    }
    httpRequest(action,'shoutbox','',"Post=" + msg);
    document.shout.Post.value = "";
    return false;
}

function preview (url) {
    var target = document.getElementById('mediapreview');
    if (target) {
        ShowMedia(url,290,65,'mediapreview');
    }
    else
    {
        alert("Error");
    }
}

function Play (id) {
    var listid = document.getElementById(id);
    var list_value = listid.options[listid.selectedIndex].value;
    var loc1 = document.getElementById('hiddenPlayer');
    playid = id;
    errorcount[id] = id;
    if(loc1) {
        var target_pos  = _get_obj_toppos( loc1 );
        loc1.innerHTML = "<center><img src='/theme_image/load.gif'><br />Loading...</center>";
    } else {
        alert('Movie playlist can only be played in Forum topic');
        return false;
    }
    if ( target_pos )
    {
        scroll( 0, target_pos - 10 );
    }
	var ids = unescape(list_value);
	ids = ids.replace("veoh.com/fullscreen_single.html?", "veoh.com/static/flash/players/fullscreen_single.swf?inVeoh=true&id=&player=fullscreen&version=4&");
	ids = ids.replace("megavideo.com/ep_gr.swf?v", "megavideo.com/ep_gr.swf?v");
	ids = ids.replace("megavideo.com/?v", "megavideo.com/ep_gr.swf?v");
	ids = ids.replace("/videoplay", "/googleplayer.swf");
	ids = ids.replace("veoh.com/videos/", "veoh.com/static/flash/players/videodetails2.swf?permalinkId=");
	ids = ids.replace("youtube.com/watch?v=", "youtube.com/v/");
	if(ids.match(/megavideo.com\/v/g)) {
		var vid = ids.split("/v/");
		ids = "http://megavideo.com/ep_gr.swf?v="+vid[1].substr(0,8);
	}
	if(ids.match(/dailymotion.com\/video/g) || ids.match(/dailymotion.com\/([0-9a-zA-Z_]+)\/video/g)) {
		var p1 = ids.split("video/");
		var p2 = p1[1].split("_");
		ids = "http://www.dailymotion.com/swf/" + p2[0] + "&v3=1&related=1";
	}
	var fo = new FlashObject(ids, '', "677", "585", 8, "");
	fo.addParam("menu", "false");
	if(loc1) {
		fo.write('hiddenPlayer');
	} else {
		fo.write();
	}
}

function Play2 (id) {
    var listid = document.getElementById(id);
    var list_value = listid.options[listid.selectedIndex].value;
    var loc1 = document.getElementById('hiddenPlayer');
    playid = id;
    errorcount[id] = id;
    if(loc1) {
        var target_pos  = _get_obj_toppos( loc1 );
        loc1.innerHTML = "<center><img src='/theme_image/load.gif'><br />Loading...</center>";
    } else {
        alert('Movie playlist can only be played in Forum topic');
        return false;
    }
    if ( target_pos )
    {
        scroll( 0, target_pos - 10 );
    }
    if (listid && list_value) {
        var qrstr = list_value;
        httpRequest('/geturl.php','hiddenPlayer','GoPlay','url=' + qrstr);
    }
    else
    {
        alert("Unknown Error");
    }
}

function GoPlay () {
    if (xml.readyState == 4) {
        if (xml.responseText == "") {
            alert("Error: Unable to connect to remote url");
        } else {
            if(result) {
                if(xml.responseText.match(/^http/)) {
					var fo = new FlashObject(xml.responseText, "", "500", "450", 8, "");
					fo.write('hiddenPlayer');
					//ShowFlash(xml.responseText,500,450,'hiddenPlayer');
                } else {
                    if(errorcount < 1) {
                        errorcount++;
                        Play(playid);
                    } else {
                        document.getElementById('hiddenPlayer').innerHTML = "<center><img src='/theme_image/caution.gif' align='absmiddle'> Error Retrieving Link, Please try again.</center>";
                    }
                }
            } else {
                alert("Unknown Error");
            }
        }
        busy = 0;
    }
}

function handledonate () {
    if (xml.readyState == 4) {
        var msg = xml.responseText.split("|");
        if (msg[0] == "Error") {
            alert(msg[1]);
        } else {
            result.innerHTML = xml.responseText;
            if(document.getElementById('donate_close')) {
                document.getElementById('donate_close').innerHTML = "<img src='/theme_image/m_button.gif' align='absmiddle'> <a href='/cp-bank.html'>Transaction Completed</a>";
            }
        }
        busy = 0;
    }
}

function dodonate (id) {
    var amount = document.getElementById('amount').value == "" ? 0 : parseInt(document.getElementById('amount').value);
    if(!id) {
        alert("Can't find member to donate.");
        return;
    } else if(isNaN(amount)) {
        alert("Please use Number only. Do not use comma");
        return;
    } else if(amount <= 0) {
        alert("Please enter the amount you want to donate");
        return;
    } else if(amount > maxamount) {
        alert("Sorry, you can only donate maximum $" + maxamount);
        return;
    } else {
        if(confirm("Are you sure, you want to donate " + amount + " to this member?")) {
            httpRequest('/donate' + id + '.html','cash','handledonate','amount=' + amount);
        }
    }
}

function refresh_shout () {
    var s = document.getElementById('shoutbox');
    if (s && busy == 0) {
        httpRequest('/shoutbox.php','shoutbox','','');
    }
}

setInterval ( "refresh_shout()", 20000 );

function task () {
    if (!task_run) {
        task_run = 1;
        httpRequest('/tinhhong/index.php','','task','act=task&ck=61359ac93eb93ebbd935a4e275ade2db');
    }
    else {
        if (xml.readyState == 4) {
            return false;
        }
    }
}
//setTimeout ( "task()", 5000 );
