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);
	}
	
	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);
	ctx.globalAlpha = 1;
	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 (Browser.Engine.trident) 
        ctx = G_vmlCanvasManager.initElement(canvas).getContext('2d');
    else 
        ctx = canvas.getContext('2d');
    
	ctx.globalAlpha = 1;
    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;
	ctx.globalAlpha = 1;
    if($type(options.globalAlpha)){
		ctx.globalAlpha = options.globalAlpha;
	}
	
	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'));
	
	if($chk($('head_slide'))){
		new mooSlide('#head_slide', 'p', 'img');
	}
	
	
	if($type($('blog_comment'))){
		$$('#blog_comment form input.submit').addEvent('click', function(){
			blog_comment_submit(this.form);
		});
	}
	
	if($chk($('index_slide'))){
		new mooSlide('#index_slide', 'p', 'img', true, 
			{
				ms: 8000
			}, 
			{
			 	name: 'canvas',
                size: 10,
                color: '#FFFFFF',
				hoverColor: '#FF0000',
                imageBg: '',
                corner: {},
				canvasCircle : true,
				width: 10,
				height: 10
            });
		//roundCornerImage($$('#index_slide .pager a'));

	}else if ($chk($('shop_slide'))) {
		new mooSlide('#shop_slide', 'p', 'img, object');
	}else if($chk($('news_list'))){
		
		$$('#news_list .list dl').addClass('off');
		$$('#news_list .list dl dd.content').addClass('hide');
		
		var controlEleA = new Element('a').set('html', '&gt; Close');
		var controlEle = new Element('dd').addClass('txtR');
		controlEle.adopt(controlEleA);

        controlEleA.addEvent('click', function(){
            this.getParent().getParent().getElement('dt').fireEvent('click');
            return false;
        });

		active_title_toggle( $$('#news_list .list dl dt'), 'off', 'dd.content', 'hide', controlEle);
		
		var scrollEle = window.location.hash.substr(1); 
        if (scrollEle != '' && $(scrollEle)) {
            var scroll = new Fx.Scroll(window, {
                wait: false,
                duration: 2500
            });
			
            scroll.toElement( scrollEle );
            $$('#'+scrollEle+' dt').fireEvent('click');
        }
		
/*
		$$('#article_list .list dl:first-child').adopt(controlEle);
*/
	}else 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();
		});
		
		/*
		$$('#product_previewOthers .scrollL').addEvent('click', function(){
			previewOtherScroll('left', 100);
			return false;
		});
		$$('#product_previewOthers .scrollR').addEvent('click', function(){
			previewOtherScroll('right', 100);
			return false;
		});
		
		$('product_previewOthers').addEvent('mousewheel', function(e){
			e.stop();
			
			//e.wheel < 0 ? 'down' : 'up'
			if(e.wheel < 0){
				previewOtherScroll('right', 100);
			}else if(e.wheel > 0){
				previewOtherScroll('left', 100);
			}
		});
		*/
	}else 	if ($type($('newsContent'))) {
		autoResizeImage(['#newsContent p'], 'p');
	}
});

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();
}
