//READY JAVASCRIPT
$(function(){
  //라이트박스 보기
  $(".lightbox").lightbox({
    fitToScreen: true,
    imageClickClose: true
  });

	// 통화 유형 observing #### => #,### 변경하고 숫자가 아니라면 삭제한다.
	$("input[data_type=currency]").each(function(){
		$(this).val($(this).val().toMoney());
		$(this).addClass("text_right");
		$(this).keyup(function(event){
			if($(event.target).val()){
				$(event.target).val($(event.target).val().toMoney());
			}else{
				$(event.target).val("");
			}
		});
	});

	// date 유형 포맷 적용
	$("input[data_type=date]").each(function(){
		DatePicker(this);
	});

	// Email 유형 포맷 적용 (이메일필드는 히든이어야 적용됨)
	$("input[data_type=email]:hidden").each(function(){
		new EmailUtil(this);
	});

  $(window).scroll(function(){
      
     // if($('#skin1').length){
     
  //        alert($(document).scrollTop());
          
      //}
 
      
    _top = $(document).scrollTop() + 0; // 스크롤 움직이면 조절되는 TOP 사이즈
    setTimeout(function() {
      //$('#left_quick_banner').show().stop().animate({ top: _top }, 500, 'easeOutBack');
      $('#right_quick_banner').show().stop().animate({ top: _top }, 500, 'easeOutBack');
    }, 500);
  });

});

var DatePicker = function(selector) {
	var thisObj = $(selector);
	thisObj.datepicker({dateFormat: (thisObj.attr('date_format') != null ? thisObj.attr('date_format') : 'yy-mm-dd'),
            buttonImageOnly: true,
            buttonImage: '/_tpl/common/css/jquery-ui/images/btn_cal.gif',
						changeYear: true,
						changeMonth: true,
						showAnim: '',
						duration: 0 });
	thisObj.val(thisObj.val() ? thisObj.val() : (thisObj.attr('today') ? $.datepicker.formatDate('yy-mm-dd', new Date()): "")).css({"text-align":"center"});
}

//Dialog Window(Ajax Page)
var $dialog = null;
function GetPageDialog(url, data, option, callback){
  if($dialog == null) {
	//dialog layer create
	$dialog = $('#dialog').dialog({
    autoOpen: false,
    resizable: false,
    draggable: true,
    bgiframe: true,
    modal: true,
    close: callback
	});
  }
  data = data || {};
  option = option || {};
  $.each(option, function(key, value) {
	  $dialog.dialog('option', key, value);
  });
  $dialog.load(url, data, function(){
    $dialog.dialog('open');
  });
}

var Dialog =  {
	simple: null,
	html: null,

	/**
	 * 기본 다이얼로그(modal)
	 */
	open: function(url, data, option, callback) {
		GetPageDialog(url, data, option, callback)
	},
	close: function() {
		$dialog.dialog('close');
	},

	/**
	 * 텍스트 다이얼로그(modal)
	 */
	openHtml: function(htmlContents, option) {
		if(this.html == null) {
			this.html = $('<div title="Html Dialog" />');
			$('#dialog').after(this.html);
			this.html.dialog({
			    autoOpen: false,
			    resizable: false,
			    draggable: true,
			    bgiframe: true,
			    modal: true
			});
		  }
		  option = option || {};
		  $.each(option, function(key, value) {
			  Dialog.html.dialog('option', key, value);
		  });
		  this.html.html(htmlContents);
		  this.html.dialog('open');
	},
	closeHtml: function() {
		this.html.dialog('close');
	},



	/**
	 * 심플 다이얼로그
	 */
	openSimple: function(url, data, option, callback) {
	  if(this.simple == null) {
		this.simple = $('<div title="Simple Dialog" />');
		$('#dialog').after(this.simple);
		this.simple.dialog({
		    autoOpen: false,
		    resizable: false,
		    draggable: true,
		    bgiframe: true,
		    dialogClass: 'ui-simple'
		});
	  }
	  data = data || {};
	  option = option || {};
	  $.each(option, function(key, value) {
		  Dialog.simple.dialog('option', key, value);
	  });
	  this.simple.load(url, data, function(){
		  Dialog.simple.dialog('open');
	  });

	},
	closeSimple: function() {
		this.simple.dialog('close');
	}
}

function checkboxAll(checkbox_id, holder_id, tf_elem_id)
{
  $("input:checkbox[id^="+checkbox_id+"]", $("#"+holder_id)).each(function(){
      if(tf_elem_id == undefined || tf_elem_id == ''){
        $(this).attr('checked', !$(this).attr('checked'));
      }else{
        $(this).attr('checked', $('#'+tf_elem_id).attr('checked'));
      }
  });
}

//COMMON JAVASCRIPT
function checkInputAll(frm, jqForm, options){
  var validate = true;
  //if($.isArray(frm))frm = jqForm[0];
  $("*:[mandatory]:not(:hidden)", frm).each(function(i, elem){
    if(elem.nodeName.toLowerCase() == "select"){
      if(!$("option", elem).length || $("option:selected", elem).eq(0).val() == ""){
        alert("[" + $(elem).attr('mandatory') + "] 필수항목입니다.");
        validate = false;
        $(elem).focus();
        return false;
      }
    }else{
      if($(elem).attr('type').toLowerCase() == "checkbox" || $(elem).attr('type').toLowerCase() == "radio"){
        if($(elem).attr('checked') != true){
          alert("["+$(elem).attr('mandatory') + "] 필수항목입니다.");
          validate = false;
          $(elem).focus();
          return false;
        }
      }else{
        if($.trim($(elem).val()) == "" || $.trim($(elem).val()) == "<br>"){
          alert("["+$(elem).attr('mandatory') + "] 필수항목입니다.");
          validate = false;
          $(elem).focus();
          return false;
        }
      }
    }
  });

  if(!validate)return false;

  $("textarea[mandatory][data_type='editor']").each(function(){
    //oEditors.getById[$(this).attr("id")].exec("UPDATE_IR_FIELD", []);
    if($(this).val() == "" || $.trim($(this).val()) == "<br>"){
      alert("["+$(this).attr('mandatory') + "] 필수항목입니다.");
      validate = false;
      return false;
    }
  });

  return validate;
}

//Form checking 후 dialog 호출
function checkInputAllDialog(frm, url, data, option, callback){
  if(checkInputAll(frm))GetPageDialog(url, data, option, callback);
}



/**
 * 우편번호 선택 매니저
 * 초기화
 * ZipCode(버튼, 우편번호필드, 기본주소필드, 나머지주소필드);
 * ※ 인자는 jQuery Selector String 사용
 * new ZipCode('#zipBtn', '#zipCodeField', '#addr1Field', '#addr2Field');
 */
var ZipCode = function(btnSelector, zipCodeSelector, addr1Selector, addr2Selector) {
	this.btnObj = $(btnSelector);
	this.zipCodeObj = $(zipCodeSelector);
	this.addr1Obj = $(addr1Selector);
	this.addr2Obj = $(addr2Selector);
	var myObj = this;
	this.btnObj.click(function() {return ZipCodeStatic.openZipCode(myObj);});
	this.zipCodeObj.click(function() {return ZipCodeStatic.openZipCode(myObj);});
	this.addr1Obj.click(function() {return ZipCodeStatic.openZipCode(myObj);});
	this.zipCodeObj.attr("readonly", "readonly");
	this.addr1Obj.attr("readonly", "readonly");
}

ZipCodeStatic = {
	requestUrl: "/common/zip_code.fp",
	title: "우편번호 검색",
	dialog: null,
	current: null,

	/**
	 * 우편번호검색 창 열기!
	 */
	openZipCode: function(myObj) {
		this.current = myObj;
		if(ZipCodeStatic.dialog==null) {
			var dialogDom = $('<div title="'+this.title+'" />');
			$('#dialog').after(dialogDom);
			ZipCodeStatic.dialog = dialogDom.dialog({
			    autoOpen: false,
			    resizable: false,
			    draggable: false,
			    bgiframe: true,
			    modal: true,
			    width: 450
			  });

		}
		ZipCodeStatic.dialog.load(ZipCodeStatic.requestUrl, null, function(){
			ZipCodeStatic.dialog.dialog('open');
			$('#zipCodeForm').ajaxForm({
				  success: function(data) {
				    $('#zipCodeResult').html(data);
				  },
				  beforeSubmit: checkInputZipCode
			});
			$("input#zipCodeKeyword").focus();
		 });
		return false;
	},

	/**
	 * 우편번호 선택 및 레이어창 닫기!
	 */
	select: function(json) {
		this.dialog.dialog("close");
		eval("var data = " + json);
		this.current.zipCodeObj.val(data.zipCode);
		this.current.addr1Obj.val(data.address);
		this.current.addr2Obj.focus();
	}
}






/**
 * 이메일 선택 매니져
 * new EmailUtil('#emailHiddenField');
 */
var EmailUtil = function(emailSelector) {
	this.obj = $(emailSelector);
	if(this.obj.val().trim() != "")
		this.emailArray = this.obj.val().split("@");
	if(this.emailArray == null || this.emailArray.length != 2)
		this.emailArray = ["", ""];

	this.email = $("<input type='text' />").val(this.emailArray[0]).css({width: '80px'}).addClass("iptTxt01");
	this.emailInput = $("<input type='text' />").css({width: '120px'}).addClass("iptTxt01").hide().val(this.emailArray[1]);
	this.emailSelect = $("<select />").css({'margin-left': 3}).append($("<option />").attr("value","").text("직접입력"));
	for(var i=0; i < EmailUtil.list.length; i++) {
		this.emailSelect.append($("<option />").text(EmailUtil.list[i]));
	}

	var myObj = this;
	this.email.change( function(){EmailUtil.change(myObj);} );
	this.emailSelect.change( function(){EmailUtil.change(myObj);} );
	this.emailInput.change( function(){EmailUtil.inputChange(myObj);} );

	//화면에 출력
	this.emailSelect.val(this.emailArray[1]).change();
	this.obj.after(this.emailSelect).after(this.emailInput).after(" @ ").after(this.email);
}
EmailUtil.list = ["naver.com", "chol.com", "dreamwiz.com", "empal.com", "freechal.com", "gmail.com", "hanafos.com", "hanmail.net", "hanmir.com", "hitel.net", "hotmail.com", "korea.com", "lycos.co.kr", "nate.com", "netian.com", "paran.com", "yahoo.com", "yahoo.co.kr"];
/**
 * 이메일 셀렉트박스 이벤트 핸들러
 */
EmailUtil.change = function(myObj, thisObj) {
		if(myObj.email.val().trim() != "")
			myObj.obj.val(
					myObj.email.val() + "@" +
					myObj.emailSelect.val()
					);
		else
			myObj.obj.val("");

		if(myObj.emailSelect.val() == "") {
			myObj.emailInput.change();
			myObj.emailInput.show();
			myObj.emailInput.focus();
		}
		else
			myObj.emailInput.hide();
	},
EmailUtil.inputChange = function(myObj) {
	if(myObj.email.val().trim() != "" && myObj.emailInput.val() != "")
		myObj.obj.val(
			myObj.email.val() + "@" +
			myObj.emailInput.val()
			);
	else {
		myObj.obj.val("")
	}
}


/**
 * 전화번호 유틸
 * 히든필드 다음에 있는 세개의 엘리먼트를 찾아 값을 자동으로 세팅하고 값이 바뀌면 바로 적용된다.
 * new PhoneUtil('#PhoneHiddenField');
 */
var PhoneUtil = function(fieldSelector) {
	this.fieldObj = $(fieldSelector);
	this.obj1 = this.fieldObj.next().keyup(function() {this.value=this.value.onlyNum();});
	this.obj2 = this.obj1.next().attr("maxlength", 4).keyup(function() {this.value=this.value.onlyNum();});
	this.obj3 = this.obj2.next().attr("maxlength", 4).keyup(function() {this.value=this.value.onlyNum();});

	var numberString = this.fieldObj.val().trim();
	if(numberString.length > 0)
		var numberArray = numberString.split("-");
	if(numberArray == null  || numberArray.length != 3)
		var numberArray = ["", "", ""];

	var myObj = this;
	this.obj1.val(numberArray[0]).change(function() { PhoneUtil.change(myObj); });
	this.obj2.val(numberArray[1]).change(function() { PhoneUtil.change(myObj); });
	this.obj3.val(numberArray[2]).change(function() { PhoneUtil.change(myObj); });
}
PhoneUtil.change = function(myObj) {
	if(myObj.obj2.val()+myObj.obj3.val() != "")
		myObj.fieldObj.val(
				myObj.obj1.val() + "-" +
				myObj.obj2.val() + "-" +
				myObj.obj3.val()
				);
	else
		myObj.fieldObj.val("");
	//alert(myObj.fieldObj.val());
}

function bookmarksite(title,url){
if (window.sidebar) // firefox
    window.sidebar.addPanel(title, url, "");
else if(window.opera && window.print){ // opera
    var elem = document.createElement('a');
    elem.setAttribute('href',url);
    elem.setAttribute('title',title);
    elem.setAttribute('rel','sidebar');
    elem.click();
}
else if(document.all)// ie
    window.external.AddFavorite(url, title);
}

 


//메이트로 찜하기
function newMate(new_mate_id,username ,target_id){
	if(target_id == undefined){
		var target_id = 'follow_cnt';
	}
	if( username=='' ){
		go_login();
	}else {
		if(new_mate_id == username){
			alert('블로그 주인입니다.');
		}else{
			  if(!confirm(new_mate_id + '님을 Follow 하시겠습니까?'))return;
			  $.getScript('http://sblog.'+this_channel+'/' + new_mate_id + '/new_mate?new_mate_nemoid=' + new_mate_id + '&username=' + encodeURIComponent(username)+ '&target_id='+target_id) ;

		}
	}
}

//해당 카테고리로 링크 이동하기
function cate_change(cate){
	location.href = "/product/list.php?cate="+cate;

}

function go_login(){
	if( confirm('로그인 하시겠습니까?') ){
		location.href="http://sesangn."+this_channel+"/user/login.php?rurl="+location.href;
	}
}

//관심상품담기
function addToWish(prdSq){
  $.ajax({
    url: "/exec/xhr.php?exec=add_to_wish&prd_sq="+prdSq,
    success: function(msg){
      if(confirm("관심상품에 등록을 완료하였습니다. 관심상품리스트로 이동하시겠습니까?")){
        document.location.href = "/product/wish_goods.php";
      }
    }
  });
}

//관심공급처담기
function addToWishProvider(providerId){
  $.ajax({
    url: "/exec/xhr.php?exec=add_to_wish_provider&provider_id="+providerId,
    success: function(msg){
      if(confirm("관심공급처에 등록을 완료하였습니다. 관심공급처리스트로 이동하시겠습니까?")){
        document.location.href = "/seller/wish_provider.php";
      }
    }
  });
}


function setCookie(name, value, expiredays) {
	  var todayDate = new Date();
	  todayDate.setDate(todayDate.getDate() + expiredays);
	  document.cookie = name + "=" + escape(value) + ";path=/; expires=" + todayDate.toGMTString() +";";

}

function getCookie(c_name) {     
	if (document.cookie.length > 0) {         
		c_start = document.cookie.indexOf(c_name + "=");         
		if (c_start != -1) {             
			c_start = c_start + c_name.length + 1;             
			c_end = document.cookie.indexOf(";", c_start);             
			if (c_end == -1) c_end = document.cookie.length;             
				return unescape(document.cookie.substring(c_start, c_end));         
		}     
	}     
	return ""; 
} 



function setPng24(obj) {
obj.width=obj.height=1;
obj.className=obj.className.replace(/\bpng24\b/i,'');
obj.style.filter =
"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ obj.src +"',sizingMethod='image');"
obj.src='';
return '';
}


