/* jquery milow(mail form) plugin */
/*
usage:
$('binding element').giant_jump({
  to:'to_here element',
  action:'click',
  speed: 500
});

*/

(function($){
var version = "0.1";
$.fn.milow = function(options){
  options = options || {};
  
  //option
  var opts = $.extend({}, $.fn.milow.defaults, options);
  
  //milow element
  var ctrl = [
    '<div id="jquery-houki-milow">',
      '<div id="jquery-houki-milow-heading">',
        opts.message_milow_hidden,
      '</div>',
      '<div id="jquery-houki-milow-contents">',
      	'<hr noshade="noshade" style="margin-top:-10px; background-color:#f90; height:2px;"/>',
		'<p>このフォームを通じて直接ご相談をお受けすることができます。<br/>お気軽にご相談ください。</p>',
	  	'<form id="jquery-houki-mail-form"  name="jquery-houki-mail-form">',
	  		'<label id="jquery-milow-sender-label" for="jquery-milow-sender"><font color="#ff9700"><big>●</big></font>お名前: ', 
	  			'<input id="jquery-milow-sender" type="text" size="40" name="sender" />', 
			'</label>','<br/>',
	  		'<label id="jquery-milow-email-label" for="jquery-milow-email"><font color="#ff9700"><big>●</big></font>E-mail: ', 
				'<input id="jquery-milow-email" type="text" size="40" name="email" style="margin-bottom:12px"/>', 
			'</label><br/>',
	  		'<label id="jquery-milow-email-label" for="jquery-milow-mail-body"><font color="#ff9700"><big>●</big></font>お問い合わせ内容: <br/>', 
				'<textarea id="jquery-milow-mail-body" rows="10" cols="50"></textarea>',
			'</label><br/>',
			'<p style="font-size:9px">※こちらにご記入いただいたお名前、アドレスに関しましては、<br />　ご連絡以外に使用することはございません。</p>',
			'<img src="js/milow/milow-logo.png" style="float:right; margin: 22px -15px -22px 15px;"/>',
	  		'<input id="milow-submit" type="submit" value="送信"> <input id="milow-reset" type="reset" name="jquery-houki-mail-form" value="リセット">',
	  	'</form>',
      '</div>',
    '</div>'
  ].join('');

  //move to bottom-right
  var _mv_br = function(el){
	var tgt = ($.browser.msie==true && $.browser.version=="6.0")? $(document.body) : $(document);
	return function(){
	  el.hide();
      el.css({
          position:'absolute',
          bottom:tgt.scrollTop()*-1,
		  right:0
      });
	  el.show();
    }
  };

  return this.each(function(idx,el){
    var elm = $(el);
    elm.append(ctrl);

    var milow_wrapper = $('#jquery-houki-milow').css({
	  "font-size":"12px",
	  "border":"5px solid #f90",
      "background-color":"#fff",
	  "text-align":"left",
	  "padding":"1em",
	  "border-top-left-radius":"10px",
	  "-webkit-border-top-left-radius":"10px",
	  "-moz-border-radius-topleft":"10px"
    });

    var milow_label = $('label').css({
	  "font-size":"12px",
	  "text-align":"left"
	  
    });
    var milow_input = $('input').css({
	  "font-size":"12px",
	  "margin-top":"10px"
    });

    var milow_heading = $('#jquery-houki-milow-heading').css({"cursor":"pointer"});
    var milow_contents = $('#jquery-houki-milow-contents'); //.hide()
    
    var kanarazu_bottom_right = _mv_br(milow_wrapper);
    kanarazu_bottom_right();
    
	var _show = function(){
		milow_contents.slideUp();
		milow_heading.html(opts.message_milow_shown);
		$("#jquery-houki-milow").css("width",100);
	};

	var _hide = function(){
		milow_contents.slideDown();
		milow_heading.html(opts.message_milow_hidden);
		$("#jquery-houki-milow").css("width",420);
	};
	
	milow_wrapper.mouseleave(function(){
		milow_wrapper.fadeTo(0.5,0.7);
	});
	milow_wrapper.mouseenter(function(){
		milow_wrapper.fadeTo(0.5,1.0);
	});

    milow_heading.toggle(_show,_hide);
	
    $(window).scroll(function(){
		kanarazu_bottom_right();
    });
	
	milow_heading.trigger('click');
	milow_wrapper.fadeTo(0, 0.7);

	$('#jquery-houki-mail-form').submit(function(e){
		return false
	});
	
	$("#jquery-milow-sender").keydown(function(e){
		if(e.keyCode==13){
			return false
		}
	});
	
	$("#jquery-milow-email").keydown(function(e){
		if(e.keyCode==13){
			return false
		}
	});

	$('#milow-submit').click(function(){
		var sender = $("input#jquery-milow-sender").val();
		var mail = $("input#jquery-milow-email").val();
		var body = $("textarea#jquery-milow-mail-body").val();

		if(sender==""){
			alert("お名前を入力してください");
			return false;
		}
		
		if(mail=="" || mail.match(/^[a-z0-9._%-]+@[a-z0-9.-]+\.[a-z]{2,4}$/i)==null){
			alert("メールアドレスをご確認ください");
			return false;
		}

		if(body==""){
			alert("お問い合わせ内容を入力してください");
			return false;
		}
		
		$.post(opts.req_url,{
			"sender":sender,
			"email":mail,
			"text":body
		}, function(res,suc){
			if(suc=="success"){
				alert("お問い合わせありがとうございます。メッセージは送信されました。");
				$("#milow-reset").trigger('click');
				milow_heading.trigger('click');
			}
			});
		});
  });
}

$.fn.milow.version = function(){return version};
$.fn.milow.defaults = {
	req_url:"webmail/mail.php",
	message_milow_hidden: '<div style="margin-bottom:1em; font-size:16px; color:#f90;"><b>▼フォームを閉じる</b></div>',
	message_milow_shown: '<div style="background:url(js/milow/email.png) no-repeat top left;line-height:16px;padding-left:18px; color:#f90;"><b>お問い合わせ</b></div>'
};
})(jQuery);

