//验证邮件有效性
function EmailValider(email){
    var patrn=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
    if (!patrn.exec(email)){
        return false;
    }
    return true;
}
function GotPage1(){
            top.location.href = "/FreeShipping.aspx";
        }
function gb_showBG(){
    
    if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
			$("body","html").css({height: "100%", width: "100%"});
			$("html").css("overflow","hidden");
			if (document.getElementById("gb_HideSelect") === null) {//iframe to hide select elements in ie6
				$("body").append("<iframe id='gb_HideSelect'></iframe><div id='gb_overlay'></div><div id='gb_window'></div>");
			}
		}else{//all others
			if(document.getElementById("gb_overlay") === null){
				$("body").append("<div id='gb_overlay'></div><div id='gb_window'></div>");
			}
			if($.browser.opera)
			{
			    $("html").css("overflow","hidden");
			    $("body","html").css({height: $("#gb_overlay").css("height"), width: "100%"});
			}
		}
		if(gb_detectMacXFF()){
			$("#gb_overlay").addClass("gb_overlayMacFFBGHack");//use png overlay so hide flash
		}else{
			$("#gb_overlay").addClass("gb_overlayBG");//use background and opacity
		}
		if(!$.browser.mozilla){
		    $("body").append("<div id='gb_load'><img src='"+$("#HomeLink").val() + "/images/loadingAnimation.gif' /></div>");//add loader to the page
		    $('#gb_load').show();//show loader
		}else{
		    document.getElementById('ProcessingMessage').style.top = sGetScrollTop()+(window.screen.availHeight*1/2)+'px';
		    $('#ProcessingMessage').css("display","block");
		}
		document.onkeydown = function(e){ 	
			if (e == null) { // ie
				keycode = event.keyCode;
			} else { // mozilla
				keycode = e.which;
			}
			if(keycode == 27){ // close
				gb_remove();
			}
		};
}

function gb_detectMacXFF() {
  var userAgent = navigator.userAgent.toLowerCase();
  if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
    return true;
  }
}
function sGetScrollTop(){if(document.documentElement.scrollTop!=0){return document.documentElement.scrollTop}
return document.body.scrollTop;}
function gb_remove() {
	$("#gb_window").fadeOut("fast",function(){$('#gb_window,#gb_overlay,#gb_HideSelect').trigger("unload").unbind().remove();});
	if(!$.browser.mozilla){
	    $("#gb_load").remove();
	}else{	
	    $('#ProcessingMessage').css("display","none");
	}
	if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
		$("body","html").css({height: "auto", width: "auto"});
		$("html").css("overflow","");
	}
	document.onkeydown = "";
	document.onkeyup = "";
	return false;
}

function gb_show(t, v) {//function called when the user clicks on a harveybox link
	try {
		if(t == "PageSize"){
		    $("#ShoppingCartPageSize").val(v);
		    PerPage(v);
		    gb_getdata(v,1);
		}
		else
		{		    
		    var PageSizeTemp = $("#ShoppingCartPageSize").val();
		    
	        gb_getdata(PageSizeTemp,v);	        
		}
	} catch(e) {
		//nothing here
	}
}
//禁用其他按钮
function DisableOtherSubmit(){
    var objs = document.getElementsByTagName('INPUT');
    var btns = document.getElementsByTagName('button');
    for(var i=0; i<objs.length; i++){
        if(objs[i].type.toLowerCase() == 'submit'|| objs[i].type.toLowerCase() == 'button'){
            objs[i].disabled = true;
        }
    }
    for(var i=0; i<btns.length; i++){
        btns[i].disabled = true;
    }
}

//启用其他按钮
function EnableOtherSubmit(){
    var objs = document.getElementsByTagName('INPUT');
    var btns = document.getElementsByTagName('button');
    for(var i=0; i<objs.length; i++){
        if(objs[i].type.toLowerCase() == 'submit'|| objs[i].type.toLowerCase() == 'button'){
            objs[i].disabled = false;
        }
    }
    for(var i=0; i<btns.length; i++){
        btns[i].disabled = false;
    }
}


//验证是否数字
function FilterNum(){
     if ( !((window.event.keyCode >= 48) && (window.event.keyCode <= 57))){
         window.event.keyCode = 0 ;
     }
}

//验证是否数字
function CheckIsNumber(number){
    var reg = /^-?\d+$/;
    if(number != ""){
        if(reg.test(number)){   
            return true;
        }else{   
            return false;
        }
    }
}

function IsMsIE(){
    if(navigator.userAgent.indexOf("MSIE")>0) { 
       return true; 
    }else{
        return false;
    }
}

function IsFirefox(){
    if(navigator.userAgent.indexOf("Firefox")>0){ 
        return true; 
    }else{
        return false;
    }
}

function IsSafari(){
    if(navigator.userAgent.indexOf("Safari")>0) { 
        return true; 
    }else{
        return false;
    }
}

function IsIEOrFirefox(){
    if(navigator.userAgent.indexOf("MSIE")>0 || navigator.userAgent.indexOf("Firefox")>0) { 
        return true;
    }else{
        return false;
    }
}

function GetQueryStringRegExp(name){ 
    var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s|&|$)", "i"); 
    if (reg.test(location.href)) 
    return unescape(RegExp.$2.replace(/\+/g, " ")); return ""; 
}

function PageLoadData(HitItemsID,IsStock){
    ReSetHeadInfo();
    var IsRemarks = GetQueryStringRegExp("IsRemark");
    if(!IsRemarks){
        IsRemarks = "true";
    }
    var IsHaveTypes = "no";
    var hfHaveType = document.getElementById("hfHaveType");
    if(hfHaveType){
        if(hfHaveType.value == "yes"){
            IsHaveTypes = "yes";
        }
    }
    $.ajax({
        url: $("#HomeLink").val() + '/Ajax/GetCustomerIsLogin.ashx',
        type: 'GET',
        dataType: 'xml',
        data: {ItemsID:HitItemsID,Url:escape(location.href),IsStock:IsStock,IsHaveType:IsHaveTypes,IsRemark:IsRemarks,time: (new Date()).getTime()},
        error: function(){
            location.href = $("#HomeLink").val() + "/Error/GenericErrorpage.aspx";
        },
        success: function(data){            
            if($(data).find("ErrorMessage").attr("message")){
                location.href = $("#HomeLink").val() + "/Error/GenericErrorpage.aspx";
            }else{
                if($(data).find("IsLogin").attr("Value")){
                    var isLoginval = $(data).find("IsLogin").attr("Value");
                    if(isLoginval == "true"){
                        $("#CustomerLogin").html("Welcome! <span style=\"color:#E3D11E;\">" + $(data).find("IsLogin").attr("Email") + "</span>, <a href=\"javascript:void(0);\" onclick=\"javascript:SignOut();\" style=\"text-decoration:none;\">Sign Out!</a>");
                    }else{
                        $("#CustomerLogin").html("Welcome! <span style=\"color:#E3D11E;\">Guest!</span>");
                    }
                }
                if($(data).find("StockNums").attr("Value")){
                    if(IsHaveTypes == "yes"){
                        $(data).find("StockNums").each(function(){
                            var StockOldItemsLoadingTd = document.getElementById("StockOldItemsLoadingTd" + $(this).attr("Id"));
                            StockOldItemsLoadingTd.innerHTML = $(this).attr("Value");
                            var ItemsDetailNumber = document.getElementById("ItemsDetailNumber" + $(this).attr("Id"));
                            if(ItemsDetailNumber){
                                ItemsDetailNumber.value = $(this).attr("Value");
                            }
                        });
                    }else{
                        $("#InventoryNum").html($(data).find("StockNums").attr("Value"));
                    }
                    
                }
            }
        }
    });
    
    
}

function ReSetHeadInfo(){
    if($.browser.mozilla){
        if(getCookie("ShoppingItem")){
            $("#ShoppingItem").html($.cookie("ShoppingItem"));
        }else{
            $("#ShoppingItem").html("0");
        }
        if(getCookie("Subtotal")){
            $("#Subtotal").html("$" + $.cookie("Subtotal"));
        }else{
            $("#Subtotal").html("$0");
        }
    }else{
        if($.cookie("ShoppingItem")){
            $("#ShoppingItem").html($.cookie("ShoppingItem"));
        }else{
            $("#ShoppingItem").html("0");
        }
        if($.cookie("Subtotal")){
            $("#Subtotal").html("$" + $.cookie("Subtotal"));
        }else{
            $("#Subtotal").html("$0");
        }
    }
    
}

function getLeftPosition(Obj) {
    try{
        for (var sumLeft=0;Obj!=document.body;sumLeft+=Obj.offsetLeft,Obj=Obj.offsetParent);
        return sumLeft;
    }catch(e){
    
    }
}

function getTopPosition(Obj) {
    try{
        for (var sumTop=0;Obj!=document.body;sumTop+=Obj.offsetTop,Obj=Obj.offsetParent);
        return sumTop;
    }catch(e){
        
    }
}

function GetWindowLength(type,debug){
    type=(typeof type=='undefined')?'error':type;
    type=type.toLowerCase();
    var w='width';
    var h='height';
    if(w.indexOf(type)==0){
        type='Width'
    }else if(h.indexOf(type)==0){
        type='Height'}else{alert('wrong parameter'+type)
    }
    var attrs=['offset'+type,'scroll'+type,'client'+type,'inner'+type];
    var db=document.body;
    var de=document.documentElement;
    var r=0;
    var tmp_r=0;
    var a='';
    for(var i=0;i<attrs.length;i++){
        a=attrs[i];
        tmp_r=db[a]>de[a]?db[a]:de[a];
        if(debug){
            alert(a+':'+tmp_r);
        }
        if(typeof tmp_r=='undefined'||tmp_r<r){
            continue
        }
        c_attr=a;
        r=tmp_r;
    }
    if(debug){
        alert(c_attr+':'+r);
    }
    return r;
}

function Obj1OverObj2(obj1, obj2){
    var result = true;
    var obj1Left = getLeftPosition(obj1) - document.body.scrollLeft; 
    var obj1Top = getTopPosition(obj1)  - document.body.scrollTop; 
    var obj1Right = obj1Left + obj1.offsetWidth; 
    var obj1Bottom = obj1Top + obj1.offsetHeight;
    var obj2Left = getLeftPosition(obj2) - document.body.scrollLeft; 
    var obj2Top = getTopPosition(obj2) - document.body.scrollTop; 
    var obj2Right = obj2Left + obj2.offsetWidth; 
    var obj2Bottom = obj2Top + obj2.offsetHeight;
    if (obj1Right <= obj2Left || obj1Bottom <= obj2Top || obj1Left >= obj2Right || obj1Top >= obj2Bottom) {
        result = false; 
    }
    return result; 
}

function CheckControl(selectctr,targ){
    var sel = document.getElementsByName(selectctr);
    var tar = document.getElementsByName(targ);
    var n = tar.length;
    for (var i=0; i<n; i++){
        tar[i].checked = sel[0].checked;
    }
}

function getCookie(parameter){
 var reg,allCookie,allCookie2,iLen,iStart,iEnd;
 allCookie = document.cookie;
 reg = new RegExp(parameter);
 if(allCookie.search(reg) == -1){
  return "";
 }
 else{
  iLen = parameter.length;
  iStart = allCookie.search(reg) + iLen +1;
  allCookie2 = allCookie.substr(iStart);
  iEnd = iStart + allCookie2.search(/;/i);  
  if((iStart - 1) == iEnd){
   return allCookie.substr(iStart);
  }
  else{
   return allCookie.substr(iStart,iEnd - iStart);
  }
 }
}

//  Purpose:   Customer SignOut
//  Arguments: None.
function SignOut(){
    ShowBackground();
    $.get($("#HomeLink").val() + "/Ajax/SignOut.ashx", {time: (new Date()).getTime() },function(data){
        if(data == "Success"){
            $("#CustomerLogin").html("Welcome! <span style=\"color:#E3D11E;\">Guest</span>!");
            RemoveBackground();
            if($("#hfIsLogin")){
                $("#hfIsLogin").val("no");
            }
            if(location.href.indexOf("/Secure/") > 0){
                location.href = $("#HomeLink").val() + "/JoinUs/Login.aspx"
            }
        }
    });
}

//  Purpose:   Show Background
//  Arguments: None.
function ShowBackground(){
    if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
		$("body","html").css({height: "100%", width: "100%"});
		$("html").css("overflow","hidden");
		if (document.getElementById("gb_HideSelect") === null) {//iframe to hide select elements in ie6
			$("body").append("<iframe id='gb_HideSelect'></iframe><div id='gb_overlay'></div><div id='gb_window'></div>");
		}
	}else{//all others
		if(document.getElementById("gb_overlay") === null){
			$("body").append("<div id='gb_overlay'></div><div id='gb_window'></div>");
		}
		if($.browser.opera)
		{
		    $("html").css("overflow","hidden");
		    $("body","html").css({height: $("#gb_overlay").css("height"), width: "100%"});
		}
	}
	if(gb_detectMacXFF()){
		$("#gb_overlay").addClass("gb_overlayMacFFBGHack");//use png overlay so hide flash
	}else{
		$("#gb_overlay").addClass("gb_overlayBG");//use background and opacity
	}
	if(!$.browser.mozilla){
	    $("body").append("<div id='gb_load'><img src='"+$("#HomeLink").val() + "/images/loadingAnimation.gif' /></div>");//add loader to the page
	    $('#gb_load').show();//show loader
	}else{
	    document.getElementById('ProcessingMessage').style.top = sGetScrollTop()+(window.screen.availHeight*1/2)+'px';
	    $('#ProcessingMessage').css("display","block");
	}
	document.onkeydown = function(e){ 	
		if (e == null) { // ie
			keycode = event.keyCode;
		} else { // mozilla
			keycode = e.which;
		}
		if(keycode == 27){ // close
			gb_remove();
		}
	};
}

//  Purpose:   Remove Background
//  Arguments: None.
function RemoveBackground(){
    $("#gb_window").fadeOut("fast",function(){$('#gb_window,#gb_overlay,#gb_HideSelect').trigger("unload").unbind().remove();});
	if(!$.browser.mozilla){
	    $("#gb_load").remove();
	}else{	
	    $('#ProcessingMessage').css("display","none");
	}
	if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
		$("body","html").css({height: "auto", width: "auto"});
		$("html").css("overflow","");
	}
	document.onkeydown = "";
	document.onkeyup = "";
	return false;
}

//  Purpose:   Get customer status and remark the ip
//  Arguments: None.
function RemarkTheView(){
    var IsRemarks = GetQueryStringRegExp("IsRemark");
    if(!IsRemarks){
        IsRemarks = "true";
    }
    $.ajax({
        url: $("#HomeLink").val() + '/Ajax/RemarkTheView.ashx',
        type: 'GET',
        dataType: 'xml',
        data: {Url:escape(location.href),IsRemark:IsRemarks,time: (new Date()).getTime()},
        success: function(data){            
            if($(data).find("ErrorMessage").attr("message")){
                location.href = $("#HomeLink").val() + "/Error/GenericErrorpage.aspx";
            }else{
                if($(data).find("IsLogin").attr("Value")){
                    var isLoginval = $(data).find("IsLogin").attr("Value");
                    if(isLoginval == "true"){
                        $("#CustomerLogin").html("Welcome! <span style=\"color:#E3D11E;\">" + $(data).find("IsLogin").attr("Email") + "</span>, <a href=\"javascript:void(0);\" onclick=\"javascript:SignOut();\" style=\"text-decoration:none;\">Sign Out!</a>");
                    }else{
                        $("#CustomerLogin").html("Welcome! <span style=\"color:#E3D11E;\">Guest!</span>");
                    }
                }
            }
        }
    });
}

function FilterUserInputNum(Object){
    if(window.event.keyCode == 13){
        document.getElementById(Object).click();
    }
    if(!((window.event.keyCode >= 48) && (window.event.keyCode <= 57))){
        window.event.keyCode = 0 ;
    }
}

function FilterUserInputFloat(Object){
    if(window.event.keyCode == 13){
        document.getElementById(Object).click();
    }
    if (!((window.event.keyCode >= 48) && (window.event.keyCode <= 57) || (window.event.keyCode == 46))){
        window.event.keyCode = 0 ;
    }
}

function getAbsolutePosition(element){
	var point = { x: element.offsetLeft, y: element.offsetTop };
	//Recursion
	if (element.offsetParent)
	{
		var parentPoint = this.getAbsolutePosition(element.offsetParent);
		point.x += parentPoint.x;
		point.y += parentPoint.y;
	}
	return point;
};

