// JavaScript Document

/* START RESIZE IFRAME */
 
function testIT()
{
  alert("OK");
}
 
function onFrameLoadHandler()
{
	
  /*
  var frame = document.getElementById("coupon");
	
	
  var childWindow = frame.contentWindow;
	resizeIFrame(childWindow);
	
	alert(getDomainCookie('couponBuilderHeight'));
	*/
	
  var iframeElement = "";
	
  if(document.all) //ie
    iframeElement = document.all['coupon'];
  else // ns6
    iframeElement = document.getElementById('coupon');
	
  iframeElement.style.height = getDomainCookie('couponBuilderHeight');
}
 
function getDocumentBodyHeight(documentWindow)
{
  var body = documentWindow.getElementsByTagName('body')[0];
  var heightString = window.getComputedStyle(body, null).height;
  var endIndex = heightString.indexOf('px');
  if(endIndex != -1)
  {
    var newString = heightString.substring(0, endIndex);
    heightString = newString;
  }

  return Number(heightString);
}

function resizeIFrame(iframeWindow) 
{ 	
  if (iframeWindow.document.height) // ns6
  {
    var iframeElement = document.getElementById(iframeWindow.name);
    if (iframeElement.style != null)
      iframeElement.style.height = iframeWindow.document.height + 15 + 'px';
  }
  else if (document.all) //ie
  {
    var iframeElement = document.all[iframeWindow.name];


    if (iframeWindow.document.compatMode && iframeWindow.document.compatMode != 'BackCompat') //Back ckompliant
    {
      if (iframeElement.style != null)
        iframeElement.style.height = iframeWindow.document.documentElement.scrollHeight + 'px';
    }
    else //CSS1compliant
    {
      if (String(iframeElement) != "undefined")
      {
        if (iframeElement.style != null)
          iframeElement.style.height = iframeWindow.document.body.scrollHeight + 'px';
      }
    }
  }
  else if(iframeWindow.document.body && iframeWindow.document.body.clientHeight)//firefox 6.0
  {
    var iframeElement = document.getElementById(iframeWindow.name);
    if (iframeElement.style != null)
    {
      iframeElement.style.height = getDocumentBodyHeight(iframeWindow.document) + 15 + 'px';
      //iframeElement.style.height = iframeWindow.document.body.clientHeight + 15 + 'px';
    }

  }
  
}

function setCookieCouponHeight(documentWindow, domain)
{	
  var height = 0;
  if (documentWindow.height) // ns6
  {
    height = documentWindow.height + 15 + 'px';
  }
  else if (documentWindow.all) //ie
  {
    if (documentWindow.compatMode && documentWindow.compatMode != 'BackCompat') //Back ckompliant
    {
      height = documentWindow.documentElement.scrollHeight + 'px';
    }
    else //CSS1compliant
    {
      height = documentWindow.body.scrollHeight + 'px';
    }
  }
  else if(documentWindow.body && documentWindow.body.clientHeight)//firefox 6.0
  {
    //height = documentWindow.body.clientHeight + 15 + 'px';
    height = getDocumentBodyHeight(documentWindow) + 15 + 'px';
  }
  
	
  /*
	var divLoading;
	if(document.all) //ie
		divLoading = document.all['loadingLiveCoupon'];
	else // ns6
	*/	
	
  var divLoading = document.getElementById('loadingLiveCoupon');
  divLoading.style.height = height;
	
  setDomainCookie('couponBuilderHeight', height, '', '/', domain, '');
}

function setDomainCookie( name, value, expires, path, domain, secure )
{
  // set time, it's in milliseconds
  var today = new Date();
  today.setTime( today.getTime() );
	
  /*
	if the expires variable is set, make the correct
	expires time, the current script below will set
	it for x number of days, to make it for hours,
	delete * 24, for minutes, delete * 60 * 24
	*/
  if ( expires )
  {
    expires = expires * 1000 * 60 * 60 * 24;
  }
  var expires_date = new Date( today.getTime() + (expires) );
	
  document.cookie = name + "=" +escape( value ) +
  ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
  ( ( path ) ? ";path=" + path : "" ) +
  ( ( domain ) ? ";domain=" + domain : "" ) +
  ( ( secure ) ? ";secure" : "" );
}

// this fixes an issue with the old method, ambiguous values
// with this test document.cookie.indexOf( name + "=" );
function getDomainCookie( check_name ) 
{
  // first we'll split this cookie up into name/value pairs
  // note: document.cookie only returns name=value, not the other components
  var a_all_cookies = document.cookie.split( ';' );
  var a_temp_cookie = '';
  var cookie_name = '';
  var cookie_value = '';
  var b_cookie_found = false; // set boolean t/f default f

  for ( i = 0; i < a_all_cookies.length; i++ )
  {
    // now we'll split apart each name=value pair
    a_temp_cookie = a_all_cookies[i].split( '=' );


    // and trim left/right whitespace while we're at it
    cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

    // if the extracted name matches passed check_name
    if ( cookie_name == check_name )
    {
      b_cookie_found = true;
      // we need to handle case where cookie has no value but exists (no = sign, that is):
      if ( a_temp_cookie.length > 1 )
      {
        cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
      }
      // note that in cases where cookie is initialized but no value, null is returned
      return cookie_value;
      break;
    }
    a_temp_cookie = null;
    cookie_name = '';
  }
  if ( !b_cookie_found )
  {
    return null;
  }
}

