﻿/*
  All code is copywrighted by Paperheads (www.paperheads.co.uk)
*/

/***********************************
 *  Scroll Regions
 ***********************************/

var PH_ScrollRegion_oScrollRegions = null;
var PH_ScrollRegion_oSelectedScroll = null;
var PH_ScrollRegion_iMouseStartY = -1;

function PH_ScrollRegion_AddRegion(ID) {
  if(!PH_ScrollRegion_oScrollRegions) {
    PH_ScrollRegion_oScrollRegions = new Array();
  }

  var obj = document.getElementById(ID);
  if(obj){
    PH_ScrollRegion_oScrollRegions.push(new PH_ScrollRegion_ScrollArea(obj));
  }
}

hideIntro = function() {
  document.getElementById('intro').style.display = 'none';
}
prepareIntro = function() {
  document.body.style.backgroundImage = 'url(/Templates/seriouspictures.com/images/back.jpg)';
  document.getElementById('center').style.display = 'block';
  PH_Serious_OnResize();
}

/* 
 * OBJECT : ScrollArea 
 */
 
PH_ScrollRegion_ScrollArea = function(element) {
  this._element = element;
  this._mainArea = element.childNodes[0];

  this._scrollBar = null;
  this._scrollArea = null;
  
  this.CreateScrollBar();
}

PH_ScrollRegion_ScrollArea.prototype = {
  CreateScrollBar: function() {
    if(this._scrollArea != null) {
      return;
    }
    if(this._mainArea.scrollHeight <= this._mainArea.offsetHeight + 10) {
      return;
    }
    
    this._mainArea.style.overflow = 'hidden';
    this._mainArea.style.width = (this._mainArea.offsetWidth - 10) + 'px';
    
    this._scrollArea = document.createElement('div');
    this._scrollArea.className = 'ScrollDiv';
    this._scrollArea.style.height = this._mainArea.offsetHeight + 'px';
    this._scrollArea.style.top = this._mainArea.offsetTop + 'px';
    this._scrollArea.style.left = (this._mainArea.offsetLeft + this._mainArea.offsetWidth + 5) + 'px';

    this._element.appendChild(this._scrollArea);

    this._scrollBar = document.createElement('div');
   
    this._scrollRatio = (this._mainArea.offsetHeight / this._mainArea.scrollHeight);
    var iScrollBarHeight = parseInt(this._mainArea.offsetHeight * this._scrollRatio)

    this._scrollBar.style.top = '0px';
    this._scrollBar.style.height = iScrollBarHeight + 'px';
    this._scrollArea.appendChild(this._scrollBar);
    
    this._scrollBar._scrollObj = this;
    this._scrollBar._maxTop = this._mainArea.offsetHeight - iScrollBarHeight;
    
    this._scrollBar.onmousedown = function() {
      document.onselectstart = function () { return false; }
      document.onmousedown = function () { return false; }
      
      PH_ScrollRegion_oSelectedScroll = this;
      this._startTop = parseInt(this.style.top);
    }
    
  }
}

PH_ScrollRegion_OnMouseMove = function (e) {
  if(PH_ScrollRegion_oSelectedScroll != null) {
    var tempY = 0;

    if (document.all) { // grab the x-y pos.s if browser is IE
      tempY = event.clientY + document.body.scrollTop;
    } else {  // grab the x-y pos.s if browser is NS
      tempY = e.pageY;
    }  
  
    // catch possible negative values in NS4
    if (tempY < 0){tempY = 0;}

    //Record start position
    if(PH_ScrollRegion_iMouseStartY < 0) {
      PH_ScrollRegion_iMouseStartY = tempY;
      return;
    }

    var iYmove = tempY - PH_ScrollRegion_iMouseStartY;
    var iNewTop = (PH_ScrollRegion_oSelectedScroll._startTop + iYmove);
    
    if(iNewTop < 0) {
      iNewTop = 0;
    } else if(iNewTop > PH_ScrollRegion_oSelectedScroll._maxTop) {
      iNewTop = PH_ScrollRegion_oSelectedScroll._maxTop;
    }
    
    PH_ScrollRegion_oSelectedScroll.style.top = iNewTop + 'px';
    PH_ScrollRegion_oSelectedScroll._scrollObj._mainArea.scrollTop = (iNewTop / PH_ScrollRegion_oSelectedScroll._scrollObj._scrollRatio);
  }
  
  if(PH_ScrollRegion_previousMouseMove) {
    return PH_ScrollRegion_previousMouseMove(e);
  } else {
    return true;
  }
}

PH_ScrollRegion_OnMouseUp = function (e) {
  if(PH_ScrollRegion_oSelectedScroll) {
    PH_ScrollRegion_oSelectedScroll = null;
    PH_ScrollRegion_iMouseStartY = -1;
  }

  (typeof(PH_ScrollRegion_previousSelectStart) !== 'undefined')?document.onselectstart=PH_ScrollRegion_previousSelectStart:document.onselectstart=null;
  (typeof(PH_ScrollRegion_previousSelectDown) !== 'undefined')?document.onmousedown=PH_ScrollRegion_previousSelectDown:document.onmousedown=null;
  
  if(PH_ScrollRegion_previousMouseUp) {
    return PH_ScrollRegion_previousMouseUp(e);
  } else {
    return true;
  }
}

/***********************************
 *  Serious Pictures : Centering
 ***********************************/
function PH_Serious_OnResize() {
  var oCenterPanel = document.getElementById('main');
  
  var iHeight = oCenterPanel.offsetHeight / 2;
  var iWidth = oCenterPanel.offsetWidth / 2;

  var oControl = oCenterPanel.parentNode;
  var iLeft = oControl.offsetLeft;
  var iTop = oControl.offsetTop;

  while(oControl = oControl.offsetParent) {
    iLeft += oControl.offsetLeft;
    iTop  += oControl.offsetTop;
  }

  if(iTop - iHeight < 15) {
    oCenterPanel.style.top = ((iTop * -1) + 15) + "px";
  } else {
    oCenterPanel.style.top = (iHeight * -1) + "px";
  }
  
  if(iLeft - iWidth < 25) {
    oCenterPanel.style.left = ((iLeft * -1) + 25) + "px";
  } else {
    oCenterPanel.style.left = (iWidth * -1) + "px";
  }
  
  //Call Previous Resize
  if(PH_Serious_previousReSize){PH_Serious_previousReSize();}
}

function PH_Serious_SetSpotTitle(sTitle) {
  var oImg = document.getElementById('oSpotTitle');
  
  if(typeof(oImg.originalSrc) === 'undefined') {
    oImg.originalSrc = oImg.src;
    oImg.originalAlt = oImg.alt;
  }
  
  oImg.src = oImg.src.substring(0, oImg.src.indexOf('?text=') + 6) + escape(sTitle);
  oImg.alt = sTitle;
}

function PH_Serious_ResetSpotTitle() {
  var oImg = document.getElementById('oSpotTitle');
  if(oImg.originalSrc) {
    oImg.src = oImg.originalSrc;
    oImg.alt = oImg.originalAlt;
  }
}

/***********************************
 *  Initialisation
 ***********************************/

function PH_Serious_previousReSize() {}
function PH_ScrollRegion_previousMouseDown() {}
function PH_ScrollRegion_previousMouseMove() {}
function PH_ScrollRegion_previousMouseUp() {}
function PH_ScrollRegion_previousSelectStart() {}

function pageLoad() {
  PH_Serious_previousReSize = window.onresize
  PH_ScrollRegion_previousMouseDown = document.onmousedown;
  PH_ScrollRegion_previousMouseMove = document.onmousemove;
  PH_ScrollRegion_previousMouseUp = document.onmouseup;
  PH_ScrollRegion_previousSelectStart = document.onselectstart;

  window.onresize = PH_Serious_OnResize;
  document.onmousemove = PH_ScrollRegion_OnMouseMove;
  document.onmouseup = PH_ScrollRegion_OnMouseUp;

  PH_Serious_OnResize();

  var oMenuItem;
  var oMenuList = document.getElementById('oMenuList');
  for(var i=0;i<oMenuList.childNodes.length;i++){
    oMenuItem = oMenuList.childNodes[i].childNodes[0].childNodes[0];
    oMenuItem.onmouseover = function() {this.src = this.src.replace('.ashx','_.ashx');}
    oMenuItem.onmouseout  = function() {this.src = this.src.replace('_.ashx','.ashx');}
  }
}

function PH_Serious_formatColumns() {
  var oCol = document.getElementById('col1');
  
  if(oCol != null) {
    oCol.innerHTML = '<div id="oCol1ScrollArea" class="ScrollPanel"><div class="ScrollRegion" style="height:400px;">' + oCol.innerHTML + '</div></div>';
    PH_ScrollRegion_AddRegion('oCol1ScrollArea');
  }

  oCol = document.getElementById('col2');
  if(oCol != null) {
    oCol.innerHTML = '<div id="oCol2ScrollArea" class="ScrollPanel"><div class="ScrollRegion" style="height:400px;">' + oCol.innerHTML + '</div></div>';
    PH_ScrollRegion_AddRegion('oCol2ScrollArea');
  }
}


/*
 Image swapping;
*/
//function PI_Over(img) {img.src = img.src.replace('.ashx','_.ashx');}
//function PI_Out(img)  {img.src = img.src.replace('_.ashx','.ashx');}

/***********************************
 *  Other Functions
 ***********************************/

/*
  Check if the form should be submitted when enter key pressed.
*/
function checkSubmit(e, linkButton) {
  var charCode;
  if(window.event) { 
    charCode = e.keyCode;
  } else if(e.which) {
    charCode = e.which;
  }

  if (charCode==13) {
    __doPostBack(linkButton, '');
    return false;
  } else {
    return true;
  }
}


/***********************************
 *  Active Flash
 ***********************************/

//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}


email = function(alias) {
  location.href = 'mailto:' + alias + '@seriouspictures.com';
}