var EmphasisColor = "#FF0000"; //FOR DISCOUNT
var EmphasisFontFamily = "Verdana"; //FOR DISCOUNT
var EmphasisFontSize = "13px"; //FOR DISCOUNT
var EmphasisFontWeight = "bold"; //FOR DISCOUNT

function disablePWInps(thisinp){
	var registerForm = document.getElementById('registerForm');
	var pwDiv = document.getElementById('passwordDiv');
	var confirmPwDiv = document.getElementById('confirmpasswordDiv');
	if(registerForm){
		if(thisinp.checked){
			registerForm['password'].disabled = false;
			registerForm['confirmpassword'].disabled = false;
		}else{
			registerForm['password'].disabled = true;
			registerForm['confirmpassword'].disabled = true;
			registerForm['password'].className = 'shipBillInput';
			if(pwDiv){
				pwDiv.innerHTML = '';
			}
			registerForm['confirmpassword'].className = 'shipBillInput';
			if(confirmPwDiv){
				confirmPwDiv.innerHTML = '';
			}
		}
	}
}
function getStoreTags(id, name, img, price, saleprice, orderable, ref, savedoptions, optionschanged, options, priceinput, wsdisc){
	this.id = id;
	this.name = name;
	this.img = img;
	this.price = price;
	this.saleprice = saleprice;
	this.orderable = orderable;
	this.ref = ref;
	this.savedoptions = savedoptions;
	this.optionschanged = optionschanged;
	this.options = options;
	this.priceinput = priceinput;
	this.wsdisc = wsdisc;
	if(!window.wistlistArrCnt){
		wistlistArrCnt = new Array();
	}
	wistlistArrCnt[wistlistArrCnt.length] = this;
}

function switchAction(form, val){
	form['scl_action'].value = val;
}

function showSavedCartText(x){
	if(x.previousSibling.style.display == 'block' && x.previousSibling.style.visibility == 'visible'){
		x.previousSibling.style.display = 'none';
		x.previousSibling.style.visibility = 'hidden';
	}else{
		x.previousSibling.style.display = 'block';
		x.previousSibling.style.visibility = 'visible';
	}
	return false;
}

function closeSavedCartText(x){
	if(x.parentNode.style.display == 'block' && x.parentNode.style.visibility == 'visible'){
		x.parentNode.style.display = 'none';
		x.parentNode.style.visibility = 'hidden';
	}else{
		x.parentNode.style.display = 'block';
		x.parentNode.style.visibility = 'visible';
	}
	return false;
}

function MultiAddElement(thisel, x){
var thechkbox = document.getElementById(x);
var thetextbox = document.getElementById(x);
	if(thisel.type == 'checkbox'){
		if(thisel.checked){
			thetextbox.value = 1;
		}else{
			thetextbox.value = 0;
		}
	}
	if(thisel.type == 'text'){
		if(isNaN(thisel.value)){
			alert('The quantity must be numeric');
			thisel.value = 0;
			thechkbox.checked = false;
		}else{
			if(thisel.value != '' && thisel.value != 0){
				thechkbox.checked = true;
			}else{
				if(thisel.value == ''){
					thisel.value = 0;
				}
				thechkbox.checked = false;
			}
		}
	}
}

function F(x) {
	return document.getElementById(x);
};

function C(x) {
	return document.createElement(x);
};

function A(p,x) {
	return p.appendChild(x);
};

function CTxt(x){
	return document.createTextNode(x);
};

function swapShippingVals(){
	var regForm = document.forms['register'];
	if(regForm){
		if(regForm.shipBillSameFlag){
			if(regForm.shipBillSameFlag.checked){
				if(regForm.shipFirstName){
					regForm.billFirstName.value = regForm.shipFirstName.value;
					regForm.billFirstName.disabled = true;
					regForm.billFirstName.style.backgroundColor = "#FEFEFE";
				}
				if(regForm.shipLastName){
					regForm.billLastName.value = regForm.shipLastName.value;
					regForm.billLastName.disabled = true;
					regForm.billLastName.style.backgroundColor = "#FEFEFE";
				}
				if(regForm.shipAddress1){
					regForm.billAddress1.value = regForm.shipAddress1.value;
					regForm.billAddress1.disabled = true;
					regForm.billAddress1.style.backgroundColor = "#FEFEFE";
				}
				if(regForm.shipAddress2){
					regForm.billAddress2.value = regForm.shipAddress2.value;
					regForm.billAddress2.disabled = true;
					regForm.billAddress2.style.backgroundColor = "#FEFEFE";
				}
				if(regForm.shipCity){
					regForm.billCity.value = regForm.shipCity.value;
					regForm.billCity.disabled = true;
					regForm.billCity.style.backgroundColor = "#FEFEFE";
				}
				if(regForm.shipState){
					regForm.billState.value = regForm.shipState.value;
					regForm.billState.disabled = true;
					regForm.billState.style.backgroundColor = "#FEFEFE";
				}
				if(regForm.shipZip){
					regForm.billZip.value = regForm.shipZip.value;
					regForm.billZip.disabled = true;
					regForm.billZip.style.backgroundColor = "#FEFEFE";
				}
				if(regForm.shipPhone){
					regForm.billPhone.value = regForm.shipPhone.value;
					regForm.billPhone.disabled = true;
					regForm.billPhone.style.backgroundColor = "#FEFEFE";
				}
				if(regForm.shipCountry){
					regForm.billCountry.selectedIndex = regForm.shipCountry.selectedIndex;
					regForm.billCountry.disabled = true;
					regForm.billCountry.style.backgroundColor = "#FEFEFE";
				}
			}else{
				regForm.billFirstName.disabled = false;
				regForm.billFirstName.style.backgroundColor = "#FFFFFF";
				
				regForm.billLastName.disabled = false;
				regForm.billLastName.style.backgroundColor = "#FFFFFF";
				
				regForm.billAddress1.disabled = false;
				regForm.billAddress1.style.backgroundColor = "#FFFFFF";
				
				regForm.billAddress2.disabled = false;
				regForm.billAddress2.style.backgroundColor = "#FFFFFF";
				
				regForm.billCity.disabled = false;
				regForm.billCity.style.backgroundColor = "#FFFFFF";
				
				regForm.billState.disabled = false;
				regForm.billState.style.backgroundColor = "#FFFFFF";
				
				regForm.billZip.disabled = false;
				regForm.billZip.style.backgroundColor = "#FFFFFF";
				
				regForm.billPhone.disabled = false;
				regForm.billPhone.style.backgroundColor = "#FFFFFF";
				
				regForm.billCountry.disabled = false;
				regForm.billCountry.style.backgroundColor = "#FFFFFF";
				
			}
		}
	}
	/*var editForm = document.forms['editAcctForm'];
	if(editForm){
		if(editForm.shipBillSameFlag.checked){
			editForm.billFirstName.value = editForm.shipFirstName.value;
			editForm.billLastName.value = editForm.shipLastName.value;
			editForm.billAddress1.value = editForm.shipAddress1.value;
			editForm.billAddress2.value = editForm.shipAddress2.value;
			editForm.billCity.value = editForm.shipCity.value;
			editForm.billState.value = editForm.shipState.value;
			editForm.billZip.value = editForm.shipZip.value;
			editForm.billPhone.value = editForm.shipPhone.value;
			editForm.billCountry.selectedIndex = editForm.shipCountry.selectedIndex;
		}
	}*/
}

function resetInputs(){
var regForm = document.forms['register'];
	regForm.billFirstName.disabled = false;
	regForm.billFirstName.style.backgroundColor = "#FFFFFF";
	
	regForm.billLastName.disabled = false;
	regForm.billLastName.style.backgroundColor = "#FFFFFF";
	
	regForm.billAddress1.disabled = false;
	regForm.billAddress1.style.backgroundColor = "#FFFFFF";
	
	regForm.billAddress2.disabled = false;
	regForm.billAddress2.style.backgroundColor = "#FFFFFF";
	
	regForm.billCity.disabled = false;
	regForm.billCity.style.backgroundColor = "#FFFFFF";
	
	regForm.billState.disabled = false;
	regForm.billState.style.backgroundColor = "#FFFFFF";
	
	regForm.billZip.disabled = false;
	regForm.billZip.style.backgroundColor = "#FFFFFF";
	
	regForm.billPhone.disabled = false;
	regForm.billPhone.style.backgroundColor = "#FFFFFF";
	
	regForm.billCountry.disabled = false;
	regForm.billCountry.style.backgroundColor = "#FFFFFF";
	
	regForm.reset();
	
	if(window.loginCountry){
		loginCountry();
	}
}

function inEditor(){
	if(window.location.href.indexOf('edit.store.yahoo.com') > -1){
		return true;
	}
	return false;
}
	
function storeLoginCookie(name){
	if(name != ''){
		var appendQuery = '';
		if(name == 'searchresult.html' && window.location.search != ''){
			appendQuery = window.location.search;
		}
		document.cookie = 'lastPageViewed=' + name + appendQuery + ';expires=at end of session;path=/;'+((!inEditor()) ? 'domain=.osnusa.net;' : '');
	}
}

function getLastPageViewed(){
var windowLocation = window.location.href;
var windowLocationPos = windowLocation.lastIndexOf('/');
var windowUrl = windowLocation.substring(0, windowLocationPos) + '/';
var registerForm = document.getElementById('registerForm');
var loginForm = document.getElementById('loginForm');;
var forgetPwForm = document.getElementById('forgetPwForm');

	if(registerForm && registerForm['scl_targeturi']){
		registerForm['scl_targeturi'].value = getLoginCookie('lastPageViewed');
	}
	if(registerForm && registerForm['scl_targeturl']){
		registerForm['scl_targeturl'].value = windowUrl;
	}
	

	if(loginForm && loginForm['scl_targeturi']){
		loginForm['scl_targeturi'].value = getLoginCookie('lastPageViewed');
	}
	if(loginForm && loginForm['scl_targeturl']){
		loginForm['scl_targeturl'].value = windowUrl;
	}

	if(forgetPwForm && forgetPwForm['scl_targeturl']){
		forgetPwForm['scl_targeturl'].value = windowUrl;
	}
}

function getLoginCookie (name) {
   var arg = name + "=";
   var alen = arg.length;
   var clen = document.cookie.length;
   var i = 0;
   while (i < clen) {
      var j = i + alen;
      if (document.cookie.substring(i, j) == arg) {
	 var end = document.cookie.indexOf (";", j);
	 if (end == -1)
	    end = document.cookie.length;
	 return unescape(document.cookie.substring(j, end));
      }
      i = document.cookie.indexOf(" ", i) + 1;
      if (i == 0) break;
   }
   return null;
}

function isEmail(str) {
	var regEx = new RegExp("^([\\w\\-\\.]+)@((\\[([0-9]{1,3}\\.){3}[0-9]{1,3}\\])|(([\\w\\-]+\\.)+)([a-zA-Z]{2,4}))$");
	return regEx.test(str);
}

function isPhoneNumber(str){
	var regexp = new RegExp("((\\()+\\d{3}(\\))+\\d{3}-\\d{4})|(\\d{3}-\\d{3}-\\d{4})");
	return(regexp.test(str))
}

function showLoginMessages(){
var queryString = window.location.search.substring(1).split('&');
var queryStringLen = queryString.length;
var loginAlert = document.getElementById('loginalert');
var inc = 0;
	if((queryStringLen > 0) && loginAlert){
		while(inc < queryStringLen){
			queryStringSplit = queryString[inc].split('=');
			switch (queryStringSplit[0]){
				case 'error':
					switch (queryStringSplit[1]){
						case 'missingshipfields':
							loginAlert.appendChild(document.createTextNode('Some required fields were missing... Please re-submit.'));
						break;
						case 'invalidemail':
							loginAlert.appendChild(document.createTextNode('Invalid Email Format... Please re-enter.'));
						break;
						case 'duplicate':
							loginAlert.appendChild(document.createTextNode('The email you submitted already exists in our database, all email\'s must be unique.'));
						break;
						case 'invaliduser':
							loginAlert.appendChild(document.createTextNode('Invalid email or password... Please try again.'));
						break;
						case 'resetpwfailed':
							loginAlert.appendChild(document.createTextNode('Email does not exist in our database... please try again.'));
						break;
						default:
						break;
					}
				break;
				case 'confirm':
					switch (queryStringSplit[1]){
						case 'lostpw':
							loginAlert.appendChild(document.createTextNode('Your e-mail has been sent.'));
						break;
						case 'update':
							loginAlert.appendChild(document.createTextNode('You account information has been successfully updated.'));
						break;
						default:
						break;
					}
				break;
				case 'em':
					var loginForm = document.getElementById('loginForm');
					if(loginForm){
						if(loginForm['emailAddress']){
							loginForm['emailAddress'].value = decodeBase64(queryStringSplit[1])
						}
					}
				break;
				default:
				break;
			}
			inc++;
		}
	}
}

function validateLoginForm(thisform){
	if(thisform['emailAddress'].value == ''){
		alert('Please provide your login email address');
		thisform['emailAddress'].focus();
		return false;
	}
	if(thisform['password'].value == ''){
		alert('Please provide a password');
		thisform['password'].focus();
		return false;
	}
	return true;
}

function validateForgotPwForm(thisform){
	if(thisform['resetpw'].value == ''){
		alert('Please provide your login email address');
		thisform['resetpw'].focus();
		return false;
	}
	return true;
}

function validatePw(str){
	var regEx = new RegExp('(?=^.{6,}$)(?=.*[a-zA-Z])(?=.*\\d)[0-z]*$');
	return regEx.test(str);
}

function validateRegForm(theform){
var storename = theform['storeName'];
var shipfname = theform['shipFirstName'];
var shiplname = theform['shipLastName'];
var shipemail = theform['shipEm'];
var shipphone = theform['shipPhone'];
var shipfax = theform['shipFax'];
var contactprefered = theform['contactPrefered'];
var shipadd1 = theform['shipAddress1'];
var shipcity = theform['shipCity'];
var shipstate = theform['shipState'];
var shipzip = theform['shipZip'];
var shipcountry = theform['shipCountry'];
var numlocations = theform['numLocations'];
var taxnumber = theform['taxNumber'];
var yearopened = theform['yearOpened'];
var typeofstore = theform['typeOfStore[]'];
var findus = theform['findUs'];

var pw = theform['password'];
var confirmpw = theform['confirmpassword'];
	
	if(storename && storename.value == ''){
		alert('Please enter a store name');
		storename.focus();
		return false;
	}
	if(shipfname && shipfname.value == ''){
		alert('Please enter a first name');
		shipfname.focus();
		return false;
	}
	if(shiplname && shiplname.value == ''){
		alert('Please enter a last name');
		shiplname.focus();
		return false;
	}
	if(shipemail && isEmail(shipemail.value)  == ''){
		alert('Please enter a valid email');
		shipemail.focus();
		return false;
	}
	if(shipphone && shipphone.value == ''){
		alert('Please enter a valid phone number');
		shipphone.focus();
		return false;
	}
	if(contactprefered && contactprefered.selectedIndex == 0){
		alert('Please select how you prefer to receive invoices and statements');
		contactprefered.focus();
		return false;
	}
	if(contactprefered && contactprefered.options[contactprefered.options.selectedIndex].value.toLowerCase() == 'fax'){
		if(shipfax && shipfax.value == ''){
			alert('You chose to receive invoices and statements via fax... Please enter a fax number above');
			shipfax.focus();
			return false;
		}
	}
	if(shipadd1 && shipadd1.value == ''){
		alert('Please enter an address');
		shipadd1.focus();
		return false;
	}
	if(shipcity && shipcity.value == ''){
		alert('Please enter a city');
		shipcity.focus();
		return false;
	}
	if(shipstate && shipstate.selectedIndex == 0){
		alert('Please select a state');
		shipstate.focus();
		return false;
	}
	if(shipzip && shipzip.value == ''){
		alert('Please enter a zip');
		shipzip.focus();
		return false;
	}
	if(shipcountry && shipcountry.selectedIndex == 0){
		alert('Please select a country');
		shipcountry.focus();
		return false;
	}
	if(numlocations && numlocations.value == ''){
		alert('Please enter number of locations');
		numlocations.focus();
		return false;
	}
	if(taxnumber && taxnumber.value == ''){
		alert('Please enter a tax number');
		taxnumber.focus();
		return false;
	}
	if(yearopened && yearopened.value == ''){
		alert('Please enter year opened');
		yearopened.focus();
		return false;
	}
	if(typeofstore && typeofstore.selectedIndex == -1){
		alert('Please select what type of store your business is');
		typeofstore.focus();
		return false;
	}
	if(findus && findus.selectedIndex == 0){
		alert('Please tell us how you found us');
		findus.focus();
		return false;
	}
	if(window.loggedIn && theform['pwcheckbox'] && theform['pwcheckbox'].checked){
		if(pw && pw.value == ''){
			alert('Please enter a Password');
			pw.focus();
			return false;
		}
		if(!validatePw(pw.value)){
			alert('Your Password must be at least 6 characters in length and must have both letters and numbers.');
			pw.focus();
			return false;
		}
		if(confirmpw && confirmpw.value == ''){
			alert('Please Confirm Your Password');
			confirmpw.focus();
			return false;
		}
		if(!validatePw(confirmpw.value)){
			alert('Your Password must be at least 6 characters in length and must have both letters and numbers.');
			confirmpw.focus();
			return false;
		}
		if(pw && confirmpw && pw.value != confirmpw.value){
			alert('Your Password\'s Do Not Match... Please Re-enter');
			pw.focus();
			return false;
		}
	}
return true;
}

var doseconds;

function stopTime() {
	clearTimeout(doseconds);
}

function getTodaysDate(){
var date = new Date();
var day = date.getDate();
var time = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
var timeofday;
var montharray = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
var month = montharray[date.getMonth()];
	if(time >= 12){
		timeofday = "PM";
	}else{
		timeofday = "AM";
	}
	
	if(seconds<=9){
		seconds = "0" + seconds;
	}
	
	if(time > 12){
		 time -= 12;
	}
	
	if(time == 0){
		 time = 12;
	}
	
	if(minutes < 10){
		minutes = "0" + minutes;
	}
document.getElementById("time").innerHTML = month + " " + day + "&nbsp;&nbsp;" + time + ":" + minutes + ":" + seconds + " " + timeofday;
//document.formdate.showdate.value = month + " " + day + "   " + time + ":" + minutes + ":" + seconds + " " + timeofday;

doseconds = setTimeout("getTodaysDate()",1000);
}

function confirmAction(uname){
var showconfirm = confirm('Are you sure you want to remove \n"'+uname+'"\n from your user\'s list');
	if(showconfirm){
		return true;
	}else{
		return false;
	}
	
}

function LoginPopUp(url,h,w){
var popUpWin=0;
if(popUpWin){
    if(!popUpWin.closed) popUpWin.close();
  }
popUpWin = open(url ,'loginpopup','resizable=no, left=0, top=0, scrollbars=yes, height='+h+',width='+w);
popUpWin.focus();
}

function setLoginCookie (name, value, expires, path, domain, secure) {
   document.cookie =
      name + "="
      + escape(value)
      //+ ((expires) ? "; expires=" + expires.toGMTString() : "")
      + ((path) ? "; path=" + path : "")
      + ((domain) ? "; domain=" + domain : "")
      + ((secure) ? "; secure" : "");
}

function clearCookieValue(name){
	document.cookie = name + "=";
}

function getLoginHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}

function createLoginQueryStringFromArray(arrayObj){
	var queryString = "";
	if(arrayObj != null){
		for ( key in arrayObj ){
				if(queryString != ""){
					queryString+= "&";
				}
				queryString = queryString + escape(key) + "=" +  escape(arrayObj[key]);
		}
	}
	return queryString;
}


var END_OF_INPUT = -1;
var base64Str;
var base64Count;
var digitArray = new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');
var base64Chars = new Array(
	'A','B','C','D','E','F','G','H',
	'I','J','K','L','M','N','O','P',
	'Q','R','S','T','U','V','W','X',
	'Y','Z','a','b','c','d','e','f',
	'g','h','i','j','k','l','m','n',
	'o','p','q','r','s','t','u','v',
	'w','x','y','z','0','1','2','3',
	'4','5','6','7','8','9','+','/'
)
var reverseBase64Chars = new Array();
for (var i=0; i < base64Chars.length; i++){
	reverseBase64Chars[base64Chars[i]] = i;
}

function ntos(n){
	n=n.toString(16);
	if (n.length == 1) n="0"+n;
	n="%"+n;
	return unescape(n);
}

function setBase64Str(str){
	base64Str = str;
	base64Count = 0;
}

function decodeBase64(str){
	setBase64Str(str);
	var result = "";
	var inBuffer = new Array(4);
	var done = false;
	while (!done && (inBuffer[0] = readReverseBase64()) != END_OF_INPUT
		&& (inBuffer[1] = readReverseBase64()) != END_OF_INPUT){
		inBuffer[2] = readReverseBase64();
		inBuffer[3] = readReverseBase64();
		result += ntos((((inBuffer[0] << 2) & 0xff)| inBuffer[1] >> 4));
		if (inBuffer[2] != END_OF_INPUT){
			result +=  ntos((((inBuffer[1] << 4) & 0xff)| inBuffer[2] >> 2));
			if (inBuffer[3] != END_OF_INPUT){
				result +=  ntos((((inBuffer[2] << 6)  & 0xff) | inBuffer[3]));
			} else {
				done = true;
			}
		} else {
			done = true;
		}
	}
	return result;
}

function readReverseBase64(){   
	if (!base64Str) return END_OF_INPUT;
	while (true){      
		if (base64Count >= base64Str.length) return END_OF_INPUT;
		var nextCharacter = base64Str.charAt(base64Count);
		base64Count++;
		if (reverseBase64Chars[nextCharacter]){
			return reverseBase64Chars[nextCharacter];
		}
		if (nextCharacter == 'A') return 0;
	}
	return END_OF_INPUT;
}
