﻿var _isUserProfile = false;

var _fiPad = (navigator.userAgent.toLowerCase().indexOf("ipad") >= 0);
var _fiPhone = (navigator.userAgent.toLowerCase().indexOf("iphone") >= 0);
var _fiPod = (navigator.userAgent.toLowerCase().indexOf("ipod") >= 0);
var _fAndroid = (navigator.userAgent.toLowerCase().indexOf("android") >= 0);
var _fSkyfire = (navigator.userAgent.toLowerCase().indexOf("skyfire") >= 0);
var _fIE7 = (navigator.appVersion.indexOf("MSIE 7.")==-1) ? false : true;

iOSRedirect();
AndroidRedirect();
//if (!_fIE7)
AvoidFrames();

//default user id value
var _userprofileID = 0;

var _user = null;
var signindialog = false;
var addedtoqueuedialog = false;
var offlinequeuedialog = false;

function LoginOverlayInit(appid)
{
    $jq("#signin").dialog({
        autoOpen: false,
        width: 520,
        modal: true,
        autoResize: true,
        closeText: 'close X',
        open: function (event, ui) {
            $jq.ajax({
                url: '/accounts/CrackleLogin.aspx?appid=' + appid,
                cache: true,
                success: function (r) {
                    $jq("#signin").html(r);
                    signindialog = true;
                    $jq("#signin input:eq(0)").focus();
                    if (typeof (PauseVideo) != "undefined")
                        PauseVideo();
                }
            });
        },
        close: function (event, ui) {
            signindialog = false;
            if (typeof (PlayVideo) != "undefined")
                PlayVideo();
        },
        buttons: {
            "Close": function () {
                $jq(this).dialog("close");
            }
        }
    });

//closes the dialog window if the user clicks outside of the window.

$jq(".ui-widget-overlay").live("click", function () {
    if (addedtoqueuedialog)
        $jq("#addedtoqueuedialog").dialog("close");
    if (offlinequeuedialog)
        $jq("#viewofflinequeue").dialog("close");
    if (signindialog)
        $jq("#signin").dialog("close");
});

}
function openLogin() {
    $jq("#signin").dialog('open');
}

function validatePassword(newPassword, newPassword2) {
    var rePassword = /^(?=.{8,20})(?=.*[^A-Za-z])(?=.*[A-Za-z])[^  ]*$/;
    var pwmessage = "";

    if (!newPassword.match(rePassword)) {
        pwmessage = "Passwords must contain at least eight characters and at least one number or symbol.";
    }
    if (newPassword != newPassword2) {
        pwmessage = "Please verify the 'New Password' matches the 'Verify Password'.";
    }
    return pwmessage;
}

function onPasswordChangeForget() {
    var newPassword1 = trim($jq('#txtNewPassword1').val());
    var newPassword2 = trim($jq('#txtNewPassword2').val());

    var validatePasswordMessage = validatePassword(newPassword1, newPassword2);
    if (validatePasswordMessage != "") {
        $jq('#errMsg').html(validatePasswordMessage);
        return false;
    }
    return true;
}

function onChangePassword(userName) {
    var curPassword = trim($jq('#txtCurrentPassword').val());
    var newPassword = trim($jq('#txtNewPassword').val());
    var newPassword2 = trim($jq('#txtNewPassword2').val());

    // validation
    if (curPassword == newPassword) {
        $jq('#errMsg').html("Your new password matches the old one. Please, try again.");
        return false;
    }

    var validatePasswordMessage = validatePassword(newPassword, newPassword2);
    if (validatePasswordMessage != "") {
        $jq('#errMsg').html(validatePasswordMessage);
        return false;
    }

    // call handler and process response
    var strURL = "/accounts/password/change.ashx?un="+ encodeURIComponent(userName) + "&pw=" + encodeURIComponent(Encrypt(curPassword)) + "&npw=" + encodeURIComponent(Encrypt(newPassword));
    $jq.ajax({
        url: strURL,
        success: function (req) {
            var userId = parseInt(req);
            if (!isNaN(userId))
                location.href = userId;
            else
                $jq("#errMsg").html(req);
        }
    });
}

function errorMsg(ctl, errMsg) {
    ctl.html(errMsg);
    ctl.attr('style', "display:block;color:Red;");
}

function onRegisterSubmit(isSecure, eltEmail, eltUsername, eltPassword, eltConfirmPassword, pwd, month, day, year, gender, captcha, tos, newsletter, errors) {
    // check for valid registration input before calling the registration handler
    var strEmail = trim(eltEmail);
    if (!IsValidEmail(strEmail)) {
        errorMsg(errors, 'Enter your Email Address.');
        return false;
    }

    var strUsername = trim(eltUsername);
    if (!strUsername) {
        errorMsg(errors, 'User name is required.');
        return false;
    }
    
    var strPassword = trim(eltPassword);
    if (eltPassword.fDefault || !strPassword /*|| IsValidPassword(strPassword)*/) {
        errorMsg(errors, 'Passwords must be between 8 and 20 characters in length and must contain at least one number or symbol.');
        return false;
    }
    
   // var eltConfirmPassword = $jq('#passwordConfirm');
    var strConfirmPassword = trim(eltConfirmPassword.val());
    if (strConfirmPassword != strPassword) {   
        errorMsg(errors, 'Your password does not match.');
        return false;
    }

    if (gender == "Select") {
        errorMsg(errors, 'Gender is required.');
        return false;
    }

    if (month == "0" || day == "0" || year == "0")
    {
        errorMsg(errors, 'Enter a valid Month, Day and Year for Date Of Birth');
        return false;
    }

    // construct handler url
    var strURL = "/accounts/create/register.ashx?un=" + encodeURIComponent(strUsername);
    strURL += "&pw=" + pwd; 
    strURL += "&cp=" + encodeURIComponent(captcha);
    strURL += "&e="  + encodeURIComponent(strEmail);
    strURL += "&m="  + encodeURIComponent(month);
    strURL += "&d="  + encodeURIComponent(day);
    strURL += "&y="  + encodeURIComponent(year);
    strURL += "&g="  + encodeURIComponent(gender);
    strURL += "&n=" + (newsletter ? "1" : "0");
    strURL += "&t=" + (tos ? "1" : "0");

    // register
    registrationHandler(strURL, isSecure);

    return false;
}

function registrationHandler(strURL, isSecure) {
    try {
        var elem = document.createElement("script");
        elem.id = "script00x";
        elem.type = "text/javascript";
        elem.async = true;

        elem.src = (isSecure ? 'https://' : 'http://') + window.location.host + strURL;
        document.body.appendChild(elem);
    }
    catch (e) {
        //alert('error in registration handler: ' + e);
    }
}

function onActivateSubmit(isSecure, userID) {
    var eltError = $jq('#errorMsg');
    var strCode = $jq('#txtCode').val();
    
    if (strCode.fDefault || !strCode) {
        eltError.html('Please enter your activation code.');
        eltError.addClass('errorMsg');
        return false;
    }
    var strURL = "/activate/activate.ashx?u=" + userID + "&c=" + encodeURIComponent(Encrypt(strCode));  
    activationHandler(strURL, isSecure);

    /** Omniture code to track activate **/
    var s = s_gi(s_account); s.linkTrackVars = 'events';
    s.linkTrackEvents = 'event48 '; s.events = 'event48 ';
    s.trackingServer = 'omn.crackle.com'; s.trackingServerSecure = 'omn.crackle.com'; s.t();

    return false;
}


function activationHandler(strURL, _isSecure) {
    try {
        var elem = document.createElement("script");
        elem.id = "script00x";
        elem.type = "text/javascript";
        elem.async = true;

        elem.src = (_isSecure ? 'https://' : 'http://') + window.location.host + strURL;
        document.body.appendChild(elem);
    }
    catch (e) {
        //alert('error in activation handler: ' + e);
    }
}

function OnDeactivate(isSecure, partnerId, userID) {
    var eltError = $jq('#errorMsg');

    var strURL = "/activate/deactivate.ashx?p=" + partnerId + "&u=" + userID;
    deactivationHandler(strURL, isSecure);

    /** Omniture code to track unlinking of crackle and parter user ids **/
    var s = s_gi(s_account); s.linkTrackVars = 'events';
    s.linkTrackEvents = 'event49 '; s.events = 'event49 ';
    s.trackingServer = 'omn.crackle.com'; s.trackingServerSecure = 'omn.crackle.com'; s.t();

    return false;
}

function deactivationHandler(strURL, _isSecure) {
    try {
        var elem = document.createElement("script");
        elem.id = "script00x";
        elem.type = "text/javascript";
        elem.async = true;

        elem.src = (_isSecure ? 'https://' : 'http://') + window.location.host + strURL;
        document.body.appendChild(elem);
    }
    catch (e) {
        //alert('error in deactivation handler: ' + e);
    }
}

function ParseDeactivationResponse(responseText) {
    var parser;
    var xmlDoc;
    if (window.DOMParser) {
        parser = new DOMParser();
        xmlDoc = parser.parseFromString(responseText, "text/xml");
    }
    else // Internet Explorer
    {
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = "false";
        xmlDoc.loadXML("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + responseText);
    }

    DeactivateUser(xmlDoc);
}

function DeactivateUser(req) {
    var hasErrors = req.getElementsByTagName("error")[0].childNodes.length; 
    if (hasErrors > 0) {
        var error;
        error = req.getElementsByTagName("error")[0].childNodes[0].nodeValue;
        $jq('#errorMsg').html(error);
        $jq('#errorMsg').addClass("errorMsg");
        return (error == 0);
    }

    var id = "#p_" + req.getElementsByTagName("pid")[0].childNodes[0].nodeValue + "_" + req.getElementsByTagName("id")[0].childNodes[0].nodeValue;
    $jq(id).attr('style', 'display:none');

    $jq('#errorMsg').html("You deactivated your account successfully.");
    $jq('#errorMsg').addClass("errorMsg");

    return false;
}
  
function onLoginSubmit(isSecure){
    
	var eltError = $jq('#errorMsg');
	
	var eltUsername = $jq('#usernameText');
	var strUsername = trim (eltUsername.val());

	if (eltUsername.fDefault || !IsValidEmail (strUsername))
	{
		eltError.html('Please enter a valid email address.');
		eltError.addClass('errorMsg');
		return false;
	}
	
	var eltPassword = $jq('#passwordText');
	var strPassword = trim (eltPassword.val());
	if (eltPassword.fDefault || !strPassword)
	{
		eltError.html('Please enter a password.');
		eltError.addClass('errorMsg');
		return false;
	}
	var strURL = "/accounts/login.ashx?un="+encodeURIComponent(strUsername)+"&pw="+encodeURIComponent(EncryptPassword());
	
//	if (GetOfflineQueue() != null && GetOfflineQueue().length > 0) {
//	    strURL += "&queue=" + GetOfflineQueue();
//	}
	
	//checked
    var rememberMe = $jq('#chkRememberMe').is(':checked');
    if (rememberMe == true) {
        strURL += "&rmmbrme=true";
    }

    loginHandler(strURL, isSecure); 
	
	/*$jq.ajax({
	    url: strURL,
	    dataType: "xml",
	    success: function(req) {alert('success'); LoadUser(req);}
	});*/

	/** Omniture code to track login **/
	var s = s_gi(s_account); s.linkTrackVars = 'events';
	s.linkTrackEvents = 'event8';s.events = 'event8'; 
	s.trackingServer = 'omn.crackle.com'; s.trackingServerSecure = 'omn.crackle.com';s.t();
	
	return false;
}


function loginHandler(strURL, _isSecure) {
   try {
        var elem = document.createElement("script");
        elem.id = "script00x";
        elem.type = "text/javascript";
        elem.async = true;
   
     elem.src = (_isSecure?'https://':'http://') + window.location.host + strURL;
     document.body.appendChild(elem);        
   }
   catch (e) {
          //alert('error in login handler: ' + e);
   }
}
        
function onLoginSubmitFacebook(response)
{
    //alert("starting onLoginSubmitFacebook " + response);
    //alert(response.perms);

	var strURL = "/accounts/login.ashx?facebookLogin=true";

	    $jq.ajax({
	        url: strURL,
	        dataType: "xml",
	        success: function (req) { LoadUser(req); },
	        error: function (XMLHttpRequest, textStatus, errorThrown) { /*alert(textStatus + " - " + errorThrown);*/ }

	    });

	    /** Omniture code to track login **/
	    var s = s_gi(s_account); s.linkTrackVars = 'events';
	    s.linkTrackEvents = 'event8'; s.events = 'event8';
	    s.trackingServer = 'omn.crackle.com'; s.trackingServerSecure = 'omn.crackle.com'; s.t();
	return false;
}

function SendEmailRequest()
{
	var email = $jq('#txtEmailAddress').val();
	if (email)
	{
	    $jq.ajax({
	        url: "/accounts/FetchPassword.ashx?email=" + encodeURIComponent(email),
	        dataType: "xml",
	        success: function (req)
			{
				//var xmlDoc = req.responseXML;
				var error = req.getElementsByTagName("error")[0].childNodes[0].nodeValue
				var message = req.getElementsByTagName("message")[0].childNodes[0].nodeValue;

				ShowErrorText ('#requestEmailRespone', message, error != 0);
			}
	    });
	}
	
	return false;
}
function ShowErrorText (idError, strError, fError)
{
	var eltError = $jq(idError);
	if (!eltError)
		return;
	$jq(eltError).html(strError);
	$jq(eltError).addClass("errorMsg");
	$jq(eltError).removeClass("txtMsg");
}

function RequireLogin (fnPending, strMessage)
{
	if (fnPending && fnPending.tagName == "A")
	{
		var _elt = fnPending;
		fnPending = function ()
		{
			location.href = _elt.href;
		}
	}
	if (_user && _user.IsLoggedIn && (_user.IsLoggedIn() == true))
	{
		if (!fnPending)
			return true;

		fnPending (true);
	}
	else
		openLogin (fnPending, strMessage);
		
	return false;
}

function IsUserLoggedIn() {
    if (_user && _user.IsLoggedIn && (_user.IsLoggedIn() == true))
	{
	    return true;
	}
	return false;
}







function trim(stringToTrim) 
{
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function IsValidEmail (str)
{
    //return str.match (/^[_a-zA-Z0-9-']+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(arpa|aero|asia|coop|info|jobs|mobi|museum|name|travel))$/);
    return str.match(/^.*@.*\.[A-Za-z]{2,7}$/);
}

function IsValidPassword(str) {
    return str.match(/^(?=.{8,20})(?=.*[^A-Za-z])(?=.*[A-Za-z])[^  ]*$/);
}

function ParseRegistrationResponse(responseText) {
   // alert('Registration Response: ' + responseText); 
    var parser;
    var xmlDoc;
    if (window.DOMParser) {
        parser = new DOMParser();
        xmlDoc = parser.parseFromString(responseText, "text/xml");
    }
    else // Internet Explorer
    {
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = "false";
        xmlDoc.loadXML("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + responseText);
    }

    RegisterUser(xmlDoc);
}

function RedirectToUrl(req) {
    var redirectUrl = req.getElementsByTagName("url")[0].childNodes[0].nodeValue;
    var emailToken = req.getElementsByTagName("token")[1].childNodes[0].nodeValue;
   // alert(redirectUrl + "&emailToken=" + emailToken);
    window.location = redirectUrl + "\&emailToken=" + emailToken;
}

function RegisterUser(req) {
    var error;
    error = req.getElementsByTagName("error")[0].childNodes[0].nodeValue;
    if (error == "0") { // no error,  proceed with omniture tracking for registration and redirect to successful registration page
        /** Omniture code to track registration **/
        var s = s_gi(s_account); s.linkTrackVars = 'events';
        s.linkTrackEvents = 'event4'; s.events = 'event4';
        s.trackingServer = 'omn.crackle.com'; s.trackingServerSecure = 'omn.crackle.com'; s.t();

        RedirectToUrl(req);
    }
    else {
        $jq('#ctl00_MasterBody_errors').html(error);
        $jq('#ctl00_MasterBody_errors').attr('style', "display:block;color:Red");
    }

    return (error == 0);
}

function ParseLoginResponse(responseText) {
  var parser;
  var xmlDoc;
  if (window.DOMParser)
  {
    parser=new DOMParser();
    xmlDoc=parser.parseFromString(responseText,"text/xml");
  }
  else // Internet Explorer
  {
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async="false";
    xmlDoc.loadXML("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + responseText);
  } 

  LoadUser(xmlDoc);
}

function LoadUser(req)
{
    //alert("starting LoadUser " + req);
	var error;
	error = req.getElementsByTagName("error")[0].childNodes[0].nodeValue;
    //alert("error = " + error);
	if (error == 0)
	{
	    if (!window.location.href.match(/Login\.aspx/i)) {
	        var id = req.getElementsByTagName("id")[0].childNodes[0].nodeValue;
	        var nickname = req.getElementsByTagName("name")[0].childNodes[0].nodeValue;
	        var fbidnode = req.getElementsByTagName("fbid")[0];

	        if (fbidnode)
	            var fbid = fbidnode.childNodes[0].nodeValue;

	        _user = new User(id, nickname, fbid);
	        _user.DisplayUser();

	        closeLogin();

	        //Remove the offline queue cookie
	        //ClearOfflineQueue();

	        if (typeof shareOnFacebook == 'function') {
	            shareOnFacebook();
	        }

	        //		if (_fnPending)
	        //		{
	        //			_fnPending (true);
	        //			_fnPending = null;
	        //		}

	        _delegateLoginStatusChanged.Invoke(true);

	        if (parent.OnLoggedIn)
	            parent.OnLoggedIn();

	    } else {
	        var rgParts = window.location.href.split("?");
	        var qs = ParseQueryString(rgParts[1]);
	        if (typeof (qs["urlReturn"]) != "undefined")
	            window.location.href = qs["urlReturn"]
	        else
	            window.location.href = "/"; 
	    }
	}
	else
	{
		//reload captchIt image when creating new account fails
		if(error == 'NEW_FACEBOOK_USER')
		{
		    //redirect to the joincracklefacebook page
		    closeLogin ();
		    document.location.href = '/accounts/create/JoinCrackleFacebook.aspx';
		    return;
		}
		else if(error == 'failed captchIt')
		{
			error = "Please type the 4 digit code in the image.";
			ReloadImage();

		}
		else if (error == 'ineligible')
		{
			setCookie('ineligible', 'ineligible', 1, "/");
			ShowPanel('/accounts/ineligible.htm')
			return false;
		}
		else if (error == 'Email is not confirmed')
		{
			var id = req.getElementsByTagName("id")[0].childNodes[0].nodeValue;
			var emailtoken = req.getElementsByTagName("emailtoken")[0].childNodes[0].nodeValue;
			
			//hideLogin ();
			openLoginEmailConfirmation(id, 'login', emailtoken);
			return false;
		}
		$jq('#errorMsg').html(error);
		$jq('#errorMsg').addClass("errorMsg");
	}

	return (error == 0);
}

function ParseActivationResponse(responseText) {
    var parser;
    var xmlDoc;
    if (window.DOMParser) {
        parser = new DOMParser();
        xmlDoc = parser.parseFromString(responseText, "text/xml");
    }
    else // Internet Explorer
    {
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = "false";
        xmlDoc.loadXML("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + responseText);
    }

    ActivateUser(xmlDoc);
}

function ActivateUser(req) {
    var hasErrors = req.getElementsByTagName("error")[0].childNodes.length;
    if (hasErrors > 0) {
        var error;
        error = req.getElementsByTagName("error")[0].childNodes[0].nodeValue;
        $jq('#errorMsg').html(error);
        $jq('#errorMsg').addClass("errorMsg");
        return (error == 0);
    }

    var rgParts = window.location.href.split("?");
    var qs = ParseQueryString(rgParts[1]);
    if (typeof (qs["urlReturn"]) != "undefined")
         window.location.href = qs["urlReturn"]
    else {
          var hasUrl = req.getElementsByTagName("url")[0].childNodes.length;
          if (hasUrl > 0) {
              var url = req.getElementsByTagName("url")[0].childNodes[0].nodeValue;
              if (url)
                  window.location.href = url;
          }
    }
 
    return true;
}

function openLoginEmailConfirmation(id, mode, emailtoken)
{
	window.location.href='/accounts/login/PendingEmailVerificationPage.aspx?mode=' + mode + '&id=' + id + "&emailtoken=" + emailtoken;
}

function ShowPanel(url, callback, callbackOnExposed)
{
	//var eltPanel = $jq('#signin');
	var eltContent = $jq('#signin');
//	if (!eltPanel)
//		return false;

	$jq.ajax({
	    url: url,
	    success: function (req)
		{
			//eltPanel.className = 'loginContainer_On';
			eltContent.html(req);
			//eltPanel.style.height = "";
			if (callback)
				callback ();
		}
	});
	return false;
}
function User(id, nickname, fbid)
{
	this.ID = id;
	this.NickName = nickname;
	this.fbid = fbid;

	this.IsLoggedIn = function() { return !!this.ID; }

	this.DisplayUser = function () {
	    var fLoggedIn = this.IsLoggedIn();

	    $jq("body").addClass("loggedIn");
	    //$jq("body").addClass("loggedInAs_"+fLoggedIn? id : null);

	    var _eleusernameLink = $jq("#linkEditProfile");
	    if (_eleusernameLink) {
	        _eleusernameLink.attr("href", "/members/" + this.ID);
	        _eleusernameLink.html(this.NickName);
	    }

	    var _eleuserqueueLink = $jq("#linkUserQueue");
	    if (_eleuserqueueLink) {
	        _eleuserqueueLink.attr("href", "/members/" + this.ID + "#queue");
	    }


	    //alert('new fbid is ' + fbid);

	    var _cfbuid = $jq("#cfbuid");
	    //alert('_cfbuid loading to ' + _cfbuid.html());
	    if (_cfbuid && fbid) {
	        //alert('_cfbuid loading to ' + _cfbuid.html());
	        _cfbuid.html(fbid);
	    }

	    var _fbuid = $jq("#fbuid");
	    //alert('_fbuid loading to ' + _fbuid.html());
	    if (_fbuid && fbid) {
	        //alert('_fbuid loading to ' + _fbuid.html());
	        _fbuid.html(fbid);
	    }


	}
}

function closeLogin()
{
	$jq("#signin").dialog("close");
	if (typeof(showFlashPlayer)!= "undefined")
        showFlashPlayer();		
	return false;
}

// adding exp (e.g. st=a) to the URL
function addURLParam(eltURL, exp) {
    var param = exp.substring(0, exp.indexOf("=") + 1);
    if (eltURL.indexOf(param) > 0) {
        var tempURL = eltURL.substring(eltURL.indexOf(param), eltURL.length);
        if (tempURL.indexOf("&") > 0) {
            var oldExp = tempURL.substring(0, tempURL.indexOf("&"));
        }
        else {
            var oldExp = tempURL.substring(0, tempURL.length);
        }
        eltURL = eltURL.replace(oldExp, exp);
    }
    else {
        eltURL = eltURL + "&" + exp;
    }
    return eltURL;
}

var sUrl, curpos, items = [];

function BuildCarouselObject(carouselID, itemCount, nv, nor) {
    var _nor = (typeof (nor) != "undefined") ? nor : 1;
    var _nv = nv / _nor;
    var carousel = new YAHOO.widget.Carousel(carouselID,
        {
            numVisible : [_nv, _nor],
            animation: { speed: 0.25},
            scrollIncrement: nv,
            numItems: itemCount
        }
   );
   carousel.render();
   carousel.show();
//   playlist.on("loadItems", function(o) {
//        getItems.call(this, o, ct);
//        }
//   );
};
function getItems(args, ct) {
    var carousel = this;
    sUrl = "/browse/FeaturedChunk.aspx?ct="+ct;
    YAHOO.util.Connect.asyncRequest("GET", sUrl+"&startindex="+args.first+"&itemCount="+args.num, {
            success: function(o) {
                try{
                    var jsonObj = eval('(' + o.responseText+')');
                    }
                    catch(e) {
                        //alert(e);
                    }
                curpos = jsonObj.length;
                for (var i = 0; i< curpos; i++){
                    items.push(jsonObj[i]);
                }
                if (typeof carousel != "undefined") {
                    for (i=0; i < curpos; i++) {
                        carousel.on("itemAdded", function (o) {
                            //BuildToolTip(this.getElementForItem(o.newPos),items[i].mediaId,items[i].channelId);                        
                            //this.getElementForItem(o.newPos).setAttribute("g:id",items[i].mediaId);
                        });
                        carousel.addItem(items[i].content);
                    }
                }
                    items = [];
                //alert(o);
            },
            failure: function (o) {
                alert("Ajax request failed");
            }
    });
};

var handlePrevButtonState = function (type, args) {
    var enabling = args[0];
    var leftImage = args[1];
    if(enabling) {
        leftImage.src = "/images/buttons/left-enabled.gif";
    }
    else {
        leftImage.src = "/images/dot.gif";
    }
};

var handleNextButtonState = function (type, args) {
    var enabling = args[0];
    var rightImage = args[1];
    if(enabling) {
        rightImage.src = "/images/buttons/right-enabled.gif";
    }
    else {
        rightImage.src = "/images/dot.gif";
    }
};

function updateContent(tab,obj,medrec,page) {
    var nitems = {};
    switch(page){
        //Home page
        case 0:
            nitems[0] = (medrec == 'False')?21:20;
            nitems[1] = 4;
            nitems[2] = 4;
            break;
        //Sectional page
        case 1:
            nitems[0] = 8;
            break;
        case 2:
            nitems[1] = 4;
            nitems[2] = 4;
            break;            
    }
    switch (tab) {
        case 1:
            if (page == 0) {
                loadContent('#content-movies', '/browse/Featured.aspx?n=' + nitems[0], true, medrec);
                loadContent('#content-tv', '/browse/Featured.aspx?ct=3&n=' + nitems[1]);
                loadContent('#content-originals', '/browse/Featured.aspx?ct=1&n=' + nitems[2]);
            }
            if (page == 1)
                loadContent('#content-movies', '/browse/Featured.aspx?n=' + nitems[0]);
            if (page == 2) {
                loadContent('#content-tv', '/browse/Featured.aspx?ct=3&n=' + nitems[1]);
                loadContent('#content-originals', '/browse/Featured.aspx?ct=1&n=' + nitems[2]);
            }
            $jq('#tabs').find('li').removeClass('selected');
            $jq(obj).parent().addClass('selected');
            $jq('#subtabs').css('display', 'none');
            break;
        case 2:
            if (page == 0 || page == 1)
                loadContent('#content-movies', '/browse/MostPopular.aspx?n=' + nitems[0] + '&filter=2', (page == 0) ? true : false, medrec);
            if (page == 0) {
                loadContent('#content-tv', '/browse/MostPopular.aspx?ct=2&n=' + nitems[1]);
                loadContent('#content-originals', '/browse/MostPopular.aspx?ct=3&n=' + nitems[2]);
            }
            if (page == 2) {
                loadContent('#content-tv', '/browse/MostPopular.aspx?ct=2&n=' + nitems[1]+'&filter=5');
                loadContent('#content-originals', '/browse/MostPopular.aspx?ct=3&n=' + nitems[2]);
            }
            $jq('#tabs').find('li').removeClass('selected');
            $jq(obj).parent().addClass('selected');
            $jq('#subtabs').css('display', 'block');
            $jq("#subtabs li").removeClass("ui-state-active");
            $jq("#subtabs li:eq(1)").addClass("ui-state-active");
            break;
        case 3:
            if (page == 0 || page == 1)
                loadContent('#content-movies', '/browse/RecentlyAdded.aspx?n=' + nitems[0] + '&filter=2', (page == 0) ? true : false, medrec);
            if (page == 0) {
                loadContent('#content-tv', '/browse/RecentlyAdded.aspx?ct=2&n=' + nitems[1]);
                loadContent('#content-originals', '/browse/RecentlyAdded.aspx?ct=3&n=' + nitems[2]);
            }
            if (page == 2) {
                loadContent('#content-tv', '/browse/RecentlyAdded.aspx?ct=2&n=' + nitems[1]+'&filter=5');
                loadContent('#content-originals', '/browse/RecentlyAdded.aspx?ct=3&n=' + nitems[2]);
            }
            $jq('#tabs').find('li').removeClass('selected');
            $jq(obj).parent().addClass('selected');
            $jq('#subtabs').css('display', 'block');
            $jq("#subtabs li").removeClass("ui-state-active");
            $jq("#subtabs li:eq(1)").addClass("ui-state-active");
            break;
    }
}

function loadFeaturedCollection(container,url) {
    //alert("in global.js loadFeaturedCollection about to show " + url);
    //show the loading symbol and make an ajax call to load the page
    $jq(container).html("<div class='loading'/>"); 
    $jq(container).load(url, function(){
        $jq(container+" .thumbnail a").append("<div class='play-overlay'/>");
    });    
}

function updateContentMainChannel(container,obj,url) {
    //show the loading symbol and make an ajax call to load the page
    $jq(container).html("<div class='loading'/>")
    $jq(container).load(url, function(){
    });
    //deselect the old tab
    $jq('#tabs').find('li').removeClass('selected');
    //highlight the new tab
    $jq(obj).parent().addClass('selected');
    
    //now we hide and show the content
    $jq('.content-holder').slideUp(900);
    //(container == '#content-videos') ? $jq('#content-videos').show('slow') : $jq('#content-videos').hide('fast');
    //(container == '#content-about') ? $jq('#content-about').css('display', 'block') : $jq('#content-about').css('display', 'none');
    //(container == '#content-comments') ? $jq('#content-comments').css('display', 'block') : $jq('#content-comments').css('display', 'none');
    //(container == '#content-photos') ? $jq('#content-photos').show('slow') : $jq('#content-photos').hide('fast');
    $jq(container).slideDown(900);
    
}

function loadContent (container, url, movies, _medrec) {
    if ($jq(".bt-wrapper"))
            $jq(".bt-wrapper").remove();
    $jq(container).html("<div class='loading'/>")
    $jq(container).load(url, function () {
        if (movies) BuildCarouselObject($jq(container).attr("id"), parseInt($jq('#fmoviesCount').html()), ((_medrec == 'False') ? 7 : 4));
        $jq(container).attr("href", url);
        $jq(container + " .thumbnail a").append("<div class='play-overlay'/>");
    });
}
function filterContent(container,tab, movies, _medrec) {
    var _url = $jq(container).attr("href");
    _url = addURLParam(_url, "filter=" + tab);
    loadContent(container, _url, movies, _medrec);
    $jq("#subtabs li").removeClass("ui-state-active");
    if (tab > 4) tab -= 3;
    $jq("#subtabs li:eq(" + (tab - 1) + ")").addClass("ui-state-active");
}
function Delegate ()
{
	var _rgfn = [];

	this.Register = function (fn, wnd)
	{
		_rgfn.push (fn);
		AttachEvent (wnd || window, "unload",
			function ()
			{
				for (var i = _rgfn.length - 1; i >= 0; i--)
					if (_rgfn [i] == fn)
						_rgfn.splice (i, 1);
			}
		);
	}

	this.Invoke = function ()
	{
		var rgArgs = new Array ();
		for (var iArg = 0; iArg < arguments.length; iArg ++)
			rgArgs.push (arguments [iArg]);
	
		var fRet = false;
		
		var c = _rgfn.length;
		for (var i = 0; i < c; i ++)
			try { fRet = fRet || _rgfn [i].apply (null, rgArgs); } catch (e) {}
		
		return fRet;
	}
}

var _delegateLoginStatusChanged = new Delegate ();

function DefaultInputText (eltInput, strDefault, fPassword, eltCopyInput, strCopyDefault)
{
	if (typeof (eltInput) == "string")
		eltInput = document.getElementById (eltInput);

	if (typeof (eltCopyInput) == "string")
		eltCopyInput = document.getElementById (eltCopyInput);

	function OnBlur ()
	{
	    if(!eltInput) return;
	    
		if (trim (eltInput.value))
		{
			eltInput.className = eltInput.classNameDefault;
			if (fPassword)
				eltInput.type = "password";
			return;
		}
		eltInput.className = eltInput.classNameDefault + " defaultText";			
		eltInput.value = strDefault;			
		eltInput.fDefault = true;
		if (eltInput.tagName.toUpperCase () == "INPUT")
			eltInput.type = "text";
	}

	function OnFocus ()
	{
		if (!eltInput.fDefault)
			return;
		eltInput.value = "";
		eltInput.fDefault = false;
		eltInput.className = eltInput.classNameDefault;
		if (eltInput.tagName.toUpperCase () == "INPUT")
			if (fPassword)
				eltInput.type = "password";
				
		if(typeof (eltCopyInput) == "object" && typeof (strCopyDefault) == "string" 
			&& eltCopyInput.value != strCopyDefault && eltInput.value == "")
		{
			if(eltInput.id == "userName")
				if(eltCopyInput.value.indexOf("@") > 0)
					eltInput.value = eltCopyInput.value.substring(0, eltCopyInput.value.indexOf("@"));
				else	
					eltInput.value = "";
			else
				eltInput.value = eltCopyInput.value;
		}
	}

	function OnClick ()
	{
		if (!eltInput.fDefault)
			eltInput.select();
	}

	AttachEvent (eltInput, "blur", OnBlur);
	AttachEvent (eltInput, "focus", OnFocus);
	//AttachEvent (eltInput, "click", OnClick);
	AttachEvent (window, "unload", OnFocus);

	if(eltInput)
	{
	    eltInput._focus = OnFocus;
	    eltInput.classNameDefault = eltInput.className || "";
	}

	OnBlur();
}

function star_onMouseClick (elt, mediaID)
{
	//if (!evt) evt=window.event;
	//var elt = GetTarget (evt);
	
	//var strClass = elt.className;
	var iStar = elt.charAt (5) - '0';
	UpdateRating(mediaID, iStar);
	if (typeof(shareRatingOnFacebook) != "undefined")
	    shareRatingOnFacebook(iStar);
}

function star_onMouseMove (evt)
{

	if (!evt) evt=window.event;
	var elt = GetTarget (evt);

	var strClass = elt.className;
	var iStar = strClass.charAt (5) - '0';
	star_Hover (iStar);
}

function star_Hover (iStar)
{
	var eltHover = document.getElementById ('hover');
	eltHover.className = "hover" + iStar;
}

function UpdateRating(mediaID, myRating, event)
{
    $jq.ajax({
        url: "/app/RateMedia.ashx?id=" + mediaID + "&rating=" + myRating,
        success: function(rating) {
            if (rating != -1)
		    {
			    $jq("#rating-wrapper").attr("class","rated star_" + myRating);
			    $jq("#rating-wrapper-about").attr("class","rated star_" + myRating);
//			    if (document.getElementById("RatingText"))
//			    {
//				    if (document.getElementById("RatingTextHover"))
//					    document.getElementById("RatingTextHover").style.display = "none";

//				    document.getElementById("RatingText").innerHTML = "Thanks for Rating";
//				    document.getElementById("RatingText").style.display = "block";
//			    }
		    }
        }
    })
}

function rating_MouseOver (elt)
{
//	if (document.getElementById("RatingText"))
//		document.getElementById("RatingText").style.display = "none";

//	var eltRatingText = document.getElementById("RatingTextHover");
//	if (! eltRatingText)
//		return;
//	else
//		eltRatingText.style.display = "block";

//	if (!(_user && _user.IsLoggedIn && (_user.IsLoggedIn() == true)))
//	{
//		eltRatingText.innerHTML = "Login or Join to Rate";
//		return;
//	}
	
//	var iStar = elt.charAt (5) - '0';
//	
//	switch (iStar)
//	{
//	case 1:
//		eltRatingText.innerHTML = "Poor";
//		break;
//	case 2:
//		eltRatingText.innerHTML = "Nothing Special";
//		break;
//	case 3:
//		eltRatingText.innerHTML = "Worth Watching";
//		break;
//	case 4:
//		eltRatingText.innerHTML = "Pretty Cool";
//		break;
//	case 5:
//		eltRatingText.innerHTML = "Awesome";
//		break;
//	default:
//		return;
//	}
	
//	if (_user.ID == creatorID)
//	{
//		eltRatingText.InnerHTML = "You cannot rate your own video"
//		return;
//	}
}

function rating_MouseOut ()
{
//	var eltRatingText = document.getElementById("RatingTextHover");
//	if (! eltRatingText)
//		return;
//	else
//		eltRatingText.style.display = "none";
//	
//	if (document.getElementById("RatingText"))
//		document.getElementById("RatingText").style.display = "block";
}

function Folder(fid,fdtab){
    this.id = fid;
    this.dtab = fdtab;
    this.init = function(){
        $jq('#ajaxtabs_'+this.id).tabs({
            cache: false,
            ajaxOptions: {async: false},
            selected: (this.dtab)?this.dtab:0,
            show: function(event,ui) {
                $jq('#'+this.id+' li').removeClass('ui-tabs-selected ui-state-active');
                $jq(ui.tab).parent().addClass('ui-tabs-selected ui-state-active');
                var strURL = $jq.data(ui.tab, 'load.tabs');
                if(strURL) {
                    var rgParts = strURL.split('?');
                    var qs = ParseQueryString(rgParts[1]);
                    var pid = qs["id"];
                    var mnum = parseInt($jq('#mediaCount'+pid).html());
                    $jq("#mediaCount"+fid).html($jq('#mediaCount'+pid).html());
                    if($jq('#playlistRSS'+pid)) {
                        $jq('#titleRSS_'+fid).html($jq('#playlistRSS'+pid).html());
                    }
                    hideDropDown("#"+this.id);
                    displaySelectedItem(ui.tab, this.id);
                }
                $jq("#playlist"+pid).find(".thumbnail").find("a").append("<div class='play-overlay'/>");
                BuildCarouselObject2(qs["ci"], pid, mnum, qs["l"], qs["dci"], qs["m"], qs["nor"]);
                SelectMedia(parseInt($jq("#currentMediaID").html()),pid);  
            }
        });
    };
}

var sUrl, curpos, items = [];
function BuildCarouselObject2(channelID,playlistID, itemCount, l, dci, m, nor) {
    var playlist = new YAHOO.widget.Carousel("playlist"+playlistID,
        {
            numVisible : [4, parseInt(nor)],
            animation: { speed: 0.25},
            numItems: itemCount
        }
   );
   playlist.render();
   playlist.show();
   playlist.on("loadItems", function(o) {
       getPlaylistItems.call(this, o, channelID, playlistID, l, dci, m);
        }
   );
};
function getPlaylistItems(args,_channelID, _playlistID, _l, _dci, _m) {
    var carousel = this;
    sUrl = "/browse/MediaListChunk.aspx?ci="+_channelID+"&id="+_playlistID+"&l="+_l+"&dci="+_dci+"&m="+_m;
    YAHOO.util.Connect.asyncRequest("GET", sUrl+"&startindex="+args.first+"&itemCount="+args.num, {
            success: function(o) {
                try{
                    var jsonObj = eval('(' + o.responseText+')');
                    }
                    catch(e) {
                        //alert(e);
                    }
                curpos = jsonObj.length;
                for (var i = 0; i< curpos; i++){
                    items.push(jsonObj[i]);
                }
                if (typeof carousel != "undefined") {
                    for (i=0; i < curpos; i++) {
                        carousel.on("itemAdded", function (o) {
                            BuildToolTip(this.getElementForItem(o.newPos),items[i].mediaId,items[i].channelId);                        
                            this.getElementForItem(o.newPos).setAttribute("g:id",items[i].mediaId);
                            if (_dci=="True" && _m=="True")
                                this.getElementForItem(o.newPos).className = "movie";
                        });
                        carousel.addItem(items[i].content);
                    }
                }
                    items = [];
                if (typeof($jq('#currentMediaID'))!= "undefined")
                    SelectMedia(parseInt($jq('#currentMediaID').html()),_playlistID);
                
                //alert(o);
            },
            failure: function (o) {
                alert("Ajax request failed");
            }
    });
};

var handlePrevButtonState = function (type, args) {
    var enabling = args[0];
    var leftImage = args[1];
    if(enabling) {
        leftImage.src = "/images/buttons/left-enabled.gif";
    }
    else {
        leftImage.src = "/images/dot.gif";
    }
};

var handleNextButtonState = function (type, args) {
    var enabling = args[0];
    var rightImage = args[1];
    if(enabling) {
        rightImage.src = "/images/buttons/right-enabled.gif";
    }
    else {
        rightImage.src = "/images/dot.gif";
    }
};

function BuildToolTip(elt,itemId, channelId) {
    $jq(elt).bt({
        offsetParent: 'body',
        ajaxPath: '/browse/ToolTip.aspx?id='+itemId+((channelId != '0')?('&channelId='+channelId):''),
        positions: ['right','left'],
        padding: 0,
        width: '318px',
        spikeGirth: 40,
        spikeLength: 20,
        fill: 'rgb(234,234,234)',
        ajaxLoading:'<div class="loading"/>',
      shadow: true,
      shadowColor: 'rgba(0,0,0,.5)',
      shadowBlur: 8,
      shadowOffsetX: 4,
      shadowOffsetY: 4,
        cornerRadius: 0, 
        overlap: 0,
        hoverIntentOpts: {interval: 500, timeout: 2000},
        cssStyles: {
            fontSize: '11px',
            fontFamily: 'Arial,Helvetica,san-siref'
            
        }
    });
}
function AddToQueue(id) {
    return RequireLogin(function () {
        var addtoqueue = $jq("#addtoqueue").dialog({
            modal: true,
            width: 300,
            autoResize: true,
            closeText: 'close x',
            open: function (event, ui) {
                $jq.ajax({
                    url: '/play/panels/AddToQueue.aspx?id=' + id,
                    success: function (r) {
                        $jq("#addtoqueue").html(r);
                        if (typeof (PauseVideo) != "undefined")
                            PauseVideo();
                    }
                });
            },
            close: function (event, ui) {
                if (typeof (PlayVideo) != "undefined")
                    PlayVideo();
            },
            buttons: {
                "Close": function () {
                    $jq(this).dialog("close");
                }
            }
        });
        $jq(".ui-widget-overlay").live("click", function () { $jq("#addtoqueue").dialog("close"); });
        OmnTrackCustomLink();
    }, 'add to queue');
}
function SubmitAddToQueue(id, formid) {
    var options = {
        method: 'POST',
        url: '/play/panels/AddToQueue.aspx?id=' + id,
        success: function (response) {
            $jq("#addtoqueue").html(response);
        }
    };
    $jq("form#" + formid).ajaxForm(options);
}

function AddObjectToQueue(channelId, mediaItemId) {



    return RequireLogin(function () {

        if (CheckHideQueueConfirmation() == 'true') {
            ReallyAddObjectToQueue(channelId, mediaItemId);
        } else {
            var addtoqueue = $jq("#addtoqueue").dialog({
                modal: true,
                width: 355,
                autoResize: true,
                closeText: 'close x',
                open: function (event, ui) {
                    $jq.ajax({
                        url: '/play/panels/AddObjectToQueue.aspx?channelId=' + channelId + '&mediaItemId=' + mediaItemId,
                        success: function (r) {
                            $jq("#addtoqueue").html(r);
                            if (typeof (PauseVideo) != "undefined")
                                PauseVideo();
                        }
                    });
                },
                close: function (event, ui) {
                    if (typeof (PlayVideo) != "undefined")
                        PlayVideo();
                },
                buttons: {
                    "Close": function () {
                        $jq(this).dialog("close");
                    }
                }
            });
            $jq(".ui-widget-overlay").live("click", function () { $jq("#addtoqueue").dialog("close"); });
            OmnTrackCustomLink();
        }
    }, 'add to queue');
}

function ReallyAddObjectToQueue(channelId, mediaItemId) {
    $jq.ajax({
        url: "/Members/AddObjectToPlaylist.ashx?channelId=" + channelId + "&mediaItemId=" + mediaItemId,
        success: function (msg) {
            $jq.ajax({
                url: $jq("#queue-content").attr("href"),
                success: function (r) {
                    $jq("#queue-content").html(r);
                }
            });
        }
    });
    return false;
}

function AddChannelToQueue(channelId) {
    return RequireLogin(function () {
        var addtoqueue = $jq("#addtoqueue").dialog({
            modal: true,
            width: 300,
            autoResize: true,
            closeText: 'close x',
            open: function (event, ui) {
                $jq.ajax({
                    url: '/play/panels/AddChannelToQueue.aspx?channelId=' + channelId,
                    success: function (r) {
                        $jq("#addtoqueue").html(r);
                        if (typeof (PauseVideo) != "undefined")
                            PauseVideo();
                    }
                });
            },
            close: function (event, ui) {
                if (typeof (PlayVideo) != "undefined")
                    PlayVideo();
            },
            buttons: {
                "Close": function () {
                    $jq(this).dialog("close");
                }
            }
        });
        $jq(".ui-widget-overlay").live("click", function () { $jq("#addtoqueue").dialog("close"); });
        OmnTrackCustomLink();
    }, 'add to queue');
}
function SubmitAddChannelToQueue(channelId, formid) {
    var options = {
        method: 'POST',
        url: '/play/panels/AddChannelToQueue.aspx?channelId=' + channelId,
        success: function (response) {
            $jq("#addtoqueue").html(response);
        }
    };
    $jq("form#" + formid).ajaxForm(options);
}


function TrackEmptyQueue() {
    s.linkTrackVars = 'events'; s.linkTrackEvents = 'event47'; s.events = 'event47';
    s.trackingServer = 'omn.crackle.com'; s.trackingServerSecure = 'omn.crackle.com';
    s.tl();
}

function TrackAddToQueue(queueType, mediaId, title, channel, omnType) {
    // # remember current evar values
    var s = this.s;
    mediaIdOld = s.eVar23;
    omnTypeOld = s.eVar24;
    channelOld = s.eVar25;
    titleOld = s.eVar33;

    // Do Tracking stuff
    s.linkTrackVars = 'events,eVar43,eVar23,eVar24,eVar25,eVar33'; s.linkTrackEvents = 'event37'; s.events = 'event37';
    s.trackingServer = 'omn.crackle.com'; s.trackingServerSecure = 'omn.crackle.com';
    s.eVar43 = queueType;
    s.eVar23 = mediaId;
    s.eVar24 = omnType;
    s.eVar25 = channel;
    s.eVar33 = title;
    s.tl();

    s.eVar23 = mediaIdOld;
    s.eVar24 = omnTypeOld;
    s.eVar25 = channelOld;
    s.eVar33 = titleOld;
}

function TrackAddObjectToQueue(queueType, channelId, channelName, mediaId, title, channel, omnType) {
    // # remember current evar values
    var s = this.s;
    mediaIdOld = s.eVar23;
    omnTypeOld = s.eVar24;
    channelOld = s.eVar25;
    titleOld = s.eVar33;

    // Do Tracking stuff
    s.linkTrackVars = 'events,eVar43,eVar23,eVar24,eVar25,eVar33'; s.linkTrackEvents = 'event37'; s.events = 'event37';
    s.trackingServer = 'omn.crackle.com'; s.trackingServerSecure = 'omn.crackle.com';
    s.eVar43 = queueType;
    s.eVar23 = mediaId;
    s.eVar24 = omnType;

    if (channel != "")
        s.eVar25 = channel;
    else if (channelName != "")
        s.eVar25 = channelName;

    s.eVar33 = title;
    s.tl();

    s.eVar23 = mediaIdOld;
    s.eVar24 = omnTypeOld;
    s.eVar25 = channelOld;
    s.eVar33 = titleOld;
}


var HIDE_QUEUE_CONFIRMATION_KEY = "hideQueueConfirmation";
var HIDE_REMOVE_FROM_QUEUE_CONFIRMATION_KEY = "hideRemoveFromQueueConfirmation";


//This function is used to drop a cookie which will indicate 
//the user no longer wants to see the confirmation dialog after
//adding something to their queue.  This cookie will last 2 weeks.
function HideQueueConfirmation() {


    //set the cookie string 
    var hideQueueConfirmationCookie = $jq('#chkGoAway').attr('checked');
    //now we update the cookie 
    $jq.cookie(HIDE_QUEUE_CONFIRMATION_KEY, hideQueueConfirmationCookie, { path: '/', domain: '.crackle.com', expires: 14 });
}

function CheckHideQueueConfirmation() {
    return $jq.cookie(HIDE_QUEUE_CONFIRMATION_KEY);
}

//This function is used to drop a cookie which will indicate 
//the user no longer wants to see the confirmation dialog after
//adding something to their queue.  This cookie will last 2 weeks.
function HideRemoveFromQueueConfirmation() {
    //set the cookie string 
    var hideRemoveFromQueueConfirmationCookie = $jq('#chkGoAway').attr('checked');
    //now we update the cookie 
    $jq.cookie(HIDE_REMOVE_FROM_QUEUE_CONFIRMATION_KEY, hideRemoveFromQueueConfirmationCookie, { path: '/', domain: '.crackle.com', expires: 14 });
}

function CheckHideRemoveFromQueueConfirmation() {
    return $jq.cookie(HIDE_REMOVE_FROM_QUEUE_CONFIRMATION_KEY);
}


function AddedToQueueInit() {
    $jq('#addedtoqueuedialog').dialog({
        autoOpen: false,
        width: 360,
        modal: true, //there is no overlay (.ui-widget-overlay) if modal is false or not set.
        autoResize: true,
        closeText: 'close X',
        open: function (event, ui) {
            addedtoqueuedialog = true;
            if (typeof (hideFlashPlayer) != "undefined")
                hideFlashPlayer();
        },
        close: function (event, ui) {
            addedtoqueuedialog = false;
            if (typeof (showFlashPlayer) != "undefined")
                showFlashPlayer();
        },
        buttons: {
            "Close": function () {
                $jq(this).dialog("close");
            }
        }
    });
}


function iOSRedirect() {
    if ((_fiPad || _fiPhone || _fiPod || _fSkyfire) && !isChangePassword(window.location.href))
        if (!readCookie("MobileRedirect")) {
            setCookie("MobileRedirect", "1", 1, "/", ".crackle.com");
            if (_fiPad)
                window.location.href = "/mobile/iPad.html";
            if (_fiPhone || _fiPod || _fSkyfire)
                window.location.href = "/mobile/iPhone.html";
        }
    }
function AndroidRedirect() {
    if (_fAndroid && !isChangePassword(window.location.href)) {
        if (!readCookie("MobileRedirect")) {
            setCookie("MobileRedirect", "1", 1, "/", ".crackle.com");
            window.location.href = "/mobile/android.html";
        }
    }
}

function isChangePassword(url) {
    if (url.indexOf("ChangePassword.aspx") > -1)
        return true;
    return false;
}

function AvoidFrames() {

    if (top != self && self.document.location.href.indexOf("fb_xd_fragment") == -1)
        top.location.href = self.document.location;

    if (parent != self && location.href.indexOf("fb_xd_fragment") == -1)
        top.location.href = location.href

    if (top.frames.length != 0 && self.document.location.href.indexOf("fb_xd_fragment") == -1)
        top.location = self.document.location;

    if (window != window.top && location.href.indexOf("fb_xd_fragment") == -1)
        top.location.href = location.href;
}
function showChangeVerificationEmailForm() {
    document.getElementById("DivChangeVerificationEmailForm").style.display = 'block';
}

