jQuery(function() {
    if (jQuery("#zoom_area").html() == undefined) {
        return false;
    }
    var lensimg_size_x  = jQuery("#lens_img").width();   // ±âº»ÀÌ¹ÌÁö °¡·Î»çÀÌÁî
    var lensimg_size_y  = jQuery("#lens_img").height();   // ±âº»ÀÌ¹ÌÁö ¼¼·Î»çÀÌÁî
    var lensarea_size   = Math.floor(zoomarea_size_x * lensimg_size_x / zoomimg_size_x); // ·»ÁîÀÇ Å©±â (°¡º¯)
    var zoom_rate       = zoomimg_size_x / lensimg_size_x; // È®´ëÀÌ¹ÌÁö¿Í ±âº»ÀÌ¹ÌÁö »çÀÌÀÇ ºñÀ²
    var lensimg_offset  = jQuery("#lens_img").offset(); // lensÀÌ¹ÌÁöÀÇ ÇöÀç À§Ä¡°ª
    var zoom_flag       = true;                 //ÁÜ ÀÛµ¿ ÇÃ·¡±×
    var lens_flag       = true;                 //·»Áî ÀÛµ¿ ÇÃ·¡±×
    var water_pos_x     = 0;    // ¿öÅÍ¸¶Å© °¡·Î À§Ä¡
    var water_pos_y     = 0;    // ¿öÅÍ¸¶Å© ¼¼·Î À§Ä¡
    var zoombg_size_x   = zoomarea_size_x;    // ±×¸²ÀÚ °¡·Î»çÀÌÁî
    var zoombg_size_y   = zoomarea_size_x;    // ±×¸²ÀÚ ¼¼·Î»çÀÌÁî

    jQuery("#lens_area").mouseover(function() {
        jQuery("#watermark_area").hide();
        jQuery("#zoom_area").show();
        jQuery("#lens_area").show();
        jQuery.setSelectDp('hidden');
    }).mousemove(function(e) {
        jQuery.moveLens(e);
    }).mouseout(function() {
        jQuery.initialize();
    });

    jQuery("#lens_img").mouseover(function() {
        //jQuery("#watermark_area").hide();
        lensimg_offset  = jQuery("#lens_img").offset(); // lensÀÌ¹ÌÁöÀÇ ÇöÀç À§Ä¡°ªÀ» ´Ù½Ã ¼¼ÆÃÇÑ´Ù. À©µµ¿ì ¸®»çÀÌÂ¡À» ÇßÀ» °æ¿ì¿¡ ´ëºñÇØ¼­...
        if (zoom_flag !== false) {
            jQuery("#zoom_area").fadeIn("slow");
            jQuery.setSelectDp('hidden');
        }
        if (lens_flag !== false && zoom_flag !== false) {
            jQuery("#lens_area").show();
        } else {
            jQuery("#watermark_area").hide();
        }
        if (jQuery("#zoom_img").attr("src").length === 0 || jQuery("#zoom_img").attr("src") === "undefiend") {
            jQuery("#zoom_img").attr("src", maximage_url);
        }
    }).mouseout(function() {
        jQuery.initialize();
    }).mousemove(function(e) {
        if (jQuery("#zoom_img").attr("src").length === 0 || jQuery("#zoom_img").attr("src") === "undefiend") {
            jQuery("#zoom_img").attr("src", maximage_url);
        }
        if (zoom_flag !== false) {
            jQuery.moveLens(e);
        }
    });

    jQuery("#watermark_area").mouseover(function() {
        jQuery(this).hide();
    });

    
    jQuery.extend({
        moveZoom : function () {
            var lens_pos = jQuery.getLensPosition();
            if (lens_pos === false) {
                return false;
            }

            zoom_x = Math.floor(-zoom_rate * lens_pos[0]);
            zoom_y = Math.floor(-zoom_rate * lens_pos[1]);

            jQuery("#zoom_img").css({left : zoom_x, top : zoom_y});
        },
        // lens_areaÀÇ À§Ä¡°ª°ú ÀÌ¹ÌÁöÀÇ À§Ä¡°ªÀ» °¡Áö°í ÇöÀç ·¹ÀÌ¾îÀÇ ÁÂ»ó´ÜÀÌ ÀÌ¹ÌÁö¿¡¼­ ¾ó¸¶³ª ¶³¾îÁ® ÀÖ´ÂÁö °è»êÇØ¾ß ÇÑ´Ù.
        getLensPosition : function () {
            var lens_offset = jQuery("#lens_area").offset(); // lens_areaÀÇ ÇöÀç À§Ä¡°ª 
            var lens_pos_lx = lens_offset.left - lensimg_offset.left; // lens_areaÀÇ lens_img¿¡ ´ëÇÑ ÁÂÃø »ó´ë°ª
            var lens_pos_rx = (lensimg_offset.left + lensimg_size_x) - (lens_offset.left + lensarea_size); // lens_areaÀÇ lens_img¿¡ ´ëÇÑ ¿ìÃø »ó´ë°ª
            var lens_pos_ly = lens_offset.top - lensimg_offset.top; // lens_areaÀÇ lens_img¿¡ ´ëÇÑ »ó´Ü »ó´ë°ª
            var lens_pos_ry = (lensimg_offset.top + lensimg_size_y) - (lens_offset.top + lensarea_size); // lens_areaÀÇ lens_img¿¡ ´ëÇÑ ÇÏ´Ü »ó´ë°ª

            if (lens_pos_lx < 0 || lens_pos_rx < 0 || lens_pos_ly < 0 || lens_pos_ry < 0) {
                return false;
            } else {
                return new Array(lens_pos_lx, lens_pos_ly);
            }
        },

        moveLens : function(m_obj) {
            //·»ÁîÀÇ Àý´ëÀû À§Ä¡
            var lens_temp   = Math.floor(lensarea_size / 2);
            var lens_X0     = m_obj.pageX - lens_temp;
            var lens_Y0     = m_obj.pageY - lens_temp;
            var lens_X1     = m_obj.pageX + lens_temp;
            var lens_Y1     = m_obj.pageY + lens_temp;

            //ÀÌ¹ÌÁöÀÇ Àý´ëÀûÀ§Ä¡ 
            var img_X0      = lensimg_offset.left;
            var img_Y0      = lensimg_offset.top;
            var img_X1      = img_X0 + lensimg_size_x;
            var img_Y1      = img_Y0 + lensimg_size_y;

            //XÃà, YÃà ¹üÀ§¸¦ ¹þ¾î³ªÁö ¾Ê´Â´Ù¸é ·»ÁîÀ§Ä¡ ÀÌµ¿
            if ((img_X0 < lens_X0) && (img_Y0 < lens_Y0) && (img_X1 > lens_X1) && (img_Y1 > lens_Y1)) { 
                left_pos    = lens_X0;
                top_pos     = lens_Y0;
            //XÃà ¹üÀ§´Â ¹þ¾î³ª°í YÃàÀÇ ¹üÀ§´Â ¹þ¾î³ªÁö ¾Ê¾ÒÀ»°æ¿ì  
            } else if ((img_X0 > lens_X0 || img_X1 < lens_X1) && (img_Y0 < lens_Y0 && img_Y1 > lens_Y1)) {
                if (img_X0 > lens_X0) {
                    left_pos= img_X0;
                } else {
                    left_pos= img_X1 - lensarea_size;
                }
                top_pos     = lens_Y0;
            //YÃà ¹üÀ§´Â ¹þ¾î³ª°í XÃàÀÇ ¹üÀ§´Â ¹þ¾î³ªÁö ¾Ê¾ÒÀ»°æ¿ì 
            } else if ((img_X0 < lens_X0 && img_X1 > lens_X1) && (img_Y0 > lens_Y0 || img_Y1 < lens_Y1)) {
                if (img_Y0 > lens_Y0) {
                    top_pos = img_Y0; 
                } else {
                    top_pos = img_Y1 - lensarea_size;
                }
                left_pos    = lens_X0;
            //¿À¸¥ÂÊ ÇÏ´Ü ¸ð¼­¸® 
            } else if (img_X1 < lens_X1 && img_Y1 < lens_Y1 ) {
                left_pos    = img_X1 - lensarea_size;
                top_pos     = img_Y1 - lensarea_size;
            //¿ÞÂÊ ÇÏ´Ü ¸ð¼­¸®
            } else if (img_X0 > lens_X0 && img_Y1 < lens_Y1 ) {
                left_pos    = img_X0;
                top_pos     = img_Y1 - lensarea_size;
            //¿À¸¥ÂÊ »ó´Ü ¸ð¼­¸®
            } else if (img_X1 < lens_X1 && img_Y0 > lens_Y0 ) {
                left_pos    = img_X1 - lensarea_size;
                top_pos     = img_Y0;
            //¿ÞÂÊ »ó´Ü ¸ð¼­¸® 
            } else if (img_X0 > lens_X0 && img_Y0 > lens_Y0 ) {
                left_pos    = img_X0;
                top_pos     = img_Y0;
            }
            jQuery("#lens_area").css({left : left_pos , top : top_pos});
            jQuery.moveZoom();
        }, 

        //ÀÍ½º 6.0ÀÏ°æ¿ì¸¸ Àû¿ëÇÑ´Ù  
        setSelectDp : function (mode) {
            browser = jQuery.browser;
            if (browser.msie && browser.version === "6.0") {
                zoom_offset = jQuery("#zoom_area").offset();
                zoom_btm_pos    = jQuery("#zoom_area").height() + zoom_offset.top;
                jQuery("form['name=form1'] select").each(function() {
                    if (mode === "hidden") {
                        select_offset = jQuery(this).offset();
                        if (zoom_btm_pos > select_offset.top) {
                            jQuery(this).css('visibility', mode);
                        }
                    } else {
                        jQuery(this).css('visibility', mode);
                    }
                });
            }
        },
        // ÃÊ±â»óÅÂ¸¦ ¼¼ÆÃÇÑ´Ù.
        initialize : function (mode) {
            // mode = start : ÃÖÃÊ 1È¸¸¸ ½ÇÇà
            if (mode == "start") {
                //È®´ë ÀÌ¹ÌÁö Å©±â ÁöÁ¤
                var zoomarea_width  = zoomarea_size_x;
                var zoomarea_height = zoomarea_size_x;

                //¿¹¿ÜÃ³¸® ÀÌ¹ÌÁö 
                //È®´ëÀÌ¹ÌÁö Å©±â°¡ ±âº»ÀÌ¹ÌÁö Å©±âº¸´Ù ÀÛ°Å³ª È®´ë¿µ¿ªº¸´Ù ÀÛÀº°æ¿ì 
                if ((zoomimg_size_x <= lensimg_size_x && zoomimg_size_y <= lensimg_size_y) || ( zoomimg_size_x <= zoomarea_size_x && zoomimg_size_y <= zoomarea_size_x)) {
                    lens_flag = false;
                    zoomarea_width  = zoomimg_size_x;
                    zoomarea_height = zoomimg_size_y;
                    zoombg_size_x = zoomimg_size_x;
                    zoombg_size_y = zoomimg_size_y;
                //±âº»ÀÌ¹ÌÁö¿Í È®´ëÀÌ¹ÌÁö ºñÀ²ÀÌ Æ²¸°°æ¿ì 
                } else if (Math.floor(zoomimg_size_x/zoomimg_size_y) !== Math.floor(lensimg_size_x/lensimg_size_y)) {
                    zoom_flag = false;
                } else {
                    if (zoomimg_size_x < lensimg_size_x) {
                        lensarea_size   = lensimg_size_x;
                    } else if (zoomimg_size_y < lensimg_size_y) {
                        lensarea_size   = lensimg_size_y;
                    } else if (zoomimg_size_x < zoomarea_size_x) {
                        lensarea_size   = lensimg_size_x;
                        zoomarea_width  = zoomimg_size_x;
                        zoomarea_height = zoomimg_size_x;
                        zoombg_size_x = zoomimg_size_x;
                        zoombg_size_y = zoomimg_size_x;
                    } else if (zoomimg_size_y < zoomarea_size_x) {
                        lensarea_size   = lensimg_size_y;
                        zoomarea_width  = zoomimg_size_y;
                        zoomarea_height = zoomimg_size_y;
                        zoombg_size_x = zoomimg_size_y;
                        zoombg_size_y = zoomimg_size_y;
                    }
                }
                
                // ·Îµù ÈÄ zoomareaÀÇ Å©±â¸¦ ÇØ´ç Å©±â·Î °íÁ¤ÇÑ´Ù.
                jQuery("#zoom_area").css({width : zoomarea_width, height : zoomarea_height});
                jQuery("#zoomimg_area").css({width : zoomarea_width, height : zoomarea_height, border : "solid 1px #" + zoomimg_border});
                jQuery("#lens_area").css("border","solid 1px #" + lensimg_border);
                
                if (zoom_shadow == "Y") {
                    jQuery("#zoom_img_bg").css({width : zoombg_size_x, height : zoombg_size_y, display : "block"});
                }

                // lens_areaÀÇ Å©±â¸¦ Á¤ÇÑ´Ù.
                if (zoom_flag !== false) {
                    jQuery("#lens_area").css({width : lensarea_size, height : lensarea_size});
                }

                // water mark À§Ä¡ ¼³Á¤
                if (zoom_flag !== false && water_mark == "Y") {
                    jQuery.setWatermark();
                }
            }

            // Ç×»ó ÃÊ±â°ªÀ¸·Î ¸¸µç´Ù.
            jQuery("#zoom_area").hide();
            jQuery("#lens_area").hide();
            jQuery.setSelectDp('visible');
            // ¿öÅÍ¸¶Å© ³ëÃâ
            if (zoom_flag !== false && water_mark == "Y") {
                jQuery("#watermark_area").css("display","block");
            }
        },
        setWatermark : function (lens_obj) {
            //var lensimg_half_y = Math.floor(lensimg_size_y / 2);
            var water_width = jQuery("#watermark_area").width();

            if (typeof lens_obj != "undefined") {
                lensimg_offset = lens_obj;
            }
            if (lensimg_size_x <= water_width) {
                // ieÀÇ °æ¿ì padding ¹× border °è»êÀÌ fx¿Í ´Ù¸§
                var resize_width = (jQuery.browser.msie === true) ? lensimg_size_x : (lensimg_size_x - 16);
                jQuery("#watermark_area").width(resize_width);
                water_pos_x = lensimg_offset.left;
            } else {
                // 16À» ´õ »©´Â ÀÌÀ¯´Â watermark_areaÀÇ ¾ç¿· paddingÀÌ 5px ¾¿ ÀÖ°í border°¡ 3pxÀÌ±â ¶§¹®¿¡
                water_pos_x = Math.floor((lensimg_size_x - water_width - 16) / 2) + lensimg_offset.left;
            }
            //water_pos_y = lensimg_offset.top + (lensimg_half_y - 20);
            water_pos_y = lensimg_offset.top + (lensimg_size_y - 50);

            jQuery("#watermark_area").css({left : water_pos_x, top : water_pos_y, color : "#" + water_mark_color, border : "solid 3px #" + water_mark_color});
        }
    });

    // ·Îµù ½Ã ÃÖÃÊ ½ÇÇà
    jQuery.initialize('start');

});

// È­¸éÀÇ »çÀÌÁî°¡ º¯°æµÇ¸é ·¹ÀÌ¾îÀÇ À§Ä¡¸¦ ´Ù½Ã ÀâÀ½.
jQuery(window).resize(function() {
    lensimg_offset  = jQuery("#lens_img").offset(); // lensÀÌ¹ÌÁöÀÇ ÇöÀç À§Ä¡°ª
    jQuery("#lens_area").css({left : lensimg_offset.left, top : lensimg_offset.top});
    jQuery.setWatermark(lensimg_offset);
});

