var seenIt = get_cookie ( "state_select" );

function FindStateSelectPosition(item) {
	if (item) {
		if (item.offsetParent) {
			for (var posX = 0, posY = 0; item.offsetParent; item = item.offsetParent) {
				posX += item.offsetLeft;
				posY += item.offsetTop;
			}
			return [ posX, posY ];
		} else {
			return [ item.x, item.y ];
		}
	}
}

function HideStateSelect() {  
	HideStateSelectElementById("StateSelect");
	HideStateSelectElementById("StateSelectPanel");
	HideStateSelectElementById("stateSelectError");
	HideStateSelectElementById("ageSelectError");
	
	//ShowStateSelectUnfriendlyElements();
	
	stateSelectPopped = false;
}

        
function HideStateSelectElementById(name) {
	var item = document.getElementById(name);
	if (item) {
		item.style.visibility = "hidden";
	}
}

function ShowStateSelectElementByIdAndName(name) {
	var elements = document.getElementsByName(name);
	if (elements) {
		if (elements.length > 0) {
			for(var i = 0; i < elements.length; i++) {
				elements.item(0).style.visibility = "visible";
			}
			return;
		}
	}
	
	var element = document.getElementById(name);
	if (element) {
		element.style.visibility = "visible";
	}
}

function RePositionStateSelectPopup() {
	var height = 300;
	var leftOffSet = 180;
	var topOffSet = 110;
	var positionTop = null;
	var positionBottom = null;
	
	var topPlace = document.getElementById("lowerTopNav");
	if (topPlace) {
		positionTop = FindStateSelectPosition(topPlace);
	}
	
	var btmPlace = document.getElementById("lowerBottomNav");
	if (btmPlace) {
		positionBottom =  FindStateSelectPosition(btmPlace);
	}

	if ((positionTop) && (positionBottom)) {
		height = positionBottom[1] - positionTop[1];
		leftOffSet = 180 + positionTop[0];
		topOffSet = 110 + positionTop[1];
		
		var stateSelect = document.getElementById("StateSelect");
		if (stateSelect) {
			stateSelect.style.position = "absolute";
			stateSelect.style.height = height + "px";
			
			if (stateSelect.style.width.length == 0) {
				stateSelect.style.top = positionTop[1] + "px";
				stateSelect.style.left = positionTop[0] + "px";
			}
		}
		
		var stateSelectPanel = document.getElementById("StateSelectPanel");
		if (stateSelectPanel) {
			stateSelectPanel.style.position = "absolute";
			stateSelectPanel.style.left = "50%";
			stateSelectPanel.style.top = topOffSet + "px";
			stateSelectPanel.style.marginLeft = "-245px";
		}
	}
}

var StateSelectResizeHandler = function() {
	if (stateSelectPopped) {
		RePositionStateSelectPopup();
	}
}

function ShowStateSelect(friendly) {

	//check if has cookie or not
	var friendly = seenIt;

	if(!friendly) {
		HideStateSelectElementById("stateSelectError");
		HideStateSelectElementById("ageSelectError");
		HideStateSelectElementById("cookieRequiredError");
		
		window.onresize = StateSelectResizeHandler;
		ShowStateSelectElementByIdAndName("StateSelect");
		ShowStateSelectElementByIdAndName("StateSelectPanel");
	}
} 


function StateSelectPopUPSelect(obj) {
	if(!seenIt) {
		var popUp = document.getElementById("stateSelectPopUp");
		var popUp2 = document.getElementById("ageVerification");
		if (popUp) {
			var selectedString = popUp.options[popUp.selectedIndex].value;
			var ageString = popUp2.checked;

			if (selectedString == "--") {
				ShowStateSelectElementByIdAndName("stateSelectError");
			} else if(ageString == false) {
				ShowStateSelectElementByIdAndName("ageSelectError");
			} else {
				//if (document.shipping.state) {
					//var states = document.shipping.state.length;
					//for (i = 0; i < states; i++) {
						//if (document.shipping.state.options[i].value == selectedString) {
							//document.shipping.state.options[i].selected = true;
							CreateStateSelectCookie("state_select", "true", "7" );
							//document.shipping.submit();
							HideStateSelect();
							stateSelectPopped = false;  					
							//break;
						//}
					//}
				//}
			}
		}
	}
}

        
function CreateStateSelectCookie(name, value, days) {
	var expires = "";
	if (days) {
		var date = new Date();
		date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
		expires = "; expires=" + date.toGMTString();
	}
	
	document.cookie = name + "=" + value + expires + "; path=/; domain=emmolowines.com;";
}


function get_cookie ( cookie_name ) {
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );
  if ( results )
    return ( unescape ( results[2] ) );
  else
    return null;
}


