﻿$(function(){
    if($('.myAccountLinks').last().attr('href') == 'default.aspx?Page=Logon&Action=LogOff'){
        $('.myAccountLinks').last().html("Log Out");
    } else {
        $('.myAccountLinks').last().html("Log In");
        $('.ShipBillInformation_ContinueCheckoutButton').remove();
    }
	
    // HANDLE KEYWORD SEARCH BOX TEXT
    $('#mainKeywordSearch').focus(function(){
        if($(this).val() == 'Keyword'){
            $(this).val('');
        }
    });
    
    // HANDLE KEYWORDS SEARCH SUBMIT
    if(!getGET('txtSearchText')){ // DO NOTHING //
    } else {
        var searchData = getGET('txtSearchText');
        if(searchData != 'Keyword' || searchData != '') {
            $.get('/ajax/searchSave.aspx', { 'q' : searchData }, function(){});
        }
    }    
    
    // DELETE PAYMENT TYPE AND PAYMENT OPTION DROP DOWN LIST ON CHECKOUT / PAYMENT INFORMATION PAGE
    $('.ShipBillInformation_ShipTable .ShipBillInformation_BillAreaTable tr:eq(0)').css('display','none');
    
    // VALIDATE FEEDBACK FORM ONSUBMIT
    $('#feedbackForm').submit(function(){
        var isValid = true;
        var emailPattern = /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/;
        var fieldsToValidate = $('#feedbackForm .validate'); // collection of all fields to validate
        
        for(var i = 0; i < fieldsToValidate.length; i++){
            var el = fieldsToValidate[i];
            if($(el).hasClass('email') && !/^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/.test($(el).val())){
                alert('Please enter a valid email address.');
                isValid = false;
            }
            if($(el).hasClass('accountNumber') && !/^\d{6}$/.test($(el).val())){
                alert('Please enter your new, 6 digit account number.');
                isValid = false;
            }
            if($(el).hasClass('feedbackContent') && $(el).val().length < 2){
                alert('Please enter a comment or question.');
                isValid = false;
            }
        }
        return isValid;
    });
    
    // LOOK AT URL IF 'BARGAINBIN.aspx' IS AT THE END OF THE STRING INSERT TEXT ON PAGE
    if(checkURL('SPECIALSOFTHEWEEK')){
        $('#Tablerow2cell2 .ContentNavigationTrailTR').before('<tr><td style="padding-top:15px;color:#000;font-size:14px;">This section is updated every Friday for the newest in rollback pricing.<br>NOTE: Limited quantities available, while supplies last.</td></tr>');
    }
    
    // SET COOKIE WHEN LOG IN FORM IS SUBMITTED ( CLICKED )
    $('#SubmitLogon').click(function(){
        var cookieName = 'who';
        var cookieValue = $('#txtEmail').val();
        document.cookie = cookieName + '=' + cookieValue;
    });
    
    // ADD 'ORDERED ITEMS ON BACKORDER' LINK TO MY ACCOUNTS PAGE
    $('.MyAccountProfileAccountingTable tr:last').after('<tr><td colspan="2"><a href="/default.aspx?page=customer&file=customer/wixcgr/customerpages/backorderedItems.htm" class="MyAccountProfileaccounting">Ordered Items On Backorder</a></td></tr>');
    
    // REMOVE INVOICE LINK ON MY ACCOUNTS PAGE JO 
    //$('td.MyAccountProfileaccounting:first').remove();
    
    // CALL TO AJAX IF THE ABOVE LINK INSERTED IN MY ACCOUNT PAGE WAS CLICKED AND THE ITEMS ORDERED ON BACK ORDER PAGE IS DISPLAYED
    if($('#itemsOnBackorder').length > 0){
        var currentUser = null;
        var cookies = document.cookie.split(";");
        
        for(var i = 0; i < cookies.length; i++){
            var crumb = cookies[i].split("=");
            var strName = $.trim(crumb[0]);
            var strValue = $.trim(crumb[1]);
            if(strName == "who"){
                currentUser = strValue;
            }
        }
        $.get('/ajax/backorder.aspx', { 'emailAddress' : currentUser }, function(data){
            $('#loaderImg').remove();
            $('#itemsOnBackorder').append(data);
            $('#backOrderedItemsTable tr:odd').css('background','#ccc');
        });
    }
    
    // CALL TO AJAX TO GET SUBCATEGORIES
    $.get("/ajax/subcategories.aspx", function(data){
        var subcategories = data.split(";"); // result looks like BATTERY|<ul><li></li>....</ul>
        for(var i = 0; i < subcategories.length; i++){
            var categoryAndMarkup = subcategories[i].split("|");
            var topLevelCategory = categoryAndMarkup[0];
            //alert(topLevelCategory);
            var subcategoryMarkup = categoryAndMarkup[1];
            
            // build id and find it, append ul element
            $('#Category_' + topLevelCategory).parent().append(subcategoryMarkup);
        }
        
        // control sub nav position if hovering on a main nav link
        $('#Tablerow2cell1 .CatalogTopItems_InnerTable tr td a.CatalogTopItems_CategoryLinks').hover(function(){
            if($.browser.webkit){
                var offset = $(this).offset();
                $(this).next().css({
                    'left' : offset.left + 200 + 'px',
                    'top' : offset.top + 'px',
                    'z-index' : 900
                });
            }
            else{
                $(this).next().css('left','200px');
            }
            $(this).css('background-position','0 29px');
            $(this).parent().css('z-index','100');   
        },
        function(){
                $(this).css('background-position','0 0');
                $(this).parent().css('z-index','0');
                $(this).next().css('left','-9999px');    
            
        });
        
        $('#Tablerow2cell1 .CatalogTopItems_InnerTable tr td ul li a').click(function(){
            $(this).parent().parent().css('left','-9999px');
        });
        // if you hover and click a main nav category then click the back button the sub nav would still be there
        $('#Tablerow2cell1 a.CatalogTopItems_CategoryLinks').click(function(){
            $(this).css('background-position','0 0');
            var el = $(this).next();
            if($(el).is('.subcategory')){
                $(el).css('left','-9999px');
            }
        });
        
        // control sub nav position if hovering on the sub nav
        $('#Tablerow2cell1 ul.subcategory').hover(function(){
            if($.browser.webkit){
                var offset = $(this).prev().offset();
                $(this).css({
                    'left' : offset.left + 200 + 'px',
                    'top' : offset.top + 'px',
                    'z-index' : 900
                });    
            }
            else{
                $(this).css('left','200px');    
            }
            $(this).parent().css('z-index','100');
            $(this).prev().css('background-position','0 29px');
        },
        function(){
            $(this).css('left','-9999px');
            $(this).parent().css('z-index','0');
            $(this).prev().css('background-position','0 0');
        });
        
    });
    
    // i removed :hover from nav links in CSS to get sub categories working
    $('#Tablerow2cell1 a.CatalogTopItems_CategoryLinks').hover(function(){
        $(this).css('background-position','0 29px');
    },
    function(){
        $(this).css('background-position','0 0');
    });
    
    // IF JAVASCRIPT IS ON AND THE PAGE IS NOT IN THE DO NOT DISPLAY ARRAY CHANGE DISPLAY OF #shareThis TO DISPLAY BLOCK
    var doNotDisplayOnThisPage = new Array('MyAccountProfile','My+Account+Profile','MyAccountShoppingList','My+Account+Shopping+List','QuickOrderPad','Quick+OrderPad','RMAform.html',
					   'ShoppingCart','Shopping+Cart','page=shoppingcart','page=shopping+cart','Logon','LogOff','MyAccountInvoiceList','MyAccountOpenOrderList',
					   'MyAccountOpenARList','PastPurchasesSelect','MyAccountSuspendedOrdersList','MyAccountOpenQuoteList','backorderedItems.htm',
					   'page=ShipBillInformation','page=ShipBill+Information','page=advancedsearch','page=advanced+search','page=AdvancedSearch','page=Advanced+Search',
					   'MyAccountOpenOrderDetail','My+Account+Open+Order+Detail');
    var okToDisplay = true;
    $.each(doNotDisplayOnThisPage, function(index, value){
	if(checkURL(value)){
	    okToDisplay = false;
	}
    });
    if(okToDisplay){
	$('#shareThis').css('display','block');
    }
    $('#emailLink').click(function(){
	emailCurrentUrl();
	return false;
    });
    
    // APPEND THE WIREXHASIT BUTTON AT THE BOTTOM OF THE CHECKOUT PAGE
    
    if(checkURL("page=ordersummary")){
	    $('.ContentOrderConfirmationTR').after("<tr><td><a href='http://wirexhasit.com/' target='_blank'><img src='customer/wixcgr/images/wx/wirexhasitButton.jpg' height='122' width='480' alt='Navigate to Wirexhasit.com'></a></td></tr>");
	    // <a href='http://wirexhasit.com/' target='_blank'><img src='customer/wixcgr/images/wx/wirexhasitButton.jpg' height='122' width='480' alt='Navigate to Wirexhasit.com'></a>
	}
     
    /**/
    
    
    /*****************************
    *          RMA FORM          *
    *****************************/
    
    if($('#javascriptIsOnLoadRMAForm').length > 0){
	window.location = "/default.aspx?page=customer&file=customer/wixcgr/customerpages/RMAform.html";
    }
    
    $('#rmaForm').submit(function(){
        
        var formIsValid = true;
        var alertMessage = 'The RMA form has the following error(s)';
        var emailPattern = /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/;
        var formIsEmpty = true;
        
        
        // validate #customerNumber must be 6 digits
        var customerNumber = $.trim($('#customerNumber').val());
        if(!/^\d{6}$/.test(customerNumber)){
            formIsValid = false;
            alertMessage += "\r\n - The Customer# field should contain 6 digits. Please remove letters, spaces, etc.";
        }
        
        // validate #customerName is not empty
        var customerName = $.trim($('#customerName').val());
        if(customerName.length < 1){
            formIsValid = false;
            alertMessage += "\r\n - The Company Name field is empty.";
        }
        
        // validate #customerEmail is a valid email address
        var customerEmail = $.trim($('#customerEmail').val());
        if(!emailPattern.test(customerEmail)){
            formIsValid = false;
            alertMessage += "\r\n - The Email field does not contain a valid email address.";
        }
        
        // validate each row is either complete or empty
        
        var formRows = $('#rmaLinesBody tr');
        for(var i = 0; i < formRows.length; i++){
            
            var currentRow = i + 1;
            var currentProductId = $('.productID', formRows[i]);
            var currentQty = $.trim($('.productQty', formRows[i]).val());
            var currentReason = $.trim($('textarea', formRows[i]).val());
            
            if($.trim(currentProductId.val()) == '' && currentQty == '' && currentReason == ''){
                continue;
            } else {
                formIsEmpty = false;
                if(currentProductId.hasClass('invalidProductId') || currentProductId.val() == ''){
                    formIsValid = false;
                    alertMessage += "\r\n - Please provide a valid Product Id or UPC in row " + currentRow + " or delete the row.";
                }
                if(/[^0-9]/.test(currentQty) || currentQty == ''){
                    formIsValid = false;
                    alertMessage += "\r\n - Please enter a valid Quantity in row " + currentRow + " or delete the row.";
                }
                if(currentReason == ''){
                    formIsValid = false;
                    alertMessage += "\r\n - Please enter a Reason For Return in row " + currentRow + " or delete the row.";
                }
            }
            
            
        }
        
        // validate form is not empty
        if(formIsEmpty){
            formIsValid = false;
            alertMessage += "\r\n - Please enter at least 1 product in the RMA form.";
        }
        
        //submit the form?			
        if(formIsValid){
            return true;
        } else{
            alert(alertMessage);
            return false;	
        }
        
    });
    
    // INSERT TODAYS DATE
    $('#rmaDate').val(getToday());
    
    // USER EMAIL
    var rmaFormWhoCookieEmail = getDataFromCookie("who"); 
    $('#customerEmail').val(rmaFormWhoCookieEmail);
    // USER ADDRESS VIA AJAX
    $.get('/ajax/rmaFormInfo.aspx', {'emailAddress':rmaFormWhoCookieEmail}, function(data){
        $('#loaderImg').remove();
        var dataArray = data.split("|");
        $('#customerNumber').val(dataArray[0]);
        $('#customerName').val(dataArray[1]);
        $('#customerAddress1').val(dataArray[2]);
        $('#customerAddress2').val(dataArray[3]);
        $('#customerCity').val(dataArray[4]);
        $('#customerState').val(dataArray[5]);
        $('#customerZip').val(dataArray[6]);
        $('#customerCountry').val(dataArray[7]);
        $('#customerPhone').val(dataArray[8]);
    });
    
    setStripes();
    
    // REMOVE A LINE
    $('.removeLine').click(function(){
        var e = $(this).parent().parent();
        e.fadeOut(500, function(){
            e.remove();
            resetCount();
        });
    });
    
    // ADD A LINE
    $('#addLine').click(function(){
        addLine(1);
    });
    
    // ADD 10 LINES
    $('#add10Lines').click(function(){
        addLine(10);
    });
    
    // VALIDATE PRODUCT ID
    $('.productID').blur(function(){
        var elem = $(this);
        if(elem.val().length > 1){
            $.get('/ajax/validateProduct.aspx', {'product':elem.val()}, function(data){
                if(data == 0){
                    elem.css({border:'1px solid red'}).addClass('invalidProductId');
                    // alert(elem.val() + " is an invalid product id");
                } else {
                    elem.css({border:'1px solid #c0c0c0'}).removeClass('invalidProductId');
                }
            });
        }
    });
    
    // Focus Blur text inputs
    $('#rmaForm input, #rmaForm textarea').focus(function(){
        $(this).css({border:'1px solid #000'});
    });
    $('#rmaForm input, #rmaForm textarea').blur(function(){
        $(this).css({border:'1px solid #c0c0c0'});
    });
    
    
    // ADD REGISTER / LOGON VIDEO ON LOG IN PAGE
    if($('.Content_Logon_SubmitButtonTD').length > 0 && $('.LogonRegisterTD').length > 0){
	$('form[name=Logon_Content]').after("<a href='http://blog.wirexgroup.com/2010/08/24/online-ordering-registration/' target='_blank' style='float:right;position:relative;top:-59px;right:5px;'><img src='customer/wixcgr/images/wx/registerForOLO.png' height='123' width='300' alt='Click to view register / login  how-to video tutorial'></a>");
	// $('#RegisterTable tbod:eq(0)')
    }
	
    ///////////////////////////////////////////////////
    // the js is removing the text of the bluetooth categories on the bluetooth categories page, only the images are showing
    var bluetooth_URL = window.location.toString();
    if(bluetooth_URL.indexOf('products/BLUETOOTH.aspx') != -1 || bluetooth_URL.indexOf('results&CatList=0&Parent=1202&tree=1202*Bluetooth*') != -1) {
            $('a.CategorySearchResults_CategoryLinks').remove();
    }
    
    // add new images to the left side nav
    $('h3.leftNav').css({
       'height':'128px',
       'line-height':'20px',
       'text-align':'center',
       'font-size':'18px',
       'font-weight':'bold',
       'padding-top':'0px'
    });
    // change the text of the first 3 left side nav h3 elements
    $('h3.leftNav').eq(0).css({'background-image':'url(/customer/wixcgr/images/wx/left_nav_header_new_carrier.jpg)'}); // .eq(0).text('Click here to Search by Carrier');
    $('h3.leftNav').eq(1).css({'background-image':'url(/customer/wixcgr/images/wx/left_nav_header_new_manuf.jpg)'}); // .eq(1).text('Click here to Search by Manufacturer');
    $('h3.leftNav').eq(2).css({'background-image':'url(/customer/wixcgr/images/wx/left_nav_header_new_brand.jpg)'}); // .eq(2).text('Click here to Search by Brand');
    
    // make left side nav accordian
    $('#Tablerow2cell1 h3').addClass('accordian');
    // add a title to each h3 element
    $('.accordian').eq(0).parent().attr('title','Click to search by carrier');
    // $('.accordian').eq(0).addClass('accordian-open');
    $('.accordian').eq(1).parent().attr('title','Click to search by manufacturer');
    $('.accordian').eq(2).parent().attr('title','Click to search by brand');
    
    // was using attribute selector for this but IE 7 didn't understand it so changed it to below
    $('.CatalogTopItemsImageBG td img').addClass('accordian').attr('src','/customer/wixcgr/images/wx/left_nav_header_new_category.jpg').css({
                                                                                                                     'height':'128px'
                                                                                                                     });
    // $('.CatalogTopItemsImageBG td img[src="/contentonly.aspx?file=images/ls_proCat.jpg"]')
    // attribute selector for IE
    // $('.CatalogTopItemsImageBG td img').addClass('accordian');
    // add a title to the last element in the DOM with a class of accordian
    $('img.accordian').parent().attr('title','Click to search by category');
    // hide all but the first left side nav
    $('.accordian:gt(0)').parent().parent().next().css({'display':'none'});
    
    
    $('.accordian').css({'cursor':'pointer'}).click(function(){
        $('.accordian').parent().parent().next().css({'display':'none'});
        $(this).parent().parent().next().slideDown('fast');
    });
    
////////////////////////////////////////////////////////////////////////////////
}); // END DOCUMENT.READY

function validateEmailAvailableProductModalForm(){
    var emailPattern = /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/;
    
    var hasMessage = false;
    var message = "";
	    
    if(!emailPattern.test($('#To').val())){
	message = "The To field does not contain a valid email address";
	hasMessage = true;
    }
    if(hasMessage) {
	alert(message);
	return false;
    } else {
	return true;
    }
}

function validateSendLinkModalForm(currentUrl){
    // validate the send url form
    var emailPattern = /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/;
    
    var fieldsToValidate = $('#innerModal form .validate'); // collection of all fields to validate
	var hasMessage = false;
	var message = "";
		
	for(var i = 0; i < fieldsToValidate.length; i++) {
	    var el = fieldsToValidate[i];
	    var elVal = $(el).val();
	    var elId = $(el).attr('id');
	    var elArray = false;
		
	    if(elVal.indexOf(",") > 0) {
		elArray = elVal.split(",");
	    } else if(elVal.indexOf(";") > 0) {
		elArray = elVal.split(";");
	    }
		
	    if(elArray) {
		for(z = 0; z < elArray.length; z++) {
		    if(!emailPattern.test(jQuery.trim(elArray[z]))) {
			message += 'The "' + elId + '" field does not contain a valid email address.\r\n';
			hasMessage = true;
			break;
		    }
		}    
	    } else {
		if(!emailPattern.test(elVal)) {
		    message += 'The "' + elId + '" field does not contain a valid email address.\r\n';
		    hasMessage = true;
		}
	    }
	}
	
	if(hasMessage) {
	    alert(message);
		return false;
	} else {
	    return true;
	}

}

function getDataFromCookie(cookieName){
    var data = "";
    var cookies = document.cookie.split(";");
    
    for(var i = 0; i < cookies.length; i++){
	var crumb = cookies[i].split("=");
	var strName = $.trim(crumb[0]);
	var strValue = $.trim(crumb[1]);
	if(strName == cookieName){
	    data = strValue;
	}
    }
    return data;
}

function checkURL(str){
	var url = window.location.toString();
	var formattedUrl = url.replace(/%20/g,'');
	if(formattedUrl.indexOf(str) != -1) {
            return true;
	} else {
            return false;
	}
}

function concatenateToEmailAddress(currentEmailAddresses, newEmailAddress){
    // email addresses already in the toEmail cookie
    var returnEmailAddresses = currentEmailAddresses;
    
    // does entered email address exist in addresses in the toEmail cookie
    if(currentEmailAddresses.indexOf(newEmailAddress) != -1){
        return returnEmailAddresses;
    }
    else{
        returnEmailAddresses += (newEmailAddress + "|");
    }
    return returnEmailAddresses;
}
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
function emailCurrentUrl(){
    // OLO already has a cookie set of who logged in, populate the To field with that email address
    var emailTo = getDataFromCookie("toEmail");
    var emailFrom = getDataFromCookie('who');
    var emailAutoCompleteArray = emailTo.split("|");
    var currentUrl = window.location.toString();

    var verticalScroll = $('body').scrollTop();
    
    var modalHeight = $(document).height();
    var modalWidth = $(window).width();
	
    // set up the outer modal, neccesary so clicking anywhere will cause the email modal to be removed
    $('body').append('<div id="outerModal"></div>');
    $('#outerModal').css({
	'width': modalWidth,
	'height': modalHeight,
	'background': '#000',
	'position': 'absolute',
	'top': '0',
	'left': '0',
	'z-index': '30',
	'-moz-opacity': '0.5',
	'-khtml-opacity': '0.5',
	'opacity': '0.5', // FX/Opera/Safari/Chrome
	'-ms-filter': '"alpha(opacity=50)"', // IE8
	'filter': 'alpha(opacity=50)' // IE6/IE7

    });
	    
    // set up the inner div
    //$('body').append('<div id="innerModal"><h4>Email a Friend<span>X</span></h4><p>Use this form to email a link of the page you are viewing.</p><form><div><label for="To">To: </label><input type="text" id="To" class="validate" value="'+ emailTo +'"></div><div><label for="note">Notes: <span>(optional)</span></label><textarea id="note" rows="2" cols="4"></textarea></div><p class="charlimit">160 character limit</p><input type="button" id="emailSubmit" value="Notify Me"><input type="button" id="emailCancel" value="Cancel"></form></div>');
    $('body').append('<div id="innerModal"><h4>Email a Friend<span>X</span></h4><p>Use this form to email a link of the page you are viewing.</p><form><div><label for="To">To: <span>(Separate multiple addresses with a , or ;)</span></label><input type="text" id="To" class="validate"></div><div><label for="From">From: <span>(1 email address)</span></label><input type="text" id="From" class="validate" value="' + emailFrom + '"></div><div><label for="note">Note: <span>(optional)</span></label><textarea id="note" rows="2" cols="4"></textarea></div><p class="charlimit">160 character limit</p><input type="button" id="emailSubmit" value="Send"><input type="button" id="emailCancel" value="Cancel"></form></div>');

    
    $('#innerModal').css({
	'margin-top': verticalScroll + 121    
    });
    
    // autocomplete
    $("#To").autocompleteArray(
    emailAutoCompleteArray,
    {
	minChars:1,
	matchSubset:1,
	matchContains:1,
	maxItemsToShow:10,
	cacheLength:10,
	autoFill:true
    });
				    
    $('#emailSubmit').click(function(){
	if(validateSendLinkModalForm(currentUrl)){
	    // cookies to expire in 30 days
            var futureDate = new Date();
      	    var expireDate = futureDate.getTime();
      	    expireDate += 1000 * 60 * 60 * 24 * 30;
      	    futureDate.setTime(expireDate);
      	    var expireAt = futureDate.toGMTString();
      	    
      	    // set 'to' cookie with name toEmail and value of id="To" plus values already in that cookie
            var emailAddresses = concatenateToEmailAddress(emailTo, $('#To').val());
            document.cookie = "toEmail" + "=" + emailAddresses + ";expires=" + expireAt;
	    
	    $.post('../../../../ajax/emailLink.aspx', { To : $('#To').val(), From : $('#From').val(), messageNote : $('#note').val(), url : window.location.toString() },
	    function(data){
		if (data.replace(/^\s\s*/, '').replace(/\s\s*$/, '') == "True") {
	    	    // change innerHTML of modal delete after 2 seconds
	    	    $('#innerModal').html("<p class='thankyoumessage'>Thank you, your email was sent successfully.</p>");
	    	    setTimeout("$('#outerModal, #innerModal').remove()", 2000);
	    	} else {
	    	    alert("There was an error sending this email. Please try again later.");
	    	}
	    });
	}
    });
    
	
    // delete the email modal
    $('#outerModal, #innerModal h4 span, #emailCancel').click(function(){
	$('#outerModal, #innerModal').remove();
    });

    // check notes textarea on keyup    
    $('#note').keyup(function(){
	    var textarea = $(this).val();
	    var textareaLength = textarea.length;
	    var limit = 160;
	    if(textareaLength > limit){
		    $(this).val(textarea.substr(0, limit));
		    alert('You reached the 160 character limit.');
	    }
    });
}
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
function emailAvailable(el){
    
    // OLO already has a cookie set of who logged in, populate the To field with that email address
    var emailTo = getDataFromCookie('who');
    var productId = $(el).attr('rel');
    
    var verticalScroll = $('body').scrollTop();
    
    var modalHeight = $(document).height();
    var modalWidth = $(window).width();
	
    // set up the outer modal, neccesary so clicking anywhere will cause the email modal to be removed
    $('body').append('<div id="outerModal"></div>');
    $('#outerModal').css({
	'width': modalWidth,
	'height': modalHeight,
	'background': '#000',
	'position': 'absolute',
	'top': '0',
	'left': '0',
	'z-index': '30',
	'-moz-opacity': '0.5',
	'-khtml-opacity': '0.5',
	'opacity': '0.5', // FX/Opera/Safari/Chrome
	'-ms-filter': '"alpha(opacity=50)"', // IE8
	'filter': 'alpha(opacity=50)' // IE6/IE7

    });
	    
    // set up the inner div
    $('body').append('<div id="innerModal"><h4>'+ productId +'<span>X</span></h4><p>Enter your email address and we will notify you when '+ productId +' is in stock. Or to ensure immediate delivery upon arrival, <b>Pre Order today</b>.</p><form><div><label for="To">To: </label><input type="text" id="To" class="validate" value="'+ emailTo +'"></div><div><label for="note">Notes: <span>(optional)</span></label><textarea id="note" rows="2" cols="4"></textarea></div><p class="charlimit">160 character limit</p><input type="button" id="emailSubmit" value="Notify Me"><input type="button" id="emailCancel" value="Cancel"></form></div>');
    
    $('#innerModal').css({
	'margin-top': verticalScroll + 121    
    });
				    
    $('#emailSubmit').click(function(){
	if(validateEmailAvailableProductModalForm()){
	    $.post('../../../../ajax/emailAvailableProducts.aspx', { email : emailTo, sku : productId, messageNote : $('#note').val() },
	    function(data){
		if (data.replace(/^\s\s*/, '').replace(/\s\s*$/, '') == "True") {
		    // change innerHTML of modal delete after 2 seconds
		    $('#innerModal').html("<p class='thankyoumessage'>We have received your email address and will alert you when this product is available.<br><br><br><strong>Thank You!</strong><br><br><br><input type='button' id='submittedCloseModal' value='Close Window'></p>");
		    $('p.thankyoumessage #submittedCloseModal').click(function(){
			$('#outerModal, #innerModal').remove();
		    });
		    //setTimeout("$('#outerModal, #innerModal').remove()", 2250);
		} else {
		    alert("There was an error saving your email address. Please try again later.");
		}
	    });
	}
    });
    
	
    // delete the email modal
    $('#outerModal, #innerModal h4 span, #emailCancel').click(function(){
	$('#outerModal, #innerModal').remove();
    });

    // check notes textarea on keyup    
    $('#note').keyup(function(){
	    var textarea = $(this).val();
	    var textareaLength = textarea.length;
	    var limit = 160;
	    if(textareaLength > limit){
		    $(this).val(textarea.substr(0, limit));
		    alert('You reached the 160 character limit.');
	    }
    });
}

function getGET(name){
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var regexS = "[\\?&]"+name+"=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if(results == null)
        return false;
    else
        return results[1];
}

function getToday(){
    var currentTime = new Date();
    return(currentTime.getMonth()+1 + "/" + currentTime.getDate() + "/" + currentTime.getFullYear());
}

function resetCount(){
    var count = 1;
    $('.rowCounter').each(function(){
        $(this).val(count);
        count++;
    });
    
    if(count == 1){
        addLine(1);
    }
    
    setStripes();
}

function addLine(i){
    while(i > 0){
        $('#rmaLinesBody').append(
            "<tr>"+
                "<td width=\"50\"><input name=\"rowCounter\" readonly=\"readonly\" size=\"2\" value=\"1\" type=\"text\" class=\"rowCounter\" /></td>"+
                "<td width=\"150\"><input class=\"productID\" name=\"productCode\" type=\"text\" /></td>"+
                "<td width=\"100\"><input class=\"productQty\" name=\"quantity\" type=\"text\" /></td>"+
                "<td width=\"250\"><textarea name=\"reason\" rows=\"2\" cols=\"26\"></textarea></td>"+
                "<td width=\"100\"><input class=\"removeLine\" value=\"-\" type=\"button\" /></td>"+
            "</tr>"
        );
        i--;
    }
    
    $('.removeLine').click(function(){
        var e = $(this).parent().parent();
        e.fadeOut(500, function(){
            e.remove();
            resetCount();
        });
    });
    
    resetCount();
    setStripes();
}

function setStripes(){
    $("#rmaLines tr:nth-child(even)").addClass("even");
    $("#rmaLines tr:nth-child(odd)").removeClass("even");
}
