﻿/*-- Ajax Advert Refresh --*/
var adverts = [];
var advert_scripts = [];

function registerAdvert(advert)
{
  var advertObj = document.getElementById(advert);
  
  if (!!advertObj)
  {
    var advertDataObj = {'id': advert, 'initialSrc': advertObj.src };
    adverts[adverts.length] = advertDataObj;
  }
}

function registerAdvertScript(advert)
{
  advert_scripts[advert_scripts.length] = advert;
}

function refreshByScript()
{
  for (var i = 0, j = advert_scripts.length; i < j; i++)
  {
    var advertDataFunction = advert_scripts[i];
    
    if (!!advertDataFunction)
    {
      advertDataFunction.apply();
    }
  }
}

function refresh()
{
  for (var i = 0, j = adverts.length; i < j; i++)
  {
    var advertDataObj = adverts[i];
    
    if (!!advertDataObj)
    {
      executeRefresh(advertDataObj);
    }
  }
}

function executeRefresh(advert)
{
  var random = Math.round(Math.random() * 1000);
  var newSrc = null;
  
  if (advert.initialSrc.indexOf('?') > -1)
  {
    newSrc = advert.initialSrc + '&ajaxad=' + random;
  }
  else
  {
    newSrc = advert.initialSrc = '?ajaxad=' + random;
  }
  
  var advertObj = document.getElementById(advert.id);
  
  if (!!advertObj)
  {
    advertObj.src = newSrc;
  }
}
/*-- End Ajax Advert Refresh --*/

/*-- Popup --*/
function popupscroll(url, width, height)
{
    window.open(url, 'Chips4Pets', "toolbar=no,location=no,status=no,directories=no,menubar=no,scrollbars=yes,resizable=yes,maximize=no,left=50,top=50,width=" + width + ",height=" + height);
}


/*-- Url Encoding --*/
function urlEncode(str)
{
    var output = '';
    var x = 0;
    var regEx = /(^[a-zA-Z0-9_.]*)/;
    
    str = str.toString();
    
    while (x < str.length)
    {
        var match = regEx.exec(str.substr(x));
        
        if (match != null && match.length > 1 && match[1] != '')
        {
            output += match[1];
            x += match[1].length;
        }
        else
        {
            if (str[x] == ' ')
                output += '+';
            else
            {
                var charCode = str.charCodeAt(x);
                var hexValue = charCode.toString(16);
                
                output += '%' + (hexValue.length < 2 ? '0' : '') + hexValue.toUpperCase();
            }
            
            x++;
        }
    }
    
    return output;
}

function urlDecode(str)
{
    var output = str;
    var binaryValue, thisString;
    var regEx = /(%[^%]{2})/;
    
    while ((match = regEx.exec(output)) != null && match.length > 1 && match[1] != '')
    {
        binaryValue = parseInt(match[1].substr(1), 16);
        thisString = String.fromCharCode(binaryValue);
        output = output.replace(match[1], thisString);
    }
    
    return output;
}