function roundCornerImage(target, options){
	if (!$type(options)) {
        var options = {};
    }
     
    if (target.tagName == 'IMG') {
        options.imageBg = target.src;
        
        if (target.complete) {
            canvasTagReplace(target, options);
        }
        else {
            target.addEvent('load', function(){
                canvasTagReplace(target, options);
            });
        }
    }
    else {
        canvasTagReplace(target, options);
    }
}

var canvasTagReplace = function(target, options){
	//alert(target.error);
	if (!$type(options)) {
        var options = {};
    }
    if (!$type(options.size)) {
        options.size = 20;
    }
    if (!$type(options.color)) {
        options.color = '#FFF';
    }
    if (!$type(options.imageBg)) {
        var imageBg = '';
    }
    if (!$type(options.corner)) {
        options.corner = {};
    }
	
	var canvasStyle = {
        display: 'inline-block'
    };
	
    if (target.tagName == 'IMG') {
		options.position = '';
		options.width = target.naturalWidth || target.clientWidth;
        options.height = target.naturalHeight || target.clientHeight;
		
		var tagWidth = target.getStyle('width').toInt();
		var tagHeight = target.getStyle('height').toInt();
		if(options.width > tagWidth){
			options.width = tagWidth;
		}
		if(options.height > tagHeight){
			options.height = tagHeight;
		}
		if(options.height == 0 || options.width == 0){
			return;
		}
			
		
    }
    else {
		if (!$type(options.width)) {
			options.width = 0;
			if (target.getStyle('width')) {
				options.width = target.getStyle('width').toInt() + target.getStyle('padding-left').toInt() + target.getStyle('padding-right').toInt();
			}
		}
		if (!$type(options.height)) {
			options.height = 0;
			if (target.getStyle('height')) {
				options.height = target.getStyle('height').toInt() + target.getStyle('padding-top').toInt() + target.getStyle('padding-bottom').toInt();
			}
		}
        
		if (!$type(options.canvasCircle)) {
			canvasStyle.position = 'absolute';
			canvasStyle.top = 0;
			canvasStyle.left = 0;
		}
    }
		
    var canvas = new Element("canvas", {
        'id': target.id == "" ? "" : target.id + "_canvas",
        'width': options.width > 0 ? options.width : '',
        'height': options.height > 0 ? options.height : ''
    });
	
	//console.log(canvas);
    canvas.setStyles(canvasStyle);
	
    if (target.tagName == 'IMG' && options.imageBg != '') {
		if(!$chk(target.get('src'))){
			return;
		}
		
        var _img = new Image();
        _img.src = target.src;
		options._img = _img;
		
		if (_img.complete) {
			target.getParent().replaceChild(canvas, target);
            canvasDraw(canvas, options);
        }
        else {
			_img.onload = function(){
				target.getParent().replaceChild(canvas, target);
                canvasDraw(canvas, options);
            };
        }
    }
    else if($type(options.canvasCircle)){
		//target.empty();
		canvas.inject(target);
		canvasCircle(canvas, options);
	} else {
		target.setStyle('background', 'transparent')
		if ($type(options.inElement)) {
			canvas.inject(target.getElement(options.inElement));
		}
		else {
			canvas.inject(target);
		}
        canvasDraw(canvas, options);
    }
    
}

function canvasCircle(canvas, options){
	if(!$type(canvas.retrieve('options'))){
		canvas.store('options', options);
	}
	//console.log(canvas);
	/*
	console.log(canvas.getParent());
	console.log(canvas.getParent().hasClass('current'));
	*/
	/*console.log($type(options.currentAlpha) ? options.currentAlpha : 1);*/
	var alpha = 1;
	
	if(canvas.getParent().hasClass('current') !== true){
		var alpha = 0.5;
	}
	
	var ctx;
    if (Browser.Engine.trident) 
        ctx = G_vmlCanvasManager.initElement(canvas).getContext('2d');
    else 
        ctx = canvas.getContext('2d');
    
	ctx.clearRect(0, 0, canvas.width, canvas.height);
	//console.log(alpha);	
	ctx.globalAlpha = parseFloat(alpha);
	ctx.fillStyle = options.color;
	
	ctx.beginPath();
	ctx.arc(options.width/2, options.height/2, options.width/2, 0, Math.PI*2, true);
	ctx.closePath();
	ctx.fill();
}

function canvasDraw(canvas, options){
    var ctx;
    
	if(!canvas.getParent().hasClass('current')){
		var alpha = 1;
	}
	if(!$type(alpha)){
		var alpha = 0.3;
	}
	
    if (Browser.Engine.trident) 
        ctx = G_vmlCanvasManager.initElement(canvas).getContext('2d');
    else 
        ctx = canvas.getContext('2d');
    
	ctx.globalAlpha = parseFloat(alpha);
    if ($type(options.imageBg) && options.imageBg != '') {
        ctx.drawImage(options._img, 0, 0, options.width, options.height);
    }else if($type(options.bgFill)){
		ctx.fillStyle = options.bgFill;
        ctx.fillRect(0, 0, options.width, options.height);
	}
    
    //ctx.save();
	
    ctx.fillStyle = options.color;
	
	if (!$chk(options.corner.topLeft)) {
		ctx.beginPath();
		ctx.moveTo(0, options.size);
		ctx.quadraticCurveTo(0, 0, options.size, 0);
		ctx.lineTo(0, 0);
		ctx.fill();
		ctx.closePath();
	}
    
	if (!$chk(options.corner.topRight)) {
	    ctx.beginPath();
	    ctx.moveTo(options.width - options.size, 0);
	    ctx.quadraticCurveTo(options.width, 0, options.width, options.size);
	    ctx.lineTo(options.width, 0);
	    ctx.fill();
	}
    
	if (!$chk(options.corner.bottomRight)) {
	    ctx.beginPath();
	    ctx.moveTo(options.width, options.height - options.size);
	    ctx.quadraticCurveTo(options.width, options.height, options.width - options.size, options.height);
	    ctx.lineTo(options.width, options.height);
	    ctx.fill();
	}
    
	if (!$chk(options.corner.bottomLeft)) {
		ctx.beginPath();
		ctx.moveTo(0, options.height - options.size);
		ctx.quadraticCurveTo(0, options.height, options.size, options.height);
		ctx.lineTo(0, options.height);
		ctx.fill();
	}
}


window.addEvent('domready', function(){
	$$('body').removeClass('noscript');
	myClass.imageHelper.fixPng.init();
	imageSwaper.active($$('img.swap'));
	
	var currentLang = $(document).getElement('html').get('lang');
	if(!$chk(currentLang)){
		currentLang = 'zh-TW';
	}
	
	MooTools.lang.setLanguage(currentLang);

	if ($type($('articleContent'))) {
		autoResizeImage(['#articleContent p'], 'p');
	}
	if ($type($('album_detail')) && (window.innerWidth > 1000 || (document.documentElement && document.documentElement.clientWidth > 1000) ) ) {
		
		$( document ).addEvent( 'keydown' , function( evt ){
			   if( evt.key == 'left' || evt.key == 'right' ){
				   evt.preventDefault();
				   window.location = $('album_detail').getElement( ( evt.key == 'left' ? '.prevBtn' : '.nextBtn' ) ).get('href');
			   }
			});
		$('album_detail').set('title', "可按鍵盤 ← / → 鍵翻頁");

		autoResizeImage(['#album_detail .photos ul li'], 'li', true);
	}
	if ($type($('album_detail'))) {
		autoResizeImage(['#album_detail .photos ul li'], 'li', true);
	}
	
	
	if ($type($('index_recent'))) {
		$$('#index_recent .box-pager a').addEvent('click', function(e){
			var aTag = this;
			var url = '/index/news/'+aTag.get('text');
			
			var myHTMLRequest = new Request.HTML({'url': url, 'onSuccess': function(responseTree, responseElements, responseHTML){
				var c = $$('#index_recent .content').set('html', responseHTML);
				
				$$('#index_recent .box-pager a').removeClass('current');
				aTag.addClass('current');
				aTag = null;
			}
			}).get();
			
		});
	}
	
	if ($chk($('product_previewOthers'))) {
		
        var myTween = new Fx.Tween('product_previewTarget', {
            property: 'opacity',
            duration: 800//'long'
        });
			
		$$('#product_previewOthers .thumbList a').addEvent('click', function(e){
			myTween.cancel();
			
			var target = $('product_previewTarget');
			var newSrc = this.get('href');
			
			var origSrc = this.get('href').replace(/\/(\d*x\d*)\//, '/original/');
			
			myTween.start(0).chain(
			function(){
				target.set('href', origSrc);
                target.getElement('img').set('src', newSrc);
				myTween.start(1);
			});
			
			e.stop();
		});
	}
	
	
});

function previewOtherScroll(direction, shift){
	var target = $$('#product_previewOthers .thumbList')[0];
	
	
	if($chk(target)){
		var currentLeft = target.getScroll();
		if (direction == 'left') {
			target.scrollTo(currentLeft.x - shift);
		}else{
			target.scrollTo(currentLeft.x + shift);
		}
	}
}

function active_title_toggle(titleSelector, titleToggleClass, targetSelector, toggleClass, controlEle){
    $$(titleSelector).addEvent('click', function(){
        var target = this.getParent().getElement(targetSelector);
        var ele = this;
		
        if ($chk(controlEle)) {
            if (!this.getParent().hasChild(controlEle)) {
                controlEle.inject(this.getParent());
            }
        }
		
		if (this.hasClass(titleToggleClass)) {
            this.removeClass(titleToggleClass);
        }
        else {
            this.addClass(titleToggleClass);
        }
		
        if (target.hasClass(toggleClass)) {
            target.removeClass(toggleClass);
			controlEle.removeClass(toggleClass)
        }
        else {
            target.addClass(toggleClass);
			controlEle.addClass(toggleClass)
        }
		
        return false;
    });
}



function blog_comment_submit(submitForm){
	var urlString = submitForm.getAttributeNode('action').nodeValue;
	
    var myHTMLRequest = new Request.JSON({
        url: urlString,
        onSuccess: function(response, txt){            
            if (response.success == true) {
                $(submitForm).getElements('.messageArea').set('html', response.message);
				
				blog_comment_reload(blog_comment.articleID, blog_comment.articlePage, blog_comment.page);
				document.getElementById(submitForm.id).reset();
				alert('done');
            }
            else {
				var vaild_src = '/blog/valid_image';
				submitForm.getElement('.valid_code').src = vaild_src+'?ts='+new Date().getTime();
;
                $(submitForm).getElements('.messageArea').set('html', response.message);
            }
            
        }
    }).post($(submitForm));
}

function blog_comment_reload(articleID, articlePage, page){
	var urlString = '/blog/ajah/' + articleID + '/' + articlePage + '/' + page;
	console.log(urlString);
    var myHTMLRequest = new Request.HTML({
        url: urlString,
        onSuccess: function(response, response2, responseHTML){            
            $('blog_comment').empty();            
            $('blog_comment').set('html', responseHTML);
            
        }
    }).get();
}

MooTools.lang.set('en-US', 'product_filter', {
	'layers' : ['Suitable Brand: ', 'Model: ']
})
MooTools.lang.set('zh-TW', 'product_filter', {
	'layers' : ['適用品牌: ','型號: ']
})
