/**********************************************************************************
 * Author :		Kim. Bo Young (smitedin@fishingtree.com)
 * Beginning :	2010-07-29
 * Final :		2010-07-29
 ----------------------------------------------------------------------------------
 테스트 브라우저 : 인터넷 익스플로러 6/7/8, 파이어폭스/사파리/크롬/오페라 최신버전
 ----------------------------------------------------------------------------------
 * 사용법 
 * - ft.lib라이브러리를 사용할 경우 이 js파일이 필요!
***********************************************************************************/

var opt = {
	_loc : decodeURIComponent(window.location.href),
	_navi : navigator.userAgent.toLowerCase(),
	_na : {
		ie : 'msie',
		i6 : 'msie 6.0',
		i7 : 'msie 7.0',
		i7Low : 'msie 6.0,msie 7.0',
		i8 : 'msie 8.0',
		ff : 'firefox',
		op : 'opera',
		cr : 'chrome',
		sa : 'safari'
	},
	_cookie : document.cookie,
	_devices : 'iphone,ipod,ipad,android'
};

var addthis_config = {
	ui_language: 'ko'					//한국어
}

/*********************************** activeObjOnOff ***********************************/

function activeObjOnOff(obj, src_1, src_2) {
	if(obj.find('img').length == 0) return;
	var obj_src = obj.find('img').attr('src');
	obj_src = obj_src.replace(src_1, src_2);

	obj.find('img').attr('src', obj_src);
}

function activeAllObjOnOff(obj, src_1, src_2) {
	obj.each(function(i) {
		activeObjOnOff(obj.eq(i), src_1, src_2);
	});
}

/*********************************** footer ***********************************/

$(function() {
	footer($('#fam'));
	footer($('#lang'));
});

function footer(obj) {
	obj.change(function() {
		for(var i = 1; i < $(this).find('option').length; i++) {
			if($(this).find('option')[i].selected) {
				window.open($(this).val());
			}
		}
	});
}

/*********************************** PNG IE6 투명 ***********************************/

$(function() {
	var obj = '.pngIe6';							//각 png이미지에 적용시킨 클래스 이름
	if(opt._navi.indexOf(opt._na.i6) != -1) {
		$(obj).each(function(i) {
			setImgPng24($(obj)[i]);
		});
	}
});

function setImgPng24(obj) {
	obj.width = obj.height= 1;
	obj.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+ obj.src +'",sizingMethod="image");';
	obj.src = '';
}

/*********************************** 탭 롤오버 ***********************************/

$(function() {
	if($('.imgOver').length > 0) {
		tabHover($('.imgOver'), '_off', '_on');
	}
});

function tabHover(obj, src_1, src_2) {
	obj.hover(function(e) {
		var $this = $(this);
		activeObjOnOff($this, src_1, src_2);
		e.stopPropagation();
	}, function(e) {
		var $this = $(this);
		if($this.parent().attr('id') != 'selected') {
			activeObjOnOff($this, src_2, src_1);
		}
		e.stopPropagation();
	});
}

/*********************************** 탭 클릭 ***********************************/

$(function() {
	if($('.tabClick').length > 0) {
		tabClick('.tabClick', '_off', '_on');
	}
	if($('.tabClickV').length > 0) {
		tabClick('.tabClickV', '_off', '_on');
	}
});

function tabClick(obj, src_1, src_2, tab) {
	var $obj = $(obj).children('li').find('a');
	var $firstTab = $(obj).children('li').eq(0).children('a');
	var $tabCon = $('.tabCon');

	if(tab == 1) {
		var $firstTab = $(obj).children('li').eq(1).children('a');
	}

	activeAllObjOnOff($obj, src_2, src_1);
	activeObjOnOff($firstTab, src_1, src_2);
	$tabCon.addClass('hidden');
	$('#'+$firstTab.attr('href').split('#')[1]).removeClass('hidden');

	$obj.click(function(e) {
		var $this = $(this);
		var thisId = $this.attr('href').split('#')[1];

		activeAllObjOnOff($obj, src_2, src_1);
		activeObjOnOff($this, src_1, src_2);

		$tabCon.addClass('hidden');
		$('#'+thisId).removeClass('hidden');
		$('#positionMap').empty();
		if(thisId == 'positionMap') {
			positioningMap();
		}

		return false;
	});
}

function positioningMap() {
			var fvars;
			
			switch( prod_id ) {
			case "P1":
				fvars = "selectTireName=N9000&carType=SEDAN&pType=PREMIUM";
				break;
			case "P2":
				fvars = "selectTireName=N8000&carType=SEDAN&pType=PREMIUM";
				break;
			case "P3":
				fvars = "selectTireName=N7000&carType=SEDAN&pType=COMFORT";
				break;
			case "P4":
				fvars = "selectTireName=N6000&carType=SEDAN&pType=PREMIUM";
				break;
			case "P5":
				fvars = "selectTireName=N5000&carType=SEDAN&pType=COMFORT";
				break;
			case "P7":
				fvars = "selectTireName=CP641&carType=SEDAN&pType=SPORT";
				break;
			case "P6":
				fvars = "selectTireName=CP672&carType=SEDAN&pType=SPORT";
				break;
			case "P31":
				fvars = "selectTireName=SB&carType=SEDAN&pType=SPORT";
				break;
			case "P27":
				fvars = "selectTireName=SB&carType=SEDAN&pType=SPORT";
				break;
			case "P23":
				fvars = "selectTireName=SB&carType=SEDAN&pType=SPORT";
				break;
			case "P12":
				fvars = "selectTireName=SB&carType=SEDAN&pType=SPORT";
				break;
			case "P14":
				fvars = "selectTireName=SB&carType=SEDAN&pType=SPORT";
				break;
			case "P10":
				fvars = "selectTireName=CP621&carType=SEDAN&pType=ECONOMY";
				break;
			case "P8":
				fvars = "selectTireName=CP671&carType=SEDAN&pType=ECONOMY";
				break;
			case "P9":
				fvars = "selectTireName=CP662&carType=SEDAN&pType=ECONOMY";
				break;
			case "P15":
				fvars = "selectTireName=ROADIAN_HP&carType=SUV&pType=PREMIUM";
				break;
			case "P22":
				fvars = "selectTireName=CP521&carType=SUV&pType=PREMIUM";
				break;
			case "P36":
				fvars = "selectTireName=ROADIAN_HT_SUV&carType=SUV&pType=PREMIUM";
				break;
			case "P20":
				fvars = "selectTireName=ROADIAN542&carType=SUV&pType=PREMIUM";
				break;
			case "P17":
				fvars = "selectTireName=ROADIAN_AT&carType=SUV&pType=ONROAD";
				break;
			case "P26":
				fvars = "selectTireName=ROADIAN_AT&carType=SUV&pType=ONROAD";
				break;
			case "P18":
				fvars = "selectTireName=ROADIAN_MT&carType=SUV&pType=ECONOMY";
				break;
			default:
				fvars = "";
		};
		
		if ( fvars != "" ) {
			loadVarsSwf($('#positionMap') , '/flash/component/contents/positioningMap/PositioningMap.swf', '750', '534', 'PositioningMap', fvars);
		}
}

/*********************************** 윈도우 팝업 ***********************************/

$(function() {
	//540 * 254 (ID중복확인)
	winOpen('.winOpenS', '540', '254');
	//540 * 463 (우편번호)
	winOpen('.winOpenS_1', '540', '463');
	//443 * 340 (로그인)
	winOpen('.winOpenS_2', '443', '340');
	
	//540 * 660 (보증제등록)
	winOpen('.winOpenM', '540', '660');
	//540 * 620(헬로우구독/변경/해제)
	winOpen('.winOpenM_1', '540', '690');
	//613 * 600(설문조사 이벤트)
	winOpen('.winOpenM_2', '613', '600');

	//750 * 550(이벤트퀴즈)
	winOpen('.winOpenM_4', '750', '550');

	//795 * 560(3D공정도)
	winOpen('.winOpenL', '795', '560');
	//788 * 700(야구단랭킹)
	winOpen('.winOpenL_1', '805', '700');

});

function winOpen(target, w, h) {
	$(target).click(function() {
		var $this = $(this);
		window.open($this.attr('href'),'winOpen','width='+w+',height='+h+'');
		return false;
	});
}

//보증제등록(main)
function register() {
	window.open('http://heroes.nexentire.com/pop_301000.asp','heroes','width=540,height=660');
}

/*********************************** 윈도우 닫기버튼 ***********************************/

$(function() {
	winClose('.btnClose');
	winClose('.btnClose_2');
});

function winClose(target) {
	$(target).click(function() {
		window.close();
		return false;
	});
}

/*********************************** 내가 찾는 타이어 레이어 팝업 ***********************************/

$(function() {
	$('#findTireLayer').addClass('hidden');
	$('.findTire').click(function() {
		findTireOpen();
		return false;
	});

	if(window.location.href.indexOf('lay=findTire') != -1) {
		findTireOpen();
	}

});

//열기
function findTireOpen() {
	layerPopupDim('#findTireLayer', '#back');
}

//닫기
function findTireClose() {
	$('#findTireLayer').addClass('hidden');
	dimLayerOff($('#back'));
}

function layerPopupDim(obj, dim) {
	var $obj = $(obj);

	middleCenterLayer($obj);
	$obj.removeClass('hidden')
		.css({
			'z-index' : '120'
		});
	dimLayerOn($(dim));

	$(window).resize(function() {
		middleCenterLayer($obj);
	});
}

function dimLayerOn(dim) {
	var client_h = $(document).height();
	dim.css({
		'width' : '100%',
		'height' : client_h,
		'opacity' : 0.3,
		'background-color' : '#000',
		'display' : 'block',
		'z-index' : '110',
		'position' : 'absolute',
		'top' : '0',
		'left' : '0'
	});
}

function dimLayerOff(dim) {
	dim.css({
		'display' : 'none',
		'z-index' : '0'
	});

}

function middleCenterLayer(obj) {
	var obj_w = obj.outerWidth();
	var obj_h = obj.outerHeight();
	var screen_w = $(window).width();
	var screen_h = $(window).height();
	var scroll_t = $(document).scrollTop();

	var xpos = screen_w/2 - obj_w/2;
	var ypos = (screen_h/2 - obj_h/2) + scroll_t;

	obj.css({'left' : xpos+'px', 'top' : ypos+'px'});
}

/*********************************** 진행중인 이벤트 ***********************************/

$(function() {
	ingEvent($('.numTab > li > a'), $('.eventCon > ul'), 300);
});

function ingEvent($list, $obj, speed) {
	activeObjOnOff($list.eq(0), '_off', '_on'); 
	$list.click(function() {
		var $this = $(this);
		var href = $this.attr('href').split('#')[1];
		switch(href)
		{
			case 'e1': 
				movingEvent($obj, 0, speed);
				activeAllObjOnOff($list, '_on', '_off');
				activeObjOnOff($this, '_off', '_on'); 
			break;
			case 'e2':
				movingEvent($obj, -337, speed);
				activeAllObjOnOff($list, '_on', '_off');
				activeObjOnOff($this, '_off', '_on'); 			
			break;
			case 'e3':
				movingEvent($obj, -674, speed);
				activeAllObjOnOff($list, '_on', '_off');
				activeObjOnOff($this, '_off', '_on'); 			
			break;
		}
		return false;
	});
}

function movingEvent(obj, xpos, speed) {
	obj.animate({'left': xpos+'px'}, speed);
}

/*********************************** 넥센 테크놀라지 ***********************************/

$(function() {
	$('#goTechnoLayer').addClass('hidden');
	$('.goTechno').click(function() {
		technoOpen();
		return false;
	});
});

//열기
function technoOpen() {
	layerPopupDim('#goTechnoLayer', '#back');
}

//닫기
function technoClose() {
	$('#goTechnoLayer').addClass('hidden');
	dimLayerOff($('#back'));
}

/*********************************** 모바일 디바이스 분기 ***********************************/

$(function() {
	var devices = ["ipad", "iphone", "ipod", "android", "blackberry", "nokia"];
	if(pCode == "000000") {
		isDevices(devices);
	} else {
		isTechno(devices);
	}
});

function isDevices(target) {
	for(var i = 0; i < target.length; i++) {
		if(opt._navi.indexOf(target[i]) != -1) {
			if(target[i] == "ipad") {
				document.location.href = "pad.index.html";
			} else {
				document.location.href = "m.index.html";
			}
		}
	}
}

function isTechno(target) {
	for(var i = 0; i < target.length; i++) {
		if(opt._navi.indexOf(target[i]) != -1) {
			if($('.ver2').length > 0) {
				$('.ver2').remove();
			}
			if($('.findTire').length > 0) {
				$('.findTire').remove();
			}
			if($('#banner').length > 0) {
				$('#banner > li').eq(0).remove();
			}
		}
	}
}

/*********************************** 필수항목 ***********************************/

$(function() {
	if(pCode == '304020' || pCode == '304030' || pCode == '803000' || pCode == '80300010' || pCode == '80300020') {
		$('img').each(function() {
			var $this = $(this);
			if($this.attr('src').indexOf('_r') != -1) {
				$this.css({
					'margin-left': '-5px'
				});
			}
		});
	}
});


$(function() {
	//movingBanner();
});

$(window).resize(function() {
	//movingBanner();
});

$(window).scroll(function() {
	//movingBanner();
});

function movingBanner() {
	var gnbH = 73;	//gnb height
	var lH2H = $('#lnb > h2').outerHeight();
	var lH3H = $('#lnb > h3').height();
	var n = $('#lnb > h3').length;
	var mrb = 113;	//margin value
	var st = $(document).scrollTop();
	var topPos = gnbH+lH2H+(lH3H*n)+mrb;

	if(topPos < st) {
			$('#banner').css({
				'position': 'absolute',
				'z-index': '1000',
				'top': topPos+'px'
				});
			$('#banner').stop().animate({
				'top' : st+20+ 'px'
			});
	} else {
		$('#banner').removeAttr('style');
	}
}

