function popitup(link,extraStr,windowName) {
	var extraStr = (extraStr == null) ? "" : extraStr;
	var windowName = (windowName == null || windowName == '') ? "newWindow" : windowName;
	window.open(link,windowName,"location=no,menubar=no,width=400,height=600,toolbar=no" + extraStr);
}


 function nutritionWindow(link) { 	
	window.open(link,"NutritionFacts","location=no,menubar=no,width=400,height=600,toolbar=no");		 
 } 	  

 function filletWindow(link) { 	
	window.open(link,"Fillets","location=no,menubar=no,width=600,height=800,toolbar=no"); 
 }  
 
 function is_sunday(dateStr)  { 	
	//dateStr is in form mm/dd/yy 	
	var d = new Date("20" + dateStr.substr(6,2),dateStr.substr(0,2) - 1,dateStr.substr(3,2)); 	
	var test = d.getDay(); 	
	//alert("d = " + d + "dateStr = " + dateStr + " test = " + test + " Date = " + d.getDate() + " month = " + d.getMonth() + " year = " + d.getFullYear()); 
	if (test == 0) { 		
		return true; 	
	} 
	return false; 	 
 }  
	
 function isArray(testObject) {        
	return testObject && !(testObject.propertyIsEnumerable('length')) && typeof testObject === 'object' && typeof testObject.length === 'number'; 
 }  
  

 function has_checkout_items(boolHas) { 	
	if (!boolHas) { 		
		alert("You can not check out with no items in your cart"); 		
		return false; 	
	}  	
	return true; 
 }

function validate_user_wholesale_verification() {

	error = document.getElementById('errorDIV');
	error.style.display = 'none';
	error.innerHTML = '';

	elem = document.getElementById('acct');
	if (trim(elem.value) == '') {
		elem.style.background="yellow";
		error.innerHTML = 'You must enter an Account #<br>';
	} else {
		elem.style.background = 'white';
	}

	elem1 = document.getElementById('phone1');
	elem2 = document.getElementById('phone2');
	elem3 = document.getElementById('phone3');

	if (!validate_phone_multipart(elem1, elem2, elem3)) {
		elem1.style.background = 'yellow';
		elem2.style.background = 'yellow';
		elem3.style.background = 'yellow';	
		error.innerHTML += 'You must enter a valid Phone #';
	} else {
		elem1.style.background = 'white';
		elem2.style.background = 'white';
		elem3.style.background = 'white';	
	}

	if (error.innerHTML != '') {
		error.style.display = 'block';	
		return false;
	} return true;
}

function validate_phone_multipart(phone1,phone2,phone3) {

   var fld = phone1.value + phone2.value + phone3.value;
   var stripped = fld.replace(/[\(\)\.\-\ ]/g, '');    

    if (fld == "") {
        return false;
    } else if (isNaN(parseInt(stripped))) {
        return false;
    } else if (!(stripped.length == 10)) {
        return false;
    }
    return true;
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}


function validate_user_retail_reg_form() {
	error = document.getElementById('errorDIV');
	error.style.display = 'none';
	error.innerHTML = '';
	
	elem = document.getElementById('email');
	elem2 = document.getElementById('email2');
	if (!validateEmail(elem)) {
		elem.style.background = 'yellow';
		error.innerHTML += 'You must enter a valid Email Address<br>';
	} else if (trim(elem.value.toLowerCase()) != trim(elem2.value.toLowerCase())) {
		elem.style.background = 'yellow';
		elem2.style.background = 'yellow';
		error.innerHTML += 'The Email Addresses you entered do not match<br>';
	} else {
		elem.style.background = "white";
		elem2.style.background = 'white';
	}


	elem = document.getElementById('fname');
	if (trim(elem.value) == '') {
		elem.style.background = 'yellow';
		error.innerHTML += 'You must enter a valid First Name<br>';
	} else {
		elem.style.background = 'white';
	}

	elem = document.getElementById('lname');
	if (trim(elem.value) == '') {
		elem.style.background = 'yellow';
		error.innerHTML += 'You must enter a valid Last Name<br>';
	} else {
		elem.style.background = 'white';
	}

	elem = document.getElementById('pass1');
	elem2 = document.getElementById('pass2');
	if (trim(elem.value) == '' ) {
		elem.style.background = 'yellow';
		error.innerHTML += 'You must enter a valid Password<br>';
	} else if (trim(elem2.value) == '') {
		elem.style.background = 'white';
		elem2.style.background = 'yellow';
		error.innerHTML += 'You must retype your Password<br>';
	} else if (trim(elem.value) != trim(elem2.value)) {
		elem.style.background = 'yellow';
		elem2.style.background = 'yellow';
		elem.value = '';
		elem2.value = '';
		error.innerHTML += 'You must enter the same Password twice<br>';
	} else {
		elem.style.background = 'white';
		elem2.style.background = 'white';
	}



	if (error.innerHTML != '') {
		error.style.display = 'block';
		return false;
	} return true;
	
}

function validate_user_wholesale_reg_form() {
	error = document.getElementById('errorDIV');
	error.style.display = 'none';
	error.innerHTML = '';

	elem = document.getElementById('uname');
	if (trim(elem.value) == '') {
		elem.style.background = 'yellow';
		error.innerHTML = 'You must enter a Username<br>';
	} else {
		elem.style.background = 'white';
	}

	elem = document.getElementById('email');
	elem2 = document.getElementById('email2');
	if (!validateEmail(elem)) {
		elem.style.background = 'yellow';
		error.innerHTML += 'You must enter a valid Email Address<br>';
	} else if (trim(elem.value.toLowerCase()) != trim(elem2.value.toLowerCase())) {
		elem.style.background = 'yellow';
		elem2.style.background = 'yellow';
		error.innerHTML += 'The Email Addresses you entered do not match<br>';
	} else {
		elem.style.background = "white";
		elem2.style.background = 'white';
	}


	elem = document.getElementById('fname');
	if (trim(elem.value) == '') {
		elem.style.background = 'yellow';
		error.innerHTML += 'You must enter a valid First Name<br>';
	} else {
		elem.style.background = 'white';
	}

	elem = document.getElementById('lname');
	if (trim(elem.value) == '') {
		elem.style.background = 'yellow';
		error.innerHTML += 'You must enter a valid Last Name<br>';
	} else {
		elem.style.background = 'white';
	}

	elem = document.getElementById('pass1');
	elem2 = document.getElementById('pass2');
	if (trim(elem.value) == '' ) {
		elem.style.background = 'yellow';
		error.innerHTML += 'You must enter a valid Password<br>';
	} else if (trim(elem2.value) == '') {
		elem.style.background = 'white';
		elem2.style.background = 'yellow';
		error.innerHTML += 'You must retype your Password<br>';
	} else if (trim(elem.value) != trim(elem2.value)) {
		elem.style.background = 'yellow';
		elem2.style.background = 'yellow';
		elem.value = '';
		elem2.value = '';
		error.innerHTML += 'You must enter the same Password twice<br>';
	} else {
		elem.style.background = 'white';
		elem2.style.background = 'white';
	}

	elem1 = document.getElementById('dphone1');
	elem2 = document.getElementById('dphone2');
	elem3 = document.getElementById('dphone3');

	if (!validate_phone_multipart(elem1, elem2, elem3)) {
		elem1.style.background = 'yellow';
		elem2.style.background = 'yellow';
		elem3.style.background = 'yellow';	
		error.innerHTML += 'You must enter a valid Phone #';
	} else {
		elem1.style.background = 'white';
		elem2.style.background = 'white';
		elem3.style.background = 'white';	
	}

	
	if (error.innerHTML != '') {
		error.style.display = 'block';
		return false;
	} return true;
	
}
	

function validateEmail(fld) {
    	var error="";
    	var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    	var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    	var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   	
   	if (fld.value == "") {
        	return false;
    	} else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        	return false;
    	} else if (fld.value.match(illegalChars)) {
        	return false;
   	} return true;
}

function isEmail(val) {
    	var error="";
    	var tfld = trim(val);                        // value of field with whitespace trimmed off
    	var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    	var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   	
   	if (val == "") {
        	return false;
    	} else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        	return false;
    	} else if (val.match(illegalChars)) {
        	return false;
   	} return true;
}

function validate_retail_order_conf() {

	error = document.getElementById('errorDIV');
	error.innerHTML = '';
	error.style.display = 'none';

	elem = document.getElementById('terms');
	if (!elem.checked) {
		document.getElementById('termsAgreeTxt').style.color = 'red';
		error.innerHTML = 'You must agree to the Terms and Conditions to complete your order';
		error.style.display = 'block';
		return false;
	}

	return true;
}

function show_more_prods(itemStr, group_name) {
	var index;
	var str = itemStr;
	index = str.indexOf('@');
	while ((index = str.indexOf('@')) != -1) { 
		elem = document.getElementById(str.substr(0,index) + 'Box');
		elem.style.display = 'block';
		str = str.substr(index+1);
		
	}
	//do last one
	elem = document.getElementById(str + 'Box');
	elem.style.display = 'block';
	
	elem = document.getElementById(group_name);
	elem.style.display = 'none';
}

function ec(key) {
	
	l = document.getElementById(key + 'List');

	if (l.style.display == 'none') {
		document[key + 'Img'].src = '/images/collapse.gif';
		l.style.display = 'block';
	} else {
		document[key + 'Img'].src = '/images/expand.gif';
		l.style.display = 'none';
	}
	
}

function show_more_subs(itemStr,linkID) {

	var index;
	var str = itemStr;
	index = str.indexOf('@');


	while ((index = str.indexOf('@')) != -1) { 
		var elem = document.getElementById(linkID + str.substr(0,index));
		elem.style.display = 'block';
		str = str.substr(index+1);
		
	}

	//do last one
	var elem = document.getElementById(linkID + str);
	elem.style.display = 'block';
	
	elem = document.getElementById(linkID + 'More');
	elem.style.display = 'none';

	elem = document.getElementById(linkID + 'Less');
	elem.style.display = 'block';
}

function show_less_subs(itemStr,linkID) {
	var index;
	var str = itemStr;
	index = str.indexOf('@');


	while ((index = str.indexOf('@')) != -1) { 
		var elem = document.getElementById(linkID + str.substr(0,index));
		elem.style.display = 'none';
		str = str.substr(index+1);
		
	}

	//do last one
	var elem = document.getElementById(linkID + str);
	elem.style.display = 'none';
	
	elem = document.getElementById(linkID + 'More');
	elem.style.display = 'block';
		
	elem = document.getElementById(linkID + 'Less');
	elem.style.display = 'none';
}

function validate_fname(fld) {
	if (trim(fld.value) == '') {
		return false;
	} return true;
}

function validate_lname(fld) {
	if (trim(fld.value) == '') {
		return false;
	} return true;
}


function update_autocomplete_key(n,k,list) { 

	var name = document.getElementById(n);
	var key = document.getElementById(k);

	key.value = '';
	var check = trim(name.value.toLowerCase());	
	//check if name appears in list as key or value

	for (i in list) { 
		if (i.toLowerCase() == check) { 
			key.value=i;
			name.value = list[i];
			return true;
		} else if (trim(list[i].toLowerCase()) == check) { 
			key.value = i;
			return true;
		}
	}	
	return false;

}

//-------------------------------------------------------------------
// isNull(value)
//   Returns true if value is null
//-------------------------------------------------------------------
function isNull(val){return(val==null);}

//-------------------------------------------------------------------
// isBlank(value)
//   Returns true if value only contains spaces
//-------------------------------------------------------------------
function isBlank(val){
	if(val==null){return true;}
	for(var i=0;i<val.length;i++) {
		if ((val.charAt(i)!=' ')&&(val.charAt(i)!="\t")&&(val.charAt(i)!="\n")&&(val.charAt(i)!="\r")){return false;}
		}
	return true;
	}

//-------------------------------------------------------------------
// isInteger(value)
//   Returns true if value contains all digits
//-------------------------------------------------------------------
function isInteger(val){
	if (isBlank(val)){return false;}
	for(var i=0;i<val.length;i++){
		if(!isDigit(val.charAt(i))){return false;}
		}
	return true;
	}

//-------------------------------------------------------------------
// isNumeric(value)
//   Returns true if value contains a positive float value
//-------------------------------------------------------------------
function isNumeric(val){return(parseFloat(val,10)==(val*1));}

//-------------------------------------------------------------------
// isArray(obj)
// Returns true if the object is an array, else false
//-------------------------------------------------------------------
function isArray(obj){return(typeof(obj.length)=="undefined")?false:true;}

//-------------------------------------------------------------------
// isDigit(value)
//   Returns true if value is a 1-character digit
//-------------------------------------------------------------------
function isDigit(num) {
	if (num.length>1){return false;}
	var string="1234567890";
	if (string.indexOf(num)!=-1){return true;}
	return false;
	}

jQuery.fn.reset = function () { $(this).each (function () { this.reset(); } ); }

function nl2br(text){
	text = escape(text);
	if(text.indexOf('%0D%0A') > -1){
		re_nlchar = /%0D%0A/g ;
	}else if(text.indexOf('%0A') > -1){
		re_nlchar = /%0A/g ;
	}else if(text.indexOf('%0D') > -1){
		re_nlchar = /%0D/g ;
	}
	return unescape( text.replace(re_nlchar,'<br />') );
}

function strpos (haystack, needle, offset) {
  var i = (haystack+'').indexOf(needle, (offset || 0));
  return i === -1 ? false : i;
}

