﻿// JavaScript Document

$(document).ready(function(){
	carlist();
	
	$('div#load_bg').click(function(){
		if($('div#load_bg').css('z-index') == 1000){
			$('div.Box').hide();
			del_load_bg();
		}
	});
	
	$(window).scroll(function(){
		if($.browser.msie && $.browser.version == "6.0"){
			$('div.Box').each(function(){
				if($(this).is(':visible')){
					var height = $(window).height();
					$(this).css({top:((height - $(this).height()) / 2) + $(window).scrollTop()});
				}
			});
			if($('div#load_bg').is(':visible')){
				$('div#load_bg').css({top:$(window).scrollTop()});
			}
		}
	});
	if($.browser.msie && $.browser.version == "6.0")
		DD_belatedPNG.fix('#load_bg');
});	

function carlist(){
	$('span#carlist').hover(
		function(){ add_div('div#carlist2');get_page('/index.php/web/SendBuyCar/5/','div#carlist2'); },
		function(){}
	);
	
	$('div#carlist2').hover(
		function(){},
		function(){ del_div('div#carlist2'); }
	);
}

///////////////【顯示浮動視窗】///////////////
function add_div(obj){
	if($.browser.msie && $.browser.version == "6.0"){
		if($(obj).attr('class').match('Box2'))
			del_div('div.Box2');
	}
	if(obj == 'div#carlist2'){
		$(obj).slideDown();
	}
	else{
		if($.browser.msie && $.browser.version == "6.0"){
			var width = $(window).width();
			var height = $(window).height();
			$(obj).css({left:((width - $(obj).width()) / 2), top:((height - $(obj).height()) / 2) + $(this).scrollTop(), display:'block'});
		}
		else{
			var width = $(window).width();
			var height = $(window).height();
			$(obj).css({left:((width - $(obj).width()) / 2), top:((height - $(obj).height()) / 2), display:'block'});
		}
		
		add_load_bg();
	}
}

///////////////【隱藏浮動視窗】///////////////
function del_div(obj1, obj2){
	if(obj1 == 'div#carlist2')
		$(obj1).slideUp();
	else
		$(obj1).css({display:'none'});
	
	if(obj2){
		add_div(obj2);
		if(obj2 == 'div#Joinus2'){
			$(obj1).find('input:checkbox:eq(0)').attr('checked', false);
			$(obj1).find('input:image:eq(0)').hide();
		}
	}
	else
		if(obj1 != 'div#carlist2')
			del_load_bg();
}

///////////////【顯示浮動視窗背景】///////////////
function add_load_bg(){
	$('div#load_bg').fadeIn();
}

///////////////【隱藏浮動視窗背景】///////////////
function del_load_bg(){
	$('div#load_bg').fadeOut();
}

///////////////【訊息視窗】///////////////
function info_box(val){	
	var box = 'div#infoBox';
	if(val){
		$(box).find('div.info').html(val);
		add_div(box);
		$('div#load_bg').css({'z-index':'9999'});
	}
	else{
		var i = 0;
		$('div.Box1').not('div#infoBox').each(function(){
			if($(this).is(':visible'))
				i = 1;
		});
		$('div.Box2').each(function(){
			if($(this).is(':visible'))
				i = 1;
		});
		if(!i)
			del_load_bg();
		$('div#load_bg').css({'z-index':'1000'});
		$(box).css('display', 'none');
	}
}

function send_form(form, boolean, url, obj, val1, val2, val3, val4, val5){
	$('div#infoBox div.cont').css({'height':'auto','overflow':'hidden'});
	
	$(form).ajaxForm({
		type: 'post',
		data: {'val1':val1, 'val2':val2, 'val3':val3, 'val4':val4, 'val5':val5},
		resetForm: boolean,
		url: _Web_Url + url,
		beforeSubmit: function(){
			if(valid_submit(form))
				return true;
			else
				return false;
		},
		success: function(data){
			if(url == '/index.php/web/SendBuyCar/7/' && !data.match('未選擇付款方式!') && !data.match('收件人資訊填寫不完整!'))
				$(obj).html(data);
			else if(url == '/index.php/web/SendMember/3/' && (val1 == 2 || val1 == 3) && !data.match('必填欄位未填寫!') && !data.match('密碼輸入錯誤!'))
				$(obj).html(data);
			else
				info_box(data);
			if(url == '/index.php/web/SendMember/1/' && data.match('登入成功!'))	//會員登入
				setTimeout("get_page('/index.php/web/SendBuyCar/1/', 'div#buycar');", 1000);
			else if(url == '/index.php/web/SendMember/3/' && data.match('新增成功!')) //會員新增
				setTimeout("del_div('div.Box');$('div#load_bg').css({'z-index':'1000'})", 1000);
			else if(url == '/index.php/web/SendMember/4/' && data.match('修改成功!')) //會員修改
				setTimeout("del_div('div.Box');$('div#load_bg').css({'z-index':'1000'})", 1000);
			else if(url == '/index.php/web/SendBuyCar/8/' && data.match('新增訂單成功!')){ //訂單新增
				get_page('/index.php/web/SendBuyCar/5/','div#carlist2');
				get_page('/index.php/web/SendBuyCar/10/','div#topcenter');
				get_page('/index.php/web/SendBuyCar/7/', obj, 3);
			}
			else if(url == '/index.php/web/SendBuyCar/9/' && data.match('送出匯款帳號成功!'))	//訂單編輯匯款帳號
				get_page('/index.php/web/SendBuyCar/6/', obj, 1);
		}
	});
}

function get_page(url, obj, val1, val2, val3, val4, val5, val6, val7){
	if(url == '/index.php/web/SendBuyCar/9/' && val1 == 3){
		var i = confirm("請確認!");
		if(i==false){return;}
		var j = confirm("請再確認一次!");
		if(j==false){return;}
	}
	if(obj && obj != 'div#buycar' && url != '/index.php/web/SendMember/7/' && url != '/index.php/web/SendBuyCar/3/')
		loading_img(obj);
	if(url == '/index.php/web/SendBuyCar/3/')
		val4 = $(obj).val();
	else if(url == '/index.php/web/SendBuyCar/7/' && typeof(val3) == 'object'){
		if($(val3).attr('checked'))
			val3 = 1;
		else
			val3 = 0;
	}
	else if(url == '/index.php/web/SendBuyCar/2/' && typeof(val6) == 'object')
		val6 = $(val6).val();
	else if(url == '/index.php/web/SendBuyCar/2/')
		add_load_bg();
	
	$('div#infoBox div.cont').css({'height':'auto','overflow':'hidden'});
	
	$.ajax({
		type: 'post',
		data: {'val1':val1, 'val2':val2, 'val3':val3, 'val4':val4, 'val5':val5, 'val6':val6, 'val7':val7},
		url:_Web_Url + url,
		success: function(data){
			if(url == '/index.php/web/SendMember/7/'){ //驗證帳號
				if(data.match('yes'))
					obj.css({'background-position':val2});
				else
					obj.css({'background-position':val3, 'background-color':'#FF8282'});
			}
			else if(url == '/index.php/web/SendBuyCar/1/'){ //購物車
				$(obj).html(data);
			}
			else if(url == '/index.php/web/SendBuyCar/3/'){	//編輯購物車商品
				get_page('/index.php/web/SendBuyCar/5/','div#carlist2');
				get_page('/index.php/web/SendBuyCar/7/','div#ShoppingCart div.cont',1,val1,val2);
			}
			else if(url == '/index.php/web/SendBuyCar/4/'){	//刪除購物車商品
				info_box(data);
				get_page('/index.php/web/SendBuyCar/5/','div#carlist2');
				get_page('/index.php/web/SendBuyCar/10/','div#topcenter');
				get_page('/index.php/web/SendBuyCar/7/','div#ShoppingCart div.cont',1,val1,val2);
			}
			else if(url == '/index.php/web/SendBuyCar/9/' && !data.match('已取消訂單!') && !data.match('取消訂單失敗!')){ //訂單明細
				$('div#infoBox div.cont').css({'height':$(window).height() * 0.8,'overflow-x':'hidden','overflow-y':'auto'});
				info_box(data);
			}
			else if(url == '/index.php/web/SendBuyCar/9/' && data.match('已取消訂單!')){	//訂單取消
				get_page('/index.php/web/SendBuyCar/6/',obj);
				info_box(data);
			}
			else if(url == '/index.php/web/SendBuyCar/2/' && !val1){}
			else if(obj)
				$(obj).html(data);
			else if(!obj)
				info_box(data);
			if(url == '/index.php/web/SendMember/2/'){ //會員登出
				add_load_bg();
				setTimeout("get_page('/index.php/web/SendBuyCar/1/', 'div#buycar');", 1000);
			}
			else if(url == '/index.php/web/SendBuyCar/2/' && val6){ //新增購物車商品
				del_load_bg();
				add_div('div#carlist2');
				get_page('/index.php/web/SendBuyCar/5/','div#carlist2');
				get_page('/index.php/web/SendBuyCar/10/','div#topcenter');
				$.scrollTo(0,0);
				setTimeout("$('div#carlist2').slideUp(1000);", 1500);
			}
		}
	});
}

///////////////【Loding 圖】///////////////
function loading_img(obj){
	var div = $(obj);
	div.html('<img id="loading_img" src="' + _Web_Url + '/system/media/img/buycar/ajax-loader.gif" />');
	var img = div.children('img#loading_img');
	if(!obj.match('div#carlist2'))
		img.css({left:((div.width() - img.width()) / 2), top:((div.height() - img.height()) / 2), position:'relative'});
}

function valid_num(obj, regex){
	var val = $(obj).val();
	if(val == '') 
		return false;
	if(regex.test(val))
		$(obj).val(val);
	else
		$(obj).val('');
}

function valid_form(obj, type){
	var text	= $(obj).find('input.valid');
	
	text.change(function(){
		valid_field($(this));
	});
	
	if(type){
		text.each(function(){
			valid_field($(this));
		});
	}
}

function valid_submit(form){
	var text	= $(form).find('input.valid');
	var i		= 0;
	var j 		= 0;
	
	text.each(function(){
		valid_field($(this));
	});
	
	text.each(function(){
		if(i != 0){
			var regex = /\-35px/;
			if(!regex.test($(this).css('background-position-y')))
				j = 1;
		}
		i++;
	});
	
	if(j)
		return false;
	else
		return true;
}

function valid_field(obj){
	var width		= obj.width() - 17;
	var thinking 	= width + 'px -19px';
	var approved 	= width + 'px -35px';
	var denied 		= width + 'px -52px';
	
	obj.css({'background-position':thinking, 'background-color':'#FFF'});
	
	if(obj.attr('name') == 'text_account'){	//帳號
		var regex = /\w{6,20}/;
		if(regex.test(obj.val()))
			get_page('/index.php/web/SendMember/7/', obj, obj.val(), approved, denied);
		else
			obj.css({'background-position':denied, 'background-color':'#FF8282'});
	}
	else if(obj.attr('name') == 'text_pw'){ //密碼
		var regex = /\w{6,20}/;
		var pw = $(obj).parent().parent().parent().find('input.valid[name="text_pw_again"]');
		if(obj.val() == pw.val() && regex.test(obj.val())){
			obj.css({'background-position':approved});
			pw.css({'background-position':approved, 'background-color':'#FFF'});
		}
		else{
			obj.css({'background-position':denied, 'background-color':'#FF8282'});
			pw.css({'background-position':denied, 'background-color':'#FF8282'});
		}
	}
	else if(obj.attr('name') == 'text_pw_again'){ //密碼
		var regex = /\w{6,20}/;
		var pw = $(obj).parent().parent().parent().find('input.valid[name="text_pw"]');
		if(obj.val() == pw.val() && regex.test(obj.val())){
			obj.css({'background-position':approved});
			pw.css({'background-position':approved, 'background-color':'#FFF'});
		}
		else{
			obj.css({'background-position':denied, 'background-color':'#FF8282'});
			pw.css({'background-position':denied, 'background-color':'#FF8282'});
		}
	}
	else if(obj.attr('name') == 'text_name'){ //姓名
		var regex = /\S/;
		if(regex.test(obj.val()))
			obj.css({'background-position':approved});
		else
			obj.css({'background-position':denied, 'background-color':'#FF8282'});
	}
	else if(obj.attr('name') == 'text_id'){ //身份證字號
		var regex = /^[a-zA-z]{1}\d{9}$/;
		if(regex.test(obj.val()))
			obj.css({'background-position':approved});
		else
			obj.css({'background-position':denied, 'background-color':'#FF8282'});
	}
	else if(obj.attr('name') == 'text_email'){ //E-Mail
		var regex = /^\S+@\S+.\S+$/;
		if(regex.test(obj.val()))
			obj.css({'background-position':approved});
		else
			obj.css({'background-position':denied, 'background-color':'#FF8282'});
	}
}
