jQuery.fn.extend({
	check: function() {
		return this.each(function() { this.checked = true; });
	},
	uncheck: function() {
		return this.each(function() { this.checked = false; });
	}
});

function check_all(checked, check_id) {
	if(checked) {
		$(check_id + ' [type="checkbox"]').each(function(){
			$(this).check();
		});
	} else {
		$(check_id + ' [type="checkbox"]').each(function(){
			$(this).uncheck();
		});
	}
}


function set_zip(check_zip_code, pref_id, address_id) {
	$.ajax({
		type: "POST",
		url: "/zip/get/" + check_zip_code,
		success: function(msg){
			if(msg == '/') {
				$('#' + pref_id).val('');
				$('#' + address_id).val('');
			} else {
				zip_data = msg.split("/");
				$('#' + pref_id).val(zip_data[0]);
				$('#' + address_id).val(zip_data[1]);
			}
		}
	});
	return false;
}


function add_cart(class_id, count) {
	$.ajax({
		type: "POST",
		url: "/carts/add/",
		data: "class_id=" + class_id + "&count=" + count,
		async: false,
		success: function(msg){
			// カート追加後
			if(msg == 'カートへ追加しました。') {
				change_loc('/carts/view');
			} else {
				alert(msg);
			}
		}
	});
	return false;
}


function change_cart(type, class_id, count){
	$.ajax({
		type: "POST",
		url: "/carts/" + type + "/",
		data: "class_id=" + class_id + "&count=" + count,
		async: false,
		success: function(msg){
			if(msg == '1') {
				change_loc('/carts/view');
			} else {
				$('.systemText').html(msg);
			}
		}
	});
	return false;
}


function up_cart(class_id, count) {
	return change_cart('up', class_id, count);
}


function down_cart(class_id, count) {
	return change_cart('down', class_id, count);
}

function remove_cart(class_id) {
	if(confirm('選択された商品をカートから削除します。\nよろしいですか？')) {
		return change_cart('remove', class_id, 1);
	}
	return false;
}

function confirm_submit() {
	document.form1.submit();
	return false;
}

function complete_submit() {
	document.form1.submit();
	return false;
}


function search_product() {
	if($('#search_text').val() == 'キーワードを入力'){
		$('#search_text').val('');
	}
	return change_loc('/products/search/' + $('#search_text').val());
}

function add_mail() {
	mail_address = $('#add_mail').val();
	$.ajax({
		type: "POST",
		url: "/entries/add_mailmag/",
		data: "mail=" + mail_address,
		async: false,
		success: function(msg){
			if(msg == '1') {
				$('#err_add').html('');
				$('#add_area').html('新規メールマガジン会員登録が完了しました。');
			} else {
				$('#err_add').html(msg);
			}
		}
	});
	return false;
}


function release_mail() {
	mail_address = $('#release_mail').val();
	$.ajax({
		type: "POST",
		url: "/entries/release_mailmag/",
		data: "mail=" + mail_address,
		async: false,
		success: function(msg){
			if(msg == '1') {
				$('#err_release').html('');
				$('#release_area').html('メールマガジン登録解除が完了しました。');
			} else {
				$('#err_release').html(msg);
			}
		}
	});
	return false;
}


function reissue_mail() {
	mail_address = $('#forgot_mail').val();
	$.ajax({
		type: "POST",
		url: "/entries/reissue_mail/",
		data: "mail=" + mail_address,
		async: false,
		success: function(msg){
			if(msg == '1') {
				$('#err_forgot').html('');
				$('.form').html('<div class="end">入力したメールアドレス宛に新しいパスワードを送信しました。</div>');
			} else {
				$('#err_forgot').html(msg);
			}
		}
	});
	return false;
}



function add_favorite(product_id) {
	$.ajax({
		type: "POST",
		url: "/products/add_favorite/",
		data: "product_id=" + product_id,
		async: false,
		success: function(msg){
			if(msg == '1') {
				alert('お気に入りに登録しました。');
			} else if(msg == '2') {
				alert('登録済みです。');
			} else if(msg == '3') {
				alert('指定が正しくありません。');
			} else {
				alert('ログインしないとこの機能は利用できません。');
			}
		}
	});
	return false;
}


function add_sale_mail(sale_id) {
	$.ajax({
		type: "POST",
		url: "/sales/mail/",
		data: "sale_id=" + sale_id,
		async: false,
		success: function(msg){
			if(msg == '1') {
				alert('メール通知登録しました。');
			} else if(msg == '2') {
				alert('登録済みです。');
			} else if(msg == '3') {
				alert('指定されたセールは終了しています。');
			} else if(msg == '4') {
				alert('指定が正しくありません。');
			} else {
				alert('ログインしないとこの機能は利用できません。');
			}
		}
	});
	return false;
}


var delete_message 		= '削除します。よろしいですか？';
var add_message 		= '登録します。よろしいですか？';

function form_submit_formname(msg, formname){
	if (confirm(msg)) {
		document.forms[formname].submit();
	}
	return false;
}

function form_del(){
	return form_submit_formname(delete_message, 'form1');
}

function page_back() {
	return history.back();
}

function form_del_name(formname){
	return form_submit_formname(delete_message, formname);
}

function submit_form_action(action) {
	var org_action = document.form1.action;
	document.form1.action=action;
	document.form1.submit();
	document.form1.action = org_action;
}

function submit_form_action_confirm(action, msg) {
	if (confirm(msg)) {
		var org_action = document.form1.action;
		document.form1.action=action;
		document.form1.submit();
		document.form1.action = org_action;
	}
	return false;
}


function form_regist(){
	return form_submit_formname(add_message, 'form1');
}


function form_submit(formname){
	document.forms[formname].submit();
	return false;
}

function form_change_submit(formname, action){
	document.forms[formname].action=action;
	document.forms[formname].submit();
	return false;
}

function change_loc(loc){
	location.href=loc;
	return false;
}

function openwin(URL, Winname) {
	var WIN;
	var use_width = 980;
	WIN = window.open(URL,Winname,"width="+ use_width +"px,height=650px,scrollbars=yes,resizable=yes,toolbar=no,location=no,directories=no,status=no,menubar=no");
	WIN.focus();
	return false;
}

function numCheck(check_val) {
	if(check_val != '' && !isNaN(check_val)) {
		return true;
	} else {
		return false;
	}
}

function close_win() {
	window.close();
	return false;
}

function open_faq(add_str) {
	var FAQ_WIN;
	FAQ_WIN = window.open('/popup/guid' + add_str, 'popup',"width=670px,height=700px,scrollbars=yes,resizable=yes,toolbar=no,location=no,directories=no,status=no,menubar=no");
	FAQ_WIN.focus();
	return false;
}
function open_popup(add_str) {
	var FAQ_WIN;
	FAQ_WIN = window.open('/popup/' + add_str, 'popup',"width=670px,height=700px,scrollbars=yes,resizable=yes,toolbar=no,location=no,directories=no,status=no,menubar=no");
	FAQ_WIN.focus();
	return false;
}
function open_flow(add_str) {
	var FAQ_WIN;
	FAQ_WIN = window.open('/flow', 'popup',"width=1050px,height=700px,scrollbars=yes,resizable=yes,toolbar=no,location=no,directories=no,status=no,menubar=no");
	FAQ_WIN.focus();
	return false;
}

