function openWindow(Page, Width, Height) {

leftVal = (screen.width - Width) / 2;
topVal = (screen.height - Height) / 2;

newWindow = window.open(Page, 'BannerView', 
'width='+Width+', height='+Height+', left='+leftVal+', top='+topVal+', status=no, scrollbars=yes, menubar=no, resizable=no');

if (window.focus) {newWindow.focus()}
	return false;

}

function removeSpecialChars(value) {
	value =  value.replace(/[^a-zA-Z 0-9]+/g, '');
	return value;
}

function queryString(parameter) { 
  var loc = location.search.substring(1, location.search.length);
  var param_value = false;
  var params = loc.split("&");
  for (i=0; i<params.length;i++) {
      param_name = params[i].substring(0,params[i].indexOf('='));
      if (param_name == parameter) {
          param_value = params[i].substring(params[i].indexOf('=')+1)
      }
  }
  if (param_value) {
      return param_value;
  }
  else {
      return false; //Here determine return if no parameter is found
  }
}

function isDefined(field)
{
	var value = "";
	var queryUrl = queryString(field);

    if (typeof(window['cf_ads_'+field]) == "undefined") {
		if (queryUrl == false) {
			switch(field){
				case 'ProductsQuantity':	value = '6'; break;
				case 'BoxWidth':			value = '728'; break;
				case 'BoxHeight':			value = '90'; break;
				case 'BackgroundColor':		value = 'FFFFFF'; break;
				case 'BorderWidth':			value = '3'; break;
				case 'BorderColor':			value = 'FFFFFF'; break;
				case 'BorderPadding':		value = '8'; break;
				case 'TitleSize':			value = '18'; break;
				case 'TitleColor':			value = '6E0707'; break;
				case 'TitleLinkColor':		value = '6E0707'; break;
				case 'DescriptionColor':	value = '000000'; break;
				case 'ScrollColor':			value = 'FFB800'; break;
				case 'ScrollLinkColor':		value = '6E0707'; break;
				case 'BorderStyle':			value = 'none'; break;
				case 'ShowPics':			value = '0'; break;
				default: value = "";
			}
		}
		else {
			value = queryUrl;
		}
	}
	return(value);
}

function base64_encode( data ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Tyler Akins (http://rumkin.com)
    // +   improved by: Bayron Guevara
    // +   improved by: Thunder.m
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Pellentesque Malesuada
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // -    depends on: utf8_encode
    // *     example 1: base64_encode('Kevin van Zonneveld');
    // *     returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='
 
    // mozilla has this native
    // - but breaks in 2.0.0.12!
    //if (typeof this.window['atob'] == 'function') {
    //    return atob(data);
    //}
        
    var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, enc="", tmp_arr = [];
 
    if (!data) {
        return data;
    }
 
    data = utf8_encode(data+'');
    
    do { // pack three octets into four hexets
        o1 = data.charCodeAt(i++);
        o2 = data.charCodeAt(i++);
        o3 = data.charCodeAt(i++);
 
        bits = o1<<16 | o2<<8 | o3;
 
        h1 = bits>>18 & 0x3f;
        h2 = bits>>12 & 0x3f;
        h3 = bits>>6 & 0x3f;
        h4 = bits & 0x3f;
 
        // use hexets to index into b64, and append result to encoded string
        tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
    } while (i < data.length);
    
    enc = tmp_arr.join('');
    
    switch( data.length % 3 ){
        case 1:
            enc = enc.slice(0, -2) + '==';
        break;
        case 2:
            enc = enc.slice(0, -1) + '=';
        break;
    }
 
    return enc;
}
