/* * Name: KEPCO * Part: JavaScript for ui & plug-in * Author : pk.choi */ (function($){ // jQuery.noConfict(); $(document).ready(function() { srchTab(); kepcoGroup(); /* * Part: load external page */ $('#requestAgreeBox').loadExternalPage({ path:'/kepco/front/html/CY/F/A/CYFAPP001.html #wrap' }); /* * Part: modal layer popup */ $(this).on('click', '.modal_trigger', function (event) { //prevent default action (hyperlink) event.preventDefault ? event.preventDefault() : event.returnValue = false; // event.preventDefault(); //Get clicked link href var href = $(this).attr("href") + " #wrapPop"; if ($('.modal_overlay').length > 0) { // .modal_overlay exists // alert('modal_overlay exists already'); $('.modal_overlay').show(); } else { //.modal_overlay does not exist - create and insert (runs 1st time only) //create HTML markup for lightbox window var lightbox = '' //insert lightbox HTML into page $('body').append(lightbox); $(".modal_overlay").css({ "zIndex":9999, "width":$(window).width(), "height":$(document).height(), "min-width":980, "opacity":"0.7" }); } if ($('.modal_content').children().length > 0) { // .modal_content's children exists // alert('modal_content children exists already'); $('.modal_content').show(); $('.modal_content').find('input').eq(0).focus().select(); } else{ $('.modal_content').show(); $('.modal_content').load(href,function() { // var objCont = $(this).find('#wrapPop'); var objCont = $(this); var objWidth = objCont.find('#wrapPop').outerWidth(); var objHeight = objCont.find('#wrapPop').outerHeight(); var maxH = 320; var topH = 56; objCont.css({ "position":"fixed", "zIndex":10000, "width":objWidth, "height":objHeight, "marginLeft":-objWidth/2, "marginTop":-objHeight/2}); if(objHeight >= maxH + topH) { $('.modal_content .popContainer').css({ "overflow-x":"hidden", "overflow-y":"scroll", "height":maxH }); $('.modal_content').css({ "marginTop":-(maxH + topH)/2 }); } objCont.find('input').eq(0).focus().select(); }); } }); /* * Part: tab table */ $(this).on('click', '.tab_table .layerTab td>a' , function(){ event.preventDefault ? event.preventDefault() : event.returnValue = false; var href = $(this).attr('href') + ' #wrapPop'; $('.modal_content').empty().load(href, function(){ var objCont = $(this); var objWidth = objCont.find('#wrapPop').outerWidth(); var objHeight = objCont.find('#wrapPop').outerHeight(); var maxH = 320; var topH = 56; objCont.css({ "position":"fixed", "zIndex":10000, "width":objWidth, "height":objHeight, "marginLeft":-objWidth/2, "marginTop":-objHeight/2}); if(objHeight >= maxH + topH) { $('.modal_content .popContainer').css({ "overflow-x":"hidden", "overflow-y":"scroll", "height":maxH }); $('.modal_content').css({ "marginTop":-(maxH + topH)/2 }); } }) }) //close layer popup $(this).on('click', 'dl.popLayout.lpop dd.close_box a', function () { $('.modal_overlay').hide(); $('.modal_content').empty().hide(); return false; }); /* * Part: resize window(reset width/height modal_overlay) */ $(window).resize(function(){ if ($('.modal_overlay').length > 0) { if($('.modal_overlay').is(':visible')){ $('.modal_overlay') .css("width", $(window).width()) .css("height", $(document).height()); } } }); /* * Part: close window popup */ $('dl.popLayout dd.close_box a, dl.popLayout a.close_wpop').bind('click', function () { popClose(); return false; }); /* * Part: toggle FAQ list */ $('.faq_list li>a').bind('click', function () { if($(this).parent().hasClass('on')){ $(this).parent().removeClass('on'); }else{ $('.faq_list li').removeClass('on'); $(this).parent().addClass('on'); } }); /* * Part: LNB office list layer */ $('.office_more > a').bind('click', function () { $('.office_list').show(); return false; }); $('.office_list > a').bind('click', function () { $('.office_list').hide(); return false; }); /* * Part: cyber newsletter lnb focus */ $('.lnb_account ul.list_lnb_account > li').on('focusin',function(){ if(!$(this).hasClass('on')) $(this).addClass('hover'); }).on('focusout',function(){ if(!$(this).hasClass('on')) $(this).removeClass('hover'); }); /* * Part: cyber tooltip */ /*$('.blue_btn a.blBtn').on('click',function(){ var $bl_text_box = $(this).parent().find('.bl_text_box'); if($bl_text_box.hasClass('hide')){ $('.blue_btn .bl_text_box').addClass('hide'); $bl_text_box.removeClass('hide'); $('.blue_btn a.blBtn').removeClass('blBtn_on'); $(this).addClass('blBtn_on'); }else{ $bl_text_box.addClass('hide'); $(this).removeClass('blBtn_on'); } }); */ var $bl_btns = $('.blue_btn a'); $bl_btns.addClass('blBtn_on'); $('.blue_btn').on({ 'click':function(){ var $bl_text_box = $(this).parent().find('.bl_text_box'); //다른 아이콘버튼 클릭시 if($bl_text_box.hasClass('hide')){ $bl_btns.not($(this)).removeClass('blBtn_on'); $(this).addClass('blBtn_on'); $('.blue_btn .bl_text_box').addClass('hide'); $bl_text_box.removeClass('hide'); $('.blue_btn').css({'z-index': '0'}) $(this).parent().css({'z-index': '5'}); } //클릭한 아이콘버튼을 다시 클릭시 else{ $bl_btns.not($(this)).addClass('blBtn_on'); $bl_text_box.addClass('hide'); } $(this).focus(); return false; } }, 'a'); /*PR today_list, monthly_list*/ $('.kepco_layer').on('click', function (event) { event.preventDefault ? event.preventDefault() : event.returnValue = false; href = $(this).attr("href") + "#wrapLayer"; layerDiv = '
'; $('.pr .conSection').append(layerDiv); $('.layerDiv').load(href, function(){ $('.btn_close').click(function(){ $('.layerDiv').remove(); return false; }) }); }); /*smart grid*/ var objImgLi = $('.img_paging li'); var objImgBtn = $('.img_paging li a'); $('.img_paging li.on').append(''); objImgBtn.bind('click', function(){ if (!$(this).parent().is('.btn_prev, .btn_next')){ objImgLi.removeClass('on'); $('.bg_arrow').remove(); $(this).parent().not('.btn_prev, .btn_next').addClass('on'); $(this).parent().not('.btn_prev, .btn_next').append(''); return false; } }) /* tab 메뉴 활성화 표시 2015.03.31 민승우 */ var tabLayer = $(".wrap_tab"); var tabOnTitle = tabLayer.find("li.on > a").text(); var tabOnTitle2 = tabLayer.find("li.sub_on > a").text(); tabLayer.find("li").each(function(){ var tabOffTitle = $(this).find("a").text(); $(this).find("a").attr("title",tabOffTitle); }); tabLayer.find("li.on").children("a").attr("title",""+ tabOnTitle +"(현재페이지)"); tabLayer.find("li.sub_on").children("a").attr("title",""+ tabOnTitle2 +"(현재페이지)"); /* table tab 메뉴 활성화 표시 2015.04.02 민승우 */ var tableTab = $(".tab_table"); var tableTabOnTitle = tableTab.find("td.on > a").text(); tableTab.find("td").each(function(){ var tableTabOffTitle = $(this).find("a").text(); $(this).find("a").attr("title",tableTabOffTitle); }); tableTab.find("td.on > a").attr("title",""+ tableTabOnTitle +"(선택됨)"); tableTab.find("table").removeAttr("summary");//레이아이웃용 테이블이기때문에 삭제함 2015.04.20 민승우 추가수정 tableTab.find("caption").remove();//레이아이웃용 테이블이기때문에 삭제함 2015.04.20 민승우 추가수정 /*calcurator*/ layerFn(); /*museum*/ electMuseum(); /*footer family_site*/ footerFamily(); });//end : document ready var footerFamily = function(){ var objFamilySite = $('.family_site'); var objFamilySiteA = $('.family_site a'); var objFooterInfoUl = $('.footerCon ul'); var objFamilyA = $('.footerCon ul>li.family>a'); var objFamilySiteLastA = $('.family_site dd:last-child li:last-child a'); objFamilySite.hide(); objFamilyA.bind('mouseenter focus', function(){ $(this).next().show(); }) objFamilyA.bind('mouseleave blur',function(){ layerHideDelay = setTimeout(function(){objFamilySite.hide();}, 300); }) objFamilySiteA.bind('mouseenter focus', function(){ clearTimeout(layerHideDelay); }) objFamilySite.bind('mouseenter focus', function(){ clearTimeout(layerHideDelay); }) objFamilySite.bind('mouseleave blur', function(){ objFamilySite.hide(); }) objFamilySiteLastA.focusout(function(){ objFamilySite.hide(); }) } /* calcurator */ var layerFn = function(){ var btnGo = $('#container_calcul .btn_set.btnRe.goto'); var btnUse = $('.btn_contract a'); var btnGraph = $('.btn_set.btnBge'); var layer = $('.layer_calculator'); var layer2 = $('.layer_calculator2'); var layerClose = $('.layer_calculator .btn_close_calcul'); var layerClose2 = $('.layer_calculator2 .btn_close_calcul'); var btnUseList = $('.list_contract'); $('.list_contract').hide(); btnGo.click(function(){ layer.show(); }); layerClose.click(function(){ layer.hide(); }); layerClose2.click(function(){ layer2.hide(); layer.show(); btnGraph.focus(); }); btnUse.bind('mouseenter focus', function(){ btnUseList.show(); $('.tit_calculator div.btn_contract a').css({'background': 'url(/kepco/front/img/cyber/btn_layertop_on.jpg) no-repeat left 0'}); }); btnUse.bind('mouseleave blur', function(){ hideDelay = setTimeout(function(){btnUseList.hide();}, 0); $('.tit_calculator div.btn_contract a').css({'background': 'url(/kepco/front/img/cyber/btn_layertop_off.jpg) no-repeat right 1px'}); }); btnUseList.bind('mouseenter focus', function(){ btnUse.trigger('mouseenter') clearTimeout(hideDelay); }); btnUseList.bind('mouseleave blur', function(){ btnUse.trigger('mouseleave') }) btnGraph.click(function(){ layer2.show(); $('.box_payTip .btn_set.btnSv').focus(); }); } var electMuseum = function(){ var objArcodianList = $('.arcodian_list'); var objArcodianDtA = $('.arcodian_list dt a'); var objArcodianDd = $('.arcodian_list dd'); objArcodianDtA.click(function(){ var thisParent = $(this).parent(); var intThisParentHeight = thisParent.outerHeight(); var intArcodianDdHeight = thisParent.next().find('>div').outerHeight(); if($(this).parent().hasClass('on')){ $(this).parent().removeClass('on'); objArcodianDd.animate({height : 0}); }else { objArcodianDtA.parent().removeClass('on'); objArcodianDd.animate({height : 0}) thisParent.addClass('on').next() .animate({'height': intArcodianDdHeight}, function(){ $('html, body').animate({scrollTop: thisParent.position().top - (intThisParentHeight * 2)}); } ); } return false; }); var objTabTitA = $('.elect_museum_h .tab_tit a'); var objTabCont = $('.elect_museum_h .tab_cont'); var intTabTitAHeight = objTabTitA.height(); objTabCont.not(':eq(0)').hide(); objTabTitA.each(function(index){ $(this).css({top:intTabTitAHeight * index }); $(this).click(function(){ objTabCont.hide(); objTabCont.eq(index).show(); }); }); } /*kepco group*/ var kepcoGroup = function(){ var objBtnYearLi = $('.tab_layer_system li'); var objBtnYearA = $('.tab_layer_system li a'); objBtnYearA.click(function(){ objBtnYearLi.removeClass('on'); $(this).parent().addClass('on'); return false; }) } /*통합검색 탭*/ var srchTab = function(){ var objTabSearch = $('.tab_search'); var objTabSearchLi = $('.tab_search li'); var objTabSearchA = $('.tab_search li a'); var objSrchResult = $('.srch_result'); objSrchResult.not(':eq(0)').hide() objTabSearchA.click(function(){ var intLiIndex = $(this).parent().index(); /*해당 탭 스타일 변경*/ objTabSearchLi.removeClass('on'); $(this).parent().addClass('on'); /*클릭 시 해당 탭 이미지 변경*/ var strClass = $(this).parent().attr('class') objTabSearch.find('ul').removeClass(); objTabSearch.find('ul').addClass(strClass) /*해당 탭 내용 보여주기*/ objSrchResult.hide(); objSrchResult.eq(intLiIndex).show(); }) } /* * Part: loadExternalPage plug-in */ $.fn.loadExternalPage = function(options){ var defaults = { path:'' }, settings = $.extend({}, defaults, options); this.each(function(){ // var $this = $(this); //Default Action $(this).load(settings.path); }); return this; } })(jQuery); //----------------------------------------------- /***** WINDOW POPUP ALIGN CENTER *****/ //----------------------------------------------- function open_window(name, url, w, h, toolbar, menubar, statusbar, scrollbar, resizable, loc_box) { toolbar_str = toolbar ? 'yes' : 'no'; menubar_str = menubar ? 'yes' : 'no'; statusbar_str = statusbar ? 'yes' : 'no'; scrollbar_str = scrollbar ? 'yes' : 'no'; resizable_str = resizable ? 'yes' : 'no'; var left = 0; var top = 0; left = (screen.availWidth - w) / 2; top = (screen.availHeight - h) / 2; win = window.open(url, name, 'left='+left+',top='+top+',width='+w+',height='+h+',toolbar='+toolbar_str+',menubar='+menubar_str+',status='+statusbar_str+',scrollbars='+scrollbar_str+',resizable='+resizable_str); //win.focus(); } /* POPUP CLOSE */ function popClose(){ if(navigator.appVersion.indexOf("MSIE 6") != -1){ window.opener = window.location.href; self.close(); }else { parent.window.open('about:blank','_self').close(); } } //------------------------------------ /***** layer show/hide *****/ //------------------------------------ function ch_layer(hidden , show){ var hl = document.getElementById(hidden); var sl = document.getElementById(show); hl.style.display = "none"; sl.style.display = ""; }