var Ajax;
if (Ajax && (Ajax != null)) {
	Ajax.Responders.register({
	  onCreate: function() {
        if($('spinner') && Ajax.activeRequestCount>0)
          Effect.Appear('spinner',{duration:0.5,queue:'end'});
	  },
	  onComplete: function() {
        if($('spinner') && Ajax.activeRequestCount==0)
          Effect.Fade('spinner',{duration:0.5,queue:'end'});
	  }
	});
}

String.prototype.endsWith = function(str)
{return (this.match(str+"$")==str)}

function startStatusUpdateLite(el_id) {
 $(el_id).update('Updating. Please wait...');
 $(el_id).show();
 Effect.Pulsate(el_id);
}

function finishStatusUpdateLite(el_id) {
  $(el_id).update('Update complete');
 $(el_id).fade({ duration: 1.5 });
}

function startStatusUpdate(el_id) {
  $('create_lite_buttons').hide();
  $('create_lite_status').show();
 $(el_id).update('Updating Total');
 $(el_id).show();
 Effect.Pulsate(el_id);
 Effect.Pulsate('create_lite_status');
}

function finishStatusUpdate(el_id) {
  $('create_lite_buttons').show();
  $('create_lite_status').hide();
 $(el_id).update('Total Updated');
 $(el_id).fade({ duration: 1.5 });
}

function updateEmailValue(el_id,firstName,lastName,visible) {
     if (visible)
        $(el_id).value = 'noemail' + '.' + lastName + '@vinomis.com'
    else
        $(el_id).value = ''

}

function updateQuantityText() {
    if (($('products').value == 'VIN30') || ($('products').value == 'VIN180')) {
        $('add_family_members').appear();
        $('trial_text').fade();
        $('upgrade').appear();
        $('shipping_and_code').appear();
        $(quantity_text).update('Add additional family members: ')
    } else if ($('products').value == 'VIN90') {
        $('add_family_members').appear();
        $('trial_text').fade();
        $('upgrade').appear();
        $('shipping_and_code').appear();
        $(quantity_text).update('Add additional family members at a discount: ')
    } else {
        $('trial_text').appear();
        $('upgrade').fade();
        $('shipping_and_code').fade();
        $('add_family_members').fade();
    }
}


function gotoAddress() {
    var newUrl = location.href
   if (!location.href.endsWith('#address')) {
      newUrl = newUrl +  '#address'
   }

    location.replace(newUrl)
}

function selectProduct(index) {
    var options = $$('select#products option');   
    options[index].selected=true
     //gotoAddress()
}

function offerLoad() {
	jQuery('.slideshow').show();
    if (location.href.endsWith('saveAddress')) {
        gotoAddress()
    }
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function addParameter(paramString, n,v) {
    if (paramString) paramString+="&";
    paramString = paramString + n
    paramString+="="
    paramString+=v
    return paramString
}

function addDateParameter(paramString,name) {
    var dateParams = new Array(name+'_hour', name+'_minute', name+'_day', name+'_month', name+'_year');
    paramString = createParameterString(paramString,dateParams)
    paramString = addParameter(paramString,name,'date.struct')
    return paramString
}

function createParameterString (paramString,els) {
    for (var i = 0; i < els.length; i++){
        var e = els[i]
        paramString = addParameter(paramString,e,escape($(e).value))
    }
    return paramString
}

function createParameterStringFromArrays (paramString,names,values) {
    for (var i = 0; i < names.length; i++){
        var n = names[i]
        var v = values[i]
        paramString = addParameter(paramString,n,escape(v))
    }
    return paramString
}

