﻿//Vars
/// <reference path="CSClientLib.js" />

var CFRAME_CONTACT_INFO = 'CSCRContactInfoFrame';
var CFRAME_COMPONENT_SUFFIX = '_CMSFrame';
var CCSCR_COMPONENT_URL = '/Components/WebCMS/WebComponent.aspx';

var contactInfoFrame;

var arrComponents = new Array();

//End Vars

//Classes

function ComponentInfo(divContainer, frameObj, compCode)
{
    this.divContainerName = divContainer;
    this.frameObj = frameObj;
    this.compCode = compCode;
}

//END Classes

function FindComponentFromFrame(aFrameObj)
{
    for(var i = 0; i < arrComponents.length; i++)
    {
        if(arrComponents[i].frameObj == aFrameObj)
            return arrComponents[i];
    }
    
    return null;
}
function FindComponentFromDivName(divContainerName)
{
    for(var i = 0; i < arrComponents.length; i++)
    {
        if(arrComponents[i].divContainerName == divContainerName)
            return arrComponents[i];
    }
    
    return null;
}
function FindComponentFromCode(codeName)
{
    for(var i = 0; i < arrComponents.length; i++)
    {
        if(arrComponents[i].compCode == codeName)
            return arrComponents[i];
    }
    
    return null;
}

function BuildCompQueryString(aFrameObj)
{
  if(!aFrameObj) return '';

  var compInfo = FindComponentFromFrame(aFrameObj);
  
  if(!compInfo) return '';
  
  return "pc=" + escape(compInfo.compCode);
}

function ShowComponentFormSize(divContainer, pageCode, aWidth, aHeight)
{
  var divObj = document.getElementById(divContainer);
            
  if(!divObj)
  {
    alert('Cannot find DIV \'' + divContainer + '\'. Please check you have set the HTML div id tag as <div id=”' + divContainer + '”/>.');
    return;
  }
  
  var tmpFrame = document.getElementById(divContainer + CFRAME_COMPONENT_SUFFIX);
  //Create the new frame if it does not already exist
  if(!tmpFrame)
  {
    tmpFrame = CreateFrameComponentSize(divContainer + CFRAME_COMPONENT_SUFFIX, divObj, aWidth, aHeight);
  }
  
  //Create a new structur and add it to the array
  arrComponents[arrComponents.length] = new ComponentInfo(divContainer, tmpFrame, pageCode);
  //var aComp = new ComponentInfo(divContainer, tmpFrame, pageCode);
  //arrComponents[arrComponents.length] = aComp;
  
  //Display the registration component page
  CallServerParams(tmpFrame, GetCommerceServer() + CCSCR_COMPONENT_URL, '', BuildCompQueryString);
}

function ShowComponent(divContainer, pageCode)
{
  var divObj = document.getElementById(divContainer);
            
  if(!divObj)
  {
    alert('Cannot find DIV \'' + divContainer + '\'. Please check you have set the HTML div id tag as <div id=”' + divContainer +'”/>.');
    return;
  }
  
  var tmpFrame = document.getElementById(divContainer + CFRAME_COMPONENT_SUFFIX);
  //If not already created then create the new frame
  if(!tmpFrame)
  {
    tmpFrame = CreateFrameComponentSize(divContainer + CFRAME_COMPONENT_SUFFIX, divObj, divObj.style.width, divObj.style.height);
  }
  
  //Create a new structur and add it to the array
  arrComponents[arrComponents.length] = new ComponentInfo(divContainer, tmpFrame, pageCode);
  
  //Display the registration component page
  CallServerParams(tmpFrame, GetCommerceServer() + CCSCR_COMPONENT_URL, '', BuildCompQueryString);
}
