﻿// VSK Related Utility Javascript Classes

$(function () {
   
    $(".vk-button:not(.ui-state-disabled)")
		.hover(
			function () {
			    $(this).addClass("ui-state-hover");
			},
			function () {
			    $(this).removeClass("ui-state-hover");
			}
		);

});


// Show / Hide Panels
function toggle_panel(index, pnl) {
    switch (index) {
        case 1:
            $(pnl).slideDown(1000);
            break;
        case 2:
            $(pnl).hide("highlight", 1000);
            break;
    }
}
function ShowHide(index, pnl) {
    switch (index) {
        case 1:
            $(pnl).show();
            break;
        case 2:
            $(pnl).hide();
            break;
    }
}


function toggle_tw_panel(index,pnl1,pnl2)
{
   switch(index)
   {
     case 1:
        $(pnl1).show();
        $(pnl2).hide();
        break;
     case 2:
        $(pnl2).show();
        $(pnl1).hide();
        break;
   }
} 

// search autocomplete
function src_ac(clid,surl)
{
       $(clid).autocomplete({ 
        serviceUrl:surl,
        minChars:2,  
        delimiter: /(,|;)\s*/, // regex or character
        maxHeight:400,
        width:280,
        zIndex: 9999,
        deferRequestBy: 0, //miliseconds
        noCache: false //default is false, set to true to disable caching
        });
}      
     

// Count text box characters   
function Count_Chars(obj,label,maxlength)
{
     var len = obj.value.length;
     if (len >= maxlength)
     {
       obj.value = obj.value.substr(0, maxlength);
     }
    $(label).text(maxlength - len);
}

function ShowHidePanel(pnl,icon)
{         
    if($(pnl).is(':visible'))
    {
        $(pnl).hide(); 
        $(icon).removeClass('ui-icon ui-icon-triangle-1-s');
        $(icon).addClass('ui-icon ui-icon-triangle-1-e');
    }  
    else
    {
        $(pnl).show();
        $(icon).removeClass('ui-icon ui-icon-triangle-1-e');
        $(icon).addClass('ui-icon ui-icon-triangle-1-s');
    }
} 


// check /uncheck all checkboxes in list
function SelectAll(CheckBoxControl)
{
    var _value = CheckBoxControl.checked;
    if (_value == true)
    {
        var i;
        for (i=0; i < document.forms[0].elements.length; i++)
        {
            if ((document.forms[0].elements[i].type == 'checkbox') && (document.forms[0].elements[i].name.indexOf('MyList') > -1))
            {
                 document.forms[0].elements[i].checked = true;
            }
        }
   }
   else
   {
        var i;
        for (i=0; i < document.forms[0].elements.length; i++)
        {
            if ((document.forms[0].elements[i].type == 'checkbox') && (document.forms[0].elements[i].name.indexOf('MyList') > -1))
            {
                document.forms[0].elements[i].checked = false;
            }
        }
    }
}

//* Ajax Related Operations
function Ajax_Process(path, params, id,tp) {
    $.ajax({
        type: tp,
        url: path,
        data: params,
        success: function (msg) {
            $(id).html(msg);
        }

    });
}
/* Process Like | Dislike */
function Process_Advice(path, params, id, actionid, actiontype) {
    toggle_panel(1, '#shw_lgn');
    // start posting ajax
    Ajax_Process(path, params, id,"GET");
    // disable like or dislike button
    if (actiontype == 0) {
        $(actionid).removeClass("ui-adv-icon-good");
        $(actionid).removeClass("ui-adv-icon-gd_hover");
        $(actionid).addClass("ui-fixed ui-adv-icon-good");

    } else {
        $(actionid).removeClass("ui-adv-icon-bad");
        $(actionid).removeClass("ui-adv-icon-bd_hover");
        $(actionid).addClass("ui-fixed ui-adv-icon-bad");
    }
    // disable action
}
/* Process Abuse Report */
function Process_Req(path, params, id,type) {
    toggle_panel(1, '#shw_lgn');
    // start posting ajax
    Ajax_Process(path, params, id, type);
}
/* Process Abuse Report */
function Process_Req(path, params, id, type,loadingid) {
    ShowHide(1, '#' + loadingid);
    // start posting ajax
    Ajax_Process(path, params, id, type);
    ShowHide(2, '#' + loadingid);
}
/* Submit Abuse Report */
function Post_Abuse(path, params, id, elementid, msgid) {
    var value = $(elementid).val();
    if (value == '') {
        Display_Message(msgid, "Please select reason", 1, 200);
        return;
    }
    Display_Processing(msgid);
    Ajax_Process(path, params + "&val=" + value, id, "POST");
    toggle_panel(1, '#shw_lgn');
}
/* Submit Playlist */
function Post_Playlist(path, params, id, elementid, msgid) {
    var value = $(elementid).val();
    if (value == '') {
        Display_Message(msgid, "Please select playlist", 1, 200);
        return;
    }
    Display_Processing(msgid);
    Ajax_Process(path, params + "&val=" + value, id, "POST");
    toggle_panel(1, '#shw_lgn');
}
/* Validate and Post data */
function Post_Data(path, params, id, elementid, msgid,valmsg) {
    var value = $('#' + elementid).val();
    if (value == '') {
        Display_Message('#' + msgid, valmsg, 1, 200);
        return;
    }
    Display_Processing(msgid);
    Ajax_Process(path, params + "&val=" + value, id, "POST");
    $('#' + elementid).val('');
}
/* Display processing message */
function Display_Processing(id) {
    $(id).html("<div style='padding:4px 0px;'>Processing....</div>");
}
/* Display Message */
function Display_Message(id, msg, tp, width) {
    if (tp == 0)
        $(id).html("<div class='ui-state-highlight ui-corner-all' style='width:" + width + "px;margin:4px auto 4px auto;'>" + msg + "</div>");
    else
        $(id).html("<div class='ui-state-error ui-corner-all' style='width:" + width + "px;margin:4px auto 4px auto;'>" + msg + "</div>");
}
/* view loading */
function Expand_View(path, params, msg) {
    // collapse info view if open
    Collapse_Info();
    $('#bx_expander').addClass('box-expander-body');
    $('#bx_exp_arrow2').removeClass('ui-icon-triangle-1-s');
    $('#bx_exp_arrow2').addClass('ui-icon-triangle-1-n');
    $('#bx_exp_hd2').removeClass('box-expander-head');
    $('#bx_exp_hd2').addClass('box-expander-head-active');
    $('#bx_exp_bd2').show('slow');
    $('#bx_hd_exp2').hide('slow');
    $('#bx_exp_hd2').unbind("click");
    $('#bx_exp_hd2').bind('click', function () {
        Collapse_View(path, params, msg);
    });
    // ajax processing
    Ajax_Process(path, params, msg, "POST");

}

function Collapse_View(path, params, msg) {
    $('#bx_expander').removeClass('box-expander-body');
    $('#bx_exp_arrow2').addClass('ui-icon-triangle-1-s');
    $('#bx_exp_arrow2').removeClass('ui-icon-triangle-1-n');
    $('#bx_exp_hd2').addClass('box-expander-head');
    $('#bx_exp_hd2').removeClass('box-expander-head-active');
    $('#bx_exp_bd2').hide('slow');
    $('#bx_hd_exp2').show('slow');
    $('#bx_exp_hd2').unbind("click");
    $('#bx_exp_hd2').bind('click', function () {
        Expand_View(path, params, msg);
    });
}
/* Box behaviour design */
function Expand_Info(path, params, msg) {
    // collapse view if open
    Collapse_View(path, params, msg);
    $('#bx_expander').addClass('box-expander-body');
    $('#bx_exp_arrow').removeClass('ui-icon-triangle-1-s');
    $('#bx_exp_arrow').addClass('ui-icon-triangle-1-n');
    $('#bx_exp_hd').removeClass('box-expander-head');
    $('#bx_exp_hd').addClass('box-expander-head-active');
    $('#bx_exp_bd').show('slow');
    $('#bx_hd_exp').hide('slow');
    $('#bx_exp_hd').unbind("click");
    $('#bx_exp_hd').bind('click', function () {
        Collapse_Info();
    });
}

function Collapse_Info() {
    $('#bx_expander').removeClass('box-expander-body');
    $('#bx_exp_arrow').addClass('ui-icon-triangle-1-s');
    $('#bx_exp_arrow').removeClass('ui-icon-triangle-1-n');
    $('#bx_exp_hd').addClass('box-expander-head');
    $('#bx_exp_hd').removeClass('box-expander-head-active');
    $('#bx_exp_bd').hide('slow');
    $('#bx_hd_exp').show('slow');
    $('#bx_exp_hd').unbind("click");
    $('#bx_exp_hd').bind('click', function () {
        Expand_Info();
    });
}

/* Box behaviour design */
function Expand_Usr_Bx(path, params, output, loadingid) {
    $(output).show('slow');
    $('#bx_tp_usr_arrow').removeClass('ui-icon-triangle-1-s');
    $('#bx_tp_usr_arrow').addClass('ui-icon-triangle-1-n');
    $('#bx_tp_usr_hd').unbind("click");
    $('#bx_tp_usr_hd').bind('click', function () {
        Collapse_Usr_Bx(path, params, output, loadingid);
    });
    // ajax request
    Process_Req(path, params, output, 'GET', loadingid)
}

function Collapse_Usr_Bx(path, params, output, loadingid) {
    $('#bx_tp_usr_arrow').addClass('ui-icon-triangle-1-s');
    $('#bx_tp_usr_arrow').removeClass('ui-icon-triangle-1-n');
    $('#bx_tp_usr_hd').unbind("click");
    $('#bx_tp_usr_hd').bind('click', function () {
        Expand_Usr_Bx(path, params, output, loadingid);
    });
    $(output).hide('slow');
}



