/*
 * Image Dragging
 * @require jQuery UI Draggable
 */
(function($){
	$.fn.imgZoomer = function(options) {		
		// settings
		var config = {			
			targetID: '',
			sourceID: '',
			closeID: '#close',
			dragging: false,
			beforeClass: '',
			afterClass: ''
		};		
		var opts = $.extend(config, options);
		var _openBox = $(this);
		
		// Dragging
		var _dragging = function(e, obj){			
			var _tmpTop = obj.position.top;
			var _tmpLeft = obj.position.left;
			
			if ($.browser.webkit) {
    			if(obj.position.top < 0)   obj.position.top  = obj.position.top + 2000;				
  			}
  			else{
	  			if(obj.position.top < 0)   obj.position.top  = 0;		
			}
			//if(obj.position.top < 0)   obj.position.top  = 0;	
			if(obj.position.top > 210) obj.position.top  = 210;
			if(obj.position.left < 0)  obj.position.left = 0;
			if(obj.position.left > 340) obj.position.left = 340;
		};
		
		var _zoom = function(href){
			opts.dragging = true;
			
			if(opts.beforeClass != ''){
				_openBox.removeClass(opts.beforeClass);
			}
			if(opts.afterClass != ''){
				_openBox.addClass(opts.afterClass);
			}
			
			$( opts.targetID ).html(
				$("<img />").attr("src", href).addClass('draggable').removeClass("ui-draggable-dragged").draggable({					
					containment: "parent", drag: _dragging
				})
			).parent().fadeIn(200);						
		};
		
		var _reset = function(){
			$( opts.targetID ).parent().fadeOut(200);
			
			if(opts.beforeClass != ''){
				_openBox.addClass(opts.beforeClass);
			}
			if(opts.afterClass != ''){
				_openBox.removeClass(opts.afterClass);
			}
			
			opts.dragging = false;
		}
		
		//thumbs
		$('.openBoxThumbnails img').click(function(){
			$('#openBoxGalleryImg').attr('src', $(this).attr('rel')).attr('large', $(this).attr('large')).attr('width', '590');
			$('#openBoxGalleryText').html($(this).attr('caption'));
			
			if($( opts.targetID ).css('display') != 'none'){
				$( opts.targetID ).find('img').attr('src', $(this).attr('large'));	
			}
		});
				
		//Close Drag
		$(opts.closeID).live('click',function(){			
			_reset();						
		});
		
		//Open Drag
		_openBox.click(function(){
			if(opts.dragging == true){
				_reset();				
			}
			else{								
				_zoom( $(opts.sourceID).attr('large') );
			}
		});
	};
})(jQuery);

function calculateSavedAmount(){
	var total_bundle_size = $('.add_prod_add .div_left .bundle_checkbox').length;
	var saving = 0;
	for(var m=0; m<total_bundle_size; m++){
		if( $('.add_prod_add .div_left .bundle_checkbox:eq('+m+')').attr('checked') == true || $('.add_prod_add .div_left .bundle_checkbox:eq('+m+')').attr('checked') == 'checked' ){			
			saving += ( $('.add_prod_add .bundle_qty:eq('+m+')').attr('value') ) * ( $('.add_prod_add .bundle_qty:eq('+m+')').attr('discount') );
		}	
	}
}

function changeFrontEndSelect(selectFrom){
	if( selectFrom == 1){
		var thisAttrCnt = ( $("#attr_opt option:selected").attr('cnt') );
		$("#main_prod_attr_opt").attr("selectedIndex", $("#attr_opt").attr("selectedIndex")); 
	}
	else if( selectFrom == 2){
		var thisAttrCnt = ( $("#main_prod_attr_opt option:selected").attr('cnt') );	
		$("#attr_opt").attr("selectedIndex", $("#main_prod_attr_opt").attr("selectedIndex")); 
	}

	if (thisAttrCnt != undefined){
		var replaceOptions = "";
		for(var k=0; k<thisAttrCnt; k++){	
			var kv = k+1;
			replaceOptions += "<option value='"+(kv)+"'>"+kv+"</option>";
		}
		$("#qty").html( replaceOptions );
		$("#main_prod_qty").html( replaceOptions );
		
		$('#btnAddtoCart').show();
		$('#qty').show();
		$('#btnStockNotice').hide();
		
		if( thisAttrCnt == 0){
			$('#btnAddtoCart').hide();
			$('#qty').hide();
			$('#btnStockNotice').show();
		}
	}
	else {
		if( document.getElementById("attr_opt") != undefined ){	
			$('#btnAddtoCart').hide();
			$('#qty').hide();
			$('#btnStockNotice').show();
		}	
	}
}

//View Cart(2010.03.23 add)
function ViewCartbyProd(){
	
	var cart_content = '';
	var cart_total = 0;
	$.ajax({ url: 'ajaxfun/getViewCart', dataType: 'json', cache: false, success: function(data) {
			if(data.total > 0){
				var opt_content = '';
				cart_content += '<form id="frmUpdateCart">';
				$.each(data.items, function(i,item){				
					var opt_content = '';
					
					cart_total = cart_total + item.amount;
					cart_content += '<div class="cart_item">' + item.prod_title + '<br />';
									
					if(item.attr_desc != null){
						cart_content += item.attr_desc+'<br />';	
					}
					
					attr_opts = (item.attr_id!=null)?item.attr_id:'';
					cart_content += '<label><input type="text" name="qty[]" alt="' + item.prod_title+ '" value="' +
						item.qty + '" size="3" maxlength="5" class="input" /><input type="hidden" id="prod_'+i+'" name="prods[]" value="' + item.encrypt_prod_id + '" /><input type="hidden" name="attr_opt[]" value="'+ attr_opts +'" /></label><div><span>$' + item.price + '</span></div></div>';
				});
				
				cart_content += '<div class="cart_info">Total: <span><b>$' + cart_total + '</b></span></div>';
				cart_content += '<div class="cart_button"><input type="button" id="btn_update_cart" class="update_submit" />    <input type="button" class="checkout_submit" id="btnCheckout" /><br /><br /></div>';
				
				cart_content += '<input type="hidden" name="ajax" value="'+ data.ajax +'" /><div id="err" style="color:#FF0000;text-align:center;vertical-align:middle;"></div></form>';
			}
			else{
				cart_content = '<div class="calculate_item"> CART IS EMPTY </div>';				
			}
			$('.right_content.shopping_cart_content').html(cart_content);
		}			
	});					   
}

function setupShadowboxEffect(){
	Shadowbox.setup('span.shadowbox_bigger a', { handleOversize: "drag", gallery: "zoom_bigger", continuous: true, displayCounter: false, counterType: "skip" });   
}

$(function(){
	//gallery slider
	$("#small_pic_section.verScroll").easySlider({speed:50,sliderNum:7,continuous:false,btnHide:false,disableUselessBtn:true});
		   
	$('#frmAddToCart').submit(function(){
		if(stock == true && $('#frmAddToCart').attr("action") == 'prods/addStockNotice'){ return true; }
		return false;
	});
	
	
	//jump to the first option, cnt != 0 
	var loadedAttrCnt = $("#attr_opt option:selected").attr('cnt');
	if (loadedAttrCnt != undefined && loadedAttrCnt==0){
		var nowSelect = $("#attr_opt").attr("selectedIndex");		
		var optionSize = $("#attr_opt option").length;
		nowSelect++;
		for(k=nowSelect; k<optionSize; k++){
			if( $("#attr_opt option:eq("+k+")").attr('cnt') != 0){
				$("#attr_opt").attr("selectedIndex", k);
				$("#main_prod_attr_opt").attr("selectedIndex", $("#attr_opt").attr("selectedIndex")); 
				break;
			}	
		}
	}
	
	changeFrontEndSelect(1);		//抓到現在選的 秀出相對cnt	
	
	//add to cart
	if($('#btnAddtoCart').length > 0){
		$('#btnAddtoCart').click(function(){ add_to_cart(); });
	}
	if($('#btnAddtoPreorder').length > 0){
		$('#btnAddtoPreorder').click(function(){ add_to_cart(); });
	}
	
	//add to stock notice
	$('#btnStockNotice').click(function(){
		$('#frmAddToCart').attr("action", "prods/addStockNotice");		
		document.getElementById('frmAddToCart').submit();
	});
		
	if($("img[name^='pimage_']").length > 0){	
		//get first img	
		$('#largePic').attr('src', $("img[name^='pimage_']:first").attr('rel'));
		
		//click mini pic, main pic is change src
		$("img[name^='pimage_']").click(function(){
			$('#largePic').attr('src', $(this).attr('rel'));	
		}).mousemove(function(){
			$(this).css('cursor', 'pointer');	
		});
	}
	
	//get download & faq	
	$.getJSON('http://support.ipevo.com.tw/rest.php?prod='+support_rss+'&jsoncallback=?', function(data) {
		var html = '';
		$.each(data.download, function(i, ditem){
			if(ditem.driver.length > 0){
				var type = '';
				$.each(ditem.driver, function(k,item){									
					if(item.type !== type){
						if(type != "") html+='</ul>';
						html+='<div class="sub_title">'+item.type+':</div>';
						html+='<ul class="text_list">';
						type = item.type;
					}
					if(item.tid < 3){
						html+='<li><a title="' + item.name + '" href="'+item.filepath+'">'+ item.name + '</a>&nbsp;<img src="'+item.icon+'" /></li>';
					}
					else{
						html+='<li><a title="' + item.name + '" href="'+item.filepath+'">'+ item.name + '</a>&nbsp;<img src="'+item.icon+'" /></li>';
					}
						
					if(k == (ditem.driver.length-1)){						
						html+='</ul>';						
					}									
				});
			}
			
			if(ditem.doc.length > 0){				
				html+='<div class="sub_title">文件:</div>';
				$.each(ditem.doc, function(k,item){
					if(k == 0) html+='<ul class="text_list">';
														
					html+='<li><a title="' + item.name + '" href="'+item.filepath+'">'+ item.name +'</a>&nbsp;<img src="'+item.icon+'" /></li>';
					
					if(k == (ditem.doc.length-1)) html+='</ul>';
				});
			}										
		});
		$('#downloads').append(html);
		
		if(data.faq.length > 0){
			html = "";			
			$.each(data.faq, function(j, fitem){
				ques = fitem.question.replace(/<p>/gi, '').replace(/<\/p>/, '');
				html += '<li><a href="'+fitem.link+'" title="'+ques+'" target="_blank">'+ques+'</a></li>';														
			});
			$('.faqs').append(html);
		}
		else{
			$('.faqs').parent().hide();	
		}
	});
	
	if($("select[name='attr_opt']")){
		$("select[name='attr_opt']").change(function(){
			if($(this).find('option:selected').css('color') == 'gray'){
				alert(_ge('sold_out'));	
				return false;
			}
		});
	}

	function array_max(){
		var i, max = this[0];
			for (i = 1; i < this.length; i++){
			if (max < this[i])
				max = this[i];
			}
		return max;
	}
	Array.prototype.max = array_max;

		/** Simple Tabs Effect for product combos **/ 
		$('.prod1').siblings().hide();
		$('ol.tabs li:first').addClass('active tab_first').show();
		$('ol.tabs li:last').addClass('tab_patch');
		var maxH = new Array();
		
		$('ol.tabs li').each(function(ref){
			$(this).click(function(){
	      $('.tab_content').hide();
	      $('ol.tabs li').removeClass('active');
	      $(this).addClass('active');
				var tab_num = ref + 1;
	      $('.prod' + tab_num).fadeIn();
	      return false;
	    }) // end click
			maxH[ref] = $(this).height();
		}); // end each
		var liHeight = maxH.max();
		if( $.browser.msie && $.browser.version==7 ){liHeight = liHeight + 10;}
		$('ol.tabs').height(liHeight);
		$('ol.tabs').find('li').height(liHeight);
		
		$('.right_content').find('li:not(".title") > span.in_list_subtitle').css({'margin-left':'-1em'});
		$('.right_content').find('li.title > span.in_list_subtitle').before( $('<br>') );
		$('.product_left').find('li:not(".title") > span.in_list_subtitle').css({'margin-left':'-1em'});

	if($('a[name="layaway_bank"]').size() > 0){
		
		$('a[name="layaway_bank"]').click(function(){ showMsg($(this).attr('term'), $(this).attr('rel'));	});
	}

});




