var jq = jQuery.noConflict();
jq(document).ready(
    function()
	{
		/*jq(".navigator_shop_by_brand").each(function(el)
		{
				id = this.id.split("navigator_shop_by_brand_link");
				this.link_to = "#navigator_shop_by_brand_"+id[1];
				jq(this).toggle(function(){jq(this.link_to).slideDown("slow");},function(){jq(this.link_to).slideUp("slow");});
		}
		);
		jq(".navigator_shopbystyle").each(function(el)
		{
			id = this.id.split("linknavigator_left_shopbystyle_");
			this.link_to = "#navigator_left_shopbystyle_"+id[1];
			jq(this).toggle(function(){jq(this.link_to).slideDown("slow");},function(){jq(this.link_to).slideUp("slow");});
		}
		);
		jq(".navigator_shopbysale").each(function(el)
		{
			id = this.id.split("linknavigator_left_shopbysale_");
			this.link_to = "#navigator_left_shopbysale_"+id[1];
			jq(this).toggle(function(){jq(this.link_to).slideDown("slow");},function(){jq(this.link_to).slideUp("slow");});
		}
		);*/
		
		jq(".navigator_shop_by_brand").each(function(el)
		{
				id = this.id.split("navigator_shop_by_brand_link");
				this.link_to = "#navigator_shop_by_brand_"+id[1];
				jq(this).click(function(){RollUpDown(this.link_to);return false;});
		}
		);
		jq(".navigator_shopbystyle").each(function(el)
		{
				id = this.id.split("linknavigator_left_shopbystyle_");
				this.link_to = "#navigator_left_shopbystyle_"+id[1];
				jq(this).click(function(){RollUpDown(this.link_to);return false;});
		}
		);
		jq(".navigator_shopbysale").each(function(el)
		{
				id = this.id.split("linknavigator_left_shopbysale_");
				this.link_to = "#navigator_left_shopbysale_"+id[1];
				jq(this).click(function(){RollUpDown(this.link_to);return false;});
		}
		);
		if (document.getElementById("prod_cat_display_table"))
		{
			jq("#breadcrumb_and_cart_div").css("width",  jq("#prod_cat_display_table").width()+"px");	
		}
	}
	
);
function RollUpDown(jqPath)
{
	if (jq(jqPath).css("display") == "none")
	{
		jq(jqPath).slideDown("fast");
	}
	else
	{
		jq(jqPath).slideUp("fast");
	}
}
var SlideShowPaths = new Object();
var globalObjectProcessing = null;
var globalCountOfObjectsImages = 0;
var globalTimeoutOfSlideshow = null;
function ShowProductSlideShow(id)
{
	if (globalObjectProcessing!=id)
	{
		globalCountOfObjectsImages = 0;
		globalObjectProcessing = id;
		/*jq("#slideshow_the_big_picture img").attr("src", "/assets/images/"+SlideShowPaths[id].images[0]);
		jq("#slideshow_the_big_picture a").attr("href", SlideShowPaths[id].link);
		jq("#slideshow_the_big_picture span.title").html(SlideShowPaths[id].title);
		jq("#slideshow_the_big_picture span.subtitle").html(SlideShowPaths[id].sub);*/
		ReplaceTheHTMLCodeOfSlide(SlideShowPaths[id].images[0], SlideShowPaths[id].link, SlideShowPaths[id].title, SlideShowPaths[id].sub);
		clearTimeout(globalTimeoutOfSlideshow);
		globalTimeoutOfSlideshow = setTimeout(SlideShowTheProduct, 1000);
	}
}
function SlideShowTheProduct()
{
	if (globalCountOfObjectsImages < SlideShowPaths[globalObjectProcessing].images.length-1)
	{
		//jq("#slideshow_the_big_picture img").attr("src", "/assets/images/"+SlideShowPaths[globalObjectProcessing].images[globalCountOfObjectsImages]);
		globalCountOfObjectsImages++;
		/*jq("#slideshow_the_big_picture img").attr("src", "/assets/images/"+SlideShowPaths[globalObjectProcessing].images[globalCountOfObjectsImages]);*/
		ReplaceTheHTMLCodeOfSlide(SlideShowPaths[globalObjectProcessing].images[globalCountOfObjectsImages], SlideShowPaths[globalObjectProcessing].link, SlideShowPaths[globalObjectProcessing].title, SlideShowPaths[globalObjectProcessing].sub);
		//alert(SlideShowPaths[globalObjectProcessing].images[globalCountOfObjectsImages]);
		globalTimeoutOfSlideshow = setTimeout(SlideShowTheProduct, 1000);
	}
	else
	{
		SetStablePicture(globalObjectProcessing);
	}
}
function SetStablePicture(id)
{
	/*jq("#slideshow_the_big_picture img").attr("src", "/assets/images/"+SlideShowPaths[id].images[0]);
	jq("#slideshow_the_big_picture a").attr("href", SlideShowPaths[id].link);
	jq("#slideshow_the_big_picture span.title").html(SlideShowPaths[id].title);
	jq("#slideshow_the_big_picture span.subtitle").html(SlideShowPaths[id].sub);*/
	ReplaceTheHTMLCodeOfSlide(SlideShowPaths[id].images[0], SlideShowPaths[id].link, SlideShowPaths[id].title, SlideShowPaths[id].sub);
	var globalObjectProcessing = null;
	var globalCountOfObjectsImages = 0;
}
function ReplaceTheHTMLCodeOfSlide(img, link, title, sub)
{
	jq("#slideshow_the_big_picture").html("<a href='"+link+"'><img src='/assets/images/"+img+"' height='355' width='276' id='big_picture_img'/><br/><span class=\"title\">"+title+"</span><br/><span class=\"subtitle\">"+sub+"</span></a>");
}
/*function processImagePreview(src, href, label)
{
	texts = label.split("<terminator>");
	jq("#product_preview").html("<a href='"+href+"'><img border='0' src='"+src+"'/></a><br/><center>"+texts[0]+"<br/><span style='color:#555;'>"+texts[1]+"</span></center>");
}*/

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

function useShipAddress(which) {
	var form = $('checkout_form');
	
	form.ship_name.value = 			unescape(addressBook[which]['name']);
	form.ship_address1.value = 		unescape(addressBook[which]['add1']);
	form.ship_address2.value = 		unescape(addressBook[which]['add2']);
	form.ship_phone.value = 		unescape(addressBook[which]['phone']);
	form.ship_city.value = 			unescape(addressBook[which]['city']);
	form.ship_state.value = 		unescape(addressBook[which]['state']);
	form.ship_zip.value = 			unescape(addressBook[which]['zip']);
	form.ship_country.value = 		unescape(addressBook[which]['country']);
	
	form.submit();
}



/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

function useBillAddress(which) {
	var form = $('checkout_form');
	
	var names = unescape(addressBook[which]['name']).split(" ");
	
	var fn = names[0];
	var ln = "";
	
	for	(var i=1; i < names.length; i++) {
		
		if (i > 1) {
			ln += " ";
		}
		
		ln += names[i];
	}

	form.bill_first_name.value = 	fn;
	form.bill_last_name.value = 	ln;
	form.bill_address1.value = 		unescape(addressBook[which]['add1']);
	form.bill_address2.value = 		unescape(addressBook[which]['add2']);
	form.bill_phone.value = 				unescape(addressBook[which]['phone']);
	form.bill_city.value = 			unescape(addressBook[which]['city']);
	form.bill_state.value = 		unescape(addressBook[which]['state']);
	form.bill_zip.value = 			unescape(addressBook[which]['zip']);
	form.bill_country.value = 		unescape(addressBook[which]['country']);
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

function deleteAddress(which) {
	if (confirm("Are you sure you want to delete this address?")) {
		var form = $('checkout_form');
		
		form.address_to_delete.value = addressBook[which]['id'];
		
		form.submit();
	}
}

function disableOrderConfirm(obj) {
	obj = obj.order_confirmation_submit;
	
	if (obj) {
		obj.value = 'processing... please wait';
		obj.disabled = true;
	}
	
	return true;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

function checkform(of)
{
	var errorActivated = false;
	
	// Test if DOM is available and there is an element called required
	if(!document.getElementById || !document.createTextNode){return;}
	if(!document.getElementById('required')){return;}

	// Define error messages and split the required fields
	var errorID='errormsg';
	var errorClass='_error';
	var errorMsg='<strong>Error:</strong><br />Please enter or change the highlighted fields and try again.';
	var reqfields=document.getElementById('required').value.split(',');
	
	// Clean up old mess
	$('form_error_msg').hide();
	for(var i=0;i<reqfields.length;i++)
	{
		var f=document.getElementById(reqfields[i]);
		if(!f){continue;}
		
		var curClassName = f.className;
		var index = curClassName.indexOf(errorClass);
		
		if (index != -1) {
			f.className = curClassName.substr(0,index);
		}
	}
		
	// loop over required fields
	for(var i=0;i<reqfields.length;i++)
	{
		
		// check if required field is there
		var f=document.getElementById(reqfields[i]);
		if(!f){continue;}
		
		// test if the required field has an error, 
		// according to its type
		switch(f.type.toLowerCase())
		{
			case 'text':
			
				// email is a special field and needs checking
				if(f.id.indexOf('email') != -1 && !cf_isEmailAddr(f.value)){cf_add_error(f, 'Email address is invalid')}
				
				if(f.value=='' && f.id!='email'){cf_add_error(f)}							
				
										
			break;
			case 'textarea':
				if(f.value==''){cf_add_error(f)}							
			break;
			
			case 'password':
				if(f.value==''){cf_add_error(f)}
				
				// password must be four characters
				if(f.value.length < 4){cf_add_error(f, 'Password must be at least 4 characters')}
				
			break;
			
			case 'checkbox':
				if(!f.checked){cf_add_error(f)}							
			break;
			case 'select-one':
				if(!f.selectedIndex && f.selectedIndex==0){cf_add_error(f)}							
			break;
		}// end switch
	}// end for
	
	
	return !errorActivated;
	
	
	function cf_isEmailAddr(str) 
	{
	    return str.match(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/);
	}
	
	function cf_add_error(o,msg)
	{
		if (o.className.indexOf(errorClass) == -1) o.className= o.className + errorClass;
		
		// Check if there is no error message
		if(!errorActivated)
		{
			// create errormessage and insert before submit button
			errorActivated = true;
			Element.update('form_error_msg', errorMsg);
			$('form_error_msg').show();
			
			if (msg != '' && msg != undefined) {
				alert(msg);
			}
				
		} 
	}
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

function start_search() {
	var form = $('search_form_id');
	form.submit();
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

function update_total() {
	var form = $('cart_form_id');
	form.submit();
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

function initProductRollovers(imgToLoad)
{
	var W3CDOM = (document.createElement && document.getElementsByTagName);
	if (!W3CDOM) return;
	
	// Loop through the imgToLoad and preload images, and attach mouse functions
	for (var i=0; i < imgToLoad.length; i++) {
		var loadThis = new Image();
		loadThis.src = imgToLoad[i];
		
		// Attach mouse functions
		var a = document.getElementById('rollover_image_'+(i+1));//$('rollover_image_'+(i+1));
		
		a.onmouseover = function () {
			var img =document.getElementById('product_image_img');// $('product_image_img')
			var idString = this.id;
			var id = idString.substring(idString.length - 1);
			
			img.src = imgToLoad[ (id - 1) ];
			
			for (var n=0; n < productImages.length; n++) {
				
				var a_ref = document.getElementById('rollover_image_'+(n+1));//$('rollover_image_'+(n+1));
				
				if (n == (id - 1)) {
					a_ref.className = 'num_on';
				} else {
					a_ref.className = 'num_off';
				}				
			}
		}
	}
}// end initProductRollovers()
function CheckReloadCountryZipPostal(element)
{
	if (element.options[element.selectedIndex].innerText == "United States")
	{
		document.getElementById('bill_country_label_r').innerText = "zip:";
	}
	else
	{
		document.getElementById('bill_country_label_r').innerText = "postal code:";
	}
}
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */