dojo.provide("atg.mff.common");
dojo.require("dojo.io.*");

String.prototype.startsWith = function(str){
  return (this.match("^"+str)==str)
}

atg.mff.common={
  
  
    /**
   * The popup window 
   */
  openPopup: function(URL) {
    if(typeof(pageTracker) != 'undefined'){
      pageTracker._trackEvent('external','tiresurvey');
    }
    
    document.open(URL,"SurveyPopup","scrollbars=yes,toolbar=no,directories=no,menubar=no,resizable=yes,status=yes,width=400,height=450");
  },
  
  
  updateSelectedTab: function(selectedTab, tab){
    //Added for google analytics
try { 
    if(typeof(pageTracker) != 'undefined'){
      if(selectedTab == 'shopByProduct'){
	pageTracker._trackEvent('tab','category');
      }else if(selectedTab == 'shopByBrand'){
	pageTracker._trackEvent('tab','brand');
      } 
    }
} catch (e) { } 

    var form = dojo.byId("shopBy");
    form.elements.selectedTab.value = selectedTab;
    dojo.io.bind({
      formNode: dojo.byId("shopBy")
    });
    atg.toggleNav(tab);
  },
  
  updateBrandSelection: function(contextPath, firstLetter){ 
    //Added for google analytics
    if(typeof(pageTracker) != 'undefined'){
    	pageTracker._trackEvent('tab','brand',firstLetter);
    }

    var selected = dojo.byId('firstLetter');
    if (!selected || selected.value == firstLetter) {
      //skip getting the list
      return;
    }
    var currentId = 'mff_brand_'+ firstLetter;
    var currentLink = dojo.byId(currentId);
    
    
    var brandNamesList = dojo.byId("mff_brandNamesList");
    brandNamesList.innerHTML = '<p style="margin-left:80px">Please, wait...</p>';
    
    var url;
    url = "/navigation/gadgets/brandsList.jsp";
    
    dojo.io.bind({
        url: url,
        method: "post",
        content: {
            firstLetter: firstLetter
        },
        load: function(type,data,evt) {
          var brandNamesList = dojo.byId("mff_brandNamesList");
          
          brandNamesList.innerHTML = data;
        },
        mimetype:'text/html'
    });

    this.initBrandSelection(firstLetter);
  },

  initBrandSelection: function(firstLetter){ 

    var currentId = 'mff_brand_'+ firstLetter;
    var currentLink = dojo.byId(currentId);
    
    var colorBefore = currentLink.style.color;
    currentLink.style.color = 'black';
    
    var outlineBefore = currentLink.style.outline;
    currentLink.style.outline = 'none';
    
    var textDecorationBefore = currentLink.style.textDecoration;
    currentLink.style.textDecoration = 'none';
    
    var allLetters = document.getElementsByTagName("a");
    
    for(var i = 0; i < allLetters.length;i++) {
      var letter = allLetters[i];
      var id = letter.id;
      if (id.startsWith('mff_brand') && id != currentId) {
        letter.style.color = colorBefore;
        letter.style.outline = outlineBefore;
        letter.style.textDecoration = textDecorationBefore;
      }
    }
  },
   
  submitSignUp: function(formId, emailId){
    var email = dojo.byId(emailId).value;
    if (email != 'Enter email address') {
      var form = dojo.byId(formId);
      form.submit();
    }
    return;
  },
  
  checkCurrent: function(address) {
    var newAddress = dojo.byId("mff.shipping.newAddress");
    if (newAddress) {
      newAddress.checked = true;
    }
    if (address) {
      atg.mff.common.checkSavedAddress(true);
    }
  },
  
  setNewPaymentInfo: function() {
    var creditCardNew = dojo.byId("atg_b2cblueprint_creditCardNew");
    if (creditCardNew) { 
      creditCardNew.checked = true;
      disableRadio(false);
    }
  },
  
  checkSavedAddress: function(savedAddress) {
    var addressRadioButtons = dojo.byId("atg_b2cblueprint_billingAddressOption1");
    if ( addressRadioButtons ) {
      for (var i = 0; i < addressRadioButtons.length; i++) {
        addressRadioButtons[i].checked = !savedAddress;
      }
    }
    var newAddressRadioButton = dojo.byId("atg_b2cblueprint_billingAddressOption_current");
    if (newAddressRadioButton) {
      newAddressRadioButton.checked = savedAddress;
    }
  }
};

function reassignPopLinks(target) {
	var links = target.getElementsByTagName('a');
	
	for (x = 0; x<links.length; x++) {
		tmpLink = links[x];
		targetOpener = "javascript:targetWinOpener('" + tmpLink.href + "')";
		tmpLink.href = targetOpener;
	}
}

function targetWinOpener(url){
	document.open(url,"detailsPopup","scrollbars=yes,toolbar=no,directories=no,menubar=no,resizable=yes,status=yes,width=400,height=450");
}

function assignBrand(brandName){
  if(typeof(pageTracker) != 'undefined'){
    pageTracker._trackEvent('tab','brand',brandName);
  }
}

function assignCheckout(){
  if(typeof(pageTracker) != 'undefined'){
    pageTracker._trackEvent('shopping cart','checkout');
  }
}

function safePreventEvent(e) {
  if (e.preventDefault) {
    e.preventDefault();
  } else {
    e.returnValue = false;
  }
}

function enshureNumber(element, newval) {
  if ( element ) {
    var val = parseInt(element.value);
    if ( isNaN(val) || val < 0 ) {
      element.value = newval;
    }
  }
}
