﻿
$(window).load(function() {
    $(".imageAdjust").each( function (i) {
        adjustImageCenter(this);
    });
});

$(document).ready(function () {

    $('#horizontal-scroll-container div').cycle({ fx: 'scrollLeft', pause: true });

    $("body.startPage div#top-content .right-box div .text:eq(0)").css({ "margin-bottom": "8px" });

    $(".right-box #personalstyle-box:last").css({ 'height': '212px' });
    $(".right-box div:last").css({ "margin-bottom": "0px" });

    if (trim($("#pre-content").text()) == "") {
        $("#pre-content").css({ 'height': '50px', 'min-height': '50px' });
    }

    //$(".infiniteCarousel").infiniteCarousel();

    /* 
    if ($("#menu_login").parent().hasClass("loggedin") == false)
    {
    $("#menu_login a").colorbox({inline:true, href:"#login-container", scrolling: false});
    }
     
    $(".bottomMenu .l-login, .login-colorbox").colorbox({inline:true, href:"#login-container", scrolling: false});*/

    if (isMember == true) {
        $(".invitefriendlink").colorbox({ inline: true, href: "#invitefriend-container", scrolling: false, onOpen: function () { $(".youtube-item").hide(); }, onClosed: function () { $(".youtube-item").show(); } });
    }
    else {
        $(".invitefriendlink").click(function () {
            window.location = "/login.aspx?inviteafterlogin=true";
            return false;
        });
    }

    //$(".product-view-sizing-chart").colorbox({inline:true, href:"#divHiddenSizeChart"});    

    $("#hrefAddPost").colorbox({ inline: true, href: "#addUserPost" });

    $(".marketplace-listitem").colorbox({ inline: true, href: "#marketplace-listbox" });

    $(".href-market-rules").colorbox({ inline: true, href: "#marketplace-rules" });

    $(".showEmailSeller").colorbox({ inline: true, href: "#email-form" });

    $(".colorbox").colorbox({ overlayClose: false, maxWidth: '80%', maxHeight: '80%', photo: true });

    $("a[rel='marketplaceImage']").colorbox({ maxWidth: '80%', maxHeight: '80%' });

    if ($("#sidebar div:eq(0)").hasClass("sidebar-box")) {
        $("#sidebar div:eq(0)").css({ "margin-top": 0 });
        $("#sidebar div:eq(0) .inner-content").css({ "margin-top": 0 });
    }

    $('#middle-ads-banner').cycle({
        fx: 'scrollLeft',
        pause: true,
        timeout: 3000
    });

    $('.slideshow').cycle({
        fx: 'scrollUp',
        pause: true
    });

    $(".cart-images").cycle();

    //Add Loading Function
    $(".loading").click(function () {
        ShowLoading();
    });

    $("#scroll-ads-container").hover(
      function () {
          $("#scroll-ads-container .tag").fadeOut();
          $(".slideshow div:visible div", this).animate({
              top: -$(".slideshow div:visible div", this).outerHeight()
          },
          { duration: 350 }
          );
      },
      function () {
          $("#scroll-ads-container .tag").fadeIn();
          $(".slideshow div:visible div", this).animate({
              top: '0'
          },
          { duration: 350 }
          );
      }
    );


    $(".marketPlaceContainer #top-banner, .marketPlaceItem #top-banner").hover(
        function () {
            $(".tag", this).fadeOut();
            $(".text", this).animate({ top: '-100' }, { duration: 350 });
        },
        function () {
            $(".tag", this).fadeIn();
            $(".text", this).animate({ top: '0' }, { duration: 350 });
        }
    );


    //    $(".slideshow").mouseout(function(){
    //      $("div:visible div", $(this).parent()).animate({ 
    //            top: '0'
    //          }, 
    //          { duration: 350}
    //      );
    //    }).mouseover(function(){
    //      $("div", $(this).parent()).animate({ 
    //            top: - $("div", $(this).parent()).outerHeight()
    //          }, 
    //          { duration: 350}
    //          );
    //    });


    //menu
    $("#menu li").each(function (i) {

        if ($("ul", this).length > 0) {
            $(this).hover(
              function () {
                  $("ul", this).fadeIn();
              },
              function () {
                  $("ul", this).fadeOut();
              }
            );
        }

    });

    if ($.browser.msie && $.browser.version == "6.0") {
        //Do NOT process the menu
    }
    else {
        $(".shoplink_thesale").hover(
		function () {
		    $("div", this).fadeIn();
		    $("a:eq(0)", this).css({ 'background-position': '0 -40px' });
		},
		function () {
		    $("div", this).fadeOut();
		    $("a:eq(0)", this).css({ 'background-position': '0 0' });
		}
	);
    }


    $(".categories-search .select").click(function () {
        $(".categories-search .sub").toggle();
    });

    $(document).bind('click', function (e) {
        /*
        var $clicked = $(e.target);
        if (! $clicked.parents().hasClass("categories-search"))
        $(".categories-search .sub").hide();
        */
    });



    //Numeric TextBoxes
    $(".numeric").keypress(function (e) {
        var charCode = (e.which) ? e.which : e.keyCode
        if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
            return false;
        }
        return true;
    });

    var topFloorItemHeight = 366;
    $("#thetopfloor .theTopFloor-item").each(function (i) {
        if ($(this).outerHeight() > topFloorItemHeight) {
            topFloorItemHeight = $(this).outerHeight();
        }
    });

    $("#thetopfloor .theTopFloor-item").css({ "height": (topFloorItemHeight + 60) + "px" });


    $(".unique-checkboxes input").click(function () {
        $("input", $(this).parent()).each(function () {
            $(this)[0].checked = false;
        });
        $(this)[0].checked = true;
    });



    swapValues = [];
    $(".swap_value").each(
        function (i) {
            swapValues[i] = $(this).val();
            $(this).focus(function () {
                if ($(this).val() == swapValues[i]) {
                    $(this).val("")
                }
            }
            ).blur(function () {
                if ($.trim($(this).val()) == "") {
                    $(this).val(swapValues[i])
                }
            }
             )
        }
    )

});

function checkLogin()
{
    var errorMsg = "";
    var username = $(".txtLoginUsername").val();
    var password = $(".txtLoginPassword").val();
    
    if (username == "" || username == "Username*")
    {
        errorMsg += "- Please enter your Username or Email Address\n";
    }
    
    if (password == "")
    {
        errorMsg += "- Please enter your password\n";
    }
    
    if (errorMsg != "")
    {
        alert(errorMsg);
        return false;
    }
    else
    {
        return true;
    }
}

function checkPasswordReset()
{
    var errorMsg = "";
    var email = $(".txtForgotPasswordEmailAddress").val();
    
    if (email == "")
    {
        errorMsg += "- Please enter your email address\n";
    }
    
    if (errorMsg != "")
    {
        alert(errorMsg);
        return false;
    }
    else
    {
        return true;
    }
}

function checkListItem()
{
    var errorMsg = "";
    
    if ($(".txtAddItemUserEmail") != null && $(".txtAddItemUserEmail").val() == '')
    {
        errorMsg += "-Please enter the users email address\n";
    }
    
    if ($(".txtAddItemTitle").val() == "" || $(".txtAddItemTitle").val() == 'Item Name*')
    {
        errorMsg += "-Please enter an Item Title\n";
    }
    
    if ($(".txtAddItemPrice").val() == "" || $(".txtAddItemPrice").val() == 'Item Price*')
    {
        errorMsg += "-Please enter an Item Price\n";
    }
    
    if ($(".ddlSwaporSell").val() == "0")
    {
        errorMsg += "-Please select if its a Swap or Sell\n";
    }
    
    if ($(".ddlAddItemCategory").val() == "0")
    {
        errorMsg += "-Please select a Category\n";
    }
    
    if ($(".listItemExpiry input[type='radio']:checked").length == 0)
    {
        errorMsg += "-Please select an enquiry option\n";
    }
    
    if ($(".txtAddItemDescription").val() == "Description*")
    {
        errorMsg += "-Please enter an Item Description\n";
    }
    
    if ($(".FileUpload1").val() == "")
    {
        errorMsg += "-Please upload atleast 1 image\n";
    }
    
    if (errorMsg != ""){
        alert(errorMsg);
        return false;
    }
    else
    {
        return true;
    }
    
}

function RemoveOrderItem(orderId)
{
    $.ajax({
      type: "POST",
      url:  jsAppPath + "WebService/WebService.asmx/RemoveOrderItem",
      data: "orderItemId=" + orderId,
      dataType: "xml",
      success: function(msg){
        $(".cartItem_" + orderId).fadeOut();  
        var currentUrl = document.location.href;
        if (currentUrl.indexOf("?") > -1)
        {
            currentUrl += "&sitemremoved=true";
        }
        else
        {
            currentUrl += "?sitemremoved=true";
        }
        setTimeout("document.location = '" + currentUrl + "';", 1500);      
      },
      error: function (xhr, desc, exceptionobj) {
        ////alert(xhr.responseText);
      }
    });
}

function SaleExpiredRedirect()
{
    document.location = jsAppPath + "shop/the-sale.aspx?ssaleremoved=true";
}

function ShowLoading()
{
    $.blockUI({ message: $('#loadingMessage'), css: { width: '20%', left: '40%' }  }); 
}

function CheckCreditCardNumbers(sender, args)
{  
    var isValid = true;

    $(".cardNumbers input").each( function (i) {
        if (i < 3)
        {
            if ($(this).val().length < 4)
            {
                isValid = false;
            }
        }
        else
        {
            if ($(this).val().length < 3)
            {
                isValid = false;
            }
        }
    });

    args.IsValid = isValid;
    
}

function CheckExpiry(sender, args)
{
    var isValid = true;

    $(".cardExpiry input").each( function (i) {
        if ($(this).val().length < 2)
        {
            isValid = false;
        }
    });

    args.IsValid = isValid;
}

function checkState(sender, args)
{
     var isValid = true;
     
     var ddlState = $(".ddlState").val();
     var otherState = $(".txtState").val();
     
     if (ddlState == "" && otherState == "")
     {
         isValid = false;
     }
     else if (ddlState == "Other" && otherState == "")
     {
        isValid = false;
     }
     
     args.IsValid = isValid;
 }

function checkBusiness(sender, args) {
    var isValid = true;

    var ddlAddressType = $(".ddlAddressType").val();
    var businessName = $(".txtBusinessName").val();

    if (ddlAddressType == "Business" && businessName == "") {
        isValid = false;
    }

    args.IsValid = isValid;
}

 function checkShippingDeliveryOption(sender, args) 
 {
     var isValid = true;

     if ($(".divShippingDeliveryOptions input:checked").length == 0) {
         isValid = false;
     }

     args.IsValid = isValid;
 }

function checkInviteAFriendDetails()
{
    var errorMsg = "";
    
    var invitedFriendEmail_1 = $(".txtInviteFriendEmail1").val();
    var invitedFriendEmail_2 = $(".txtInviteFriendEmail2").val();
    var invitedFriendEmail_3 = $(".txtInviteFriendEmail3").val();
    var invitedFriendEmail_4 = $(".txtInviteFriendEmail4").val();
    var invitedFriendEmail_5 = $(".txtInviteFriendEmail5").val();
    
    var invitedFriendEmail_6 = $(".txtInviteFriendEmail6").val();
    var invitedFriendEmail_7 = $(".txtInviteFriendEmail7").val();
    var invitedFriendEmail_8 = $(".txtInviteFriendEmail8").val();
    var invitedFriendEmail_9 = $(".txtInviteFriendEmail9").val(); 
    var invitedFriendEmail_10 = $(".txtInviteFriendEmail10").val();
        
    
    if (invitedFriendEmail_1 == "" && invitedFriendEmail_2 == "" && invitedFriendEmail_3 == "" && invitedFriendEmail_4 == "" && invitedFriendEmail_5 == "" && invitedFriendEmail_6 == "" && invitedFriendEmail_7 == "" && invitedFriendEmail_8 == "" && invitedFriendEmail_9 == "" && invitedFriendEmail_10 == "")
    {
        errorMsg += "- Please enter at least 1 friends email\n";
    }
    
    // check first friends email address
    if(invitedFriendEmail_1 != null && invitedFriendEmail_1 != "" && echeck(invitedFriendEmail_1)==false)
    {
        errorMsg += "- Please enter a valid Email Address for first invited Friend\n";
    }
    
     // check second friends email address
    if(invitedFriendEmail_2 != null && invitedFriendEmail_2 != "" && echeck(invitedFriendEmail_2)==false)
    {
        errorMsg += "- Please enter a valid Email Address for second invited Friend\n";
    }
    
     // check third friends email address
    if(invitedFriendEmail_3 != null && invitedFriendEmail_3 != "" && echeck(invitedFriendEmail_3)==false)
    {
        errorMsg += "- Please enter a valid Email Address for third invited Friend\n";
    }
    
    // check fourth friends email address
    if(invitedFriendEmail_4 != null && invitedFriendEmail_4 != "" && echeck(invitedFriendEmail_4)==false)
    {
        errorMsg += "- Please enter a valid Email Address for fourth invited Friend\n";
    }
    
    // check fifth friends email address
    if(invitedFriendEmail_5 != null && invitedFriendEmail_5 != "" && echeck(invitedFriendEmail_5)==false)
    {
        errorMsg += "- Please enter a valid Email Address for fifth invited Friend\n";
    }
    
    // check sixth friends email address
    if(invitedFriendEmail_6 != null && invitedFriendEmail_6 != "" && echeck(invitedFriendEmail_6)==false)
    {
        errorMsg += "- Please enter a valid Email Address for sixth invited Friend\n";
    }
    
    // check seventh friends email address
    if(invitedFriendEmail_7 != null && invitedFriendEmail_7 != "" && echeck(invitedFriendEmail_7)==false)
    {
        errorMsg += "- Please enter a valid Email Address for seventh invited Friend\n";
    }    
    
    // check eigth friends email address
    if(invitedFriendEmail_8 != null && invitedFriendEmail_8 != "" && echeck(invitedFriendEmail_8)==false)
    {
        errorMsg += "- Please enter a valid Email Address for eighth invited Friend\n";
    }
    
    // check ninth friends email address
    if(invitedFriendEmail_9 != null && invitedFriendEmail_9 != "" && echeck(invitedFriendEmail_9)==false)
    {
        errorMsg += "- Please enter a valid Email Address for ninth invited Friend\n";
    }
    
    // check tenth friends email address
    if(invitedFriendEmail_10 != null && invitedFriendEmail_10 != "" && echeck(invitedFriendEmail_10)==false)
    {
        errorMsg += "- Please enter a valid Email Address for tenth invited Friend\n";
    }
    
    if (errorMsg != "")
    {
        alert(errorMsg);
        return false;
    }
    else
    {
        return true;
    }
}

function checkSendToAFriendDetails()
{
    var errorMsg = "";
    
    var sendToAFriendEmail = $(".txtSendToAFriendEmail").val();
    var sendToAFriendEmailMessage = $(".txtSendToFriendMessage").val();
    
    if (sendToAFriendEmail != null && sendToAFriendEmail != "" && echeck(sendToAFriendEmail) == "")
    {
        errorMsg += "- Please enter a valid email address\n";
    }
    
    if (sendToAFriendEmailMessage == "")
    {
        errorMsg += "- Please enter a message you wish to put in the email\n";
    }
    
    if (errorMsg != "")
    {
        alert(errorMsg);
        return false;
    }
    else
    {
        return true;
    }
}

/*

JS Functions

*/
function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

String.IsNullOrEmpty = function(value) {
  var isNullOrEmpty = true;
  if (value) {
   if (typeof (value) == 'string') {
    if (value.length > 0)
     isNullOrEmpty = false;
   }
  }
  return isNullOrEmpty;
}

/*

Check is valid email function

*/
function echeck(str) {

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    return false;
	}

	 if (str.indexOf(at,(lat+1))!=-1){
	    return false;
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	    return false;
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
	    return false;
	 }
	
	 if (str.indexOf(" ")!=-1){
	    return false;
	 }

	 return true;				
}

function valCheckCaptch(sender, args)
{
    var resp = "false";
    
    $.ajax({
      type: "POST",
      url:  jsAppPath + "WebService/WebService.asmx/CheckEncyptedString",
      data: "source=" + $("#captcha input[type='hidden']:eq(0)").val() + "&encrypted=" + $("#captcha input[type='hidden']:eq(1)").val(),
      dataType: "xml",
      async:   false,
      success: function(msg){   
        resp = $("boolean",msg).text();
        var isValid = true;
        if (resp == "true")
        {
            isValid = true;
        }
        else
        {
            isValid = false;
        }
        args.IsValid = isValid;
      },
      error: function (xhr, desc, exceptionobj) {
      }
    });
}
    
function adjustImageCenter(obj)
{
    //Get the Image & Parent Elements
    var img = $(obj)[0];
    var width = img.width;
    var height = img.height;
    var p = $(obj).parent()[0];
    var pHeight = parseFloat(p.style.height.replace('px',''));
    var pWidth = parseFloat(p.style.width.replace('px',''));
    
    //Difference
    var heightDiff = height - pHeight;
    var widthDiff = width - pWidth;
	
    // set image to be positioned centered/middle of container
    $(obj).css("marginTop",-heightDiff/2).css("marginLeft",-widthDiff/2);
}
