/* -----------------------------------------------
Image ClassRollOver
----------------------------------------------- */
var mouseOut = "_f";
var mouseOver = "_h";
var classname = "rollover";

function ClRollover(){}
	ClRollover.prototype = {
		init:function(cname){
			var len = cname.length;
			var elems = new Array();
			this.storedImg = new Array();
		
			for(var k=0; k<len; k++){
				elems = elems.concat(this.getElementsByClassName("img", cname[k]));
				elems = elems.concat(this.getElementsByClassName("input", cname[k]));
			}
			len = elems.length;

			for(var i=0; i<len; i++){
				var elem = elems[i];
				var imgSrc = elem.src;
				var ovrStr = this.imgOvrReplace(imgSrc, true)
				this.storedImg[imgSrc] = new Image();
				this.storedImg[imgSrc].src = ovrStr;
	
				elem.ins = this;
				elem.onmouseover = this.mouseOverEvent;
				elem.onmouseout = this.mouseOutEvent;
			}
		},

		getElementsByClassName:function(pTagName, pClassName){
			var res = new Array();
			var tags = document.getElementsByTagName(pTagName);
			var len = tags.length;
			for(var i=0; i<len; i++){
				var classes = tags[i].className;
				if(classes.indexOf(pClassName)>-1){
					res[res.length] = tags[i];
				}
			}
			return res;
		},

		imgOvrReplace:function(pSrc, pIsOvr){
			var srcStr = pSrc;
			if(pIsOvr){
				if(srcStr.indexOf(classname)>-1){
					return srcStr;
				}
				srcStr = this.strReplace(srcStr, mouseOut+".gif"	, mouseOver+".gif");
				srcStr = this.strReplace(srcStr, mouseOut+".jpg"	, mouseOver+".jpg");
				srcStr = this.strReplace(srcStr, mouseOut+".png"	, mouseOver+".png");
			}else{
				srcStr = this.strReplace(srcStr, mouseOver+".gif"	, mouseOut+".gif");
				srcStr = this.strReplace(srcStr, mouseOver+".jpg"	, mouseOut+".jpg");
				srcStr = this.strReplace(srcStr, mouseOver+".png"	, mouseOut+".png");
			}
			return srcStr;
		},

		mouseOverEvent:function(){this.src = this.ins.imgOvrReplace(this.src, true);},

		mouseOutEvent:function(){this.src = this.ins.imgOvrReplace(this.src, false);},

		strReplace:function (pStr, pKey, pAlt){return pStr.split(pKey).join(pAlt);}
	}
/************************************************************/
var clRollover = new ClRollover();

function clRO(){
	clRollover.init(arguments);
}
window.onload = function initialize(){
	clRO(classname);
}
/***********************************************************/


/***********************************************************/
var g_bZipHasChild = false;
var g_bZipEnable = 0; //0:NG 1:エリア外 2:OK
var g_zip1;
var g_zip2;

function onFocusID(id) {
	if ($("#"+id).val()=='メールアドレス') {
		$("#"+id).val('');
	}
	$("#"+id).css({'color':'#000000'});
}

function onBlurID(id) {
	if ($("#"+id).val()=='') {
		$("#"+id).val('メールアドレス');
		$("#"+id).css({'color':'#999999'});
	}
}

function onFocusRemind(id) {
	if ($("#"+id).val()=='例）visitev@visitev.jp') {
		$("#"+id).val('');
	}
	$("#"+id).css({'color':'#000000'});
}

function onBlurRemind(id) {
	if ($("#"+id).val()=='') {
		$("#"+id).val('例）visitev@visitev.jp');
		$("#"+id).css({'color':'#999999'});
	}
}

function onFocusInputBox(id, defaultvalue)
{
	if ($("#"+id).val()==defaultvalue) {
		$("#"+id).val('');
	}
	$("#"+id).css({'color':'#000000'});
}

function onBlurInputBox(id, defaultvalue)
{
	if ($("#"+id).val()=='') {
		$("#"+id).val(defaultvalue);
		$("#"+id).css({'color':'#999999'});
	}
}

function convZipAddress(zip1, zip2, addr, lang)
{
	var z1 = $("#"+zip1).val();
	var z2 = $("#"+zip2).val();
	
	if (z1.length == 3 && z2.length==4) {
		$.ajax({
			url : '/api/zipcode.php',
			data : {
				zip1 :z1,
				zip2 :z2
			},
			type: 'post',
			dataType : 'json',
			cache : false,
			complete : function(){
			},
			success : function(data, status){
				if (data.success) {
					if (lang == "") {
						$("#"+addr).val(data.location.address[0] + data.location.address[1] + data.location.address[2]);
					} else {
						$("#"+addr).val(data.location.address_en[0] + ' ' + data.location.address_en[1]  + ' ' +  data.location.address_en[2]);
					}
					$("#"+addr).css({color:"#666666"});
					
					g_bZipHasChild = data.hasChild;
					g_bZipEnable = 2;
					g_zip1 = z1;
					g_zip2 = z2;

				} else {
					$("#"+addr).css({color:"#FF0000"});
					if (lang == "") {
						$("#"+addr).val(data.errors[0]);
					} else {
						$("#"+addr).val(data.errors_en[0]);
					}
					
					if (data.errors[0] == "不正な郵便番号です") {
						g_bZipEnable = 0;
					} else if (data.errors[0] == "郵便番号のケタ数をご確認ください") {
						g_bZipEnable = 0;
					} else {
						g_bZipEnable = 1;
						g_zip1 = z1;
						g_zip2 = z2;
					}
					g_bZipHasChild = false;
				}
				
				if (g_bZipEnable == 0) {
					$("#address_block_area").css({"display":"block"});
				} else if (g_bZipEnable == 1) {
					$("#address_block_area").css({"display":"none"});
				} else {
					if (g_bZipHasChild) {
						$("#address_block_area").css({"display":"block"});
					} else {
						$("#address_block_area").css({"display":"none"});
					}
				}
			},
			beforeSend : function(){
			},
			error : function(){
			}
		});
	} else {
		$("#"+addr).val("");
		$("#"+addr).css({color:"#666666"});
		$("#address_block_area").css({"display":"none"});
	}
	
	return true;
}


function onSubmitAreaForm(noareaurl, lang)
{
	if ($("#address1").val() == "") {
		$("#address1").val($("#address2").val());
		$("#address2").val($("#address3").val());
		$("#address3").val("");
	}
	if ($("#address1").val() == "") {
		$("#address1").val($("#address2").val());
		$("#address2").val($("#address3").val());
		$("#address3").val("");
	}
	
	if (g_bZipEnable == 0) {
		if (lang == "") {
			alert("郵便番号を正しくご入力ください");
		} else {
			alert("Invalid ZIP-CODE");
		}
	} else if (g_bZipEnable == 1) {
		location.href= noareaurl + "?post_number1="+g_zip1+"&post_number2="+g_zip2;
	} else {
		var bSuccess = true;
		if (g_bZipHasChild) {
			if ($("#address1").val() == "" && $("#address2").val() == "") {
			 	bSuccess = false;
			} 
		}
		if (!bSuccess) {
			if (lang == "") {
			 	alert("住所の丁目や番地をご入力ください");
			} else {
			 	alert("Input address-numbers");
			}
		} else {
			$.ajax({
				url : '/api/location.php',
				data : {
					zip1 :g_zip1,
					zip2 :g_zip2,
					address: $("#address").val(),
					address1: $("#address1").val(),
					address2: $("#address2").val(),
					address3: $("#address3").val(),
					readonly: 0
				},
				type: 'post',
				dataType : 'json',
				cache : false,
				complete : function(){
				},
				success : function(data, status){
					if (!data.success) {
						if (lang == "") {
							alert(data.errors[0]);
						} else {
							alert(data.errors_en[0]);
						}
					} else {
						setTimeout(function(){
							window.location.reload();
						}, 10);
					}
				},
				beforeSend : function(){
				},
				error : function(){
				}
			});
		}
	}
	
}

function changeBuyMode(mode, count, redirect, lang) {
	if (lang == "English") {
		if (count != "" && count != "0") {
			if (confirm('Clears the contents of the cart to change the delivery mode. Do you want to switch?')) {
				location.href='/change_order_mode.php?m='+mode+'&redirect='+redirect;
			}
		} else {
			location.href='/change_order_mode.php?m='+mode+'&redirect='+redirect;
		}
	} else {
		if (count != "" && count != "0") {
			if (confirm('お届けモードを切り替えるとカートの中身がクリアされます。切り替えてよろしいですか？')) {
				location.href='/change_order_mode.php?m='+mode+'&redirect='+redirect;
			}
		} else {
			location.href='/change_order_mode.php?m='+mode+'&redirect='+redirect;
		}
	}
}



