///////////////////
// GENERIC
///////////////////

var xmlHttp                       = null;
var hints                         = new Array();
var do_spy                        = true;
var do_count                      = true;
var sug_fct;
var oTextbox;
var timeout_interval              = 100;
var buffer_ar                     = new Array();
var counter_timeout               = 500;
var spy_asset_timeout             = 500;
var increaseAssetViewTime_timeout = 1000;

function xmlHttpClass(p_url, p_action, p_type, p_post_params) {
    var xmlHttp;
    var url;
    var action;
    var post_params;
    var p_type;

    function getXmlHttpObject()
    {
        var objXmlHttp  = null;

        try {
            objXmlHttp      = new ActiveXObject('Msxml2.XMLHTTP');
        } catch (e) {
            try {
                objXmlHttp  = new ActiveXObject('Microsoft.XMLHTTP');
            } catch (e) {
                objXmlHttp  = false;
            } //end try
        } //end try

        if (!objXmlHttp && typeof XMLHttpRequest != 'undefined') {
    	    try {
    		    objXmlHttp  = new XMLHttpRequest();
    	    } catch (e) {
    		    objXmlHttp  = false;
    	    } //end try
        } //end if

        if (!objXmlHttp && window.createRequest) {
    	    try {
    		    objXmlHttp  = window.createRequest();
    	    } catch (e) {
    		    objXmlHttp  = false;
    	    } //end try
        } //end if

        return objXmlHttp;
    } // end function GetXmlHttpObject

    function setHandler(p_xml, p_handler)
    {
        p_xml.onreadystatechange    = p_handler;
    } //end function setHandler

    function doAJAXRequestGET(p_xmlHttp, p_url, p_stateChanged)
    {
        if (p_url.indexOf('?') == -1) {
            p_url   = p_url + '?rand=' + Math.random().toString();
        } else {
            p_url   = p_url + '&rand=' + Math.random().toString();
        } //end if
        p_xmlHttp.open('GET', p_url , true);
        setHandler(p_xmlHttp, p_stateChanged);
        p_xmlHttp.send(null);

        return true;
    } //end function doAJAXRequestGET

    function doAJAXRequestPOST(p_xmlHttp, p_url, p_post_params, p_stateChanged)
    {
        var contentType = "application/x-www-form-urlencoded; charset=UTF-8";
        if (p_url.indexOf('?') == -1) {
            p_url   = p_url + '?rand=' + Math.random().toString();
        } else {
            p_url   = p_url + '&rand=' + Math.random().toString();
        } //end if
        xmlHttp.open("post", p_url, true);
        xmlHttp.setRequestHeader("Content-Type", contentType);
        setHandler(xmlHttp, p_stateChanged);
        xmlHttp.send(p_post_params);

        return true;
    } //end function doAJAXRequestPOST

    function stateChanged()
    {
        if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
            action(xmlHttp);
        } //end if
    } // end function stateChanged

    xmlHttp         = getXmlHttpObject();
    url             = p_url;
    action          = p_action;
    type            = p_type;
    post_params     = p_post_params;
    if (!type) {
        doAJAXRequestGET(xmlHttp, url, stateChanged);
    } else if (type == 'get') {
        doAJAXRequestGET(xmlHttp, url, stateChanged);
    } else if (type == 'post') {
        doAJAXRequestPOST(xmlHttp, url, post_params, stateChanged);
    } //end if
} //end xmlHttpClass

function GetXmlHttpObject()
{     
    var objXmlHttp  = null;
    
    try {
        objXmlHttp      = new ActiveXObject('Msxml2.XMLHTTP');
    } catch (e) {
        try {
            objXmlHttp  = new ActiveXObject('Microsoft.XMLHTTP');
        } catch (e) {
            objXmlHttp  = false;
        } //end try
    } //end try

    if (!objXmlHttp && typeof XMLHttpRequest != 'undefined') {
	    try {
		    objXmlHttp  = new XMLHttpRequest();
	    } catch (e) {
		    objXmlHttp  = false;
	    } //end try
    } //end if
    
    if (!objXmlHttp && window.createRequest) {
	    try {
		    objXmlHttp  = window.createRequest();
	    } catch (e) {
		    objXmlHttp  = false;
	    } //end try
    } //end if
    
    return objXmlHttp;
} // end function GetXmlHttpObject

function doBufferCommand()
{
    if (buffer_ar.length >= 0) {
        var res = eval(buffer_ar[0]);
        if (res) {
            buffer_ar.shift();
        } //end if
    } //end if
    setTimeout('doBufferCommand()', 300);
} //end function doBufferCommand

function setHandler(p_xml, p_handler)
{
    p_xml.onreadystatechange    = p_handler;
} //end function setHandler

function doAJAXRequestGET(p_url, p_handler, p_location)
{
    if (xmlHttp == null) {
        xmlHttp = GetXmlHttpObject();
        if (p_url.indexOf('?') == -1) {
            p_url   = p_url + '?rand=' + Math.random().toString();
        } else {
            p_url   = p_url + '&rand=' + Math.random().toString();
        } //end if
        xmlHttp.open('GET', p_url , true);
        setHandler(xmlHttp, p_handler);
        xmlHttp.send(null);

        return true;
    } else {
        if (p_location != 'buffer') {
            buffer_ar[buffer_ar.length] = 'doAJAXRequestGET(\'' + p_url + '\', ' + p_handler + ', \'buffer\')';
        } //end if

        return false;
    } //end if
} //end function doAJAXRequestGET

function doAJAXRequestGETNoBackground(p_url, p_handler)
{
    if (xmlHttp == null) {
        xmlHttp = GetXmlHttpObject();
        if (p_url.indexOf('?') == -1) {
            p_url   = p_url + '?rand=' + Math.random().toString();
        } else {
            p_url   = p_url + '&rand=' + Math.random().toString();
        } //end if
        xmlHttp.open('GET', p_url , false);
        setHandler(xmlHttp, p_handler);
        xmlHttp.send(null);

        return true;
    } else {
        if (p_location != 'buffer') {
            buffer_ar[buffer_ar.length] = 'doAJAXRequestGET(\'' + p_url + '\', ' + p_handler + ', \'buffer\')';
        } //end if

        return false;
    } //end if
} //end function doAJAXRequestGETNoBackground

function doAJAXRequestPOST(p_url, p_handler, p_post_params, p_location)
{
    if (xmlHttp == null) {
        var contentType = "application/x-www-form-urlencoded; charset=UTF-8";

        xmlHttp = GetXmlHttpObject();
        if (p_url.indexOf('?') == -1) {
            p_url   = p_url + '?rand=' + Math.random().toString();
        } else {
            p_url   = p_url + '&rand=' + Math.random().toString();
        } //end if
        xmlHttp.open("post", p_url, true);
        xmlHttp.setRequestHeader("Content-Type", contentType);
        setHandler(xmlHttp, p_handler);
        xmlHttp.send(p_post_params);

        return true;
    } else {
        if (p_location != 'buffer') {
            buffer_ar[buffer_ar.length] = 'doAJAXRequestPOST(\'' + p_url + '\', ' + p_handler + ', \'' + p_post_params + '\', \'buffer\')';
        } //end if

        return false;
    } //end if
} //end function doAJAXRequestGET

function createPostParams(p_form)
{
    var elements    = p_form.elements;
    var pairs       = new Array();
    var i, max;

    for (i = 0, max = elements.length; i < max; i++) {
        if (elements[i].type == 'checkbox') {
            //checkbox
            if ((name = elements[i].name) && (value = elements[i].value)) {
                if (elements[i].checked) {
                    pairs.push(name + "=" + encodeURIComponent(value));
                } //end if
            } //end if
        } else if (elements[i].type == 'radio') {
            if ((name = elements[i].name) && (value = elements[i].value)) {
                if (elements[i].checked) {
                    pairs.push(name + "=" + encodeURIComponent(value));
                } //end if
            } //end if
        } else {
            //common
            if ((name = elements[i].name) && (value = elements[i].value)) {
                pairs.push(name + "=" + encodeURIComponent(value));
            } //end if
        } //end if
    } //end for

    return pairs.join("&");
} //end function createPostParams

///////////////////
// HANDLERS
///////////////////

function stateChangedShowHint()
{
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
        displayHintsList();
    } //end if 
} //end function stateChangedShowHint


function stateChangedShowVoters()
{
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
        displayVoters();
        xmlHttp = null;
    } //end if
} //end function stateChangedShowVoters

///////////////////
// OPERATIONS
///////////////////

    /* asset details page */

    function postVote(p_joke_id, p_mark)
    {
        var url = sitePrefix + 'aj_postvote.php?id=' + p_joke_id.toString() + '&m=' + p_mark.toString();
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function postVote

    function showAllVoters(p_asset_id, p_collapsed_no)
    {
        if (document.getElementById('votersMode') != null) {
            document.getElementById('votersMode').value     = 'all';
        } //end if

        var url = sitePrefix + "aj_getVoters.php?id=" + p_asset_id + "&collapsed_no=" + p_collapsed_no + "&mode=all&rew=yes";
        //doAJAXRequestGET(url, stateChangedShowVoters);
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function showAllVoters

    function showVoters(p_asset_id, p_collapsed_no)
    {
        if (document.getElementById('votersMode') != null) {
            var mode = document.getElementById('votersMode').value;
        } else {
            var mode = 'collapsed';
        } //end if

        var url = sitePrefix + "aj_getVoters.php?id=" + p_asset_id + "&collapsed_no=" + p_collapsed_no + "&mode=" + mode + "&rew=yes";
        //doAJAXRequestGET(url, stateChangedShowVoters);
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function showVoters

    function postFavorite(p_joke_id)
    {
        var url = sitePrefix + 'aj_postFavorite.php?id=' + p_joke_id.toString();
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function postVote

    function postComment(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var     += '&marker=' + document.getElementById("marker").value;
        string_var     += '&comments_order=' + document.getElementById("comments_order").value;
        var url         = sitePrefix + 'aj_postcomment.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function postComment

    function sortComments(p_aid, p_marker)
    {
        var comments_order = document.getElementById("comments_order").value;
        var url            = sitePrefix + 'aj_manageComments.php?op=sort&aid=' + p_aid + '&marker=' + p_marker + '&comments_order=' + comments_order;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function sortComments

    function deleteComment(p_aid, p_comment_id)
    {
        var comments_order = document.getElementById("comments_order").value;
        var marker         = document.getElementById("marker").value;
        var url            = sitePrefix + 'aj_manageComments.php?op=delete&aid=' + p_aid + '&cid=' + p_comment_id + '&marker=' + marker + '&comments_order=' + comments_order;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function postComment

    function editComment(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var     += '&marker=' + document.getElementById("marker").value;
        string_var     += '&comments_order=' + document.getElementById("comments_order").value;
        var url         = sitePrefix + 'aj_manageComments.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function postComment

    function postCommentVote(p_aid, p_comment_id, p_mark)
    {
        var comments_order = document.getElementById("comments_order").value;
        var marker         = document.getElementById("marker").value;
        var url            = sitePrefix + 'aj_postCommentVote.php?aid=' + p_aid + '&cid=' + p_comment_id.toString() + '&m=' + p_mark.toString() + '&marker=' + marker + '&comments_order=' + comments_order;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function postCommentVote

    function refreshCommentsList(p_aid)
    {
        var comments_order;
        var marker;

        // this function is called by flash so we hide the comment recorders
    	document.getElementById('webcomSecBox').style.display = 'none';
    	document.getElementById('webcomBox').style.display    = 'none';

        if (document.getElementById("comments_order")) {
            var comments_order = document.getElementById("comments_order").value;
        } else {
            var comments_order = 'date';
        } //end if

        if (document.getElementById("marker")) {
            var marker  = document.getElementById("marker").value;
        } else {
            var marker  = '';
        } //end if

        // flash sends the unencoded assetId so we encode it because php expects one encoding
        var url = sitePrefix + 'aj_refreshCommentsList.php?aid=' + encodeURIComponent(p_aid) + '&marker=' + marker + '&comments_order=' + comments_order;

        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function refreshCommentsList


    function postTag(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var     += '&selectTags=' + document.getElementById('selectTags').value;
        string_var     += '&collapsed_no=' + document.getElementById('collapsed_tags_no').value;
        string_var     += '&tags_mode=' + document.getElementById('tags_mode').value;
        var url         = sitePrefix + 'aj_postTag.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function postTag

    function selectAssetTags(p_asset)
    {
        var url         = sitePrefix + 'aj_manageTags.php?mode=select&aid=' + p_asset + '&collapsed_no=' + document.getElementById('collapsed_tags_no').value  + '&tags_mode=' + document.getElementById('tags_mode').value;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function selectAssetTags

    function deleteTag(p_asset, p_tag)
    {
        var url      = sitePrefix + 'aj_manageTags.php?mode=delete&aid=' + p_asset + '&tid=' + p_tag + '&selectTags=' + document.getElementById('selectTags').value + '&collapsed_no=' + document.getElementById('collapsed_tags_no').value + '&tags_mode=' + document.getElementById('tags_mode').value;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function deleteTag

    function showTags(p_asset, p_mode, p_collapsed_no)
    {
        var url = sitePrefix + 'aj_showTags.php?aid=' + p_asset + '&tags_mode=' + p_mode + '&collapsed_no=' + p_collapsed_no + '&selectTags=' + document.getElementById('selectTags').value;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function showPublisherAssets

    function postShare(p_form)
    {
        var string_var  = createPostParams(p_form);
        var url         = sitePrefix + 'aj_postShare.php';
        new xmlHttpClass(url,  evalGlobalParam, 'post', string_var);
    } //end function postShare


    function postProblem(p_form)
    {
        var string_var  = createPostParams(p_form);
        var url         = sitePrefix + 'aj_reportProblem.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function setProblem
    
    function showHint(p_asset_id, str)
    {
        if (str.length > 0) {
            var url = sitePrefix + "aj_gethint.php?id=" + p_asset_id + "&str=" + str + "&rew=yes";
            doAJAXRequestGET(url, stateChangedShowHint, 'manual');
        } //end if 
    } //end function showHint

    function displayHintsList()
    {
        hints   = new Array();
        eval(xmlHttp.responseText);
        
        var ar1 = sug_fct.states.join('-');
        var ar2 = hints.join('-');        
        if (ar1 != ar2) {            
            oTextbox.cur        = -1;
        } //end if
        sug_fct.states      = hints;
        if (hints.length > 0) {
            oTextbox.showSuggestions(hints);
        } //end if
        
        xmlHttp = null;
    } //end function displayHintsList

    function createHintObject()
    {
        function StateSuggestions() {
            this.states = new Array();
        }

        /**
         * Request suggestions for the given autosuggest control. 
         * @scope protected
         * @param oAutoSuggestControl The autosuggest control to provide suggestions for.
         */
        StateSuggestions.prototype.requestSuggestions = function (oAutoSuggestControl /*:AutoSuggestControl*/,
                                                                  bTypeAhead /*:boolean*/) {
            var aSuggestions = [];
            var sTextboxValue = oAutoSuggestControl.textbox.value;
            
            if (sTextboxValue.length > 0){
            
                //search for matching states
                for (var i=0; i < this.states.length; i++) {
                    if (this.states[i].indexOf(sTextboxValue) == 0) {
                        aSuggestions.push(this.states[i]);
                    } 
                }
            }
        
            //provide suggestions to the control
            oAutoSuggestControl.autosuggest(aSuggestions, bTypeAhead);
        };

        sug_fct             = new StateSuggestions();
        oTextbox            = new AutoSuggestControl(document.getElementById("tag"), sug_fct);
    } //end function createHintObject
    
    function increaseAssetExpandAndLearnViews(p_sponsor)
    {
        var url = sitePrefix + "aj_increaseExpandViews.php?sid=" + p_sponsor + "&obj=asset";
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function increaseExpandAndLearnViews

    function increaseSiteExpandAndLearnViews(p_sponsor)
    {
        var url = sitePrefix + "aj_increaseExpandViews.php?sid=" + p_sponsor + "&obj=site";
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function increaseExpandAndLearnViews

    function increaseClicks(p_obj)
    {
        var url = sitePrefix + "aj_increaseClicks.php?obj=" + p_obj + "&page=" + document.location;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function increaseExpandAndLearnViews

    function showPublisherAssets(p_publisher, p_mode, p_current, p_collapsed_no)
    {
        var url = sitePrefix + 'aj_showPublisherAssets.php?pid=' + p_publisher + '&mode=' + p_mode + '&current=' + p_current + '&collapsed_no=' + p_collapsed_no;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');

    } //end function showPublisherAssets

    function showPublisherFavorites(p_publisher, p_mode, p_collapsed_no)
    {
        var url = sitePrefix + 'aj_showPublisherFavorites.php?pid=' + p_publisher + '&mode=' + p_mode + '&collapsed_no=' + p_collapsed_no;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');

    } //end function showPublisherAssets

    function setFeaturedAsset(p_asset_id)
    {
        var url = sitePrefix + 'aj_setFeaturedAsset.php?id=' + p_asset_id;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function setFeaturedAsset
/* / asset details page */


    /* spy */

    function spyFirst(p_rating, p_type, p_preferred)
    {
        if (document.getElementById('loading') != null) {
            document.getElementById('loading').style.display = 'block';
        } //end if

        var url = sitePrefix + "aj_spyFirst.php?rating=" + p_rating + "&type=" + p_type + "&preferred_users=" + p_preferred;
        new xmlHttpClass(url, displaySpyList, 'get', '');
    } //end function spyFirst

    function displaySpyList(p_xmlHttp)
    {
        eval(p_xmlHttp.responseText);

        if (document.getElementById('loading') != null) {
            document.getElementById('loading').style.display = "none";
        } //end if

        if (document.getElementById('last_update')) {
            var last_update = document.getElementById('last_update').value;
            spy(last_update);
        } //end if

        refreshAds();
        if (document.getElementById('scrollContainer') != '') {
            document.body.style.overflow='hidden';
            document.getElementById('scrollContainer').style.height=parseInt(getWindowHeight()-36) + 'px';
            if (hasScrollBars('scrollContainer')) {
                document.getElementById('controlPanel').style.right='18px';
            } else {
                document.getElementById('controlPanel').style.right='1px';
            }
        } //end if
    } //end function displaySpyList

    function spy(p_last_update)
    {
        if (do_spy) {
            do_spy  = false;
            var url = sitePrefix + "aj_spy.php?last_update=" + p_last_update;
            new xmlHttpClass(url, updateSpyList, 'get', '');
        } //end if
    } //end function spy

    function updateSpyList(p_xmlHttp)
    {
        eval(p_xmlHttp.responseText);
        if (document.getElementById('last_update')) {
            var last_update = document.getElementById('last_update').value;
            do_spy          = true;
            setTimeout('spy("' + last_update + '")', spy_asset_timeout);
        } //end if
    } //end function updateSpyList

    function spyAsset(p_last_spy)
    {
        if (document.getElementById('asset_id')) {
            var aid = document.getElementById('asset_id').value;
            var url = sitePrefix + "aj_spyAsset.php?aid=" + aid + '&last_spy=' + p_last_spy;
            new xmlHttpClass(url, evalGlobalParam, 'get', '');
        } //end if
    } //end function spyAsset

    function increaseAssetViewTime()
    {
        if (document.getElementById("AssetViewID")) {
            var view  = document.getElementById("AssetViewID").value;
            var visit = document.getElementById("VisitLogID").value;
            var url   = sitePrefix + "aj_reportCounters.php?mode=increaseAssetViewTime&AssetViewID=" + view + "&VisitLogID=" + visit;
            new xmlHttpClass(url, updateAssetViewTime, 'get', '');
        } //end if
    } //end function increaseAssetViewTime

    function updateAssetViewTime(p_xmlHttp)
    {
        if (typeof increaseAssetViewTime === 'function') {
            setTimeout('increaseAssetViewTime()', 5000);
        } //end if



        if (document.getElementById("VisitLogID") && document.getElementById("VisitLogID").value != p_xmlHttp.responseText && IsPositiveInteger(p_xmlHttp.responseText)) {
            document.getElementById("VisitLogID").value = p_xmlHttp.responseText;
        } //end if
    } //end function updateAssetViewTime

    /*
    function increaseVisitTime()
    {
        if (document.getElementById("VisitLogID")) {
            var visit = document.getElementById("VisitLogID").value;
            var url   = sitePrefix + "aj_reportCounters.php?mode=increaseVisitTime&VisitLogID=" + visit;
            new xmlHttpClass(url, updateVisitTime, 'get', '');
        } //end if
    } //end function increaseAssetViewTime

    function updateVisitTime(p_xmlHttp)
    {
        setTimeout('increaseVisitTime()', 1000);
        if (document.getElementById("VisitLogID") && document.getElementById("VisitLogID").value != p_xmlHttp.responseText) {
            document.getElementById("VisitLogID").value = p_xmlHttp.responseText;
        } //end if
    } //end function updateAssetViewTime
    */

    /* / spy */


/* assets lists */
    function filterMedia(p_location, p_type)
    {
        do_spy      = false;
        if (document.getElementById('loading') != null) {
            document.getElementById('loading').style.display = 'block';    
        } //end if
        var url     = sitePrefix + "aj_filterMedia.php?location=" + p_location + "&type=" + p_type + "&order_type=DESC&page=1";
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function filterMedia


    function ajNavigate(p_location, p_page)
    {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';

        var url    = sitePrefix + "aj_filterMedia.php?location=" + p_location + "&navigation=y&order_type=DESC&page=" + p_page;

        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function navigate

    function filterLocation(p_location)
    {    
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';
        if (p_location == "community") {
            var url     = sitePrefix + "aj_filterMedia.php?location=" + p_location + "&community=published&order_key=no_assets&order_type=DESC&page=1&rew=yes";
        } else {
            var url     = sitePrefix + "aj_filterMedia.php?location=" + p_location + "&type=N&topType=all_time&sortBy=DateCreated&sortTopBy=number_of_points&order_type=DESC&page=1&rew=yes";
        } //end if

        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function filterLocation

    function filterTop(p_topType)
    {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';

        var url    = sitePrefix + "aj_filterMedia.php?location=top20&topType=" + p_topType;

        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function filterTop
    
    function ajFilterPreferred(p_location, p_preferred)
    {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';
        
        var url     = sitePrefix + "aj_filterMedia.php?location=" + p_location + "&preferred_users=" + p_preferred + "&order_type=DESC&page=1&rew=yes";
        
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function ajFilterPreferred

    function ajSort(p_location, p_key)
    {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';

        var url     = sitePrefix + "aj_filterMedia.php?location=" + p_location + "&order_type=DESC&sortBy=" + p_key;

        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function ajSort

    function ajTopSort(p_location, p_key)
    {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';

        var url     = sitePrefix + "aj_filterMedia.php?location=" + p_location + "&order_type=DESC&sortTopBy=" + p_key;

        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function ajTopSort

    function ajSortType(p_location, p_type)
    {    
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';
       
        var url     = sitePrefix + "aj_filterMedia.php?location=" + p_location + "&order_type=" + p_type;
       
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function ajSortType

    function filterRating(p_rating)
    {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';
       
        var url     = sitePrefix + "aj_filterMedia.php?rating=" + p_rating + "&page=1";
        //alert(url);
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function filterRating
/* / assets lists */    


/* profile lists */
    function filterProfileMedia(p_user, p_location, p_type)
    {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';
       
        var url     = sitePrefix + "aj_filterProfile.php?pid=" + p_user + "&location=" + p_location +  "&type=" + p_type + "&order_type=DESC&page=1&rew=yes";

        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function filterProfileMedia

    function ajProfileNavigate(p_user, p_location, p_page)
    {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';
       
        var url    = sitePrefix + "aj_filterProfile.php?navigation=y&pid=" + p_user + "&location=" + p_location +  "&page=" + p_page + "&order_type=DESC&rew=yes";
        
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function ProfileNavigate

    function filterProfileLocation(p_user, p_location)
    {    
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';
       
        var url     = sitePrefix + "aj_filterProfile.php?pid=" + p_user + "&location=" + p_location + "&type=N&sortBy=DateCreated&order_type=DESC&page=1&rew=yes";
        //alert(url);
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function filterProfileLocation   

    function ajProfileSort(p_user, p_location, p_key)
    {    
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';
       
        var url     = sitePrefix + "aj_filterProfile.php?pid=" + p_user + "&location=" + p_location + "&sortBy=" + p_key + "&order_type=DESC&rew=yes";
       
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function ajProfileSort
    
    function ajProfileSortType(p_user, p_location, p_type)
    {    
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';
       
        var url     = sitePrefix + "aj_filterProfile.php?pid=" + p_user + "&location=" + p_location + "&order_type=" + p_type + "&rew=yes";
       
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function ajProfileSortType

    function ajProfileFilterPreferred(p_user, p_location, p_preferred){
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';
       
        var url     = sitePrefix + "aj_filterProfile.php?pid=" + p_user + "&location=" + p_location +  "&preferred_users=" + p_preferred + "&order_type=DESC&page=1&rew=yes";
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function ajProfileFilterPreferred



    function addFriend(p_friend)
    {
       var url = sitePrefix + "aj_addFriend.php?fid=" + p_friend;
       new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function addFriend    

    function manageProfileLists(p_pid, p_obj, p_mode)
    {
        var url   = sitePrefix + 'aj_manageProfileLists.php?pid=' + p_pid + '&obj=' + p_obj + '&mode=' + p_mode;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function manageProfileLists
    
    function setDefaultChannel(p_pid, p_channel, p_obj, p_mode)
    {
        var url   = sitePrefix + 'aj_manageProfileLists.php?pid=' + p_pid + '&channel=' + p_channel + '&obj=' + p_obj + '&mode=' + p_mode;
        //alert (url);
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function setDefaultChannel

     function deleteRssLink(p_pid, p_channel, p_obj, p_id)
    {
        var url   = sitePrefix + 'aj_manageProfileLists.php?pid=' + p_pid + '&channel=' + p_channel + '&obj=' + p_obj + '&RSSFeedLinkID=' + p_id;
        //alert (url);
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function deleteRssLink
/* / profile */


/* search */
    function filterSearchMedia(p_tags, p_type)
    {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';

        var url     = sitePrefix + "aj_filterSearch.php?tags=" + p_tags + "&type=" + p_type + "&page=1";

        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function filterSearchMedia

    function ajSearchSort(p_tags, p_key)
    {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';

        var url     = sitePrefix + "aj_filterSearch.php?tags=" + p_tags + "&sortBy=" + p_key;

        new xmlHttpClass(url, evalGlobalParam, 'get', '');

    } //end function ajSort

    function ajSearchNavigate(p_tags, p_page)
    {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';

        var url    = sitePrefix + "aj_filterSearch.php?navigation=y&tags=" + p_tags + "&page=" + p_page;

        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function ajSearchNavigate

    function filterSearchRating(p_tags, p_rating)
    {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';
       
        var url     = sitePrefix + "aj_filterSearch.php?tags=" + p_tags + "&rating=" + p_rating + "&page=1";
        
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function filterSearchRating    
    
    function ajSearchFilterPreferred(p_tags, p_preferred) {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';
       
        var url     = sitePrefix + "aj_filterSearch.php?tags=" + p_tags + "&preferred_users=" + p_preferred + "&page=1";

        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function ajSearchFilterPreferred
/* / search */

/* blog */

    function ajBlogNavigate(p_page)
    {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';

        var url     = sitePrefix + "aj_filterMedia.php?navigation=y&page=" + p_page;

        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function ajBlogNavigate

    function postBlogEntry(p_form)
    {
        var string_var  = createPostParams(p_form);
        var url         = sitePrefix + 'aj_postBlogEntry.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function postBlogEntry

    function postBlogEntryComment(p_form)
    {
        var string_var  = createPostParams(p_form);
        var url         = sitePrefix + 'aj_postBlogEntryComment.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function postBlogEntryComment

    function deleteBlogEntry(p_id)
    {
        var url         = sitePrefix + 'aj_deleteBlogEntry.php?pid='+p_id;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function deleteBlogEntry

/* / blog  */

/* rating */

    function setRating(p_rating)
    {
        var url  = sitePrefix + "aj_setRating.php?rating=" + p_rating;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function setRating
/* / rating */


/* community */

    function filterCommunity(p_filter, p_order)
    {
        document.getElementById('loading').style.display = 'block';
        var url    = sitePrefix + "aj_filterCommunity.php?community=" + p_filter + "&order_key=" + p_order + "&page=1&order_type=DESC&rew=yes";
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function filterCommunity

    function membersList(p_list_type)
    {
        document.getElementById('loading').style.display = 'block';
        var url    = sitePrefix + "aj_filterCommunity.php?list=" + p_list_type + "&community=published&order_key=no_assets&page=1&order_type=DESC&rew=yes";
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    }

    function membersNavigate(p_page)
    {
        document.getElementById('loading').style.display = 'block';
        var url     = sitePrefix + "aj_filterCommunity.php?navigation=y&page=" + p_page;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function membersNavigate

    function sortCommunity(p_key, p_type)
    {
        document.getElementById('loading').style.display = 'block';
        var url     = sitePrefix + "aj_filterCommunity.php?order_key=" + p_key + "&order_type=" + p_type;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function sortCommunity
/* / community */


/* tag cloud */

    function tagCloud()
    {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';
        var url     = sitePrefix + "aj_tagCloud.php?sortTagsBy=tag";
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function tagCloud

    function sortTagCloud(p_location, p_key)
    {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';
        var url     = sitePrefix + "aj_tagCloud.php?sortTagsBy=" + p_key;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function sortTagCloud

    function editTagCloud()
    {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';
        var url     = sitePrefix + "aj_tagCloud.php?op=edit";
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function editTagCloud

    function setFeatTag(p_tag_no)
    {
        var url         = sitePrefix + 'aj_tagCloud.php?tag_no=' + p_tag_no;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    }

/* / tag cloud */


/* redirect */

    function aj_redirectHome()
    {
        var url     = sitePrefix + "aj_redirectHome.php?rew=yes";
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function aj_redirectHome

    function aj_redirectHomeTab(p_listMode, p_location)
    {
        var url     = sitePrefix + "aj_redirectHome.php?listMode=" + p_listMode + "&location=" + p_location + "&rew=yes";
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function aj_redirectHomeTab

    function redirectCommunity()
    {
        var url     = sitePrefix + "aj_redirectCommunity.php?list=all&rew=yes";
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function aj_redirectCommunity

    function redirectProfile(p_id, p_location)
    {
        var url     = sitePrefix + "aj_redirectProfile.php?pid=" + p_id + "&location=" + p_location;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function redirectProfile

    function redirectChannels(p_listMode, p_location, p_sid)
    {
        var url     = sitePrefix + "aj_redirectChannels.php?ch_listMode=" + p_listMode + "&ch_location=" + p_location + '&ssid=' + p_sid;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function redirectChannels

/* / redirect */


/* register */

    function checkMembername(p_val)
    {
        if (p_val != "") {
            var url     = sitePrefix + "aj_checkMemberName.php?member=" + p_val;
            new xmlHttpClass(url, evalGlobalParam, 'get', '');
        } //end if
    } //end function checkMembername
/* / register */



/* lafs counter */

    function countLafs()
    {
        if (do_count) {
            var url = sitePrefix + "aj_counter.php";
            new xmlHttpClass(url, updateCounter, 'get', '');
        } //end if
    } //end function countLafs

    function updateCounter(p_xmlHttp)
    {
        if (document.getElementById("lafsCounter") != null) {
            setTimeout('countLafs()', 5000);
            eval(p_xmlHttp.responseText);
        } //end if
    } //end function updateCounter

/* end lafs counter */

/* / google ads */
    function refreshAd()
    {
        var currentTime   = new Date();
        if (googlead != null) googlead.location = sitePrefix + "ad.php?s=" + currentTime.getTime();
    } //end function refreshAd

    function refreshAds()
    {
        var currentTime       = new Date();
        if (document.getElementById('aux_googlead') != null) googlead.location = sitePrefix + "ad.php?s=" + currentTime.getTime();
        if (document.getElementById('aux_googlead_top') != null) googlead_top.location = sitePrefix + "ad_top.php?obj=TopAdwords&s=" + currentTime.getTime();
        if (document.getElementById('aux_googlead_top2') != null) googlead_top2.location = sitePrefix + "ad_top.php?obj=TopAdwords2&s=" + currentTime.getTime();
        if (document.getElementById('aux_googlead_top3') != null) googlead_top3.location = sitePrefix + "ad_top.php?obj=TopAdwords3&s=" + currentTime.getTime();

    } //end function refreshAds

/* / google ads */

/* channels list */
    function filterChannelsListMode(p_listMode, p_location)
    {
        do_spy      = false;
        var url     = sitePrefix + "aj_filterChannels.php?ch_listMode=" + p_listMode + "&ch_location=" + p_location + "&ch_order_key=channel_name&ch_order_cloud=popularity&ch_order_assets=DateCreated&ch_order_type=ASC&ch_page=1";

        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function filterProfileLocation

    function navigateChannels(p_listMode, p_location, p_page)
    {
        document.getElementById('loading').style.display = 'block';

        var url    = sitePrefix + "aj_filterChannels.php?ch_listMode=" + p_listMode + "&ch_location=" + p_location + "&navigation=y&ch_page=" + p_page;

        new xmlHttpClass(url, evalGlobalParam, 'get', '');

    } //end function navigateChannels


    function navigateChannelsSearch(p_tags, p_page)
    {
        document.getElementById('loading').style.display = 'block';
       
        var url    = sitePrefix + "aj_filterChannelsSearch.php?navigation=y&tags=" + p_tags + "&ch_search_page=" + p_page;
        
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    
    } //end function navigateChannelsSearch
    
    function filterChannelsRatingSearch(p_tags, p_rating)
    {
        document.getElementById('loading').style.display = 'block';
       
        var url     = sitePrefix + "aj_filterChannelsSearch.php?tags=" + p_tags + "&ch_rating=" + p_rating + "&ch_search_page=1";
        
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function filterChannelsRating
    
    function sortTagCloudChannels(p_key)
    {
        do_spy      = false;
        document.getElementById('loading').style.display = 'block';
       
        var url     = sitePrefix + "aj_filterChannels.php?ch_order_cloud=" + p_key;

        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function sortTagCloud

/* / channels list */

/* messages system */
    function msSetPermissions(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var     += '&obj=permissions';
        var url         = sitePrefix + 'aj_manageMessages.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function msSetPermissions

    function msAddMember(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var     += '&obj=member';
        string_var     += '&op=add';
        var url         = sitePrefix + 'aj_manageMessages.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function msAddMember

    function msRemoveMembers(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var     += '&obj=member';
        string_var     += '&op=remove';
        var url         = sitePrefix + 'aj_manageMessages.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function msRemoveMembers

    function msAlertFromMembers(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var     += '&obj=member';
        string_var     += '&op=alert';
        var url         = sitePrefix + 'aj_manageMessages.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function msAlertFromMembers

    function msAcceptGroups(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var     += '&obj=group';
        string_var     += '&op=add';
        var url         = sitePrefix + 'aj_manageMessages.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function msAcceptGroups

    function msAlertFromGroups(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var     += '&obj=group';
        string_var     += '&op=alert';
        var url         = sitePrefix + 'aj_manageMessages.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function msAlertFromGroups

    function msSendMessage(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var     += '&obj=msg';
        string_var     += '&op=send';
        var url         = sitePrefix + 'aj_manageMessages.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function msAlertFromGroups

    function msRemoveMember(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var     += '&obj=msg';
        string_var     += '&op=remove_user';
        var url         = sitePrefix + 'aj_manageMessages.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function msRemoveMember

    function msMarkSpam(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var     += '&obj=msg';
        string_var     += '&op=mark_spam';
        var url         = sitePrefix + 'aj_manageMessages.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function msMarkSpam

    function msDeleteList(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var     += '&obj=dir_list';
        string_var     += '&op=delete';
        var url         = sitePrefix + 'aj_manageMessages.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function msDeleteList

    function msDeleteMessage(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var     += '&obj=msg';
        string_var     += '&op=delete';
        var url         = sitePrefix + 'aj_manageMessages.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function msDeleteList

    function msSaveMessage(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var     += '&obj=msg';
        string_var     += '&op=save';
        var url         = sitePrefix + 'aj_manageMessages.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function msDeleteList

    function msNavigate(p_dir, p_msg, p_page)
    {
        var url     = sitePrefix + "aj_filterMessages.php?navigation=y&dir=" + p_dir + "&msg=" + p_msg + "&page=" + p_page;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function msNavigate

    function msSort(p_dir, p_msg, p_order_key, p_order_type)
    {
        var url     = sitePrefix + "aj_filterMessages.php?dir=" + p_dir + "&msg=" + p_msg + "&page=1&order_key=" + p_order_key + "&order_type=" + p_order_type;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function msSort

/* / messages system */

    function subscribeChannel(p_form)
    {
        var string_var  = createPostParams(p_form);
        var url         = sitePrefix + 'aj_subscribeChannel.php';

        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function subscribeChannel
    
    function postLoginInfo(p_form)
    {
        var string_var  = createPostParams(p_form);
        var url         = sitePrefix + 'aj_login.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function postLoginInfo
    
    function deleteAsset(p_asset_uid)
    {                                                              
        var url = sitePrefix + 'aj_deleteAsset.php?uid=' + p_asset_uid;

        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function deleteAsset
    
    function postSuggestion(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var      = string_var + '&type=suggestion';
        var url         = sitePrefix + 'aj_postSuggestion.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function postSuggestion

    function postBug(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var      = string_var + '&type=bug';
        var url         = sitePrefix + 'aj_postSuggestion.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function postSuggestion

    function postRSSLink(p_form)
    {
        if (document.getElementById('publishRssMsg') != null) {
            document.getElementById('publishRssMsg').innerHTML = '<center>processing...</center>';
        } //end if

        var string_var  = createPostParams(p_form);
        var url         = sitePrefix + 'aj_publishRSSFeed.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function postRSSLink


    function manageCPLists(p_obj, p_mode)
    {
        var url   = sitePrefix + 'aj_manageCPLists.php?obj=' + p_obj + '&mode=' + p_mode;
        new xmlHttpClass(url, evalGlobalParam, 'get', '');
    } //end function manageCPLists

    function createGroup(p_form)
    {
        var string_var  = createPostParams(p_form);
        string_var      = string_var + '&obj=display_template&mode=new_group';
        var url         = sitePrefix + 'aj_manageCPLists.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function createGroupt

    function register(p_form)
    {
        var string_var  = createPostParams(p_form);
        var url         = sitePrefix + 'aj_register.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function createGroupt

    function postCloneTheme(p_form)
    {
        var string_var  = createPostParams(p_form);
        var url         = sitePrefix + 'aj_manageCustomTheme.php';
        new xmlHttpClass(url, evalGlobalParam, 'post', string_var);
    } //end function postCloneTheme

    function evalGlobalParam(p_xmlHttp)
    {
        eval(p_xmlHttp.responseText);
        if (document.getElementById('spy')) {
            switch (document.getElementById('spy').value) {
                case "asset" :
                    if (document.getElementById('last_spy')) {
                        var last_spy = document.getElementById('last_spy').value;
                        setTimeout('spyAsset("' + last_spy + '")', spy_asset_timeout);
                    } //end if
                    document.getElementById('spy').value    = 'none';
                    break;

                default :
                    break;
            } //end switch
        } //end if

        if (document.getElementById('loading')) {
            document.getElementById('loading').style.display = 'none';
        } //end if

        if (document.getElementById('scrollContainer') != null) {
            document.body.style.overflow='hidden';
            document.getElementById('scrollContainer').style.height=parseInt(getWindowHeight()-36) + 'px';
            if (hasScrollBars('scrollContainer')) {
                document.getElementById('controlPanel').style.right='18px';
            } else {
                document.getElementById('controlPanel').style.right='1px';
            }
        } //end if
        p_xmlHttp = null;
    } //end function evalGlobalParam

    function evalGlobalParam2(p_xmlHttp)
    {
        alert((p_xmlHttp.responseText));
        eval(p_xmlHttp.responseText);
        p_xmlHttp = null;
    } //end function evalGlobalParam

    //start the buffer engine
    setTimeout('doBufferCommand()', timeout_interval);

    //DOJO
    function dumpData( type, data, evt )
    {
        //alert(data);
        eval(data);
    }

    function filterPlaylist(p_publisher, p_location, p_page, p_sort_by, p_order_type)
    {
        switch (p_location) {
            case "publisher" :
                dojo.widget.getWidgetById("tabPublisher").setUrl(sitePrefix + 'playlist.php?playlistLocation=' + p_location + '&playlistPublisher=' + p_publisher + '&playlistPage=' + p_page + '&playlistSortBy=' + p_sort_by + '&playlistOrderType=' + p_order_type);
                break;
            case "new" :
                dojo.widget.getWidgetById("tabNew").setUrl(sitePrefix + 'playlist.php?playlistLocation=' + p_location + '&playlistPublisher=' + p_publisher + '&playlistPage=' + p_page + '&playlistSortBy=' + p_sort_by + '&playlistOrderType=' + p_order_type);
                break;
            case "popular" :
                dojo.widget.getWidgetById("tabPopular").setUrl(sitePrefix + 'playlist.php?playlistLocation=' + p_location + '&playlistPublisher=' + p_publisher + '&playlistPage=' + p_page + '&playlistSortBy=' + p_sort_by + '&playlistOrderType=' + p_order_type);
                break;
            case "groups" :
                dojo.widget.getWidgetById("tabGroups").setUrl(sitePrefix + 'playlist.php?playlistLocation=' + p_location + '&playlistPublisher=' + p_publisher + '&playlistPage=' + p_page + '&playlistSortBy=' + p_sort_by + '&playlistOrderType=' + p_order_type);
                break;
            default :
                break;
        } //end switch

        /*
        dojo.io.bind({
            url: sitePrefix + "aj_filterPlaylist.php?playlistPublisher=" + p_publisher + "&playlistLocation=" + p_location + "&playlistPage=" + p_page + "&playlistSortBy=" + p_sort_by + "&playlistOrderType=" + p_order_type,
            load: dumpData,
            mimetype: "text/plain"
        });
        */
    } //end function filterPlaylist

    function submitPostForm(p_form, p_location)
    {
        var post_params = createPostParams(p_form);
        dojo.io.bind({
            url: sitePrefix + p_location + '?' + post_params,
            mimetype: "text/plain"
        });
    } //end function submitPostForm

    function openRightNav()
    {
        show_status = true;

        document.getElementById('controlPanel').style.display = 'block';
        void(dojo.lfx.html.fadeIn('controlPanel', 300).play());
        document.getElementById('cpLogin').style.display    = 'block';
    } //end function openRightNav

    function openRightNavCreateGroup()
    {
        show_status = true;

        var url   = sitePrefix + 'aj_manageCPLists.php?obj=display_template&mode=new_group';
        new xmlHttpClass(url, stateChangedRightNavCreateGroup, 'get', '');
    } //end function openRightNav

    function stateChangedRightNavCreateGroup(p_xmlHttp)
    {
        eval(p_xmlHttp.responseText);
        p_xmlHttp = null;

        //open the control panel
        document.getElementById('controlPanel').style.display = 'block';
        void(dojo.lfx.html.fadeIn('controlPanel', 300).play());

        //close panels
        if (djNodes) {
            //close others
            for (i=0; i<djNodes.length; i++) {
                if (djNodes[i].label != "My Groups") {
                    if (djNodes[i].labelNodeClassClosed) {
                        dojo.html.setClass(djNodes[i].labelNode, djNodes[i].labelNodeClassClosed);
                    }
                    dojo.lfx.wipeOut(djNodes[i].containerNode, 250).play();
        			djNodes[i].open=false;
                } else {
                    var custom_obj = djNodes[i];
                } //end if
            } //end for
        } //end if

        //open the right panel
		if (!custom_obj.open) {
            if (custom_obj.labelNodeClass) {
                dojo.html.setClass(custom_obj.labelNode, custom_obj.labelNodeClass);
            }
            dojo.lfx.wipeIn(custom_obj.containerNode, 250).play();
			custom_obj.open=true;
		} //end if
    } //end function stateChangedRightNavCreateGroup

    function openRightNavLogin()
    {
        show_status = true;

        //open the control panel
        document.getElementById('controlPanel').style.display = 'block';
        void(dojo.lfx.html.fadeIn('controlPanel', 300).play());

        //close panels
        if (djNodes) {
            //close others
            for (i=0; i<djNodes.length; i++) {
                if (djNodes[i].label != "Log in") {
                    if (djNodes[i].labelNodeClassClosed) {
                        dojo.html.setClass(djNodes[i].labelNode, djNodes[i].labelNodeClassClosed);
                    }
                    dojo.lfx.wipeOut(djNodes[i].containerNode, 250).play();
        			djNodes[i].open=false;
                } else {
                    var custom_obj = djNodes[i];
                } //end if
            } //end for
        } //end if

        //open the right panel
		if (!custom_obj.open) {
            if (custom_obj.labelNodeClass) {
                dojo.html.setClass(custom_obj.labelNode, custom_obj.labelNodeClass);
            }
            dojo.lfx.wipeIn(custom_obj.containerNode, 250).play();
			custom_obj.open=true;
		} //end if
    } //end function openRightNav
