﻿function detectMac() {
	var userAgent = navigator.userAgent.toLowerCase();
	//if (/firefox[\/\s](\d+\.\d+)/.test(userAgent)) {
	//var ffversion = new Number(RegExp.$1);
	//if (ffversion < 5 && userAgent.indexOf('mac') != -1) {
	if (userAgent.indexOf('mac') != -1) document.write("<link REL='STYLESHEET' TYPE='text/css' HREF='/content/css/mac.css'>");
}
detectMac();
//cart
var onWayBack = false;
function cartTogg(expand, back) {
	clearTimeout(cartTimer);
	if ($("#headCartContents").css("display") == "none") {
		$("#headCartContents").slideDown("slow", function () {
			$("#headViewCart").css("background-position", "bottom left");
		});
	} else {
		if (expand) return;
		cartBack();
	}
}
function cartOut() {
	//unpin
	var offset = $("#headCartCont").offset();
	if (offset.top < 48 || offset.top > 110) {
		document.getElementById("cartSnapBack").style.display = "";
	} else {
		document.getElementById("cartSnapBack").style.display = "none";
	}
	cartStuck = false;
}
function cartBack() {
	$("#headCartContents").slideUp("slow", function () {
		$("#headViewCart").css("background-position", "top left");
		$(".headCartItem").css("background-color", "Transparent");
		document.getElementById("headCartCont").style.left = "50%";
		document.getElementById("headCartCont").style.top = "70px";
		document.getElementById("headCartCont").style.position = "absolute";
		onWayBack = false;
		document.getElementById("cartSnapBack").style.display = "none";
	});
}
function cartStick() {
	document.getElementById("headCartCont").style.position = "fixed";
	$('#headCartCont').css('top', (parseInt($('#headCartCont').css('top'), 10) - $(window).scrollTop()) + 'px');
	cartStuck = true;

}
var cartTimer;
function cartAddedTo(dv) {
	if ((document.getElementById("headCartCont").offsetTop < $(window).scrollTop() || (document.getElementById("headCartCont").offsetTop + $("#headCartCont").height() + $("#headCartContents").height()) > ($(window).scrollTop() + $(window).height())) && (!cartStuck)) {
		document.getElementById("headCartCont").style.top = $(window).scrollTop() + "px";
		cartOut();
	}
	cartTogg(true);
	if (!cartStuck) {
		onWayBack = true;
		cartTimer = setTimeout(function () {
			cartBack();
			clearTimeout(cartTimer);
		}, 5000);
	}
	$(".headCartItem").css("background-color", "transparent");
	$(dv).css('backgroundColor', '#FFFF9C');
	$('#dvCartItems').scrollTo(dv, { duration: 500 });
}
$(document).ready(function () {
	var $cart = $("#headCartCont");
	$cart.hover(function () {
		clearTimeout(cartTimer);
	},
        function () {
        	if (!cartStuck && onWayBack) cartTimer = setTimeout("cartBack()", 4000);
        });
});

//popout item
function itemPopOpen(itemId, clicked) {
	$('#imgItem').attr('src', '/content/images/load.gif');
	//var offset = $(clicked).offset();
	//$('#itemPop').css('top', (offset.top - ($('#itemPop').height() / 2) + ($(clicked).height() / 2)) + 'px');
	itemPopOpenGn(descArr[itemId]);
	innerHeight = $('#itemContent').height();
	if (innerHeight > 300) {
	    $('#itemPopInner').css('height', innerHeight + 'px');
	    $('#itemPop').css('height', (innerHeight + 70) + 'px');
	}
	if (document.getElementById("addtoCartPU")) {
	    document.getElementById("addtoCartPU").innerHTML = "&#43; Add to Cart";
	}
}

function itemPopOpenGn(item) {
	closeCurrentPopup();
	curPopUpItem = item[2];
	document.getElementById("dvItemName").innerHTML = "<span>" + item[2] + ". </span> " + item[3];
	//document.getElementById("imgItem").src = "/content/images/large/" + item[2] + ".jpg";
	$(function () {
		var img = new Image();
		// wrap our new image in jQuery, then:
		$(img)
		// once the image has loaded, execute this code
        .load(function () {
        	$(this).hide();
        	$('#imgItem').attr('src', $(this).attr('src'));
        	$(this).fadeIn('slow');
        }).attr('src', '/content/images/large/' + item[2] + '.jpg');
	});
	document.getElementById("dvPopDesc").innerHTML = item[0];
	document.getElementById("dvPopSponsor").innerHTML = item[1];
	document.getElementById("itemPopCost").innerHTML = (item[4] > 0 ? "$" + item[4] : "");
	if (typeof winners != 'undefined' && item[2] in winners) {
	    document.getElementById('itemWinner').innerHTML = winners[item[2]];
    }
	var myJQElm = $('#itemPop');
	myJQElm.css('top', ($(window).scrollTop() + ($(window).height() / 2) - (myJQElm.height() / 2)) + 'px');
	myJQElm.css("left", "50%");
	myJQElm.fadeIn('fast');
	curPopupID = "itemPop";
}


function ajaxPopup(itemId, type) {
	var item = descArr[itemId];
	if (item) {
		itemPopOpenGn(item);
		return;
	}
	var ctrlr = "details";
	$.post('/prizes/' + type + '/' + itemId, {}, function (data) {
		data = eval("(" + data + ")");
		item = [data.desc, data.sponsor, data.id, data.text, data.price];
		itemPopOpenGn(item);
		descArr[data.id] = item;
		//document.getElementById("addtoCartPU").innerHTML = "&#43; Update Cart";
	});
}
function ajaxPopupQO(itemId, type, price, product, groupID) {
	ajaxPopup(itemId, type);
	curPrice = price;
	curProduct = product;
	curGroupID = groupID;
	document.getElementById("qtyPopup").value = document.getElementById("qty" + itemId).value;
	document.getElementById("qtyPopup").style.color = document.getElementById("qty" + itemId).style.color;
}

function ajaxPopupWinner(itemId, type, winner) {
	ajaxPopup(itemId, type);
	document.getElementById("itemWinner").innerHTML = winner;
}


function itemPopClose() {
    $('#itemPop').fadeOut('fast', function () {
        $('#imgItem').attr('src', '/content/images/load.gif');
        $('#itemPopInner').removeAttr('style');
        $('#itemPop').css('height','');
    })
	curPopupID = "";
}

function popClose(elmId) {
	$('#' + elmId).fadeOut('fast');
	curPopupID = "";
}
function closeCurrentPopup() {
	if (curPopupID.length >0) {
		document.getElementById(curPopupID).style.display = "none";
	}
}

function popOpen(elmId, lower) {
    closeCurrentPopup();
    $(".popLoginErr").html("");
	var myJQElm = $('#' + elmId);
	//myJQElm.css('top', ($(window).scrollTop() + ($(window).height() / 2) - (myJQElm.height() / 2)) + 'px');
	//myJQElm.css("left", "50%");
	if (lower) {
	    myJQElm.css('top', $(lower).offset().top + 'px');
	}
     myJQElm.fadeIn('fast');
	curPopupID = elmId;
	
}
var errReg = false;
var errLogin = false;
var curPopupID = "";
function register() {
	$.post('/account/Register', $("#formRegister").serialize(), function (data) {
		data = eval("(" + data + ")");
		if (data.pass) {
			document.getElementById("headForm").innerHTML = '<div style="float:left; margin-right: 8px; line-height: 23px;"><img src="/content/images/key.gif">&nbsp;' + data.email + '</div>' +
				'<a class="btn" href="#" onclick="logout(); return false;">Logout</a>' +
				'<a style="margin-left: 8px;" class="btn" href="/account">View Account</a><div class="clear">';
			popClose('popRegister');

		}
		else {
			var errHTML = "";
			for (var i = 0; i < data.errors.length; i++) {
				errHTML += data.errors[i].error + "<br>";
			}
			if (!errReg) {
				errReg = true;
				var jqElem = $('#popRegister');
				jqElem.height(jqElem.height() + 40);
				jqElem = jqElem.children(".itemPopInner");
				jqElem.height(jqElem.height() + 40);
			}
			document.getElementById("popRegisterErr").innerHTML = errHTML;
		}
	});
}
function login(drp) {
    frmNmeAdd = drp ? 'Drop' : '';
    $.post('/account/Logon', $("#formLogin" + frmNmeAdd).serialize(), function (data) {
        data = eval("(" + data + ")");
        if (data.pass) {
            if (data.refreshPage) {
                window.location.reload(true);
            }
            document.getElementById("headForm").innerHTML = '<div style="float:left; margin-right: 8px; line-height: 23px;"><img src="/content/images/key.gif">&nbsp;' + data.email + '</div>' +
				'<a class="btn" href="#" onclick="logout(); return false;">Logout</a>' +
				'<a style="margin-left: 8px;" class="btn" href="/account">View Account</a><div class="clear">';
            popClose('popLogin');

            placeOrderCont = document.getElementById("placeOrderCont");
            if (placeOrderCont) chkLogin();
        }
        else {
            var errHTML = "";
            for (var i = 0; i < data.errors.length; i++) {
                errHTML += data.errors[i].error + "<br>";
            }
            //if (!errReg) {
            //	errReg = true;
            //	var jqElem = $('#popRegister');
            //	jqElem.height(jqElem.height() + 40);
            //	jqElem = jqElem.children(".itemPopInner");
            //	jqElem.height(jqElem.height() + 40);
            //}
            $("#popLoginErr" + frmNmeAdd).html(errHTML);
        }
    });
}
function emailPassword(drp) {
    frmNmeAdd = drp ? 'Drop' : '';
	$.post('/account/EmailPassword', $("#formLogin").serialize(), function (data) {
		data = eval("(" + data + ")");
		if (data.pass) {
		    $("#popLoginErr" + frmNmeAdd).html('password has been sent to ' + data.email + '.');
		}
		else {
		    $("#popLoginErr" + frmNmeAdd).html(data.error);
		}
	});
}

function logout() {
	$.post('/account/Logoff', {}, function (data) {
		data = eval("(" + data + ")");
		if (data.pass) {
		    window.location.reload(true);
			document.getElementById("headForm").innerHTML = '<a class="btn" href="#" onclick="popOpen(\'popLogin\'); return false;">Login</a>' +
                '<a class="btn" style="margin-left: 8px;" href="#" onclick="popOpen(\'popRegister\'); return false;">Register</a>' +
                '<div class="clear"></div>';
			placeOrderCont = document.getElementById("placeOrderCont");
			if (placeOrderCont) chkLoggedOut();
		}
		else {
			alert("There was an unexpected error during logout.\n\nPlease try again.");
		}
	});
}

function chkLogin() {
    document.getElementById('placeOrderCont').style.display = '';
    document.getElementById("loginRegCont").style.display = "none";
    document.getElementById('regLines').style.display = "none";
}
function chkReg() {
    document.getElementById('placeOrderCont').style.display = '';
    document.getElementById('regLines').style.display = '';
    document.getElementById('popLogin').style.display = 'none';
}
function chkLoggedOut() {
    document.getElementById('placeOrderCont').style.display = 'none';
    document.getElementById("loginRegCont").style.display = "";
}

function itemPopCartAddedTo() {
	itemPopClose();
	cartAddedTo();
}


function numeralsOnly(evt, inpt) {
	evt = (evt) ? evt : event;
	if (evt.charCode == 0 && (evt.keyCode > 34 && evt.keyCode < 47)) return true;
	var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0));
	if (charCode == 13) {
		$(inpt).next().click();
		return false;
	}
	if (charCode > 31 && (charCode < 48 || charCode > 57)) {
		return false;
	}
	return true;
}
function watchEnter(evt, btn) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0));
    if (charCode == 13) {
        btnElm = document.getElementById('top' + btn + 'Btn');
        $(btnElm).click();
    }
}

function updateFormColors() {
	inpt = document.getElementById('headUsername');
	//var inpts = form.getElementsByTagName('input');
	//for (i = 0; i < inpts.length; i++) { 
	//if(inpts[i].value != inpts[i].className) inpts[i].style.color = '#000' ;
	//}
	if (inpt.value != inpt.className) inpt.style.color = '#000';
}
function focusQTY(qtyElm) {
	if (qtyElm.value == 'QTY' || isNaN(qtyElm.value)) { qtyElm.value = ''; qtyElm.style.color = '#000'; }
}
function blurQTY(qtyElm) {
	if (qtyElm.value == '') { qtyElm.value = 'QTY'; qtyElm.style.color = '#757575'; }
}
function updateCatColors() {
	items = document.getElementById('contentCont');
	var inpts = items.getElementsByTagName('input');
	for (i = 0; i < inpts.length; i++) {
		if (isNaN(inpts[i].value)) inpts[i].value = 'QTY';
		if (inpts[i].value != inpts[i].className) inpts[i].style.color = '#000';
	}
}
function updateCheckOutColors() {
	items = document.getElementById('contentCont');
	var inpts = items.getElementsByTagName('input');
	for (i = 0; i < inpts.length; i++) {
		if (inpts[i].value != inpts[i].className) inpts[i].style.color = '#000';
	}
	var slcts = items.getElementsByTagName('select');
	for (i = 0; i < slcts.length; i++) {
		updateSlctColor(slcts[i]);
	}
}
function focusInput(inpt) {
    if (inpt.value == inpt.className) { inpt.value = ''; inpt.style.color = '#000'; }
    
}
function blurInput(inpt) {
    if (inpt.value == '') { inpt.value = inpt.className; inpt.style.color = '#A2A2A2'; }
    if (inpt.attributes["ctitle"]) {
        var vals = inpt.attributes["ctitle"].nodeValue.replace(/~/g, inpt.className).split(';');
        
        
    }
}
function updateSlctColor(slct) {
	if (slct.value == '') {
		slct.style.color = '#A2A2A2';
	} else {
		slct.style.color = '#000';
	}
}

function formatNumber(num) {
	num = num.toString().replace(/\$|\,/g, '');
	if (isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num * 100 + 0.50000000001);
	num = Math.floor(num / 100).toString();
	for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
		num = num.substring(0, num.length - (4 * i + 3)) + ',' +
    num.substring(num.length - (4 * i + 3));
	return (((sign) ? '' : '-') + num);
}
function showAlert() {
    document.getElementById('alert').style.display = '';
    document.getElementById('contentCont').style.marginTop = '90px';
}
function hideAlert() {
	document.getElementById('alert').style.display = 'none';
	document.getElementById('contentCont').style.marginTop = '23px';
}

