var dm = ('https:' == document.location.protocol ? $('base').attr('href').replace('http:', 'https:') : $('base').attr('href'));

function show_cart(){
//	if($("#cart").css('display') == 'block'){ $("#cart").slideUp(300).delay(800); } $("#cart").slideDown("slow");
	if($("#cart").css('display') == 'block'){ $("#cart").slideUp(300).delay(800); }
	var s = $(window).width();
	if(s > 1500){		
		var p = $('.wrap').eq(0).position();	
		$("#cart").css('left',p.left+995).slideDown("slow");		
	}
	else {		
		$("#cart").css('right','5px').slideDown("slow");
	}	
}
function get_cart_item(p, a){	
	var url = dm+"ajaxfun/getCartLastItem/"+p+"/"+a;
	$.ajax({ url: url, type: "GET", dataType: 'json', cache: false, success: function(datas){
			var citem_content;
			if(datas.citem != ''){
				citem_content = '<div id="product_pic"><a href="prods/' + datas.citem.prod_id + '" title=""><img src="' + datas.citem.prod_thumb +'" alt="' + datas.citem.prod_name + '" /></a></div><div id="product_infor"><span class="gray">' + datas.citem.prod_name + '</span><br />' ;
					if(datas.citem.prod_attr != ''){ citem_content += '<span class="black">' + datas.citem.prod_attr + '</span><br />'; }
					citem_content += _ge('cart_item_price') + ' <span class="orange">' + datas.citem.prod_price + '</span><br />' + _ge('cart_item_qty') + ' <span class="black">' + datas.citem.prod_qty + '</span>' + '</div>';				
				$('#cart_content').html(citem_content); $('#total_price').html(datas.amt); 
			}
			else{ $('#cart_content').html('<div id="product_infor">' + _ge('cart_no_item') + '</div>'); }
		}
	});	
}
function reload_items_cart(){
	var url = "ajaxfun/getCartItemCounts";
	$.ajax({ url: url, type: "GET", cache: false, success: function(itm_msg){ $("#mini_cart_items_amt").html(itm_msg); }});
}
function reload_cart(){ reload_items_cart(); }
function checkLength(o,n,min,max) {
	if ( o.val().length > max || o.val().length < min ) {
		o.addClass('ui-state-error');
		updateTips("Length of " + n + " must be between "+min+" and "+max+".");
		return false;
	} else { return true; }
}

function addToCart(form){		
	$.post(dm+'cart/addToCart', form.serialize(), function(result) {
		var obj = null; var obj = jQuery.parseJSON( result );
		if( obj.status == true ){ updateMiniCart(obj.added_item, obj); reload_items_cart(); }		 
		else{ showMsg('', obj.msg); }
		
	});
	return false;
}

function addWish(form, act){
	$.post(dm+'prods/addStockNotice', form.serialize(), function(result){
		if(result.success == true){ self.location.href=dm+'customer/#favorite'; }
		else{
			if(result.isLogin == false){ self.location.href=dm+'register'; }
			else if(result.msg != ''){ showMsg('',result.msg); }				
		}
	}, 'json');	
}

function updateMiniCart(items, par){
	var citem_content = '';			
	for(var m=0; m<items.length; m++){
		var thumbImg = items[m].prod_thumb; //var point = thumbImg.lastIndexOf(".");
		//if(point!=-1){ thumbImg = thumbImg.substr(0,point) + "_50." + thumbImg.substr(point+1); }
		//else{ thumbImg = thumbImg+"_50"; }
	
		citem_content += '<div class="cart_per_item"><div id="product_pic"><a href="prods/' + items[m].prod_id + '" title=""><img src="' + thumbImg +'" alt="' + items[m].prod_name + '" /></a></div><div id="product_infor"><span class="gray">' + items[m].prod_name + '</span><br />';
		if(items[m].prod_attr != ''){
			citem_content += '<span class="black">' + items[m].prod_attr + '</span><br />'; 
		}
		citem_content += '<b>' + _ge('cart_item_price') + '</b>: ';		
		if(items[m].prod_retail_pri !== items[m].prod_price){
			citem_content += '<span class="cross">' + items[m].prod_retail_pri + '</span> ' ;
		}
		citem_content += '<span class="orange">' + items[m].prod_price + '</span><br />';
		citem_content += '<b>' + _ge('cart_item_qty') + '</b>: <span class="black">' + items[m].prod_qty + '</span>' + '</div></div>';				
	}

	if( citem_content == ''){
		$('#cart_content').html('<div id="product_infor">' + _ge('cart_no_item') + '</div>');
	}
	else{
		$('#cart_content').html(citem_content); $('#total_price').html(par.amt); 
	}
	
	$("#citems").html(par.total_count); $("#total_count").html(par.total_count);
	
	$('#close').live('click', function(){ document.getElementById("cart").style.display = "none"; });	
	show_cart();	
}

function remove_coupon(coupon, i, f){	
	$.post(dm+'ajaxfun/delCoupon/', {coupon_code:coupon}, function(result) {
		if(result.success){
			$(i).remove();
			if($('#coupons_list > li').length == 0){ $('#coupons_list').hide(); }
			if(f == 'cart'){ cart.doUpdate(); }
			else{
				if(result.discount==0){ $('#prev_cart_discount').hide(); }
				checkout.doUpdate();
			}			
		}
	},'json');
	return false;
}

function add_coupon(coupon_code, f){
	var url = dm+"ajaxfun/addCoupon/";
	$.post(url, {coupon_code:coupon_code}, function(response){
		if(response.success){			
			if(response.data.length > 0){
				$('#coupons_msgTxt').html(''); $('#coupons_msg').hide();
				$('#coupon_code').val($('#coupon_code').attr('title'));
				if($('#coupons_list').length==0){ $('.sum-coupon').append('<ul class="coupon-edit" id="coupons_list"></ul>'); }
				$('#coupons_list').html('');				
				$.each(response.data, function(i, item){
					item_val = '<li id="coupon_code_'+i+'"><span class="coupon-num">'+item.coupon_name+'</span><span class="coupon-dis"></span><a class="coupon-alter" href="javascript:void(0);" onclick="remove_coupon(\''+item.coupon_code+'\',\'#coupon_code_'+i+'\',\''+f+'\');">'+_ge('remove')+'</a></li>';
					$('#coupons_list').append(item_val);
				});
				$('#coupons_list').show();
				
				if(f=='checkout'){
					//$('#prev_cart_discount_val').html('$'+parseFloat(response.discount).toFixed(2));
					if(response.discount > 0){ $('#prev_cart_discount').show(); }
					checkout.doUpdate();
				}	
				else{ cart.doUpdate(); }
			}	
		}else{
			$('#coupons_msgTxt').html(response.msg);
			if($('#coupons_msg').css('display')=='none'){
				$('#coupons_msg').show();
				setTimeout('$("#coupons_msg").slideUp()',1000);
			}
		}
	}, 'json');
}

function validatePhoneNumber(elementValue){  
	var phoneNumberPattern = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/;  
	if(elementValue.match(phoneNumberPattern) == null){ return false; }	
    return true;	
} 

function validateZipCode(elementValue){
    var zipCodePattern = /^\d{5}$|^\d{5}-\d{4}$/;
	if(elementValue.match(zipCodePattern) == null){ return false; }	
    return true;
}

function forgot_pwd(){	
	//setting pwd	
	var email = $("#foget_email"), allFields = $([]).add(email);	
	var mybuttons = {};
	mybuttons[_ge('send_email_pwd')] = function() {
		var bValid = true; if(bValid){ $('#frmForgetPwd').submit(); }
	};
	mybuttons[_ge('cancel')] = function() { $(this).dialog('close'); };

	$("#pwd-dialog").dialog({
		autoOpen: true, width: 400, height: 300, resizable: false, modal: true, buttons: mybuttons,
		close: function() { allFields.val('').removeClass('ui-state-error'); },
		open: function(){
			$(this).parents('.ui-dialog-buttonpane button:eq(0)').focus(); 
			$('#frmForgetPwd').validate({
				rules:{ email:{ email: true, required: true } },
				messages:{
					email:{ email:  _ge('msg_invalid_email'), required: _ge('msg_validate_required') }
				},
				errorElement: "div", errorPlacement: function(error, element){ error.insertAfter(element); }
			});	
		}
	});	
}

function ResetCaptcha(){	
	$.ajaxSetup({cache: false});
	$.get('register/getCaptcha', function(result) { $('.captcha_img').html(result); });
}

function _do_search(f){	
	if(f.keyword.value == f.keyword.alt || f.keyword.value == ''){ showMsg('', _ge('fill_in_keyword')); }
	else{
		var qsA = ['q='+encodeURIComponent(f.keyword.value)];
		if (f.c.value) qsA.push('c='+encodeURIComponent(f.c.value));
		if (f.b.value) qsA.push('b='+encodeURIComponent(f.b.value));
		
		var surl = f.action+'search/index/?'+qsA.join('&'); document.location = surl;
	}
	return false;
}

function showMsg(title, msg){
	var msgDiv = document.createElement('div');
	if(title != ''){ msgDiv.setAttribute('title', title); }
	msgDiv.innerHTML = msg;
   	
	var buttons = {};						
	buttons[_ge('closed')] = function() { $(this).focus().dialog('close'); };
	$(msgDiv).dialog({
		autoOpen: false, width: 400, resizable: false, modal: true, buttons: buttons, open: function(){ $(this).parents('.ui-dialog-buttonpane button:eq(0)').focus(); }
	});

	//open
	$(msgDiv).dialog('open');
}

//初始化FB Like Button/Recommend Button
function initFB(){
	(function(d, s, id) {
	var js, fjs = d.getElementsByTagName(s)[0];	  
	if (d.getElementById(id)) { if(!_fb){ return; } }
	js = d.createElement(s); js.id = id;
	js.src = "//connect.facebook.net/zh_TW/all.js#xfbml=1";
	fjs.parentNode.insertBefore(js, fjs);
	}(document, 'script', 'facebook-jssdk'));	
}

/*
 *	show product detail (use simplemodeal plugin)
 */
jQuery(function ($) {
	var mini_prod_modal = {
		message: '',
		current_page: '',
		current_prod_id: '',
		tmp_prev_content: '',
		totalSlides: 0,
		pn: {},
		init: function() {
			//if($('.openPopup').size() > 0){
				$('.openPopup').live('click', function (e) {
					e.preventDefault();
					
					$('#cart').slideUp('fast');
															
					mini_prod_modal.current_page = 'prod_content';
					var _prod_form = $(this).closest('form');
					var _prod_id = $('input[name="pid"]', _prod_form).val();
													 
					mini_prod_modal.current_prod_id = _prod_id;
					var prod_url = 'ajaxfun/getProdDetailPopupViewData/';
					mini_prod_modal.load(prod_url);
									
					return false;
				});
			//}
			
			$('a#email-friends-link').live('click', function(e){
				e.preventDefault();
																								
				if(mini_prod_modal.current_page == ''){
					var _prod_form = $(this).closest('form');
					var _prod_id = $('input[name="pid"]', _prod_form).val();
					mini_prod_modal.current_prod_id = _prod_id;
					var prod_url = 'ajaxfun/getShareEmailByProdPopupViewData/';
					mini_prod_modal.load(prod_url);
				}
				
				mini_prod_modal.current_page='share_form';
				if($('div.popupCartContainer').hasClass('share')) $('div.popupCartContainer').addClass('share');
				$('div#prod-detail').hide(); $('div.shareForm').show();
				return false;
			});
		},
		/*
		 *
		 */
		load: function(url){
			$.getJSON(url,  { pid: mini_prod_modal.current_prod_id }, function(data){
				if(data.success == true){
					mini_prod_modal.pn = data.pn;
					$(data.tpl).modal({
						opacity: 90, overlayCss: {backgroundColor:"#fff"}, overlayClose: true, position: ['0',], closeClass: 'btn_ClosePop', onOpen: mini_prod_modal.open, onClose: mini_prod_modal.doClose, onShow: mini_prod_modal.show,
						autoResize: false 
					});
				}
			});
		},
		/*
		 * Creates the HTML for the viewer 
		 */
		createHTML: function (data) {			
			return data.tpl;
		},
		open: function (dialog) {
			var po = dialog.overlay.position(); // 定位目前位置						
			dialog.overlay.fadeIn('fast', function () {
				dialog.container.slideDown('fast', function () {
					dialog.data.fadeIn('fast');
					//vertical gallery slider
					if($('div.galleryThumbnailsWrap').size() > 0){
						$("div.galleryThumbnails").easySlider({speed:50,sliderNum:7,continuous:false,btnHide:false,disableUselessBtn:true,vertical:true,prevId:'prevBtn',nextId:'nextBtn'});
					}
					//model number
					if($('select#slt_attr_opt').size() > 0){
						$('select#slt_attr_opt').live('change', function(){
							var _option = $("#slt_attr_opt option:selected").attr('id').replace('model_number', '');
							$.each(mini_prod_modal.pn, function(a, b){
								if(b.attri_set_id == _option){ $('span#model_number_val').html(b.pn); }
							});				 
						});
					}
				}).css({ position: 'absolute', top: po.top});
				$(".simplemodal-wrap").css('overflow','visible');
			});
		},		
		show: function (dialog) {					
			if(mini_prod_modal.current_page == 'prod_content'){
				$('#accordion').accordion({ collapsible: true, autoHeight: false, active: false });
				mini_prod_modal.switch_thumb();
				mini_prod_modal.add_to_cart();			
			}
			mini_prod_modal.email_form();
		},
		doClose: function(dialog){
			mini_prod_modal.current_page='';
			$.modal.close();
		},
		switch_thumb: function(){
			$('#gallery_slidershow_images').cycle({ 
				fx:     'scrollHorz', 
				speedIn:   600,	speedOut: 600, timeout: 0, 
				pager:  '#gallery_nav_images',
				pagerAnchorBuilder: function(idx, slide) {
					return '#gallery_nav_images li:eq(' + (idx) + ')';			
				}
			});
		},
		add_to_cart: function(){
			$('.btn_AddToCart_big').live('click', function(e){
				e.preventDefault();				
				var _frm = $(this).closest('form');	addToCart(_frm);
				return false;
			});	
		},
		email_form: function(){
			$('#frm-tell-a-friend').validate({			
				rules: {
					yourName: "required",
					yourEmail: { required: true, email: true },
					yourFriendsEmail: "required"
				  },
				submitHandler: function(form){	
					$.post('/ajaxfun/send_share_email/', $('#frm-tell-a-friend').serialize(), function(){
					$('div#preview_email_page').hide(); $('div.shareForm').hide(); $('div#email_finish_page').show();
					$('a.btnClose').live('click', function(){ $.modal.close(); });
					}, 'json');
					return false;
				}
			});
			$('#emailFriendSubmit').live('click', function(e){
				e.preventDefault();				
				if($('#frm-tell-a-friend').valid()){					
					$('#share_prod_id').val(mini_prod_modal.current_prod_id);
					var a = mini_prod_modal.email_valid($('#yourFriendsEmail').val());
					if(!a){
						alert(_ge('msg_valid_friends_email'));
						return false;
					}
					$('#frm-tell-a-friend').submit();	
				}
				else{
					mini_prod_modal.current_page='share_form';
					$('div#preview_email_page').hide(); $('div#prod-detail').hide(); $('div.shareForm').show();
				}
				return false;
			});
			$('.btn_Back').live('click', function(e){
				e.preventDefault();
							
				switch(mini_prod_modal.current_page){
					case 'preview_email':
						mini_prod_modal.current_page='share_form';
						$('div#preview_email_page').hide(); $('div.shareForm').show();
						break;
					case 'share_form':
						$('div.popupCartContainer').removeClass('share');
						mini_prod_modal.current_page='prod_content';
						$('div.shareForm').hide(); $('div#prod-detail').show();
						break;
				};
				return false;
			});						
			$('.btn_PreviewEmail').live('click', function(e){
				e.preventDefault(); mini_prod_modal.current_page='preview_email';
				if(mini_prod_modal.tmp_prev_content == ''){
					mini_prod_modal.tmp_prev_content = $('div#preview_email_page').html();
				}				
				
				
				$('div.shareForm').hide();
				_your_name = $('#yourName').val(); _your_names = $('#yourName').val() + "'s";								
				_email_msg = $('#email-message').val().replace(/(\r\n)|(\n)/g,"<br />");
				_prev_content = mini_prod_modal.tmp_prev_content
					.replace(/{your_name}/gi , _your_name)
					.replace(/{your_names}/ , _your_names)
					.replace(/{message}/, _email_msg);
				$('div#preview_email_page').html( _prev_content ).show();
				return false;
			});
		},
		email_valid: function(email){
			var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
			var flag = true;
			$.each(email.split(","), function(i, addr){											
				if(!filter.test(addr)){
					flag = false;					
				}
			});
    		return flag;
		}
	};
	
	mini_prod_modal.init();
});

// Include certain jquery easing style:
jQuery.extend(jQuery.easing,{
  easeOutExpo: function (x, t, b, c, d) {
    return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
  }
});

$(function(){	
	$(document).click(function(e) { if (e.button == 0) { $("#cart").slideUp(300); } });
	//get cart items
	reload_items_cart();
	
	//for input field
	$('input').click(function(){
		//tip = ($(this).attr('title') != '')?$(this).attr('title'):$(this).attr('alt');
		if($(this).val()==$(this).attr('title')){ $(this).val(''); }
	}).blur(function(){
		if($(this).val().length === 0 ){ $(this).val($(this).attr('title')); }	
	});
	
	//TOP ICON
	$('#go-to-top').show();  
		$('#go-to-top').click(function(){
		$('html, body').animate({'scrollTop' : -10}, {
			'duration':900,
			'easing':'easeOutExpo',
			'queue':false,
			'complete':function(){ $('#go-to-top').fadeIn(); }
		});
		$(this).hide();
		return false;
	});	
		
	//add to cart by other products
	$('a.btn_addToCart, a.btn_AddToCart_prod').live('click', function(){ addToCart($(this).closest('form')); });

	$('.notify-me, .move-to-favorites').live('click', function(e){
		e.preventDefault();
		var _wish = ($(this).hasClass('move-to-favorites') == true) ? 2 : 1;
		var _frm = $(this).closest('form'); $($('input[name="wish"]'), _frm).val(_wish); addWish(_frm);
		return false;
	});
	
	$("select[name='attr_opt']").live('change', function(){
		var _form = $(this).closest('form');
		var _pid = $('input[name="pid"]', _form).val();
			//if($(this).find('option:selected').css('color') == 'gray'){
			//	alert(_ge('sold_out'));	return false;
			//}
		var url = 'ajaxfun/getProdBuyQty/' + _pid + '/' + $(this).val();
		$.get(url, function(result){
							
			var _qty = (result == 0) ? 1 : result;
			$('select[name="qty"]', _form).empty();
			for(k=0; k<_qty;k++){
				$('select[name="qty"]', _form).append('<option value="' + (k+1) + '">' + (k+1) + '</option>');
			}
		});
	});
}); 

/* livechat tracking code */
  var __lc = {};
  __lc.license = 1035904;

  (function() {
    var lc = document.createElement('script'); lc.type = 'text/javascript'; lc.async = true;
    lc.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'cdn.livechatinc.com/tracking.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(lc, s);
  })();


