function myPopup2() 
{
	window.open( "lsjukebox.html", "myWindow", "status = 1, height = 250, width = 400, resizable = 0" );
}

function myPopup3()
{
	window.open( "http://www.lip-service.com/video/VideoPlayer.html", "myWindow", "status = 1, height = 410, width = 480, resizable = 0" );
}

function popupChart()
{
	window.open( web_root + "/sizeChartPop.php", "myWindow", "status = 1, height = 1200, width = 700, resizable = 1, scrollbars = 1" );
}

/* replace style image */
function swapImage(image_url)
{
	image = document.getElementById('style_image2');
	image.style.display = 'inline';
	image.src = image_url;
	//image.setAttribute('jqimg',image_url);
	image.setAttribute('jqimg',"");
	//div = document.getElementById('zoom2');
	//div.setAttribute('class', '');
	//jQuery(".jqzoom2").hover(null,null);
}

function swapZoom(zoom_img)
{
	image = document.getElementById('style_image2');
	image.style.display = 'inline';
	image.src = zoom_img.src;	
	if(zoom_img.getAttribute('jqimg'))
	{
		//alert(zoom_img.getAttribute('jqimg'));
		image.setAttribute('jqimg',zoom_img.getAttribute('jqimg'));// = zoom_img.jqimg;	
		//div = document.getElementById('zoom2');
		//div.setAttribute('class', 'jqzoom2');
	} else {
		//image.removeAttribute('jqimg');
		//div = document.getElementById('zoom2');
		//div.removeAttribute('class');
		image.setAttribute('jqimg',zoom_img.src);
	}
}

function switchImage(image_url,image_id)
{
	image = document.getElementById(image_id);
	image.src = image_url;
}

function switchLandingImg(image_url,image_id)
{
	image = document.getElementById(image_id);
	document.getElementById('division_flash_container').style.display = 'none';
	image.style.display = 'inline';
	switchImage(image_url,image_id)
}

function populateShippingAddress(checkbox)
{
	//make sure the checkbox has been selected
	if(!checkbox.checked)
		return;
	form = checkbox.form;
	form.elements['s_name'].value = form.elements['first_name'].value + ' ' + form.elements['middle_initial'].value + ' ' + form.elements['last_name'].value;
	form.elements['s_address'].value = form.elements['address'].value + ' ' + form.elements['address2'].value;
	form.elements['s_po_box'].checked = form.elements['po_box'].checked;
	form.elements['s_city'].value = form.elements['city'].value;	
	form.elements['s_state'].selectedIndex = form.elements['state'].selectedIndex;
	form.elements['s_zip'].value = form.elements['zip'].value;
	form.elements['s_country'].selectedIndex = form.elements['country'].selectedIndex;
}

function sync(element,sync_name)
{
	//maintain syncronize while typeing for form elements
	form = element.form;
	if(!form.elements['shipping_address'].checked)
		return;
	if(element.type = 'checkbox')
		form.elements[sync_name].checked = element.checked;
	else
		form.elements[sync_name].value = element.value;
}

function insertAddress(form)
{
	form.elements['s_address'].value = form.elements['s_address1'].value + ' ' + form.elements['s_address2'].value;
}

function validate(inquiry_form) 
{

	//first make sure all requirded text field have been entered
	textfields = inquiry_form.getElementsByTagName('input');

	for(i=0; i<textfields.length; i++)
	{
		switch(name = textfields[i].getAttribute('name'))
		{
			//not required fields
			case 'middle_initial':
			case 'address2': break;
			//all other inputs are required
			case 'email_address':
				email = textfields[i].value;
			case 'phone':
				phone = textfields[i].value;
			case 'user_pass': 
				pass1 = textfields[i].value;
			case 'user_pass_confirm':
				pass2 = textfields[i].value;
			default: 
				if(!validateEmpty(name,textfields[i],'validation'))
					return false;
		}
	}
	
	//check email and phone format
	if(!is_email(email))
	{
		msg = "Email address is not in the correct format.  Please re enter email address in the format of: xxxx@xxxx.xxx";
		showMsg(msg,'validation');
		document.getElementById('email').focus();
		return false;		
	}
	
	/*if(!is_phone(phone))
	{
		msg = "Phone number is not in correct format.  Only use digits, do not enter letters or symbols.  Please re enter phone number in the fromat of: XXX-XXX-XXXX.";
		showMsg(msg,'validation');
		document.getElementById('phone_num').focus();
		return false;	
	}*/
	
	//make sure all drop selections have been chosen
	selections = document.getElementsByTagName('select');
	for(i=0; i<selections.length; i++)
	{
		if(selections[i].selectedIndex == 0)
		{
			msg = "Please select information for required field: " + selections[i].getAttribute('name');
			showMsg(msg,'validation');
			selections[i].focus();
			return false;
		}
	}
	
	//compare passwords
	if(!compare(pass1,pass2))
		return false;
	
	
	pleaseWait(document.getElementById('SUBMIT INFORMATION'));	
	return true;
}

function validateContactUs(form)
{
	if(!validateOption('Message Subject',form.elements['subject'],'message'))
		return false;
	if(!validateEmpty('Your Name',form.elements['name'],'message'))
		return false;
	if(!validateEmail('Email Address',form.elements['email'],'message'))
		return false;
	if(!validateEmpty('Contact Message',form.elements['message'],'message'))
		return false;
		
	return true;
}

function validateCheckout(inquiry_form)
{
	//first make sure all requirded text field have been entered
	textfields = inquiry_form.getElementsByTagName('input');

	for(i=0; i<textfields.length; i++)
	{
		switch(name = textfields[i].getAttribute('name'))
		{
			//not required fields
			case 'cvv2':
				break;
			default: 
				if(!validateEmpty(name,textfields[i],'validation'))
					return false;
		}
	}
	
	//test radio buttons	
	if(!inquiry_form.card_type[0].checked  && !inquiry_form.card_type[1].checked)
	{
		msg = "Please Select Card Type";
		inquiry_form.card_type[0].focus();
		showMsg(msg,'validation');
		return false;
	}	

	//test radio buttons	
	try
	{
		if(!inquiry_form.partial_order[0].checked  && !inquiry_form.partial_order[1].checked)
		{
			msg = "Please Select an Order Option";
			inquiry_form.partial_order[0].focus();
			showMsg(msg,'validation');
			return false;
		}	
	} catch (err) {
		
	}
	
	pleaseWait(document.getElementById('CONTINUE CHECKOUT'));
	return true;
}

function validateLogin(form)
{
	textfields = form.getElementsByTagName('input');
	for(i=0; i<textfields.length; i++)
	{
		name = textfields[i].getAttribute('name')
		if(!validateEmpty(name,textfields[i],'message'))
			return false;	
	}
	return true;
}

function validateMailingList(form)
{
	if(!validateEmail('Email Address',form.elements['email'],'mail_validatate'))
		return false;
	return true;
}

function validateStyle(form)
{ 
	//make sure all drop selections have been chosen
	try{
		
		var selections = form.getElementsByTagName('select');
		for(i=0; i<selections.length; i++)
		{
			if(selections[i].selectedIndex == 0)
			{
				var msg = "Please select information for required field: " + selections[i].getAttribute('name');
				showMsg(msg,'validation');
				selections[i].focus();
				return false;
			}
		}
		pleaseWait(document.getElementById('ADD TO SHOPPING CART'));
		
	} catch (e) {

	}
	
	return true;
}

function validateGiftCert(form)
{
	textfields = form.getElementsByTagName('input');
	for(i=0; i<textfields.length; i++)
	{
		name = textfields[i].getAttribute('name')
		
		if(name === 'message')
			continue;
		
		if(!validateEmpty(name,textfields[i],'validate'))
			return false;
		if(name === 'amount' && !validateFloat(name,textfields[i],'validate') )
			return false;
		else if(name === 'recipients_email' && !validateEmail(name,textfields[i],'validate') )
			return false
	}
	
	pleaseWait(document.getElementById('ADD TO SHOPPING CART'));
	return true;
}

function validateEmailPassword(form)
{
		if(!validateEmail('Email Address',form.elements['email_address'],'message'))
			return false;
	return true;
}

function validateEmpty(name,element,messageContainerName)
{
	if(is_empty(element.value)) 
	{
		msg = "Please enter information for required field: " + name;
		showMsg(msg,messageContainerName);
		element.focus();
		return false;
	}
	return true;
}

function validateOption(name,select,messageContainerName)
{
	if(select.selectedIndex == 0)
	{
		msg = "Please select an option for: " + name;
		showMsg(msg,messageContainerName);
		element.focus();
		return false;		
	}
	return true;
}

function validateFloat(name,element,messageContainerName)
{
	amount = parseFloat(element.value);
	if(isNaN(parseFloat(amount)))
	{
		msg = "Please Numeric information for required field: " + name;
		showMsg(msg,messageContainerName);
		element.value = '';
		element.focus();
		return false;
	}
	element.value = amount;
	return true;
}

function validateEmail(name,element,messageContainerName)
{
	if(!validateEmpty(name,element,messageContainerName))
		return false;
	if(is_email(element.value))
		return true;
	msg = "Email address is not in the correct format.  Please re enter email address in the format of: xxxx@xxxx.xxx";
	showMsg(msg,messageContainerName);
	element.focus();
	return false;
}

function showMsg(msg,elementName)
{
	element = document.getElementById(elementName);
	element.style.display = 'block';
	/* get text content in all browsers */
	if(element.firstChild && element.firstChild.nodeType == 3)
		element.firstChild.nodeValue = msg;
	else
		element.appendChild(document.createTextNode(msg));
	alert(msg);
}

function compare(str1,str2)
{
	if(str1 === str2)
		return true;
	pass1 = document.getElementById('pass1');
	pass2 = document.getElementById('pass2');
	pass1.value = '';
	pass2.value = '';
	msg = "Password and confirmation do not match.  Please re enter the password and confirmation";
	showMsg(msg,'validation');
	pass1.focus();
	return false;
}

function is_empty(str) {
	if ((str.trim().length==0)||(str==null))
		return true;
	return false;
}

function is_email(email) {
	if(!email.match(/^[A-Za-z0-9\._\-+]+@[A-Za-z0-9_\-+]+(\.[A-Za-z0-9_\-+]+)+$/))
		return false;
	return true;
}

function is_phone(phone)
{
	if(!phone.match(/^\d{3}-\d{3}-\d{4}$/))
		return false;
	return true;
}

String.prototype.trim = function() 
{ 
	tmp = this.replace(/^\s+|\s+$/g, '');
	return tmp;
}

function sortBrowseListing(value)
{
	if(value == '0')
		return false;
		
	window.location=value;
}

function clearSelect(select,text,value)
{
	/*remove all options and insert a default*/

	removeAllElementNodes(select);
	insertOption(select,text,value);
}

function insertOption(select,text,value,selected)
{
	option = document.createElement('option');
	option.value = value;
	option.text = text;
	if(selected)
		option.selected = true;
	try
	{
	  select.add(option,null); // standards compliant
	}
	catch(ex)
	{
	  select.add(option); // IE only
	}
}

function dumpAssoc(obj,varname)
{
	for(prop in obj)
	{
		x = confirm(varname + "[" + prop + "] = " + obj[prop]);
		if(!x)
			break;
	}
}

function removeAllElementNodes(node)
{

	//loop through all of the outer siblings and be cross browser safe
	var lastChild = node.lastChild;
	var current = node.firstChild;
	var next = true;
	while(next)  //3 == text 8 == comment
	{
		if(current === lastChild)
			next = false;

		if(current.nodeType == 1)
			if(next)	//save the next before deleting current
			{
				temp = current.nextSibling;
				node.removeChild(current);
				current = temp;
			}
			else
			{
				node.removeChild(current);
			}
		else
			if(next)
				current = current.nextSibling;
	}
}

function pleaseWait(element)
{
	if(element)
		element.value = 'Please Wait ...';
}

function addToWishlist(form)
{
	var add_to_cart = document.getElementById('add_to_cart');

	if(!validateStyle(add_to_cart))
		return false;

	/* copy selected fields for post */
	style_id = add_to_cart.elements['style_id'].cloneNode(false);
	form.appendChild(style_id);

	if(add_to_cart.elements['closeout'])
	{
		closeout = add_to_cart.elements['closeout'].cloneNode(false);
		form.appendChild(closeout);
	}
	
	color_id = document.createElement('input');
	color_id.setAttribute('type','hidden');
	color_id.setAttribute('name','color_id');
	color_id.setAttribute('value',add_to_cart.elements['color_id'].options[add_to_cart.elements['color_id'].selectedIndex].value);
	form.appendChild(color_id);

	size_id = document.createElement('input');
	size_id.setAttribute('type','hidden');
	size_id.setAttribute('name','size_id');
	size_id.setAttribute('value',add_to_cart.elements['size_id'].options[add_to_cart.elements['size_id'].selectedIndex].value);
	form.appendChild(size_id);
	
	quantity = document.createElement('input');
	quantity.setAttribute('type','hidden');
	quantity.setAttribute('name','quantity');
	quantity.setAttribute('value',add_to_cart.elements['quantity'].options[add_to_cart.elements['quantity'].selectedIndex].value);
	form.appendChild(quantity);			
	
	return true;
}

function validateEmailWishlist(form)
{

	address_list = form.elements['address_list'];
	subject_select = form.elements['subject'];
	input_subject = form.elements['custom_subject'];
	message = form.elements['message'];

	/* validate emails */
	if(!validateEmpty('Email Addresses:',address_list,'message')) return false;
	
	email_list = address_list.value.split(',');
	for(i=0; i<email_list.length; i++)
	{
		if(is_email(email_list[i]))
			continue;
		msg = "Address list is not in the correct format of: xxxx@xxxx.xxx,xxxx@xxxx.xxx,xxxx@xxxx.xxx";
		showMsg(msg,'message');
		address_list.focus();
		return false;
	}
	
	/* validate subject field */
	if(subject_select.selectedIndex != 0)
		subject_text = subject_select.options[subject_select.selectedIndex].text;
	 else if(validateEmpty('Email Subject',input_subject,'message')) 
		subject_text = input_subject.value;
	 else 
		return false;

	/* validate message */
	if(!validateEmpty('Email Message:',message,'message')) return false;	
	
	return true;
}