var opacity_fader = 0.6;
var bg_fader = '#000';
var popupBottom="";
$(document).ready(function(){
	initHover();
	initbreadcrumb();
	initTabs();
	initPopups();
	initProductImage();
	initQty();
	initRating();
	initValidation();
	initBilling();
	initTooltips();
	initInnerPopupds();
	initSliderRecommProducs();
	initPopupBottomText();
	initPopUpMain();
	initCopyEmail();
	initOrderError();
	showSearchErrorCustom();
    initCopySearch();
    initFilters();
    initExpander();
    initCarusel();
})

function initExpander(){

	if ($('div.expandable p').get(0)) {
		$('div.expandable p').expander({
		    slicePoint: 150,
			userCollapse : 'false',
		    expandText: 'Read More',
//		    collapseTimer:    5000, // changes by Alex Patuk
		    userCollapseText: 'Close'
		  });
	}


}


function initCopySearch(){

    $('#substring_tem').change(function(){
		$('#extra_substring').val($('#substring_tem').val())  ;
	});

	$('#extra_search_sbtm').click(function(){

	    $('#simple_search_div').clone().appendTo('#simple_search_copy');
//		$('#simple_search_copy').html($('#simple_search_div').html())  ;
	});




}


function initOrderError(){

  if(typeof(check_errors) !='undefined' ) $("#searchform").validate().form();

}

function showSearchErrorCustom(){



if(typeof(check_errors_search) !='undefined' )  $("#simple_search_form").validate().form();

//    $("#simple_search_form").validate().element( "#substring_tem" );


}

function initPopupBottomText(){

    var t_b = $('#pop_up_buttom_text').html();
    popupBottom = t_b;

}
function initHover(){
	// hover for li
	$('#sidebar-left ul.buttons li, #header ul.menu li, #main ul.tabs li,#content ul.shipping li,#main ul.buttons li').hover(
		function(){$(this).addClass('hover');},
		function(){$(this).removeClass('hover');}
	);
	$('#header ul.profile > li').hover(
		function(){	if ($(this).find('div.drop-down').get(0)) {$(this).addClass('hover');}	},
		function(){$(this).removeClass('hover');}
	);
	// hover for input.form-submit
	$('#page input.form-submit, #page div.form-submit, div.popup div.form-submit').hover(
		function(){$(this).addClass('hover-submit');},
		function(){$(this).removeClass('hover-submit');}
	);
	// hover for input.form-button
	$('#page div.form-button').hover(
		function(){$(this).addClass('hover-button-form');},
		function(){$(this).removeClass('hover-button-form');}
	);
	$('#page div.button, div.popup div.button').hover(
		function(){$(this).addClass('hover-button');},
		function(){$(this).removeClass('hover-button');}
	);
	// hover for div.button-gray
	$('#page div.button-gray').hover(
		function(){$(this).addClass('hover-button-gray');},
		function(){$(this).removeClass('hover-button-gray');}
	);
	// focus for input.form-text
	$('#page input.form-text,div.popup input.form-text').focus(function(){$(this).parent().addClass('focus-input');});
	$('#page input.form-text, div.popup input.form-text').blur(function(){$(this).parent().removeClass('focus-input');});
	// focus for textarea
	$('#page textarea, div.popup textarea').focus(function(){$(this).parent().addClass('focus-textarea');});
	$('#page textarea, div.popup textarea').blur(function(){$(this).parent().removeClass('focus-textarea');});
}
// function calculates width for breadcrumb items
function initbreadcrumb(){
	var width = $('#page div.breadcrumb ul').width();
	var count = $('#page div.breadcrumb ul li').size()-1;
 	var width_all = width_li = line_count = 0;
	$('#page div.breadcrumb ul li').each(function(i,li){
		width_li = $(li).width()+parseInt($(li).css('paddingLeft'))+parseInt($(li).css('paddingRight'))+parseInt($(li).css('marginLeft'));
		if ((width_li + width_all) > width) {
			var li_prev = $(li).prev();
			if (li_prev.hasClass('inactive')){
				var width_inactive = width - width_all;
				var li_prev_pad_right = parseInt(li_prev.css('paddingRight'))+width_inactive;
				li_prev.css('paddingRight',li_prev_pad_right);
			}
			width_all = 0;
                        line_count ++;
		}
		width_all= width_all+width_li;
		if ((i == count) && ($(li).hasClass('inactive'))) {
			var width_inactive = width - width_all;
			var li_pad_right = parseInt($(li).css('paddingRight'))+width_inactive;
			$(li).css('paddingRight',li_pad_right);
		}
	});
        // increase margin top for #main if need
        if (line_count > 0) {
                var mTop = parseInt($('#main').css('marginTop'));
                mTop = mTop + line_count*32;
                $('#main').css('marginTop',mTop+'px');
        }
}
function initTabs(){
	// home page tabs for
	$('ul.tabs').wcs_tabs();
	$('div.tabs-buttons ul.buttons').wcs_tabs();
}
function initTooltips(){
	if ($('a.tooltip').get(0)) {
		$('a.tooltip').each(function(i,link){
			$(link).tooltip({
				tooltipClass : 'tooltip',
				position: {
					my: "left top",
					at: "left bottom",
					offset: "0 0"
				}
			});
		});

	}
	if ($('#content a.color-picker').get(0)){
		$('#content a.color-picker').tooltip({
			tooltipClass : "popup-color",
			position: {
				my: "left top",
				at: "left bottom",
				offset: "15 0"
			},
			content: function() {
     			return $('#popup-color').html();
   			}
		});
	}

}
function removeTooltips(){
	if ($('a.tooltip').get(0)) {
		$('a.tooltip').each(function(i,link){
			$(link).tooltip("destroy");
		});

	}
}
function initPopups(){
	$('#dialog-message a.close').click(function(){
		$(this).parents('#dialog-message').hide();
		return false;
	});

	$('#main div.banner-video a.play').click(function(){
		if ($(this).attr('rel') == 'comingsoon') {
			$('#popup_comingsoon').jpopup({
				shadow: true,
				popupTitle: 'Under Construction',
				opacity: opacity_fader,
				background: bg_fader,
				onShow: function(){  }
			});
		} else {
			$('#popup_video').jpopup({
				shadow: true,
				popupTitle: 'Video',
				opacity: opacity_fader,
				background: bg_fader,
				onShow: function(){  }
			});
		}

		return false;
	});
	$('#btn_request_better_price').click(function(){
		$('#reguest_better').jpopup({
			shadow: true,
			popupTitle: 'Request a Better Price',
			opacity: opacity_fader,
			background: bg_fader,
			onShow: function(){
				initHover();
				initValidation();
			}
		});
		return false;
	});
	$('#btn_call_for_price').click(function(){
		$('#call_for_price').jpopup({
			shadow: true,
			popupTitle: 'Call For Price',
			opacity: opacity_fader,
			background: bg_fader,
			onShow: function(){
				initHover();
			}
		});
		return false;
	});
	$('#content a.plus').click(function(){
		var id=$(this).attr('rel');
		var img = $(this).parent().find('img');
		var table = $(this).parent().find('table');
		if ($('#'+id+'_popup').length == 0) return;
		$('#'+id+'_popup').jpopup({
			shadow: true,
			popupTitle: 'Product Preview',
			opacity: opacity_fader,
			background: bg_fader,
			onShow: function slider(){
				var index = $('#content a[rel='+id+']').parent().find('img').index(img);
				index = (index == -1 )?$('#content a[rel='+id+']').next().index(table):index;

				var size = $('#jpopup div.image img').size();
				$('#jpopup .all').text(size);
				$('#jpopup .current').text(index+1);
				$('#jpopup div.image').wcs_slider({
					next : '#jpopup .next a',
					activeSlide : index,
					cont : $('#jpopup .current'),
					prev : '#jpopup .previous a'
				});
			}
		});
		return false;
	});
	$('#content #cvv a.help').click(function(){
		$('#cvv_popup').jpopup({
			shadow: true,
			popupTitle: 'Find Your CVV2 Code',
			opacity: opacity_fader,
			background: bg_fader,
			onShow: function(){  }
		});
		return false;
	});
	$('#content ul.wishlist a.email').click(function(){
		$('#email_my_wishlist').jpopup({
			shadow: true,
			popupTitle: 'Email My Wish List to a Friend',
			opacity: opacity_fader,
			background: bg_fader,
			onShow: function(){
				initHover();
				initValidation();
				removeTooltips();
				initTooltips();
			}
		});
		return false;
	});
	$('#content table.product ul.actions a.edit').click(function(){
		$('#edit_product_' + this.rel).jpopup({
			shadow: true,
			popupTitle: 'Edit',
			opacity: opacity_fader,
			background: bg_fader,
			onShow: function(){
				initQty();
				initInnerPopupds();
			}
		});
		return false;
	});
	$('#content a[rel=lightbox]').click(function(){

		$('#lightbox').jpopup({
			shadow: true,
			popupTitle: 'Product Preview',
			opacity: opacity_fader,
			background: bg_fader,
			onShow: function (){
			}
		});
		return false;
	});
	$('#content #watch_video').click(function(){

		$('#comingsoon-popup').jpopup({
			shadow: true,
			popupTitle: 'Under Construction',
			opacity: opacity_fader,
			background: bg_fader,
			onShow: function (){
			}
		});
		return false;
	});
}
function initInnerPopupds(){
	$('#jpopup table a.plus').click(function(){
		var id=$(this).attr('rel');
		var img = $(this).parent().find('img');
		if ($('#'+id+'_popup').length == 0) return;
		$('#'+id+'_popup').jpopup_inner({
			shadow: true,
			popupTitle: 'Product Preview',
			opacity: opacity_fader,
			background: bg_fader,
			onShow: function slider(){

				var index = $('#jpopup table a[rel='+id+']').parent().find('img').index(img);
				var size = $('#jpopup-inner div.image img').size();
				$('#jpopup-inner .all').text(size);
				$('#jpopup-inner .current').text(index+1);
				$('#jpopup-inner div.image').wcs_slider({
					next : '#jpopup-inner .next a',
					activeSlide : index,
					cont : $('#jpopup-inner .current'),
					prev : '#jpopup-inner .previous a'
				});
			}
		});
		return false;
	});
}
function initVideo(src){
	var stageW = 240;
	var stageH = 320;
	var params = new Object;
	params.bgcolor = "transparent";
	params.wmode = "transparent";
	swfobject.embedSWF(src, "flash_product_video", stageW, stageH, "9.0.124", "js/expressInstall.swf", '' ,params);
}
function initQty(){
	$('div.qty input.form-text').change(function(){
		var val = parseFloat($(this).val());
		if (!val) val=1;
		if (!$(this).hasClass('sqft'))  val = Math.ceil(val);
		$(this).val(val);
		if ($(this).parents('.calculate').get(0)) {
			caculate($(this));
		}
	});
	$('div.qty div.up').click(function(){
		var count = 1;
		if ($(this).parent().find('input.numSQFT').get(0)) {
			count = parseFloat($(this).parent().find('input.numSQFT').val());
		}
		var input = $(this).parent().find('input.form-text');
		var prod_cost = $(this).parent().find('input.total_cost');
		var value = parseInt(input.val());
		if (!value) value = 1;
		value = value+ count;
		input.val(value);
		if ($(this).parents('.calculate').get(0)) {
			caculate(input);
		}
		reCalculateCart(value,input,prod_cost)
	});
	$('div.qty div.down').click(function(){
		var count = 1;
		if ($(this).parent().find('input.numSQFT').get(0)) {
			count = parseFloat($(this).parent().find('input.numSQFT').val());
		}
		var input = $(this).parent().find('input.form-text');
		var value = parseFloat(input.val());
		var prod_cost = $(this).parent().find('input.total_cost');
		if (!value) value = 1;
		value =value - count;
		if (value < 1) value = 1;
		input.val(value);
		if ($(this).parents('.calculate').get(0)) {
			caculate(input);
		}

		reCalculateCart(value,input,prod_cost)
	});

}
function caculate(input){
	if (input.hasClass('boxes')) {
		var numSQFT =  parseFloat(input.parents('.calculate').find('input.numSQFT').val());
		var numBox  =  parseInt(input.val());
		var totalSQFt = numBox * numSQFT;
		input.parents('.calculate').find('input.sqft').val(totalSQFt);
	}
	if (input.hasClass('sqft')) {
		var numSQFT =  parseFloat(input.parents('.calculate').find('input.numSQFT').val());
		var totalSQFt  =  parseInt(input.val());
		var numBox = Math.ceil(totalSQFt/numSQFT);
		totalSQFt = numBox * numSQFT;
		input.parents('.calculate').find('input.boxes').val(numBox);
		input.val(totalSQFt);
	}
}
function initRating(){
	starRating.create('div.stars');
}
function initValidation(){
	$('input.default').each(function(i,input){
		var value = $(input).attr('title');
		$(input).DefaultValue(value);
	});
	if ($('form.validate').length == 0) return false;
	var valid_form = true;
	// custom code for greater than
	jQuery.validator.addMethod('greaterThan', function(value, element, param) {
		return ( parseInt(value) >  parseInt(jQuery(param).val()) );
	}, 'Must be greater than start' );
	// custom code for lesser than
	jQuery.validator.addMethod('lesserThan', function(value, element, param) {
		return ( parseInt(value) < parseInt(jQuery(param).val()) );
	}, 'Must be less than end' );

	jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
	    phone_number = phone_number.replace(/\s+/g, "");
		return this.optional(element) || phone_number.length > 9 &&
			phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
	}, "Please specify a valid phone number");
	 $.validator.addMethod("promocode", function(value, element) {
		return this.optional(element) || /^[a-z0-9]+$/i.test(value) && value.length < 100;
	}, "Please specify a valid promo code");
	 $.validator.addMethod("charonly", function(value, element) {
		return this.optional(element) || /^[a-z]+$/i.test(value);
	}, "Please specify a valid text");
	 $.validator.addMethod("add_tags", function(value, element) {
		return this.optional(element) || /^[a-z\ ]+$/i.test(value);
	}, "Please specify a valid text");
	$('form.validate').each(function(i,form){
		$(form).find('input.form-text').each(function(i,input){
			var value = $(input).attr('title');
			$(input).DefaultValue(value);
		});
		$(form).find('textarea').each(function(i,input){
			var value = $(input).attr('title');
			$(input).DefaultValue(value);
		});
		if ($(form).attr('id') == 'forgot_password') {
			$(form).submit(function(){
				var val = $(form).find('input.form-text').val();
				if (val == '') {
					$(form).find('div.messages').addClass('empty-errors');
				} else {
					$(form).find('div.messages').removeClass('empty-errors');
				}
			});
		}
		var rules = {};
		var card = $(form).find('#cardnum').get(0);
		if ($(form).find('#cardnum').get(0)){
			rules = {
				credit_card_number: {creditcard2: function(){ return $('#cardType').val(); }}
			};
			$('#cardType').change(function(){
				$(form).validate().element('#cardnum');
			});
		}
		// validation start and end date
		if ($(form).find('#start_date').get(0) && $(form).find('#end_date').get(0)) {
			$(form).submit(function(){
				valid_form = validateDate(form);
			});
			$(form).find('#start_date select').change(function(){
				validateDate(form);
			});
			$(form).find('#end_date select').change(function(){
				validateDate(form);
			});
		}
		var validate = $(form).validate({
			rules :rules,
			errorClass: "error message",
			validClass: "confirm message",
			errorElement: "span",
			onkeyup: function(element) {
			},
			errorPlacement: function(error, element) {
			  //error.text('Required field');
			 if (error.text()) {
			  		element.parents('div.form-content').addClass('error');
			  }
			  element.parents("div.form-item").addClass('error');
			  element.parents("div.form-item").each(function(){
			  	if (! $(this).hasClass('form-item-date')) {
					$(this).find('span.message').remove();
				}
			  });
			  //alert(element);
		  	  if  (element.parents("div.form-item").find('div.messages').get(0)) {
			  	element.parents("div.form-item").find('div.messages').show();
			  }
		  	  if (element.is('select')  ) {
			  	 error.insertAfter( element);
			  } else error.insertAfter( element.parent());

			},
			success: function(label) {
				var message = "";
				var $meta = {};
				//alert('confirm');
				var item = label.parents("div.form-item");
				if  (item.find('div.messages').get(0)) {
			  		item.find('div.messages').hide();
			 	 }
				label.parents("div.form-item").removeClass('error');
				if (label.parents("div.form-item").find('input.form-text').get(0)){
					$meta = label.parents("div.form-item").find('input.form-text').metadata();
				}
				if ($meta.email) {
					message = 'Ok to Email';
				}
				if (message.length > 0) label.text(message).removeClass('error').addClass('confirm'); else {
					label.parents("div.form-item").find('span.message').remove();
				}
				var from_content = item.parents('div.form-content');
				if (!(from_content.find('div.form-item').hasClass('error'))) {
					from_content.removeClass('error');
					var form = from_content.parents('form');
					initAllErrors(form);
					initBilling_errors();
					var message = from_content.prev();
					if (message.hasClass('messages')) {
						message.hide();
					}
				}
			},
			invalidHandler : function(form, validator) {
				var errors = validator.numberOfInvalids();
				validator.showErrors();
				initBilling_errors();
				initAllErrors($(this));
			},
			submitHandler : function(form) {
				if ($(form).find('div.form-content').get(0))  {
					$(form).find('div.form-content').prev().hide();
				}
				if ($(form).attr('id')== 'send-invoice')  {
					var email = $(form).find('input[type=text]').val();
					$('#send-invoice-confirm').find('strong.email').text(email).show();
					$('#send-invoice-confirm').show();
					var order_id = $('#orderid_invoice').val();
					var new_invoice_email = $('#new_invoice_email').val();
					$(form).hide();
					   $.ajax({
                          url: "cart.php?mode=order_message&orderids="+order_id+"&sendinvoice=true&new_invoice_email="+new_invoice_email,
                          dataType: 'json',
                          data: {},
                          success: function(response_array){


                           }

                        });

					// add ajax for send invoice
					return false;
				}
				if ($(form).hasClass('ajax')) {
					var url = $(form).attr('action');
					$.ajax({
						url : url,
						success : function(msg){
							$('#jpopup div.content').html(msg);
							jpopup_height();
						}
					});
				} else
				if (valid_form)  {
					form.submit();
				}

				//
			}
		});
		//validate advanced search
		if ($(form).find('#advanced-checkbox"').get(0)) {
			$(form).find('#advanced-checkbox"').find('input[type=checkbox]').each(function(){
				var select_class = $(this).attr('id');
				var checked =  $(this).attr('checked');
				var item = $(form).find('select[class*='+select_class+']');
				var item_checkbox =  $(form).find('input[class*='+select_class+']');
				if (item.get(0)) {
					if (checked) {
						item.rules('add',{
							required: true,
							messages: {
	  							required: "Required filed"
	 						}
						});
					}
				}
				if (item_checkbox.get(0)) {
					if (checked) {
						item_checkbox.rules('add',{
								required: true,
								messages: {
		  							required: "Required filed"
		 						}
							});
					} else {
						item_checkbox.parents('div.form-item').removeClass('error');
						item_checkbox.parents('div.form-item').find('span.error').remove();
						item_checkbox.parents('div.form-item').find('div.messages').hide();
						item_checkbox.rules('remove');
					}
				}
			});
			$(form).find('#advanced-checkbox"').find('input[type=checkbox]').change(function(){
				var select_class = $(this).attr('id');
				var checked =  $(this).attr('checked');
				var item = $(form).find('select[class*='+select_class+']');
				var item_checkbox =  $(form).find('input[class*='+select_class+']');
				if (item.get(0)) {
					if (checked) {
						item.rules('add',{
								required: true,
								messages: {
		  							required: "Required filed"

		 						}
							});
					} else {
						item.parents('div.form-item').removeClass('error');
						item.parents('div.form-item').find('span.error').remove();
						item.rules('remove');
					}
					$(form).validate().element(item);
				}
				if (item_checkbox.get(0)) {
					if (checked) {
						item_checkbox.rules('add',{
								required: true,
								messages: {
		  							required: "Required filed"

		 						}
							});
					} else {
						item_checkbox.parents('div.form-item').removeClass('error');
						item_checkbox.parents('div.form-item').find('span.error').remove();
						item_checkbox.parents('div.form-item').find('div.messages').hide();
						item_checkbox.rules('remove');
					}
					$(form).validate().element(item_checkbox);
				}

				//alert(validation);
			});
		}
		// validation min and max
		if ($(form).find('#min').get(0)) {
			$(form).find('#min').blur(function(){
				$(form).validate().element($(form).find('#max'));
			});
		}
		// validation add-review
		if ($(form).find('div.add-review').get(0)) {
			$(form).find('div.add-review').each(function(i,div){
				var text = $(div).find('input[type=text]');
				var submit =  $(div).find('input[type=button]');
				submit.click(function(){
					if (text.parents('div.form-item').hasClass('error')) return false;
					if (!text.val()) {
						$(div).addClass('erorr-review');
						text.parents('div.form-item').addClass('error');
						$('<span class="message error">OOPS! You forgot to add a Tag</span>').insertAfter(text.parent());
						return false;
					}
					addCheckbox($(div).parents('div.item-review'));
				});
				text.blur(function(){
					if (text.val()) {
						text.parents('div.form-item').removeClass('error');
						text.parents('div.form-item').find('span.error').remove();
						$(form).validate().element(text);
						if ($(div).find('div.form-item').hasClass('error')) {
							$(div).addClass('erorr-review');
						} else {
							$(div).removeClass('erorr-review');
						}
					}

				});
			});
		}


	});


}
function validateDate(form) {
	var start_date = get_date('#start_date');
	var end_date = get_date('#end_date');
	if (start_date > end_date) {
		$(form).find('#end_date').parents('div.form-content').addClass('error');
		$(form).find('#end_date').addClass('error');
		$(form).find('#end_date').find('span.error').remove();
		$(form).find('#end_date').append('<span class="message error">Start date must be before end date</div>');
		return false;
	}
	$(form).find('#end_date').removeClass('error');
	if ($(form).find('#end_date').find('span.message').get(0)) {
		$(form).find('#end_date').find('span.message').remove();
	}
	var from_content = $(form).find('#end_date').parents('div.form-content');
	if (!(from_content.find('div.form-item').hasClass('error'))) {
		from_content.removeClass('error');
		initAllErrors( $(form));
		initBilling_errors();
		var message = from_content.prev('.messages');
		message.hide();
	}

	return true;
}
function get_date(div)
{
	var day = $(div).find(".day").val();
	var month = $(div).find(".month").val();
	var year = $(div).find(".year").val();
	var date = new Date();
	date = date.setFullYear(year, month, day);
	return date;
}
function initAllErrors(form) {
	var show_error = false;
	var show_messages = '';
	var table;
	if (form.hasClass('table-error')) {
		table = $('#table-search');
	}
	if (form.find('#price').get(0)) {
		var min_val =  form.find('#min').val();
		var max_val =  form.find('#max').val();
		var message = form.find('div.messages');

		var min_error,max_error = false;
		if (form.find('#min').parents('div.form-item').find('span.error').get(0)) {
			min_error = true;
		}
		if (form.find('#max').parents('div.form-item').find('span.error').get(0)) {
			max_error = true;
		}
		if ((min_val == '' && max_val == '') || (min_val != '' && !min_error && max_val == '') || (max_val != '' && !max_error && min_val == '') ) message.addClass('empty'); else message.removeClass('empty');
		if ((min_val != '' && min_error && max_val == '') || (max_val != '' && max_error && min_val == '') ) message.addClass('empty_invalid'); else message.removeClass('empty_invalid');
		if ((min_val != '' && max_val != '' && (max_error || min_error)) ) message.addClass('invalid'); else message.removeClass('invalid');
	}
	var i_c = 1;

	form.find('div.form-content').each(function(i,div){

		if ($(div).hasClass('error')) {
			if ($(div).prev('div.messages').get(0)) {
				if ($(div).prev('div.messages').html() != '') $(div).prev('div.messages').show();
			}
			if (table) table.addClass('error');
			show_error = true;
			var title = $(div).prev('div.messages').attr('title');
			if (title) {


			    show_messages += '<b>' +title+ '</b>, '

			}
		} else {
			$(div).prev('div.messages').hide();
			if (table) table.removeClass('error');

		}

	});
	var array_message = show_messages.split(',');
	show_messages = '';
		var countdiv = array_message.length - 1;
		for (var key in array_message) {

            var val = array_message [key];
            if(val != ''){
             and_c = (countdiv - 2 == key )?'and':'';
             show_messages += '<b>' +val+ '</b>, ' + and_c
            }




        }

	var start =show_messages.length - 6;
	if (start > 0) {
		show_messages = show_messages.substr(0,start);
	}
	if (form.find('div.all_error_before').get(0) && (show_error) ) {
		form.find('div.all_error_before').show();
	} else {
		form.find('div.all_error_before').hide();
	}
	if ((!form.find('input[type=submit]').parents('div.form-content').hasClass('error'))&&(show_error)) {
		form.find('input[type=submit]').parents('div.form-content').addClass('error-button');
	} else
	if (form.find('input[type=submit]').parents('div.form-content').hasClass('error-button')&&(!show_error)){
		form.find('input[type=submit]').parents('div.form-content').removeClass('error-button');
	}
	if (form.find('div.all_error').get(0) && (show_error) ) {
		form.find('div.all_error').find('.box').html(show_messages);
		form.find('div.all_error').show();
	} else {
		form.find('div.all_error').hide();
	}
}
function addCheckbox(item_review){
	var size = 5;
	var text =item_review.find('input[type=text]').val();
	var name_text = text.replace(' ','_');
	var last_size = item_review.find('div.listing ul:last li').size();
	if (last_size == size) {
		item_review.find('div.listing').append('<ul></ul>');
	}
	var ul = item_review.find('div.listing ul:last');
	ul.append('<li><input type="checkbox" name="'+name_text+'" class="form-checkbox"><label class="checkbox">'+text+'</label></li>');
	item_review.find('input[type=text]').val('');
}
function initBilling(){
	$('#content #billing').change(function(){
		if ($(this).attr('checked')) {
			var form = $('#content #billing').parents('form.validate');
			$('#content :input[id^=shipping_]').each(function(i,item){
				var value = $(item).val();
				var title = $(item).attr('title');
				var billing =$(item).attr('id').replace('shipping_','billing_');
				if ($(item).is('input[type=text]')) {
					if (value != title) {
						$('#content input[id='+billing+']').val(value).attr('readonly',true);
					}
				}
				if ($(item).is('select')){
					if (value) {
						$('#content select[id='+billing+']').val(value);
					}

				}
				if ($(item).is('input[type=checkbox]') || $(item).is('input[type=radio]')) {
					value =  $(item).attr('checked');
					$('#content input[id='+billing+']').attr('checked',value).attr('readonly',true);;
				}
				if ($(item).is('textarea')) {
					if (value != title) {
						$('#content textarea[id='+billing+']').val(value).attr('readonly',true);
					}
				form.validate().element($(item));
				}

			});
		} else {
			$('#content :input[id^=billing_]').each(function(i,item){
				$(item).attr('readonly',false);
				if ($(item).is('select')){
					$(item).attr('disabled',false);
				}
			});
		}
	});
	//$('#content input.form-text[id^=shipping_]').live('blur',function(){
	$('#content input.form-text[id^=shipping_]').blur(function(){

		var item = $(this);
		if ($('#content #billing').attr('checked')) {
			var value = item.val();
			var title = item.attr('title');
			var billing = item.attr('id').replace('shipping_','billing_');
			if (value != title) {
				$('#content input[id='+billing+']').val(value).attr('readonly',true);
				var element = $('#content input[id='+billing+']');
				var form = $('#content input[id='+billing+']').parents('form.validate');
				form.validate().element(element);
			}
		}
	});
	//$('#content textarea[id^=shipping_]').live('blur',function(){
	$('#content textarea[id^=shipping_]').blur(function(){
		var item = $(this);
		if ($('#content #billing').attr('checked')) {
			var value = item.val();
			var title = item.attr('title');
			var billing = item.attr('id').replace('shipping_','billing_');
			if (value != title) {
				$('#content textarea[id='+billing+']').val(value).attr('readonly',true);
				var element = $('#content textarea[id='+billing+']');
				var form = $('#content textarea[id='+billing+']').parents('form.validate');
				form.validate().element(element);
			}
		}
	});
	//$('#content input.form-checkbox[id^=shipping_]').live('change',function(){
	$('#content input.form-checkbox[id^=shipping_]').change(function(){

		var item = $(this);
		if ($('#content #billing').attr('checked')) {
			var value = item.attr('checked');
			var billing = item.attr('id').replace('shipping_','billing_');
			$('#content input[id='+billing+']').attr('checked',value).attr('readonly',true);
			var element = $('#content input[id='+billing+']');
			var form = $('#content input[id='+billing+']').parents('form.validate');
			form.validate().element(element);
		}
	});
	$('#content select[id^=shipping_]').live('change',function(){
	//$('#content select[id^=shipping_]').change(function(){

		var item = $(this);
		if ($('#content #billing').attr('checked')) {
			var value = item.val();
			var billing = item.attr('id').replace('shipping_','billing_');
			$('#content select[id='+billing+']').val(value);
			var element = $('#content select[id='+billing+']');
			var form = $('#content select[id='+billing+']').parents('form.validate');
			form.validate().element(element);
		}
	});
}
function initBilling_errors(){
	if ($('#billing_errors').length == 0) return false;
	if ($('#billing_content').find('div.form-content').hasClass('error')) {
		$('#billing_errors').show();
	} else $('#billing_errors').hide();
}
/*function wcs_tabs */
(function($){
	$.fn.wcs_tabs = function(element_params){

		var defaults = {
			//indents: "tabs" or "space"
			active : 0
		}

		var params = $.extend({}, defaults, element_params);

		return this.each(function(){
			var ul = this;
			var container = $(ul).next();
			$(ul).find('li:eq('+params.active+')').addClass('active');
			container.find('div.tab-content:eq('+params.active+')').addClass('active-tab-content');
			$(ul).find('li a').click(function(){
				var href = $(this).attr('href');
				href = href.replace(/[^#]*#/,'');
				if (href.length > 0) {
					$(ul).find('li').removeClass('active');
					container.find('div.tab-content').each(function(i,div){
						if (!($(div).parents('div.tab-content').get(0)) || container.parents('div.tab-content').get(0)) {
							$(div).removeClass('active-tab-content');
						}
					});
					container.find('#'+href).addClass('active-tab-content');
					$(this).parents('li').addClass('active');
				}

				return false;
			});

		});
	};

})(jQuery);
function initPopUpMain(){
/*jpopup*/
(function($) {

$.jpopup = {};
$.fn.jpopup = function(settings)
{
	settings = $.extend({}, $.fn.jpopup.defaults, settings);

	return this.eq(0).each(
		function() {
			var $this = $(this);
			var content = $this.html();
			var shadow = '';
			var shadow_html = '<div id="jshadow"></div>';
			var popup_html =
				'<div id="jpopup" class="popup"><div class="popup-top">\
					<h2>'+settings.popupTitle+'</h2>\
					<a href="#close" class="close">' + settings.closeText + '</a>\
				</div>\
				<div class="content">\
				</div>\
				<div class="popup-bottom">'+settings.popupBottom+'</div>';

			// remove if already showed
			$('#jpopup,#jshadow, #tooltip').remove();

			// if shadow enabled > show shadow
			if(settings.shadow) {
				$(document.body).append(shadow_html);
				$('#jshadow').css({
					display: 'block',
					opacity: settings.opacity,
					background:	settings.background,
					zIndex: (settings.zIndex-1)
				});
			}

			// add popup to DOM
			$(document.body).append(popup_html);
			$('#jpopup').show();
			jpopup_height = function(){
				$('#jpopup').css({
					zIndex: settings.zIndex,
					top: $(window).scrollTop() + ($(window).height() - $('#jpopup').height())/4 + settings.heightFix,
					left: ($(window).width() - $('#jpopup').width())/2
				});
			}
			jpopup_height();

			$('#jpopup div.content').html( content );
			// show close button
			if(settings.close){
				$('#jpopup a.close').show();
			}

			// add close event
			$('#jpopup a.close,#jshadow').click(function(e){
				e.preventDefault();
				$('#jpopup,#jshadow').remove();
				return false;
			});
			jpopup_resize = function(){
				$(window).scroll(function(){
					var height = $('#jpopup').height();
					if (height < $(window).height()) {
						var top = $(window).scrollTop() + ($(window).height() - $('#jpopup').height())/4 + settings.heightFix;
						$('#jpopup').animate({top: top}, 100);
					}

				});
				$(window).resize(function(){
					var height = $('#jpopup').height();
					var top = $('#jpopup').css('top');
					if (height < $(window).height()) {
						var top = $(window).scrollTop() + ($(window).height() - $('#jpopup').height())/4 + settings.heightFix;
					}
					var left = ($(window).width() - $('#jpopup').width())/2;
					$('#jpopup').animate({top: top, left : left}, 100);
				});
			}
			// run onShow
			if( typeof(settings.onShow) == 'function' ){
				settings.onShow();
			}
			jpopup_resize();
		}
	)
};



$.fn.jpopup.defaults = {
	close: true,
	closeText: 'close',
	shadow : false,
	opacity: 0.5,
	background: '#000',
	zIndex: 1000,
	popupTitle : 'Popup Title',
	popupBottom : popupBottom,
	heightFix: 0,
	onShow: null
};

})(jQuery);
/*jpopup*/
(function($) {

$.jpopup_inner = {};
$.fn.jpopup_inner = function(settings)
{
	settings = $.extend({}, $.fn.jpopup_inner.defaults, settings);

	return this.eq(0).each(
		function() {
			var $this = $(this);
			var content = $this.html();
			var shadow = '';
			var shadow_html = '<div id="jshadow-inner"></div>';
			var popup_html =
				'<div id="jpopup-inner" class="popup"><div class="popup-top">\
					<h2>'+settings.popupTitle+'</h2>\
					<a href="#close" class="close">' + settings.closeText + '</a>\
				</div>\
				<div class="content">\
				</div>\
				<div class="popup-bottom">'+settings.popupBottom+'</div>';


			// if shadow enabled > show shadow
			if(settings.shadow) {
				$(document.body).append(shadow_html);
				$('#jshadow-inner').css({
					display: 'block',
					opacity: settings.opacity,
					background:	settings.background,
					zIndex: (settings.zIndex+1)
				});
			}

			// add popup to DOM
			$(document.body).append(popup_html);
			$('#jpopup-inner').show();
			jpopup_inner_height = function(){
				$('#jpopup-inner').css({
					zIndex: settings.zIndex+2,
					top: $(window).scrollTop() + ($(window).height() - $('#jpopup-inner').height())/4 + settings.heightFix,
					left: ($(window).width() - $('#jpopup-inner').width())/2
				});
			}
			jpopup_inner_height();

			$('#jpopup-inner div.content').html( content );
			// show close button
			if(settings.close){
				$('#jpopup-inner a.close').show();
			}

			// add close event
			$('#jpopup-inner a.close,#jshadow-inner').click(function(e){
				e.preventDefault();
				$('#jpopup-inner, #jshadow-inner').remove();
				return false;
			});
			jpopup_inner_resize = function(){
				$(window).scroll(function(){
					var height = $('#jpopup-inner').height();
					if (height < $(window).height()) {
						var top = $(window).scrollTop() + ($(window).height() - $('#jpopup-inner').height())/4 + settings.heightFix;
						$('#jpopup-inner').animate({top: top}, 100);
					}

				});
				$(window).resize(function(){
					var height = $('#jpopup').height();
					var top = $('#jpopup-inner').css('top');
					if (height < $(window).height()) {
						var top = $(window).scrollTop() + ($(window).height() - $('#jpopup-inner').height())/4 + settings.heightFix;
					}
					var left = ($(window).width() - $('#jpopup-inner').width())/2;
					$('#jpopup-inner').animate({top: top, left : left}, 100);
				});
			}
			// run onShow
			if( typeof(settings.onShow) == 'function' ){
				settings.onShow();
			}
			jpopup_inner_resize();
		}
	)
};

$.fn.jpopup_inner.defaults = {
	close: true,
	closeText: 'close',
	shadow : false,
	opacity: 0.5,
	background: '#000',
	zIndex: 1000,
	popupTitle : 'Popup Title',
	popupBottom : popupBottom,
	heightFix: 0,
	onShow: null
};

})(jQuery);

}
/*function for product image*/
function initProductImage() {
	if ($('div.zoom-container').length == 0) return false;
	$('div.zoom-container img').each(function(){

		if (!$(this).hasClass('nozoom') &&  !$(this).hasClass('noimage')) {
			var popup_id = $(this).attr('class');
			popup_id = popup_id.replace('active','');
			popup_id = popup_id.replace(/\s+/g, '');
			$(this).wcs_zoom({
				/*small_width: 318,  // commented by Alex Patuk
				small_height: 375,*/
				/*small_width: 'auto',
				small_height: 375,*/
        small_width: 318,
				small_height: 375,
				large_width: 3320,
				large_height: 3915,
				debug: true
			}).after('<a href="#" rel="'+popup_id+'" class="plus">Enlarge image</a>');
		}

	});

	var list_images = $('div.tabs-content #product_variations img, div.tabs-content #images img');
	var list_videos = $('div.tabs-content #video a.play');
	$('div.zoom-container img[class*="nozoom"]').each(function(i,img){
		var popup_id = $(this).attr('class');
		popup_id = popup_id.replace('active','');
		popup_id = popup_id.replace('nozoom','');
		popup_id = popup_id.replace(/\s+/g, '');
		$(img).wrap('<div class="zoomwrap"><div class="zoompan"></div></div>').after('<a href="#" rel="'+popup_id+'" class="plus">Enlarge image</a>').parent().parent().css('display', 'none');
	});
	$('div.zoom-container img[class*="noimage"]').each(function(i,img){
		var popup_id = $(this).attr('class');
		popup_id = popup_id.replace('active','');
		popup_id = popup_id.replace('noimage','');
		popup_id = popup_id.replace(/\s+/g, '');
		$(img).wrap('<div class="zoomwrap"><div class="zoompan"></div><div class="zoomnav">There is no image currently available for this product.</div></div>').after('<a href="#" rel="'+popup_id+'" class="plus">Enlarge image</a>').parent().parent().css('display', 'none');
	});
	$('div.zoom-container img.active').parent().parent().css('display', 'block');

	$('div#product_variations select').live('change',function(){
		var im_id = $(this).attr('value');
		var index = $('#' + im_id).index();


		if ($('.' + im_id).length){
			$(list_images).each(function(image_index) {
				$(this).parent().parent().parent().parent().parent().removeClass('active');
			});
			$(list_videos).each(function(image_index) {
				$(this).parent().parent().removeClass('active');
			});

			var clas = '';
			var sku = 'sku';
			$('div#product_variations select').each(function() {
				var stid = $(this).attr('id');
				clas = clas + '.' + this.value;
				sku = sku + '_' + this.value;
			});

			$(clas).addClass('active');
			var sku_number = $('#sku_product');
			sku_number.html($('.sku'+clas).val());
			var sku_variant = $('#sku_variant');

			sku_variant.attr("value",im_id);
			$(clas).find("div > a >img").click();
		}
	});
	$(list_images).each(function(index) {
		$(this).click(function(){
			$('div.video-container').hide();
			$('div.zoom-container').show();
			$('div.zoom-container div.zoomwrap').css('display', 'none');
			$('div.zoom-container div.zoomwrap').eq(index).css('display', 'block');

			$(list_images).each(function(image_index) {
				$(this).parent().parent().parent().parent().parent().removeClass('active');
			});
			$(list_videos).each(function(image_index) {
				$(this).parent().parent().removeClass('active');
			});

			$(this).parent().parent().parent().parent().parent().addClass('active');
			var p_id = $(this).parent().parent().parent().parent().parent().parent().parent().attr('id');

			if( p_id == 'product_variations' )
			{
				var selected_id = $(this).parent().parent().parent().parent().parent().attr("id");
				var el = $(this).parent().parent().parent().parent().parent();
				var clas = $(el).attr('class');
				var selected_index = $('li.' + selected_id).index(clas);

				var s_id = $('#product_variations select').eq(selected_index).attr('id');
				var s_el = $('#'+s_id+' option[value='+selected_id+']')
				var inp_cl = '';
			  $.each(clas.split(/\s+/), function(ind, item){
			  	if(!isNaN(item))
			  	{
						inp_cl = inp_cl + '.' + item;
					}
			  	$('#product_variations select').each(function(clsl_index, clsl_item){
			  		var clsl_id = $(clsl_item).attr('id');
				   	var s_el = $('#'+clsl_id+' option[value='+item+']');
						if(!isNaN(item) && $(s_el).length > 0)
						{
							s_el.attr("selected","selected");
						}
					});
			  });

				var sku_number = $('#sku_product');
				sku_number.html($('.sku'+inp_cl).val());

				var sku = 'sku';
				$('div#product_variations select').each(function() {
					sku = sku + '_' + $(this).val();
				});

				var sku_number = $('#sku_product');
				sku_number.html($('#'+sku).val());
				var sku_variant = $('#sku_variant');
				sku_variant.attr("value",selected_id);
				if($(this).is(".detailed_image")){
				}else{
	         check_options();
	      }
			}

			return false;
		});
	});
	$(list_videos).each(function(index) {
		$(this).click(function(){
			$('div.zoom-container').hide();
			$('div.video-container').show();
			$(list_videos).each(function(image_index) {
				$(this).parent().parent().removeClass('active');
			});
			$(list_images).each(function(image_index) {
				$(this).parent().parent().parent().removeClass('active');
			});
			$(this).parent().parent().addClass('active');
			src = $(this).attr('href');
			initVideo(src);
			return false;
		});
	});
	$('#product-tabs ul.tabs a').bind('click',function(){
		var href = $(this).attr('href');
		href = href.replace(/[^#]*#/,'');
		if (href == 'video') {
			$('#'+href+' ul.images li:first a').click();
		} else {
			$('#'+href+' ul.images li:first img').click();
		}
	});
	//$('#slideshow').cycle();
	$('div.zoom-container a.plus, div#carusel a.plus').click(function(){
		var id=$(this).attr('rel');
		$('#'+id+'_popup').jpopup({
			shadow: true,
			popupTitle: 'Product Preview',
			opacity: opacity_fader,
			background: bg_fader,
			onShow: function slider(){
				var index = $('#' + id +' ul.images li').index($('#' + id +' ul.images li.active'));
				if (index == -1) index = 0;
				var size = $('#jpopup div.image img').size();
				$('#jpopup .all').text(size);
				$('#jpopup .current').text(index+1);
				if (size > 1) {
					$('#jpopup div.image').wcs_slider({
						next : '#jpopup .next a',
						activeSlide : index,
						cont : $('#jpopup .current'),
						prev : '#jpopup .previous a'
					});
				}

			}
		});
		return false;
	});

}

// The widget
var starRating = {
  create: function(selector) {
    // loop over every element matching the selector
    $(selector).each(function() {
      var $list = $('<div></div>');
      // loop over every radio button in each container
      $(this)
        .find('input:radio')
        .each(function(i) {
          var rating = $(this).parent().text();
          var $item = $('<a href="#"></a>')
            .attr('title', rating)
            .addClass(i % 2 == 1 ? 'rating-right' : '')
            .text(rating);

          starRating.addHandlers($item);
          $list.append($item);

          if($(this).is(':checked')) {
            $item.prevAll().andSelf().addClass('rating');
          }
        });
        // Hide the original radio buttons
        $(this).append($list).find('label').hide();
    });
  },
  addHandlers: function(item) {
    $(item).click(function(e) {
      // Handle Star click
      var $star = $(this);
      var $allLinks = $(this).parent();
      // Set the radio button value
      $allLinks.parent().find('input:radio[value=' + $star.text() + ']').attr('checked', true);
	  $allLinks.parent().find('input:radio[value=' + $star.text() + ']').click();

      // Set the ratings
      $allLinks.children().removeClass('rating');
      $star.prevAll().andSelf().addClass('rating');
      $(this).parent().find('a').each(function(i,link){
	  	$(link).attr('rel','');
	  });
	  $(this).parent().parent().next().text($(this).text());
      // prevent default link click
      e.preventDefault();

    }).hover(function() {
      // Handle star mouse over
      $(this).prevAll().andSelf().addClass('rating-over');
	  $(this).parent().find('a').each(function(i,link){
	  	if ($(link).hasClass('rating')) {
			$(link).removeClass('rating');
			$(link).attr('rel','rating');
		}
	  });
    }, function() {
      // Handle star mouse out
      $(this).siblings().andSelf().removeClass('rating-over');
	   $(this).parent().find('a').each(function(i,link){
	  	if ($(link).attr('rel') == 'rating') {
			$(link).addClass('rating');
			//$(link).attr('rel','rating');
		}
	  });
    });
  }

};
/*function wcs_slider */
(function($){
	$.fn.wcs_slider = function(element_params){

		var defaults = {
			next : null,
			prev : null,
			speed: 1000,
			activeSlide : 0,
			cont : null
		}

		var opts = $.extend({}, defaults, element_params);

		return this.each(function(){
			var $cont = $(this);
			var $slides = $cont.children();
       		var els = $slides.get();
			opts.before = opts.before ? [opts.before] : [];
        	opts.after = opts.after ? [opts.after] : [];

			if (opts.activeSlide)
				opts.activeSlide = parseInt(opts.activeSlide);
			if (opts.activeSlide >= els.length)
				opts.activeSlide = 0; // catch bogus input
			var first = opts.activeSlide;
	        $slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) {
	            $(this).css('z-index', els.length-i)
	        });

	        $(els[first]).css('opacity',1).show(); // opacity bit needed to handle reinit case

			opts.speedIn = opts.speed;
	        opts.speedOut = opts.speed;

	 		opts.slideCount = els.length;
	        opts.currSlide = first;
			opts.nextSlide = first + 1;
			if (first == els.length)
				opts.nextSlide = 0;
	        if (opts.next)
	            $(opts.next).bind('click', function(){return advance(1)});
	        if (opts.prev)
	            $(opts.prev).bind('click', function(){return advance(-1)});

			function go() {
				var curr = els[opts.currSlide], next = els[opts.nextSlide];
				var current_content;
				if (opts.cont && $(opts.cont).get(0)) {
					 current_content = $(opts.cont);
				}
				var $l = $(curr), $n = $(next);
			    $l.fadeOut(opts.speedOut, function(){
					if (current_content) {
						current_content.text(opts.nextSlide + 1);
					}
				});
				$n.fadeIn(opts.speedIn);
				opts.currSlide = opts.nextSlide;
			}
			function advance(val){
				opts.nextSlide = opts.currSlide + val;
			    if (opts.nextSlide < 0) {
			        opts.nextSlide = els.length - 1;
			    }
			    else if (opts.nextSlide >= els.length) {
			        opts.nextSlide = 0;
			    }
				go();
			    return false;
			}

		});
	};

})(jQuery);

jQuery.fn.DefaultValue = function(text){
    return this.each(function(){
		//Make sure we're dealing with text-based form fields
		if(this.type != 'text' && this.type != 'password' && this.type != 'textarea')
			return;

		//Store field reference
		var fld_current=this;

		//Set value initially if none are specified
        if(this.value=='') {
			this.value=text;
		} else {
			//Other value exists - ignore
			return;
		}
		if(this.type == 'password' && (!$.browser.msie))  {
			this.type = 'text';
			this.rel = 'password';
		}
		//Remove values on focus
		$(this).focus(function() {
			if(this.rel == 'password') {
				this.type = 'password';
			}
			if(this.value==text || this.value=='')
				this.value='';
		});

		//Place values back on blur
		$(this).blur(function() {
			/*if(this.rel == 'password') {
				this.type = 'password';
			}*/
			if(this.value==text || this.value==''){
				this.value=text;
				if(this.rel == 'password') {
					this.type = 'text';
				}
			}

		});

		//Capture parent form submission
		//Remove field values that are still default
		$(this).parents("form").each(function() {
			//Bind parent form submit
			$(this).submit(function() {
				if(fld_current.rel == 'password') {
					fld_current.type = 'password';
				}
				if(fld_current.value==text) {
					fld_current.value='';
				}
			});
		});
    });
};

function initSliderRecommProducs(){
    var text_recomm = $('#see_all_recomm');
    var tmp_text = ''
    var div_all = $('#div_all_recomm');

    $('#see_all_recomm').click(function() {

				if(div_all.css('display') == 'none') {
				     tmp_text = (tmp_text == '')?text_recomm.html():tmp_text;
				     div_all.show('slow');
				     text_recomm.html('Hide');
				}else{
				     div_all.hide('slow');
				     text_recomm.html(tmp_text);
				}



			});


}

function selectNoneOption(div_id,prod_id){

    var opt_div = $('#' + div_id).find('input[name="option"]:checked');
    var hidden_opt = $('#product_options_' + prod_id);
    var price_el = $('#orderformopt').find('span[id="total_price_options_tabs"]');

    var count_items = $('#orderformopt').find('span[id="count_items"]');
    updateItemsOpt(count_items,false);

    updatePriceOpt(price_el,parseFloat($('#price_' +  hidden_opt.val()).val()),false);

    hidden_opt.val('');
    hidden_opt.clone().appendTo('#prod_opt_hidden');
    opt_div.attr("checked","");


}


function selectProductOption(div_id, opt_id, prod_id){

    var opt_div = $('#' + div_id).find('input[name="option"]:checked');
    var price_el = $('#total_price_options_tabs');
    opt_div.attr("checked","");
    updatePrice(opt_id, prod_id);

    var select_opt = $('#' + opt_id).attr("checked", "checked");

       $('#none_' + div_id).attr("checked", "");

}
function updatePrice( opt_id, prod_id){

    var hidden_opt = $('#product_options_' + prod_id);
    var select_opt_price = $('#price_' + opt_id);
    var price_el = $('#orderformopt').find('span[id="total_price_options_tabs"]');
    var count_items = $('#orderformopt').find('span[id="count_items"]');



    if(hidden_opt.val() == ""){

        hidden_opt.val(opt_id)
        hidden_opt.clone().appendTo('#prod_opt_hidden');
        updatePriceOpt(price_el,parseFloat($('#price_' +  opt_id).val()),true)
        updateItemsOpt(count_items,true)

    }else if( hidden_opt.val() != "" && hidden_opt.val() != opt_id){



        updatePriceOpt(price_el,parseFloat($('#price_' +  hidden_opt.val()).val()),false)
        hidden_opt.val(opt_id)
       hidden_opt.clone().appendTo('#prod_opt_hidden');
        updatePriceOpt(price_el,parseFloat( $('#price_' +  opt_id).val()),true)

    }

}

function updatePriceOpt(price_elements,new_val,add_price){
    var price_prod = $('#product_price_value').val();
    price_elements.each(function(i,span){
            var old_val = parseFloat($(span).text());
            var ret_val = "";
            var total = "";

            if(add_price == true){
              ret_val = old_val + new_val;
              ret_val = round(ret_val*100)/100;
              total = ret_val + parseFloat(price_prod);
              $('#product_price_total_value').val(total);
              total = round(total*100)/100 + '';
              total = total.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");

              $(span).text(ret_val);
              $('.total_price_abs').text(total);
              $('#product_price').text('$' + total);
              $('#options_total_price').val(ret_val);

            }else if(old_val != 0){
                 ret_val = old_val - new_val;
                 ret_val = round(ret_val*100)/100;
                 total = ret_val + parseFloat(price_prod);
                 $('#product_price_total_value').val(total);
                 total = round(total*100)/100 + '';
                 total = total.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
                 $(span).text(ret_val);
                 $('.total_price_abs').text(total);
                 $('#product_price').text('$' + total);
                 $('#options_total_price').val(ret_val);
            }
		});
}

function updateItemsOpt(count_elements,add_item){

       count_elements.each(function(i,span){
            var old_val = parseFloat($(span).text());
            if(add_item == true){
              $(span).text(old_val + 1);
            }else if(old_val != 0){
                 $(span).text(old_val - 1);
            }
		});

}

function check_params_options(){

    var price_el = $('#orderformopt').find('ul[class="tabs"] > input');

    price_el.each(function(i,input){

            if($(input).val() == "") {
                $(input).remove();
            }

		});
    if (FormValidation()) $('#orderformopt').submit()

}

function change_shipping_country(select_el){

        var select_el = $('#' + select_el + ' option:selected');
        var select_states = $('#shipping_states');
        var select_zip = $('#dst_zip');
        var none_shipping_li = $('#shipping_none');
        var shipping_total_li = $('#shipping_total');
        var estimated_delivery_time_li = $('#estimated_delivery_time');
        var shipping_cost_li = $('#shipping_cost');
        var form_submit_button = $('input.form-submit');


        if(select_el.val() !="usa"){
            select_states.attr("disabled","disabled");
            select_zip.attr("disabled","disabled");
            none_shipping_li.css("display","block");
            form_submit_button.attr("disabled","disabled");
            shipping_total_li.remove();
            shipping_cost_li.remove();
            estimated_delivery_time_li.remove();
        }else{
             none_shipping_li.css("display","none");
             select_states.removeAttr("disabled");
             select_zip.removeAttr("disabled");
             form_submit_button.removeAttr("disabled");
        }


}

function show_error_shiping(){
    var none_shipping_li = $('#shipping_none');
     none_shipping_li.css("display","block");
}


var in_stock_el = '';
function checkOneVariants(el_id,el_classid,in_stock){

    in_stock_el = (in_stock == 'false')?el_id:'';

    if(in_stock_el == '')   $('#jpopup').find('#error_message_not_in_stock').hide();

    var check_el = $('#jpopup').find('#product_variant_select').find('input[name="option"]')
    var total_price =  $('#jpopup').find('#total_price_options_tabs');

      check_el.each(function(i,input){

          if($(input).attr("checked")){

              var prev_money_id = $(input).attr("id");
              prev_money_id =  prev_money_id.replace('var_','price_');
              prev_money = $('#'+prev_money_id)

              if(total_price.html() > 0) {

                  total_price.html(parseFloat(total_price.html()) - parseFloat(prev_money.val()));

                   total_price.html(parseFloat(total_price.html()) + parseFloat($('#price_' + el_id).val()));


              }else if(total_price.html() == 0){

                   total_price.html(parseFloat(total_price.html()) + parseFloat($('#price_' + el_id).val()));
              }
          }


          $(input).attr("checked","");
    		});

        $('#jpopup').find('#product_options_' + el_classid).val(el_id)   ;
        $('#jpopup').find('#var_' + el_id).attr("checked","checked");


}
function selectNoneOptionOpt(){

    var t = $('#jpopup').find('#ufolog').find('input[name="change_option"]');
    var price_el = $('#jpopup').find('span[id="total_price_options_tabs"]');
    var prod_var = $('#jpopup').find('#product_variant_select').find('input:checked');


     t.each(function(i,input_c){
        $(input_c).attr('checked','');
        var class_name = $(input_c).attr('class');
        var hidden_opt = class_name.replace('checkbox_','product_options_')
        $('#jpopup').find('#'+hidden_opt).val('');


		});

		$('#jpopup').find('#prod_opt_hidden').html('');




    var count_items = $('#jpopup').find('span[id="count_items"]');
    count_items.html('0')
    price_el.html('0')

	if(typeof(prod_var.attr('id')) != 'undefined'){   // if checked one of prod variant

	   prod_var_check =  prod_var.attr('id').replace('var_','price_');
	   prod_var_val = $('#' + prod_var_check).val();
	   price_el.html(prod_var_val)

	}
}


function selectProductOptionEdit(div_id, opt_id, prod_id){

    var input_opt =  $('#jpopup').find('#ufolog').find('input[class="checkbox_'+prod_id+'"]')

     input_opt.each(function(i,input){
          $(input).attr("checked","");
    		});


       $('#jpopup').find('#ufolog').find('input[id="change_option_'+opt_id+'"]').attr("checked","checked");
       updatePriceEdit(opt_id, prod_id);

        $('#jpopup').find('#none_checkbox').attr("checked", "");
}

function updatePriceEdit( opt_id, prod_id){

    var hidden_opt =  $('#jpopup').find('#product_options_' + prod_id);
    var select_opt_price = $('#jpopup').find('#price_' + opt_id);
    var price_el = $('#jpopup').find('span[id="total_price_options_tabs"]');
    var count_items = $('#jpopup').find('span[id="count_items"]');



    if(hidden_opt.val() == ""){

        hidden_opt.val(opt_id)

        hidden_opt.clone().appendTo($('#jpopup').find('#prod_opt_hidden'));
        updatePriceOptEdit(price_el,parseFloat($('#price_' +  opt_id).val()),true)
        updateItemsOpt(count_items,true)

    }else if( hidden_opt.val() != "" && hidden_opt.val() != opt_id){


        updatePriceOptEdit(price_el,parseFloat($('#price_' +  hidden_opt.val()).val()),false)
        hidden_opt.val(opt_id)
        hidden_opt.clone().appendTo($('#jpopup').find('#prod_opt_hidden'));
        updatePriceOpt(price_el,parseFloat( $('#price_' +  opt_id).val()),true)

    }

}

function updatePriceOptEdit(price_element,new_val,add_price){


            var old_val = parseFloat(price_element.text());

            if(add_price == true){
              price_element.text(old_val + new_val);
            }else if(old_val != 0){
                 price_element.text(old_val - new_val);
            }

}

function sendFromEdit(el_form){

    if(el_form == 'orderformopt'){
        var form = $('#jpopup').find('#'+el_form).submit();
    }

    if(in_stock_el != ''){
        alert('#error_message_not_in_stock');
        $('#jpopup').find('#error_message_not_in_stock').show();


    }else{
        var form = $('#jpopup').find('#'+el_form).submit();
    }



}

function reCalculateCart(amount,input_el,prod_cost){

    var input_id = input_el.attr('id');
    var el_updating = $('#updating_'+input_id);
        el_updating.show('slow');
    var el_subtotal = $('#subtotal_edit');
    var shipping_country = $('#shipping_country option:selected').val();
    var shipping_states = $('#shipping_states option:selected').val();
    var shiping_method = $('#shiping_method option:selected').val();
    var dst_zip = $('#dst_zip').val();


    /*if(typeof(shipping_country) == 'undefined') return;*/


   $.ajax({
      url: "cart.php?action=update_cart&productindexes="+input_id+"&is_ajax_edit=true&amount="+amount+"&shipping_country="+shipping_country
                                        +"&shipping_states="+shipping_states+"&shiping_method="+shiping_method+"&dst_zip="+dst_zip,
      dataType: 'json',
      data: {},
      success: function(response_array){
          var modifier_type = response_array.modifier_type;

          var el_updating = $('#updating_'+response_array.cartid);
          el_updating.hide('slow');

          var el_total = $('#total_'+response_array.cartid);
          var el_save =  $('#save_'+response_array.cartid);

          var el_total_price = $('#total_edit');
          if(el_total_price != '') el_total_price.html(modifier_type+''+response_array.total_price);
          el_total.html(modifier_type+''+response_array.price);

          var el_disp_subtotal = $('#disc_subtotal') ;
          if(el_disp_subtotal != '') el_disp_subtotal.html(modifier_type+''+response_array.disc_subtotal);
          el_subtotal.html(modifier_type+''+response_array.subtotal);

          var el_disc_coupon = $('#disc_coupon');
          if(el_disc_coupon !='') el_disc_coupon.html(modifier_type+''+response_array.all_disc)

          var el_disc_table = $('#disc_proc_'+response_array.cartid);
          if(el_disc_table != '') el_disc_table.html('-'+modifier_type+''+response_array.disc_coupon+'('+response_array.disc_proc+'%)')

          var el_shipping_cost = $('#cost_edit');
          if(el_shipping_cost !='') el_shipping_cost.html(modifier_type+''+response_array.shipping_cost)




          el_save.html(modifier_type+''+response_array.save+'('+response_array.save_proc+'%)')

       }

    });

}

 function initCopyEmail(){

     var copy_to = $('#email');

      $('#uname').keyup(function() {

			var email_val = $(this).val();
            copy_to.val(email_val);
			});


 }



 function editPersonalBilling(){


	$('#billing_checkbox').change(function(){

		if ($(this).attr('checked')) {

			$('#content :input[id^=b_]').each(function(i,item){
				var value = $(item).val();
				var title = $(item).attr('title');
				var billing =$(item).attr('id');
				if ($(item).is('input[type=text]')) {
					if (value != title) {
						$('#content input[id='+billing+']').val(value).attr('readonly',true);
					}
				}
				if ($(item).is('select')){
					if (value) {
						$('#content select[id='+billing+']').val(value);
					}

				}
				if ($(item).is('input[type=checkbox]') || $(item).is('input[type=radio]')) {
					value =  $(item).attr('checked');
					$('#content input[id='+billing+']').attr('checked',value).attr('readonly',true);;
				}
				if ($(item).is('textarea')) {
					if (value != title) {
						$('#content textarea[id='+billing+']').val(value).attr('readonly',true);
					}
				form.validate().element($(item));
				}

			});
		} else {
			$('#content :input[id^=b_]').each(function(i,item){
				$(item).attr('readonly',false);
				if ($(item).is('select')){
					$(item).attr('disabled',false);
				}
			});
		}
	});
 }


function initFilters(){

    var filters = $('#filters').find('select');
     var filter_btn = $('#filter_btn');

    filters.each(function(i,select){

      $(select).change(function(){
        var opt_id = $(select).val();
        $('#' + opt_id).hide();
        filterRedirect(opt_id);
         // hideAllSelect(filters,i)
          //showSel(opt_id);

	   });

    })



    filter_btn.click(function(){
        var last_sel = 0;

        filters.each(function(i,select){

            if($(select).css('display') == 'block'){
                last_sel = $(select).val();
            }



	   });

	   var url = "home.php?cat=";
     var appName = window.navigator.appName;

     if(appName == 'Microsoft Internet Explorer'){
        var bases = window.document.all.tags("BASE");
        url = bases[0].href + url;
     }

	   window.location.href = url + last_sel ;
	  /* console.log(last_sel);*/
    })
}

function filterRedirect(opt_id){
    var url = "home.php?cat=";
    var appName = window.navigator.appName;

    if(appName == 'Microsoft Internet Explorer'){
        var bases = window.document.all.tags("BASE");
        url = bases[0].href + url;
    }

    window.location.href = url + opt_id ;
}

function showSel(opt_id){

          var sel = $('#'+opt_id)

          if(typeof(sel.find('option:nth-child(1)').val())!='undefined'){

             sel.css('display','block') ;
             showSel(sel.val())


          }else{
              return;
          }

}


function hideAllSelect(filters,change_el){

      filters.each(function(i,select){

       if(i>change_el){

           $(select).css('display','none');
       }

    })



}

function initCarusel(){
	if ($('#carusel .carusel').get(0)) {
		$("#carusel .carusel").jcarousel({
			//scroll: "1",
			animation: "slow"
		});
	}
}
