
_show_topbar_doritos = false;
nasc.startUp();

var API_URL = nasc.API_URL;
var _request = null;



//////////////////////////////////////////////////////////////////////////////
// Initialize

function init() {
  // set global menu status
  // nasc.SystemMenu.setActiveMenu("", "", "");

  // set feature click event
  //selectFeature();

  // set find action
  initFindUser();

  // set form event
  initInput();

  // set status message & event
  initStatus();
}

function errImageLoad(obj)
{
  if( obj ) {
    obj.src = "http://img.pagii.com/page/profile/thumbnail.jpg";
  }
}

function selectFeature() {
  var ul = $("feature");
  var lis = ul.getElementsByTagName("li");

  for (var i=0; i<lis.length; i++) {
    var obj = lis[i].firstChild;
    obj.onclick = function() {
      var info = this.getAttribute("title").split("!");
      var title = $("fea_title"); 
      var text = $("fea_info");

      initTabClass();
      this.parentNode.className = "sel";

      $("youtube").innerHTML = write_object(this.getAttribute("href"),300,240,1,1,1);
      title.innerHTML = info[0] + "!";
      text.innerHTML = info[1];

      return false;
    }
  }
}

function initTabClass() {
  var ul = $("feature");
  var lis = ul.getElementsByTagName("li");

  for (var i=0; i<lis.length; i++) {
    if (lis[i].className == "sel") {
      lis[i].className = "";
      return;
    }
  }
}

function initInput() {
  if (!$("email")) return false;

  var email = $("email"); 
  var dummy = $("dummy");
  var passwd = $("passwd");
  var signin = $("signin");

  signin.onclick = requestLogin;

  email.onkeyup = inputKeyup;
  passwd.onkeyup = inputKeyup;

  email.onfocus = inputFocus;
  dummy.onfocus = inputFocus;
  passwd.onfocus = inputFocus;

  email.onblur = inputBlur;
  passwd.onblur = inputBlur;
}

function requestLogin()
{
  var objForm = document.form1;
  var objEmail = $("email");
  var objPass = $("passwd");
  var objDummy = $("dummy");

  if (objEmail.defaultValue == objEmail.value && objPass.value == "" && objDummy.defaultValue == objDummy.value)
  {
    var url = "/Member/login.php?return_url=dashboard";
    self.location.href = url;
    return false;
  }
 
  if(checkSignInfo())
  {
    Tracker.register("Frontpage", "Signin", objForm.email.value);

    objForm.action = "/Member/login.php?return_url="+objForm.return_url.value;
    objForm.submit();
  }

  return false;
}

function checkSignInfo() {
  var objEmail = $("email");
  var objPass = $("passwd");
  var objDummy = $("dummy");
   
  if (objEmail.defaultValue == objEmail.value || objEmail.value == "") {
    alert("Please enter your "+objEmail.defaultValue);
    objEmail.focus();
    return false;
  }

  if (objDummy.defaultValue == objPass.value || objPass.value == "") {
    alert("Please enter your "+objDummy.defaultValue);
    objDummy.focus();
    return false;
  }

  return true;
}

function inputKeyup(nsEvent) {
  var obj = $("email");
  var theEvent = (nsEvent ? nsEvent : window.event);

  if (theEvent.keyCode == 13) {
    if (this.getAttribute("id") == "email")
      $("dummy").focus();
    else if (this.getAttribute("id") == "passwd")
      requestLogin();
  }

  return false;
}

function inputFocus() {
  if (this.value == this.defaultValue && this.getAttribute("id") != "dummy") {
    this.value = "";
  }

  if (this.getAttribute("id") == "dummy") {
    this.style.display = "none";
    $("passwd").style.display = "block";
    $("passwd").focus();
  }
}

function inputBlur() {
  if (this.value == "") {
    if (this.getAttribute("id") == "passwd") {
      this.style.display = "none";
      $("dummy").style.display = "block";
    }
    this.value = this.defaultValue;
  }
}

function initStatus() {
  if (!nasc.User.isLogin() || !$("editstatus")) return false;

  $("update").onclick = updateStatusMsg;
  $("msgsave").onclick = saveStatusMsg;
  $("msgcancel").onclick = cancelStatusMsg;
}

function updateStatusMsg() {
  $("status").style.display = "none";
  $("editstatus").style.display = "block";

  return false;
}

function saveStatusMsg() {
  var msg = $("editmsg").value.trim().stripTags();
  
  var data = {
    msrl: nasc.User.getSSN(),
    statusmsg: msg
  }

  _sendRequest(data);

  $("update").style.display = "block";

  Tracker.register("Frontpage", "Signin", "Updatestatus");
}

function cancelStatusMsg() {
  $("editstatus").style.display = "none";
  $("status").style.display = "block";

  return false;
}

function _sendRequest(data) {
  var params = {
    method: "member.setstatusmsg",
    msrl: data.msrl,
    status_msg: data.statusmsg,
    callback: "onCompleteUpdateMsg",
    return_type: "JSON"
  }

  this._request = nus.io.ScriptRequest.sendRequest(API_URL, params, null, "onErrorUpdateMsg()");
}

function onCompleteUpdateMsg(rsp) {
  if (rsp.statusCode != "ok") {
    onErrorUpdateMsg(rsp);
    return;
  }

  _request.setComplete();
  _request = null;                                                                                                                                                                                      

  displayStatusMsg(rsp);
}

function onErrorUpdateMsg(rsp) {
  _request.setComplete();
  _request = null;

  alert(rsp.errorCode);
}

function displayStatusMsg(data) {
  var name = nasc.User.getName();
  var msg = data.status_msg;

  if (name.length > 10) {
    name = "<b>"+(name.substr(0,10))+"...</b>";
  }
  else {
    name = "<b>"+name+"</b>";
  }

  msg = name + " " + msg;

  $("statusmsg").innerHTML = msg;
  cancelStatusMsg();
}

function initFindUser() {
  $("finduser").onclick = submitFindUser;

  setSelectTag("country",region);
}

function submitFindUser() {
  var url = "/Browse/?locate=" + $("country").value;

  self.location.href = url;
  return false;
}

function setSelectTag(id, val) {
  var obj = $(id);

  for (var i=0; i<obj.length; i++) {
    if (obj[i].value.toUpperCase() == val.toUpperCase()) {
      try {
        obj[i].selected = true;
      } catch(e) { }

      return;
    }
  }
}

function replacePicture(obj, width, height, x, y, src) {
  var grand = obj.parentNode.parentNode;
  var parent = obj.parentNode; 

  grand.style.width = width+7+"px";
  grand.style.height = height+16+"px";

  //obj.src = src;
  obj.style.width = width+"px";
  obj.style.height = height+"px";

  grand.style.left = x+"px";
  grand.style.top = y+"px";

  var arrDiv = grand.parentNode.getElementsByTagName("div");
  for (var i=0; i<arrDiv.length; i++) {
    arrDiv[i].style.zIndex = 0;
  }
  grand.style.zIndex = 100;
}


init();

