dojo.require("dijit.form.ValidationTextBox");
dojo.require("dijit.form.Textarea");
dojo.require("dijit.form.ComboBox");
dojo.require("dijit.form.CheckBox");
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.form.Button");
dojo.require("dijit.Dialog");
dojo.require("dijit.form.Form");
dojo.require("dojo.data.ItemFileReadStore");


dojo.addOnLoad(function() {

  // create form
  var form = new dijit.form.Form({
    method: "GET",
	action: "http://download.aegif.jp:80/alfresco/service/jp/aegif/site/safsite"
  }, "divFr");

  // create submit button in dialog
  var submitButton = new dijit.form.Button({
    label: "送信"
  }, "btSubmit");

  dojo.connect(submitButton, "onClick", function(e) {
	if(dijit.byId("divFr").isValid()) {
		var val =  noteTextArea.value.replace(new RegExp("[\n\r]","g"),"<br/>");
		noteTextArea.setValue(val);
		dijit.byId("divFr").submit();
	} else {
	  var dialog1 = new dijit.Dialog({
	    title: "エラー",
		content: "入力内容をご確認ください"
	  });
	  dialog1.show();
	  dialog1 = null;
	  return false;
	}
  });

  // create reinput button in dialog
  var reinputButton = new dijit.form.Button({
    label: "再入力",
	onClick: function(e) { dijit.byId("divConfirm").hide(); }
  }, "btReinput");

  // create confirm button
  var confirmButton = new dijit.form.Button({
    label: "入力内容の確認"
  }, "btConfirm");

  // create confirm dialog and connect confirm buton to confirm dialog's show method
  var confirmDialog = new dijit.Dialog({
    title: "入力内容の確認",
	style: "height:500px; width:500px"
  }, "divConfirm");

  dojo.connect(confirmButton, "onClick", function() {
	  // set checked sources' label to spSources.innerHTML
	  var srcInner = "";
	  if(sourceCheckBox1.checked == true) {
		  srcInner = dojo.byId("sourceLabel1").innerHTML + "<br/>";
	  }
	  if(sourceCheckBox2.checked == true) {
		  srcInner += dojo.byId("sourceLabel2").innerHTML + "<br/>";
	  }
	  if(sourceCheckBox3.checked == true) {
		  srcInner += dojo.byId("sourceLabel3").innerHTML + "<br/>";
	  } 
	  if(sourceCheckBox4.checked == true) {
		  srcInner += dojo.byId("sourceLabel4").innerHTML + "<br/>";
	  }
	  if(sourceCheckBox5.checked == true) {
		  srcInner += dojo.byId("sourceLabel5").innerHTML + "<br/>";
	  }
	  if(sourceCheckBox6.checked == true) {
		  srcInner += dojo.byId("sourceLabel6").innerHTML + "<br/>";
	  }
	  if(sourceCheckBox7.checked == true) {
		  srcInner += dojo.byId("sourceLabel7").innerHTML + "<br/>";
	  }
	  if(sourceCheckBox8.checked == true) {
		  srcInner += dojo.byId("sourceLabel8").innerHTML + "<br/>";
	  } 
	  if(sourceCheckBox9.checked == true) {
		  srcInner += dojo.byId("sourceLabel9").innerHTML + "<br/>";
	  } 
	  if(sourceCheckBox10.checked == true) {
		  srcInner += dojo.byId("sourceLabel10").innerHTML + "<br/>";
	  }
	  if(sourceCheckBox11.checked == true) {
		  srcInner += dojo.byId("sourceLabel11").innerHTML + "<br/>";
	  } 
	  if(sourceCheckBox12.checked == true) {
		  srcInner += dojo.byId("sourceLabel12").innerHTML + "<br/>";
	  }

      dojo.byId("spSources").innerHTML = srcInner;
	  confirmDialog.show();
  });

  // create name text box
  var nameTextBox = new dijit.form.ValidationTextBox({
    name: "name",
	required: true,
	promptMessage: "お名前を入力してください",
	invalidMessage: "お名前が入力されていません",
	trim: true,
	onChange: function(e) { dojo.byId("spName").innerHTML = nameTextBox.value; }
  }, "inName");

  // create name_kana text box
  var nameKanaTextBox = new dijit.form.ValidationTextBox({
    name: "name_kana",
	required: true,
	promptMessage: "お名前(フリガナ)を入力してください",
	invalidMessage: "お名前(フリガナ)が入力されていません",
	trim: true,
	onChange: function(e) { dojo.byId("spNameKana").innerHTML = nameKanaTextBox.value; }
  }, "inNameKana");

  // create company text box
  var companyTextBox = new dijit.form.ValidationTextBox({
    name: "company",
	required: true,
	promptMessage: "貴社名を入力してください",
	invalidMessage: "貴社名が入力されていません",
	trim: true,
	onChange: function(e) { dojo.byId("spCompany").innerHTML = companyTextBox.value; }
  }, "inCompany");

  // create post text box
  var postTextBox = new dijit.form.ValidationTextBox({
    name: "post",
	required: true,
	promptMessage: "部署を入力してください",
	invalidMessage: "部署が入力されていません",
	trim: true,
	onChange: function(e) { dojo.byId("spPost").innerHTML = postTextBox.value; }
  }, "inPost");

  // create position text box
  var positionTextBox = new dijit.form.ValidationTextBox({
    name: "position",
	required: true,
	promptMessage: "役職を入力してください",
	invalidMessage: "役職が入力されていません",
	trim: true,
	onChange: function(e) { dojo.byId("spPosition").innerHTML = positionTextBox.value; }
  }, "inPosition");

  // create zipcode text box
  var zipCodeTextBox = new dijit.form.ValidationTextBox({
    name: "zipCode",
	required: true,
	promptMessage: "勤務先郵便番号を入力してください",
	invalidMessage: "勤務先郵便番号が入力されていません",
	regExp: "[0-9]{3}-[0-9]{4}",
	trim: true,
	onChange: function(e) { dojo.byId("spZipCode").innerHTML = zipCodeTextBox.value; }
  }, "inZipCode");

  // create prefecture text box
  var prefectureTextBox = new dijit.form.ValidationTextBox({
    name: "prefecture",
	required: true,
	promptMessage: "勤務先住所1(市区町村まで)を入力してください",
	invalidMessage: "勤務先住所1(市区町村まで)が入力されていません",
	trim: true,
	onChange: function(e) { dojo.byId("spPrefecture").innerHTML = prefectureTextBox.value; }
  }, "inPrefecture");

  // create address text box
  var addressTextBox = new dijit.form.ValidationTextBox({
    name: "address",
	required: true,
	promptMessage: "勤務先住所2を入力してください",
	invalidMessage: "勤務先住所2が入力されていません",
	trim: true,
	onChange: function(e) { dojo.byId("spAddress").innerHTML = addressTextBox.value; }
  }, "inAddress");

  // create email text box
  var emailTextBox = new dijit.form.ValidationTextBox({
    name: "email",
	required: true,
	promptMessage: "連絡先e-mailアドレスを入力してください",
	invalidMessage: "連絡先e-mailアドレスが入力されていません",
	trim: true,
	regExp: "[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}",
	onChange: function(e) { dojo.byId("spEmail").innerHTML = emailTextBox.value; }
  }, "inEmail");

  // create phone text box
  var phoneTextBox = new dijit.form.ValidationTextBox({
    name: "phone",
	required: true,
	promptMessage: "連絡先電話番号を入力してください",
	invalidMessage: "連絡先電話番号が入力されていません",
	trim: true,
	onChange: function(e) { dojo.byId("spPhone").innerHTML = phoneTextBox.value; }
  }, "inPhone");

  // create source1
  var sourceCheckBox1 = new dijit.form.CheckBox({
      name: "source1",
      value: "aegif_mail",
      checked: false
  }, "inSource1");

  // create source2
  var sourceCheckBox2 = new dijit.form.CheckBox({
      name: "source2",
      value: "aegif_website",
      checked: false
  }, "inSource2");

  // create source3
  var sourceCheckBox3 = new dijit.form.CheckBox({
      name: "source3",
      value: "liferay_mail",
      checked: false
  }, "inSource3");

  // create source4
  var sourceCheckBox4 = new dijit.form.CheckBox({
      name: "source4",
      value: "google",
      checked: false
  }, "inSource4");

  // create source5
  var sourceCheckBox5 = new dijit.form.CheckBox({
      name: "source5",
      value: "yahoo",
      checked: false
  }, "inSource5");

  // create source6
  var sourceCheckBox6 = new dijit.form.CheckBox({
      name: "source6",
      value: "techtarget",
      checked: false
  }, "inSource6");

  // create source7
  var sourceCheckBox7 = new dijit.form.CheckBox({
      name: "source7",
      value: "mail_techtarget",
      checked: false
  }, "inSource7");

  // create source8
  var sourceCheckBox8 = new dijit.form.CheckBox({
      name: "source8",
      value: "mail_@it",
      checked: false
  }, "inSource8");

  // create source9
  var sourceCheckBox9 = new dijit.form.CheckBox({
      name: "source9",
      value: "softbank",
      checked: false
  }, "inSource9");

  // create source10
  var sourceCheckBox10 = new dijit.form.CheckBox({
      name: "source10",
      value: "@it",
      checked: false
  }, "inSource10");

  // create source11
  var sourceCheckBox11 = new dijit.form.CheckBox({
      name: "source11",
      value: "aegif_blog",
      checked: false
  }, "inSource11");

  // create source12
  var sourceCheckBox12 = new dijit.form.CheckBox({
      name: "source12",
      value: "other",
      checked: false
  }, "inSource12");


  // create about combox box
  var aboutStore = new dojo.data.ItemFileReadStore({url: "/liferay/seminar/about.json"});
  var aboutComboBox = new dijit.form.ComboBox({
    required: true,
    id: "about",
    name: "about",
    value: "(選択してください)",
    store: aboutStore,
    searchAttr: "name",
	onChange: function(e) { dojo.byId("spAbout").innerHTML = aboutComboBox.value; }
  }, "inAbout");

  // create note text area
  var noteTextArea = new dijit.form.Textarea({
    name: "note",
	trim: true,
	style: "width:500px",
	onChange: function(e) { dojo.byId("spNote").innerHTML = noteTextArea.value; }
  }, "inNote");


})

