function jump(value) {
  var obj = document.getElementById(value);
  var y = obj.offsetTop;
  var contentDiv = document.getElementById('content');
  
  if(navigator.userAgent.indexOf("MSIE")>0) { 
      contentDiv.scrollTop = y - 10;
  } else if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){ 
      window.scrollTo(0, y);
  }
}

function backTo(value) {
  var obj = document.getElementById(value);
  var y = obj.offsetTop;
  var contentDiv = document.getElementById('content');
  
  if(navigator.userAgent.indexOf("MSIE")>0) { 
      contentDiv.scrollTop = y + 80;
  } else if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){ 
      window.scrollTo(0, y + 10);
  }
}

/**
 * This js file used to registration validation.
 */
function validateRequired(field, msg)  {
  var value = field.value;
  if(!value) {
    alert(msg);
  
    return true;
  }
  
  return false;
}

function validateEmail(field, msg) {
  var value = field.value;
  var reEmail = /^(?:\w+\.?)*\w+@(?:\w+\.)*\w+$/;
  
  if(reEmail.test(value)) {
    return false;
  }
  alert(msg);
  
  return true;
}

function validateZipCode(field, msg) {
  var value = field.value;
  var reZipCode = /\d{6}/;
  if(reZipCode.test(value)) {
    return false;
  }
  
  alert(msg);
  return true;
}

function validateEq(orginMail, reMail, msg) {
  if(orginMail.value == reMail.value) {
    return false;
  } 
  
  alert(msg);
  return true;
}

function doSubmit(form, lang) {
  var firstNameMsg = "First name is required!";
  var lastNameMsg = "Last name is required!";
  var emailAddressMsg = "Email address is required!";
  var emailFormatMsg = "Email format is not available!";
  var emailEquationMsg = "Repeat email address should be equal to email address!";
  
  // I18N for alert message.
	if ("chinese" == lang) {
		var firstNameMsg = "请输入姓氏!";
	  var lastNameMsg = "请输入名字!";
	  var emailAddressMsg = "请输入email地址!";
	  var emailFormatMsg = "Email地址格式不对!";
	  var emailEquationMsg = "两次输入的email地址不一致!";
	}

  if(validateRequired(form.first_name, firstNameMsg)
     || validateRequired(form.last_name, lastNameMsg)
     || validateRequired(form.email, emailAddressMsg)
     || validateEmail(form.email, emailFormatMsg)
     || validateEq(form.email, form.reEmail, emailEquationMsg)) {
    return;
  }
  
  form.submit();
}

function editInfo(url) {
  var form = document.forms[0];
  form.action = url;
  form.submit();
}

/* function cancel() {
   var form = document.forms[0];
   form.action = form.action + 'confirm_cancel';
   
   if(validateRequired(form.invoice_number, "Email address is required!")
      || validateEmail(form.cancel_email, "Email format is available!")
      || validateEq(form.cancel_email, form.re_cancel_email, "Email address should be available!")) {
    return;
  }
  
  form.submit();
} */

function transfer() {
  var form = document.forms[0];
  form.action = form.action + 'confirm_transfer';
 
  if(validateRequired(form.invoice_number, "Cancellation email address is required!")
    || validateEmail(form.cancel_email, "Cancellation email format is available!")
    || validateEq(form.cancel_email, form.re_cancel_email, "Email address should be equal!")
    || validateRequired(form.first_name, "First name is required!")
    || validateRequired(form.last_name, "Last name is required!")
    || validateRequired(form.email, "Email address is required!")
    || validateEmail(form.email, "Email format is available!")
    || validateEq(form.email, form.reEmail, "Email address should be equal!")) {
    return;
  }
 
  form.submit();
}

// For footer sponsors
var $A = function(iterable) {
  if (!iterable) return [];
  if (iterable.toArray) {
    return iterable.toArray();
  } else {
    var results = [];
    for (var i = 0; i < iterable.length; i++)
      results.push(iterable[i]);
    return results;
  }
}

Function.prototype.bind = function() {
  var __method = this, args = $A(arguments), object = args.shift();
  return function() {
    return __method.apply(object, args.concat($A(arguments)));
  }
}

function Slide(){
  this.images = [];
  this.speed = 3;
  this.step = 0;
  this.name = "slide";
  this.isIE = document.all;
  
  this.swap = function() {
    if (this.isIE) {
      eval("document." + this.name + ".filters.blendTrans.apply()");
    }
    var index = this.step++ % this.images.length;
    eval("document.images['" + this.name + "'].src='" + this.images[index].src + "'");
    eval("document.images['" + this.name + "'].onclick=function(){window.location='" + this.images[index].url + "';}");
    eval("document.images['" + this.name + "'].alt='" + this.images[index].alt + "'");

    if (this.isIE) {
      eval("document." + this.name + ".filters.blendTrans.play()");
    }
  }
  
  this.slideit = function() {
    if (!document.images || this.images.length == 0) {return;}
    
    this.timer = setInterval(function(){
      return this.swap();
    }.bind(this), this.speed * 1000 + 2000);
  }  
}