﻿function positionLargeImage(srcid, trgid) {
    winHeight = $(window).height();
    winWidth = $(window).width();
    imgHeight = $('#' + srcid).height();
    imgWidth = $('#' + srcid).width();

    x = mouseX + $(window).scrollLeft();
    y = mouseY + $(window).scrollTop();

    south = winHeight - mouseY;
    north = mouseY;
    west = mouseX;
    east = winWidth - mouseX;

    diffX = 10;
    if (east < west)
        diffX = (-1 * imgWidth) - 10;

    diffY = 10;
    if (south < north)
        diffY = (-1 * imgHeight) - 10;

    //alert(x + ' ' + y);
    $('#' + trgid).css('left', x + diffX);
    $('#' + trgid).css('top', y + diffY);

}

jQuery.fn.centerScreen = function(loaded) { 
                var obj = this; 
                if(!loaded) { 
                        obj.css('top', $(window).height()/2- 
this.height()/2); 
                        obj.css('left', $(window).width()/2- 
this.width()/2); 
                        $(window).resize(function() 
{ obj.centerScreen(!loaded); }); 
                } else { 
                        obj.stop(); 
                        obj.animate({ top: $(window).height()/2- 
this.height()/2, left: $ 
(window).width()/2-this.width()/2}, 200, 'linear'); 
                } 
        } 
        
function initializeAddressInput()
{
    $('.chkPaypalCreateAccount input').live('click', function() {
        b = $(this).attr('checked');
        if(b)
            $('.trPaypal').show();
        else
            $('.trPaypal').hide();
    });
    
    //alert($('#spanShowPaypalInfo').text().trim());
    if($('#spanShowPaypalInfo').text().trim() == '1' || $('.chkPaypalCreateAccount input:checked').length > 0) {
        
        $('.trPaypal').show();
        //$('#divPaypalCreateAccount').hide();
    }
    else {
        $('.trPaypal').hide();
        //$('#divPaypalCreateAccount').show();
    }
    
    $('.chkBillingAddress input').live('click', function() {
        b = $(this).attr('checked');
        if(b) {
            $('#divCheckBoxPaypalCreateAccount').show();
        }
        else {
            $('#divCheckBoxPaypalCreateAccount').hide();
        }
    });
}

function __Move_Focus(obj,evt,len,next_field)
		{
		
			var phone_field_length
			if (evt == 'down') {
			
				phone_field_length=obj.value.length;
			}
			else if (evt == 'up') 
			{
				if (obj.value.length != phone_field_length) 
				{
					phone_field_length=obj.value.length;
					if (phone_field_length == len) 
					{
						document.getElementById(next_field).focus();
					}
				}
			}
		}
		
function is_child_of(parent, child) {
			if( child != null ) {			
				while( child.parentNode ) {
					if( (child = child.parentNode) == parent ) {
						return true;
					}
				}
			}
			return false;
		}

 function getElementsByType(typeName, tagName, parentElement)
{
    var eles;
    if(tagName) {
        if(parentElement) 
            eles = parentElement.getElementsByTagName(tagName);
        else
            eles = document.getElementsByTagName(tagName);
    }
    else {
    }
    
    var elements = Array();
    for(var i=0; i<eles.length; i++)
    {
        if(eles[i].type == typeName)
            elements.push(eles[i]);
    }
    
    return elements;
}

function getElementsByClass(className, tagName, parentElement)
{
    var eles;
    if(tagName) {
        if(parentElement) 
            eles = parentElement.getElementsByTagName(tagName);
        else
            eles = document.getElementsByTagName(tagName);
    }
    else {
    }
    
    var elements = Array();
    for(var i=0; i<eles.length; i++)
    {
        if(eles[i].className == className)
            elements.push(eles[i]);
    }
    
    return elements;
}


function checkMouseIn(id, padLeft, padTop, padRight, padBottom)
{
    if($('#' + id).length <= 0)
        return false;

    if (!padLeft) padLeft = 0;
    if (!padTop) padTop = 0;
    if (!padRight) padRight = 0;
    if (!padBottom) padBottom = 0;
    
    var pos = $('#' + id).position(); 
    w = $('#' + id).width();
    h = $('#' + id).height();

    mx = mouseX + $(window).scrollLeft();
    my = mouseY + $(window).scrollTop();
    //$('#spanCheckMouseIn').text('check mouse in' + id + ' ' + mouseX + ' ' + mouseY + ' ' + pos.left + ' ' + w + ' ' + pos.top + ' ' + h);
    return mx >= (pos.left - padLeft)  && mx <= (pos.left + w + padRight) && my >= (pos.top - padTop) && my <= (pos.top + h + padBottom);
}

function getWindowSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return [myWidth, myHeight];
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

function Move2CenterMiddle(id)
{
    var obj = document.getElementById(id);
    
    var w1 = GetWidth(obj);
    var h1 = GetHeight(obj);
    var w = getWindowSize();
    
    var scr = getScrollXY();
    //alert(w1 + ' ' + h1 + ' ' + w[0] + ' ' + w[1] + ' ' + scr[0] + ' ' + scr[1]);
    var left = scr[0] + parseInt(w[0]/2) - parseInt(w1/2);
    var top = scr[1] + parseInt(w[1]/2) - parseInt(h1/2);
    
    
    obj.style.left = left + 'px';
    obj.style.top = top + 'px';

}

function Move2Center(id, top) {

    if (!top) top = 100;

    var obj = document.getElementById(id);

    var w1 = GetWidth(obj);
    var w = getWindowSize();

    var scr = getScrollXY();
    //alert(w1 + ' ' + h1 + ' ' + w[0] + ' ' + w[1] + ' ' + scr[0] + ' ' + scr[1]);
    var left = scr[0] + parseInt(w[0] / 2) - parseInt(w1 / 2);

    obj.style.left = left + 'px';
    obj.style.top = top + 'px';
}


function displayProgress()
{
    
    $('#divProgress').show();
    Move2CenterMiddle('divProgress');
    DisableSiteFrame();
}

function DisableSiteFrame()
{
    divsiteframe = $('#divSiteFrame');
    $(divsiteframe).show();
    $(divsiteframe).css('z-index', 1);
    var size = getWindowSize();
    $(divsiteframe).css('width', size[0]);
    $(divsiteframe).css('height', $(document).height());
    $(divsiteframe).css('opacity', 0.7);
/*
   var div = document.getElementById('divSiteFrame');
   div.style.visibility = 'visible';
   //div.style.backgroundColor = '#ffffff';
   div.style.zIndex = 1;
   var size = getWindowSize();
   div.style.width = size[0];
   //div.style.height = size[1];
   if(browser.isIE) {
        div.style.filter = 'alpha(opacity=70)';
        
   }
   else {
        div.style.opacity = 0.7;
   }
*/
}


function showWindowSize()
{
    size = getWindowSize();
    alert(size.width + ' ' + size.height);
}

var Wnd;
///////////////////////////////////////////////////////////////////////////////////////////////////////
// window open common function
function OpenWin(cw, ch, win_id, url)
{
    //새창의 크기
//    var cw=600;
//    var ch=400;

    //스크린의 크기
    var sw=screen.availWidth;
    var sh=screen.availHeight;

    //열 창의 포지션
    var px=(sw-cw)/2;
    var py=(sh-ch)/2;

    //창을 여는부분
    Wnd = window.open(url, win_id, 'width='+cw+',height='+ch+',left='+px+',top='+py+',toolbar=no,location=no,status=no,statusbar=0,menubar=0,locationbar=0,scrollbars=yes,resizable=yes');
    Wnd.focus();

}



// show block id and adjust position of blockid to id taking both scroll position and position of id into consideration

function adjustPosition(id, blockid, padLeft)
{
    var pos = $('#'+id).position();

    //alert($('#' + blockid).length);
    var scrollPos = getScrollPosition();
    
    var newPosLeft = pos.left + padLeft;
    $('#' + blockid).css('left', newPosLeft);
    
    var aboveHeight = pos.top - scrollPos.top;
    var height = $('#' + blockid).height();
    
    if(aboveHeight > height) {
        var newTop = pos.top - height;
        $('#' + blockid).css('top', newTop);
    }
    else {
        $('#' + blockid).css('top', pos.top);
    }
    
    
    
    $('#' + blockid).show();
    
}

function SetTab(tabNo, imgPrefix, tabname, divContainer, divID)
{
    var container = document.getElementById(divContainer);
    var imgs = container.getElementsByTagName('img');
    //alert(imgs.length);
    for(var i=1; i<=imgs.length; i++) {
        var img = imgs[i-1];
        //img.src = '<%=Page.ResolveUrl("~/images/' + imgPrefix + tabname + '_0' + i + '.gif") %>';
        img.src = imgPrefix + tabname + '_0' + i + '.gif';
        var div = document.getElementById(divID + i);
        if(i == tabNo) {
            div.style.visibility = 'visible';
            div.style.position = 'static';
            var elem1 = $get("<%=hfTabNo.ClientID%>");
            elem1.value = i;
        }
        else {
            div.style.visibility = 'hidden';
            div.style.position = 'absolute';
        }
    }
    
}



// browser detection

var browser = {
    version: parseInt(navigator.appVersion),
    isNS: navigator.appName.indexOf("Netscape") != -1,
    isIE: navigator.appName.indexOf("Microsoft") != -1
};

//document.onmousemove = trackMouse;

function overlapPosition(srcID, tgtID)
{
    var targetPos = getElementPosition(tgtID);
    var src = document.getElementById(srcID);
    src.style.top = targetPos.top;
    src.style.left = targetPos.left;
}

function juxtaPosition(srcID, tgtID)
{
    
    var targetPos = getElementPosition(tgtID);
    var src = document.getElementById(srcID);
    src.style.top = targetPos.top;
    var targetObj = document.getElementById(tgtID);
    src.style.left = (targetPos.left + GetWidth(targetObj)) + 'px';
}

// align position of target(submenu) to source(mainmenu)
// for horizontal submenu
function AdjustPositionHorizontal(target_id, source_id)
{
    
    var coord = getElementPosition(source_id);
    
   var h = GetHeight(document.getElementById(source_id));

   var x_start = coord.left;
   
   var y_end = coord.top + h;
   
   var target = document.getElementById(target_id);
   
   var target_width = GetWidth(target);
   
   target.style.top = y_end + 10;
   target.style.left = x_start;
   
}

function AdjustPositionVertical(target_id, source_id) {
    var coord = getElementPosition(source_id);
    var h = GetHeight(document.getElementById(source_id));

    var x_start = coord.left;
    var y_end = coord.top + h;


    var target = document.getElementById(target_id);

    if (browser.isMicrosoft) {
        // IE
        target.style.top = y_end + 5;
        target.style.left = x_start;
    }
    else {
        target.style.top = y_end + 5 + "px";
        target.style.left = x_start + "px";
    }
    
    
    
}

function ShowIt(id)
{
    var obj = document.getElementById(id);
    
    obj.style.visibility = 'visible';
   
}
var mouseX, mouseY;



function trackMouse(e) {
    if (browser.isIE) {
        mouseX = event.clientX + document.body.scrollLeft;
        mouseY = event.clientY + document.body.scrollTop;
    }
    else {
        mouseX = e.pageX;
        mouseY = e.pageY;
    }

    //document.getElementById('xvalue').value = mouseX;
}

// document position, not window position  
function getElementPosition(elemID) {
    var offsetTrail = document.getElementById(elemID);
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 && 
        typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
    
    return {left:offsetLeft, top:offsetTop};
}

GetWidth = function(elem) {
	function _Convert(val) {
		if (!val) {return;}
		val = val.replace("px","");
		if (isNaN(val)) {return 0;}
		return parseInt(val);
	}
	var currentStyle;
	if (elem.currentStyle) { currentStyle = elem.currentStyle; }
	else if (window.getComputedStyle) {	currentStyle = document.defaultView.getComputedStyle(elem, null); }
	else { currentStyle = elem.style; }
	return (elem.offsetWidth -
		_Convert(currentStyle.marginLeft) -
		_Convert(currentStyle.marginRight) -
		_Convert(currentStyle.borderLeftWidth) -
		_Convert(currentStyle.borderRightWidth));
}
 
GetHeight = function(elem) {
	function _Convert(val) {
		if (!val) {return;}
		val = val.replace("px","");
		if (isNaN(val)) {return 0;}
		return parseInt(val);
	}
	var currentStyle;
	if (elem.currentStyle) { currentStyle = elem.currentStyle; }
	else if (window.getComputedStyle) {	currentStyle = document.defaultView.getComputedStyle(elem, null); }
	else { currentStyle = elem.style; }
	return (elem.offsetHeight -
		_Convert(currentStyle.marginTop) -
		_Convert(currentStyle.marginBottom) -
		_Convert(currentStyle.borderTopWidth) -
		_Convert(currentStyle.borderBottomWidth));	
}



function ToggleButton(id, img)
{
    var btn = document.getElementById(id);
    btn.src = img;
}




// Font Size Change ---------------------------------//

var minFS = 8;
var maxFS = 20;
function increaseFontSize() {
    var p = document.getElementsByTagName('p');
    for (i = 0; i < p.length; i++) {      
        if (p[i].style.fontSize) {
            var s = parseInt(p[i].style.fontSize.replace("px", ""));
        } else {
        var s = 12;
        
        }
        if (s != maxFS) {
            s += 2;
        }
        p[i].style.fontSize = s + "px"
        p[i].style.lineHeight = 1.3;
       // p[i].style.lineHeight = p[i].style.lineHeight + 0.01;
    }
}
function decreaseFontSize() {
    var p = document.getElementsByTagName('p');
    for (i = 0; i < p.length; i++) {
        if (p[i].style.fontSize) {
            var s = parseInt(p[i].style.fontSize.replace("px", ""));
        } else {
           var s = 12;
           p[i].style.lineHeight = 1.3;
        }
        if (s != minFS) {
            s -= 2;
        }
        p[i].style.fontSize = s + "px"
        p[i].style.lineHeight = 1.3;
    }
}



function resetFontSize() {
    var p = document.getElementsByTagName('p');
    for (i = 0; i < p.length; i++) {
        var s = 12;
        p[i].style.fontSize = s + "px"
    }
}

// (End) Font Size Change  -----------------------------//

// Filter Animation Fade In //

// clear child input elements of id to their initial default value
function clearInputForm(id)
{
    var ele = document.getElementById(id);
    var children = ele.getElementsByTagName('input');
    for(var i=0; i<children.length; i++)
    {
       var txt = children[i];
       txt.value = '';
    }
    
    
}


function getScrollPosition()
{
    var scrollTop = 0;
    var scrollLeft = 0;
    
    if(document.documentElement && (!document.documentElement.scrollTop && !document.documentElement.scrollLeft))
    {
        // IE 6 +4.01 but no scrolling going on
        
    }
    else if(document.documentElement && document.documentElement.scrollTop)
    {
        scrollTop = document.documentElement.scrollTop;
        scrollLeft = document.documentElement.scrollLeft;
    }
    else if(document.body && document.body.scrollTop)
    {
        scrollTop = document.body.scrollTop;
        scrollLeft = document.body.scrollLeft;
    }
    
    
    
    return{top:scrollTop, left:scrollLeft};
}


/* drag element */
function dragStart(event, id) {

  var el;
  var x, y;

  // If an element id was given, find it. Otherwise use the element being
  // clicked on.

  if (id)
    dragObj.elNode = document.getElementById(id);
  else {
    if (browser.isIE)
      dragObj.elNode = window.event.srcElement;
    if (browser.isNS)
      dragObj.elNode = event.target;

    // If this is a text node, use its parent element.

    if (dragObj.elNode.nodeType == 3)
      dragObj.elNode = dragObj.elNode.parentNode;
  }
  
  // Get cursor position with respect to the page.

  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }

    // Save starting positions of cursor and element.

  dragObj.cursorStartX = x;
  dragObj.cursorStartY = y;
  dragObj.elStartLeft  = parseInt(dragObj.elNode.style.left, 10);
  dragObj.elStartTop   = parseInt(dragObj.elNode.style.top,  10);

  if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = 0;
  if (isNaN(dragObj.elStartTop))  dragObj.elStartTop  = 0;

    dragObj.elNode.style.zIndex = ++dragObj.zIndex;

    // Capture mousemove and mouseup events on the page.

  if (browser.isIE) {
    document.attachEvent("onmousemove", dragGo);
    document.attachEvent("onmouseup",   dragStop);
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
  if (browser.isNS) {
    document.addEventListener("mousemove", dragGo,   true);
    document.addEventListener("mouseup",   dragStop, true);
    event.preventDefault();
  }


}
     function dragStop(event) {

  // Stop capturing mousemove and mouseup events.

  if (browser.isIE) {
    document.detachEvent("onmousemove", dragGo);
    document.detachEvent("onmouseup",   dragStop);
  }
  if (browser.isNS) {
    document.removeEventListener("mousemove", dragGo,   true);
    document.removeEventListener("mouseup",   dragStop, true);
  }
}

function dragGo(event) {

  var x, y;

  // Get cursor position with respect to the page.

  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }
  
  dragObj.elNode.style.left =
    (dragObj.elStartLeft + x - dragObj.cursorStartX) + "px";
  dragObj.elNode.style.top  =
    (dragObj.elStartTop  + y - dragObj.cursorStartY) + "px";

if (browser.isIE) {
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
  if (browser.isNS)
    event.preventDefault();

}


var dragObj = new Object();
dragObj.zIndex = 0;		

String.prototype.trim = function(){return (this.replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, ""))}
String.prototype.startsWith = function(str) {return (this.match("^"+str)==str)}
String.prototype.endsWith = function(str) {return (this.match(str+"$")==str)}
function CurrencyFormatted(amount)
{
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}

