function popup(url,name,width,height,opts) {

  if (name == "") name = "popup";
  if (opts == "") opts = "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizeable=yes";
  w = window.open(url,name,"width=" + width + ",height=" + height + "," + opts);
  if (w) return false; else return true;  

}

function interstitial(state) {

  var i = document.getElementById('interstitial');
  var m = document.getElementById('main');
  if (state == 'on') {
   i.style.display = 'block';
   var so = new SWFObject("/skins/default/animations/interstitial.swf", "anipaws", "725", "180", "5", "#ffffff");
   so.write("interstitial_flash");
   m.style.display = 'none';
  } else {
   i.style.display = 'none';
   m.style.dispay = 'block';
  }

}

function showInterstitial() {
  window.setTimeout("interstitial('on')",250);
}

function sfHover() {
  var sfEls = document.getElementById("header_nav_browse").getElementsByTagName("LI");
  for (var i=0; i<sfEls.length; i++) {
    sfEls[i].onmouseover=function() {
      this.className+=" sfhover";
    }
    sfEls[i].onmouseout=function() {
      this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
    }
  }
}

if (window.attachEvent) window.attachEvent("onload", sfHover);

function sendpage(href) {
  return popup(href,'sendpage',350,500);
}

function onFBLogin(url) {//form_id) {
    /*var FBform_obj = document.getElementById(form_id);
    if (FBform_obj)
        FBform_obj.submit();*/
    window.location = url + "/fbaction";
}

function showDialog(id, modal, cancel_on_close) {
    if (modal) {
        $("#" + id).dialog({
                    bgiframe: true,
                    modal: true
                });
    }
    else {
        $("#" + id).dialog();
    }

    if (cancel_on_close && cancel_on_close != "") {
        $("#" + id).bind("dialogclose", function () {

            var form_close = document.getElementById(cancel_on_close);
            if (form_close) {
                form_close.submit();
            }
        });
    }
}

var permItem;

function permissionCallback(accepted) {
    if (permItem) {
        permItem.value = accepted ? 1 : 0;
    }
}

function facebook_prompt_permission(permission, item) {
    FB_RequireFeatures(["XFBML"], function()
    {
        FB.Facebook.get_sessionState().waitUntilReady(function()
        {
            permItem = document.getElementById(item);
            if (permItem && permItem.value == 0) {
                FB.Connect.showPermissionDialog(permission, permissionCallback);                                                               
            }
        });
    });
}


// Get the HTTP Object
function getXHRObject() {
    if (window.ActiveXObject)
        return new ActiveXObject("Microsoft.XMLHTTP");
    else if (window.XMLHttpRequest)
        return new XMLHttpRequest();
    else {
        alert("Your browser does not support AJAX.");
        return null;
    }
}

var timer = -1;

function hideResponse(name) {
    var item = document.getElementById(name);
    if (item) {
        item.style.display = "none";
        if (timer != -1)
            window.clearTimeout(timer);
    }
}

function facebook_settings_async(url, name) {
    var oXMLHttpRequest = getXHRObject();
    var item = document.getElementById(name);
    if (!item)
        return;

    if (oXMLHttpRequest != null) {
        var args = "action=feed_settings_change&item=" + name + "&value=" + (item.checked ? "1" : "0");
        oXMLHttpRequest.open("GET", url + "?" + args, true);
        oXMLHttpRequest.send(null);
        oXMLHttpRequest.onreadystatechange = function() {
            if (oXMLHttpRequest.readyState == 4) {
                var response = oXMLHttpRequest.responseText;
                var failed = response == '';
                if (failed)
                    response = 'failed';
                var response_name = "response_" + name;
                var response_item = document.getElementById(response_name);
                if (response_item) {
                    response_item.innerHTML = response;
                    response_item.style.display = "";
                    response_item.style.backgroundColor = failed ? 'red' : 'green';
                    timer = window.setTimeout (function() { hideResponse(response_name); }, 3000);  
                }     
            }
        }
    }
}