//RMR to diff this with all the other territories common.js. This one has the code for 
//forgot password - popUp

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function extendOnClick(el, func) {
  var oldonclick = el.onclick;
  if (typeof el.onclick != 'function') {
    el.onclick = func;
  } else {
    el.onclick = function(evt) {
      oldonclick(evt, this);
      func(evt,this);
      return false;
    }
  }
}
addLoadEvent(popUpsAndTrackingFunctions);
//************************************
//functions to bring up external pop ups
//************************************
function popUpsAndTrackingFunctions() {
  if (! _proxy_jslib_handle(document, 'getElementsByTagName', '', 0, 0)) return false;
  var links =  _proxy_jslib_handle(document, 'getElementsByTagName', '', 1, 0)("a");
  for (var i=0; i<links.length; i++) 
  {
    var linkClassAttribute =  _proxy_jslib_handle(links, (i), 0, 0).className;
    
    if(linkClassAttribute) 
    {
        var parsedClassAttribute = linkClassAttribute.split(" ");
        for(var j=0; j<parsedClassAttribute.length; j++)
        {
            if (  _proxy_jslib_handle(parsedClassAttribute, (j), 0, 0) == "promotion")
            { 
                 _proxy_jslib_handle(links, (i), 0, 0).onclick = getPromotionOmnitureVars;
            }

            if (  _proxy_jslib_handle(parsedClassAttribute, (j), 0, 0) == "order")
            {
                 _proxy_jslib_handle(links, (i), 0, 0).onclick = getOrderOmnitureVars;
            }
        }       
    }
     
    var linkRelAttribute =  _proxy_jslib_handle(links, (i), 0, 0).getAttribute("rel");  
    if(linkRelAttribute)
    {
        var parsedLinkAttribute = linkRelAttribute.split(" ");
        for(var j=0; j<parsedLinkAttribute.length; j++)
        {
            if (  _proxy_jslib_handle(parsedLinkAttribute, (j), 0, 0) == "player") 
            {
                extendOnClick( _proxy_jslib_handle(links, (i), 0, 0),showPlayer);
             }
             else
             {
                if ( _proxy_jslib_handle(parsedLinkAttribute, (j), 0, 0) == "external") 
                {
                    extendOnClick( _proxy_jslib_handle(links, (i), 0, 0),popUp);
                }
                else  
                {
                    if ( _proxy_jslib_handle(parsedLinkAttribute, (j), 0, 0) == "forgot_password") 
                   {
                        _proxy_jslib_handle(links, (i), 0, 0).onclick = function() { 
                          displayWindow("http://www.sonypictures.com/spn/spn_forgot_password_screen.php","forgot_password",395,170,"directories=0,location=0,menubar=0,resizable=0,scrollbars=0,status=0,titlebar=0,toolbar=0");
                          return false;
                       }
                    }
                    else
                    { if ( _proxy_jslib_handle(parsedLinkAttribute, (j), 0, 0) == "samewindow") 
                      {
                         if((linkClassAttribute.indexOf(" order") != -1) || 
                             (linkClassAttribute.indexOf(" promotion") != -1))
                         {
                               extendOnClick( _proxy_jslib_handle(links, (i), 0, 0),stopDefault);
                         }
                      }
                    }
                }
             }
         }
     }      
  } 
}
//for links that are opening in the same window and requires tracking.
//The links opens the page before the tracking is completed. 
//Hence do chain actions - call promotion omniture tracking, stop default link behavior
// and then open the new link in the same window. 
function stopDefault(evt, link) {
   return false;
}

function sameWindow(link) {
    if(link == null)
      link = this;
    var winURL = link.getAttribute("href");
     _proxy_jslib_assign('',  _proxy_jslib_handle(window, 'location', '', 0, 0), 'href', '=', (winURL));
}

function openLinkInSameWindow(link) {
    var linkClassAttribute = link.className;
    var linkRelAttribute = link.getAttribute("rel");  
    if (linkRelAttribute.indexOf("samewindow") != -1 && ((linkClassAttribute.indexOf(" order") != -1) || 
             (linkClassAttribute.indexOf(" promotion") != -1)))
         {
               sameWindow(link);
         }
}

function getPromotionOmnitureVars(evt, link) {
    if (link == null)
          link = this;
          
    var url = link.getAttribute("href");
    var parsedClassAttribute = link.className.split(" ");
    var uniqueId = parsedClassAttribute[0];
    if (isOmnitureExists())
    {
        sCode.trackOutboundClick(url, uniqueId);  
    }
    openLinkInSameWindow(link);
}

function getOrderOmnitureVars(evt, link) {
    if (link == null)
          link = this;
    
    var url = link.getAttribute("href");
    var parsedClassAttribute = link.className.split(" ");
    var uniqueId = parsedClassAttribute[0];
    if (isOmnitureExists())
    {
        sCode.trackOutboundClickToBuy(url,uniqueId);
    }
    openLinkInSameWindow(link);
}
 
function isOmnitureExists() {
    //s.pageName is passed in through omniture code. This is assuming
    //that omniture code exists on every page. It is currently inject thru treatments
    //hence currently omniture code does exist in every page. 
    if (s != null && (s.pageName.length != 0))
        return true;
    else return false;
}
 
function popUp(evt, link) {
  if(link == null)
    link = this;
  winURL = link.getAttribute("href");
   _proxy_jslib_handle(window, 'open', '', 1, 0)(winURL,'_blank');
  return false;
}

//*********************
function showPlayer(evt, link) {
//*********************
if(link == null)
    link = this;
pURL = link.getAttribute("href");
displayWindow(pURL,"Player",620,460,"directories=0,location=0,menubar=0,resizable=0,scrollbars=0,status=0,titlebar=0,toolbar=0");
return false;
}

//****************************************
//End of function
//****************************************


//*********************
function displayWindow(theURL,winName,width,height,features) { //v3.1
//*********************
  var window_width = width;
  var window_height = height;
  var newfeatures= features;
  var window_top = (screen.height-window_height)/2;
  var window_left = (screen.width-window_width)/2;
  newWindow= _proxy_jslib_handle(window, 'open', '', 1, 0)(''+ theURL + '',''+ winName + '','width=' + window_width + ',height=' + window_height + ',top=' + window_top + ',left=' + window_left + ','+ newfeatures + '');
  newWindow.focus();
}

//*********************
function MM_openBrWindow(theURL,winName,features) { //v2.0
//*********************
   _proxy_jslib_handle(window, 'open', '', 1, 0)(theURL,winName,features);
}

//*********************
function mm_openbrwindow(theURL,winName,features) { //v2.0
//*********************
   _proxy_jslib_handle(window, 'open', '', 1, 0)(theURL,winName,features);
}

//***************************************************
function popFull(url,name) {
//***************************************************
var w = 480, h = 340;

if (document.all || document.layers) {
   w = screen.availWidth;
   h = screen.availHeight;
}else{
    w = screen.width;
    h = screen.height;
}

var url;
var popW;
var popH;

 _proxy_jslib_handle(window, 'open', '', 1, 0)(url,name,'width=' + w + ',height=' + h + ',top=0,left=0');
}

function getCacheBuster() {
    var cacheBuster = "?preventCache=" + new (Date)().valueOf();
    return cacheBuster;
}

function compressWhiteSpace(s) {
  // Copyright 2001 by Mike Hall.
  // See http://www.brainjar.com for terms of use.

  // Condense white space.
  s =  _proxy_jslib_handle(s, 'replace', '', 1, 0)(/\s+/g, " ");
  s =  _proxy_jslib_handle(s, 'replace', '', 1, 0)(/^\s(.*)/, "$1");
  s =  _proxy_jslib_handle(s, 'replace', '', 1, 0)(/(.*)\s$/, "$1");

  // Remove uneccessary white space around operators, braces and parentices.
  s =  _proxy_jslib_handle(s, 'replace', '', 1, 0)(/\s([\x21\x25\x26\x28\x29\x2a\x2b\x2c\x2d\x2f\x3a\x3b\x3c\x3d\x3e\x3f\x5b\x5d\x5c\x7b\x7c\x7d\x7e])/g, "$1");
  s =  _proxy_jslib_handle(s, 'replace', '', 1, 0)(/([\x21\x25\x26\x28\x29\x2a\x2b\x2c\x2d\x2f\x3a\x3b\x3c\x3d\x3e\x3f\x5b\x5d\x5c\x7b\x7c\x7d\x7e])\s/g, "$1");

  return s;
};
 ;
_proxy_jslib_flush_write_buffers() ;