﻿// JScript File
function DisableButtons(buttonArray, val)
{
    for (i = 0; i < buttonArray.length; i++)
    {
        if (document.getElementById(buttonArray[i]) != null)
        {
            document.getElementById(buttonArray[i]).disabled = val;
        }
    }
}

 function CheckAllDataGridCheckBoxes(aspCheckBoxID, checkVal)
    {
        re = new RegExp(aspCheckBoxID + '$')  

        for(i = 0; i < document.forms[0].elements.length; i++)
	    {
		    elm = document.forms[0].elements[i]
		    if (elm.type == 'checkbox')
		    {
			    if (re.test(elm.name)) 
			    {
				    elm.checked = checkVal
			    }
		    }
	    }
    }
       
    function AlphaNumeric(Str)
    {
        if(Str.length == 16)
        {
                var ReqExp = /^[a-zA-Z0-9]{1,16}$/; 
                if (Str.match(ReqExp)){ 
                   return true; 
                }
                else { 
                    return false; 
                }
         }
         else { 
               return false; 
         }
    }


    
     function EmptyMsg()
     {
        //document.getElementById("msg").innerText = ""
        document.getElementById("msg").style.display = "none";
        
      }
      
       function ValidateUserAdd(aspCheckBoxID,type)
    {
        re = new RegExp(aspCheckBoxID + '$')
        var Status = 0;  

        for(i = 0; i < document.forms[0].elements.length; i++)
	    {
		    elm = document.forms[0].elements[i]
		    if (elm.type == 'checkbox')
		    {
			    if (re.test(elm.name)) 
			    {
			       if(elm.checked)
			       {
			            Status = 1;
				        break;
				   }
				    
			    }
		    }
	    }
	    if(Status == 1)
	    {
	       if(ValidateBannedUserAdd())
	        return true;
        }
        else
        {
            if(type == 'Market')
            {
            alert("Please Enter PUID and select at least one Market");
            return false;
            }
        }
	    return false;
	   
    }
    
     function ValidateBannedUserAdd()
     {
            if(document.getElementById("ctl00$AllContent$personalUniqueIdentifierTextBox").value == "")
            {
                alert("Please Enter PUID and select at least one Market");
                return false;
            }
            if(!AlphaNumeric(document.getElementById("ctl00$AllContent$personalUniqueIdentifierTextBox").value))
            {
                alert("PUID Should be alpha Numeric and having 16 characters");
                return false;
            }
            return true;
     }
    
    function CheckCheckBoxes(aspCheckBoxID,type,page)
    {
    
        re = new RegExp(aspCheckBoxID + '$')
        var Status = 0;  

        for(i = 0; i < document.forms[0].elements.length; i++)
	    {
		    elm = document.forms[0].elements[i]
		    
		    if (elm.type == 'checkbox')
		    {   
		        if (re.test(elm.name)) 
			    {
			       if(elm.checked)
			       {
			            Status = 1;
				        break;
				   }
			    }
		    }
	    }
	    if(Status == 1)
	    {
	        if(type == 'Market')
            {
               var yes=confirm("Do you want to remove selected Markets?");
            }
            if(type == 'User')
            {
                var yes=confirm("Do you want to remove selected Windows Live User ID's?");
            }
            if(type == 'PublishPromotion')
            {
                var yes=confirm("Are you sure to publish selected Promotions?");
            }
            if(type == 'RejectPromotion')
            {
                var yes=confirm("Are you sure to reject selected Promotions?");
            }
            if(type == 'DeletePromotion')
            {
                var yes=confirm("Are you sure to delete selected Promotions?");
            }
	        if(type == 'ActivateTemplate')
            {
                var yes=confirm("Do you want to activate selected Templates?");
            }
            if(type == 'DeActivateTemplate')
            {
                var yes=confirm("Do you want to deactivate selected Templates?");
            }
            if(type == 'BannedUser')
            {
                var yes=confirm("Do you want to remove selected Banned User PUID's?");
            }
            if(yes)
            {
                return true;
            }
        }
        else
        {
            if(type == 'Market')
            {
            alert("Please select at least one Market");
            return false;
            }
            if(type == 'User')
            {
            alert("Please select at least one Windows Live User ID");
            return false;
            }
            if(type == 'PublishPromotion' || type == 'RejectPromotion' || type=='DeletePromotion')
            {
                alert("Please select at least one Promotion");
                return false;
            }
            if(type == 'ActivateTemplate' || type == 'DeActivateTemplate')
            {
                alert("Please select at least one Template");
                return false;
            }
            if(type == 'BannedUser')
            {
                var yes=confirm("Please select at least one Windows Live PUID's?");
            }
        }
	    return false;
	    
	   
    }
        
function getUrlParam(param, df)
{
    var params = document.location.search.split('&');
    for (var i = 0; i < params.length; i++)
    {
        var qm = (i == 0 ? "?" : "");
        if (params[i].slice(0, params[i].indexOf('=')).toLowerCase() == (qm + param.toLowerCase()))
        {
            return unescape(params[i].slice(params[i].indexOf('=') + 1));
        }
    }
    return df;
}

var callbackList = new Array();

function CreateCustomCallback(url, onSuccessCallback, onErrorCallback)
{
    try
    {    
        t = new Date().getTime();
        // branch for native XMLHttpRequest object
        if (window.XMLHttpRequest) {
            var customCall = new XMLHttpRequest();
            customCall.abort();
            customCall.onreadystatechange = OnCallbackResponse;
            customCall.open("GET", url + "&nocache=" + t, true);
            customCall.send(null);
            callbackList.push(new Array(onSuccessCallback, onErrorCallback, customCall));
        } 
        else if (window.ActiveXObject) {
            // branch for IE/Windows ActiveX version
            var customCall = new ActiveXObject("Microsoft.XMLHTTP");
            if (customCall) {
                customCall.abort();
                customCall.onreadystatechange = OnCallbackResponse;
                customCall.open("GET", url + "&nocache=" + t, true);
                //customCall.setRequestHeader(
                customCall.send();
                callbackList.push(new Array(onSuccessCallback, onErrorCallback, customCall));
            }
        }
    }
    catch(err)
    {
        if (onErrorCallback)
        {
            onErrorCallback.apply(err);
        }
    }
}

function OnCallbackResponse()
{
    var i;

    for (i = 0; i < callbackList.length; i++)
    {
        try
        {
            if (callbackList[i][2].readyState == 4 && callbackList[i][0])
            {
                callbackList[i][0].apply(null, new Array(callbackList[i][2].responseText));
                callbackList.splice(i, 1);
            }
        }
        catch(err)
        {
            if (callbackList[i][1])
            {
                callbackList[i][1].apply(err);
                callbackList.splice(i, 1);
            }
        }
    }
}

//--------------- Refreshing session -----------//
function RefreshS()
{
    CreateCustomCallback("/StageCreatorService.aspx?method=rs", null, null);
    setTimeout(RefreshS, 240000);
}

function StartRefreshS()
{
    setTimeout(RefreshS, 240000);
}

//-------------- Load initial objects------------//
function LoadObjects()
{
    var i;
    for (i = 0; i < loadObjects.length; i++)
    {
        loadObjects[i].apply();
    }
}

var nicknameEventFunction = new Array();

function AddNicknameEventFunction(func)
{
    nicknameEventFunction.push(func);
}

function Event_NicknameSet(nickname)
{
    var i;
    for (i = 0; i < nicknameEventFunction.length; i++)
    {
        nicknameEventFunction[i].apply(null, new Array(nickname));
    }
}

//----------- Flash Player ------------

function PlayVideo(videoId)
{
    var player = document.getElementById(scriptConfig.embedPlayerId);
    if (player && player.vidPlayId)
    {
        player.vidPlayId(videoId);
        return true;
    }
    
    return false;
}

function AddToPlayList(videoId)
{
    var player = document.getElementById(scriptConfig.embedPlayerId);
    if (player && player.queAddId)
    {
        player.queAddId(videoId);
        return true;
    }
    
    return false;
}   

function StartPlayVideo()
{
    var player = document.getElementById(scriptConfig.embedPlayerId);
    if (player && player.vidResume)
    {
        player.vidResume();
        return true;
    }
    
    return false;
}   

function GetCurrentPlayingVideo()
{
    var player = document.getElementById(scriptConfig.embedPlayerId);
    var videoId;
    if (player && player.vidGetId)
    {
        try
        {
           videoId = player.vidGetId();
        }
        catch(e){} 
        if (videoId == "undefined")
        {
            return null;
        }
        return videoId;
    }
    
    return null;
}
//-------------- Soapbox-----------------------
// called when video is played in inline flash player

var soapboxEventFunction = new Array();

function AddSoapboxEvent(func)
{
    soapboxEventFunction.push(func);
}

function Event_VideoChanged(videoId)
{
    Msn.SoapboxServiceManager.LoadVideo(videoId, onLoadVideoCb, onLoadVideoErrorCb);
}

function onLoadVideoCb(result)
{
    if (result.StatusCode == 0)
    {
        //alert(result.Video);
        result.Video.NoOfComments = result.Video.NumComments;
        result.Video.PopularTags = result.Video.Tags;
        // to be removed
        result.Video.CsId = "uuv";
        
        var i;
        
        for (i = 0; i < soapboxEventFunction.length; i++)
        {
            soapboxEventFunction[i].apply(null, new Array(result));
        }

    }
    else
    {
        
    }
}

function onLoadVideoErrorCb()
{
      
}

var customScriptLoaded = true;