$(document).ready(function() {
	
	$('.regform-reset').click(function(){
		document.regform.reset();
		$(".logpan").slideUp("fast");	
		$(".logtoggle a").toggle();
		inputDefaultsInit();
	});	

	$('.userdataform-reset').click(function(){
		document.userdataform.reset();
		$(".logpan").slideUp("fast");	
		$(".logtoggle a").toggle();
		inputDefaultsInit();
	});	
	
	try {
		if (open_logpan>0) {
			$(".logpan").slideDown("fast");
			$(".logtoggle a").toggle();
		}
	}
	catch (e) {}
		
	inputDefaultsInit();
	bag.refreshData(0);
	
	
	$('.subscribe-submit').click(function() {
		doSubscribe();
		return false;
	});
	
	$('.bag-panel').mouseover(function() {
		bag_entered = 1;
	});

	cartpage.page = page;
	cartpage.refreshShipping();
	$('input.promocode').keyup(function(event) { 
		promocode.keyUpHandler(event);
	});
	
	$('.invites-add-more-friends-link').click(function() {
		invites.addFriend();
		return false;
	});
});

var invites={
	addFriend: function() {
		var cnt = parseInt($(".friendrows").attr("count"));
		var newrow = document.createElement("div");
		$(newrow).addClass('friendrow');
		$(newrow).addClass('friendrow_' + cnt);
		
		var fspan = document.createElement("span");
		$(fspan).addClass("fl");
		$(fspan).html("Friend");
		$(newrow).append(fspan);

		var fspan2 = document.createElement("span");
		$(fspan2).addClass("fr");
		
		
		//<input name="values[friend][{$idx}][name]" value="{$fvalues.$idx.name}" type="text" class="field fname" id="friend_{$idx}_name" default_value="name" />
		var input_name = document.createElement("input");
		$(input_name).attr("name", "values[friend]["+cnt+"][name]");
		$(input_name).attr("type", "text");
		$(input_name).attr("id", "friend_"+cnt+"_name");
		$(input_name).attr("default_value", "name");
		$(input_name).addClass("field");
		$(input_name).addClass("fname");
		$(fspan2).append(input_name);

		var input_email = document.createElement("input");
		$(input_email).attr("name", "values[friend]["+cnt+"][email]");
		$(input_email).attr("type", "text");
		$(input_email).attr("id", "friend_"+cnt+"_email");
		$(input_email).attr("default_value", "e-mail");
		$(input_email).addClass("field");
		$(input_email).addClass("femail");
		$(fspan2).append(input_email);

		
		$(newrow).append(fspan2);

		var fclear = document.createElement("div");
		$(fclear).css("clear","both");
		$(newrow).append(fclear);
		
		$(".friendrows").append(newrow);
		inputDefaultsInit();
		
		$(".friendrows").attr("count", cnt+1);
	}
}

var users={
	reg: function() {
		var url = 'user/reg';
		var postvars = new Object();
		postvars['values'] = new Object();
		postvars['values']['name'] = document.forms['regform'].elements['regvalues[name]'].value;
		postvars['values']['surname'] = document.forms['regform'].elements['regvalues[surname]'].value;
		postvars['values']['email'] = document.forms['regform'].elements['regvalues[email]'].value;
		postvars['values']['email2'] = document.forms['regform'].elements['regvalues[email2]'].value;
		postvars['values']['password'] = document.forms['regform'].elements['regvalues[password]'].value;
		postvars['values']['password2'] = document.forms['regform'].elements['regvalues[password2]'].value;
		postvars['values']['agree'] = document.forms['regform'].elements['regvalues[agree]'].checked ? 't' : 'f';
		postvars['values']['subscribe'] = document.forms['regform'].elements['regvalues[subscribe]'].checked ? 't' : 'f';
		$.post(url,postvars,function(data) {
			parsedData = jQuery.parseJSON(data);
			
			$('.regiform .message').html(parsedData['message']);
			$('.regiform .message').removeClass('error');
			$('.regiform .message').removeClass('done');
			$('.regiform .message').addClass(parsedData['message_class']);
			if (parsedData['message'] != '') {
				$('.regiform .defmessage').fadeOut(function() {
					$('.regiform .message').fadeIn(function(){
						if (parsedData['success'] == 'yes') {
							setTimeout(function() { location.reload(true); },1000);
						}
						else {
							if (parsedData['message_class'] == 'done') {
							}
						}
						
					});
				});
			}
		});
	},
	login: function() {
		var url = 'user/login';
		var postvars = new Object();
		postvars['values'] = new Object();
		postvars['values']['email'] = document.forms['loginform'].elements['loginvalues[email]'].value;
		postvars['values']['password'] = document.forms['loginform'].elements['loginvalues[password]'].value;
		$.post(url,postvars,function(data) {
			parsedData = jQuery.parseJSON(data);
			$('.loginform .message').html(parsedData['message']);
			$('.loginform .message').removeClass('error');
			$('.loginform .message').removeClass('done');
			$('.loginform .message').addClass(parsedData['message_class']);
			if (parsedData['message'] != '') {
				$('.loginform .message').fadeIn(function(){
					if (parsedData['success'] == 'yes') {
						location.reload(true);
					}
					else {
						if (parsedData['message_class'] == 'done') {
							document.forms['loginform'].elements['loginvalues[password]'].value = '';
							inputDefaultsInit();
						}
					}
				});
			}
			
		});
	}
}

var bag_entered = 0;
var page = '';

var bag={
	
	
	deleteItem: function(id) {
		url = 'cart/remove';
		$.post(url,{carts_items_id: id},function(data) {
			bag.refreshData(1);
			bag_entered = 1;
			$('#carts_items_'+id).slideUp();
			cartpage.refreshShipping();
		});
	},

	refreshData: function(showbag) {
		bag_entered = 0;
		var url = 'cart/get_bagline';
		$.get(url, function(data) {
				//parsedData = jQuery.parseJSON(data);
				var baginfo_html = data; //parsedData['count']+' items | '+parsedData['sum']+' EUR';
				$('.bag .bagtoggle .bagopen').html(baginfo_html);
				$('.bag .bagtoggle .bagclose').html(baginfo_html);
				$('.bag .bagtoggle').css('display','block');
				
		});
		var url = 'cart/get_bag';
		$.get(url, function(data) {
			
			$('.bag-panel').html(data);
			
			if (showbag > 0) {
				if (bag_opened<1) {
					$(".bagopen").click();
				}
				bag_init_jflow();
				setTimeout(function() {
					if (bag_entered<1) {
						$(".bagclose").click();
					}
				},2000);
			}
		});
	}
}

var checkout={
	payments_method: '',
	do_paypal: function() {
		checkout.payments_method='paypal';
		checkout.submit_checkout_form();
		return false;
	},
	do_bank_transfer: function() {
		checkout.payments_method='bank_transfer';
		checkout.submit_checkout_form();
		return false;
	},
	submit_checkout_form: function() {
		document.checkoutform.payments_method.value = checkout.payments_method;
		var postvars = new Object();
		var url='cart/checkout_save';
		
		$('.checkoutform input').each(function() {
			if ($(this).attr('type') == 'checkbox') {
				if ($(this).attr('checked')) {
					postvars[$(this).attr('name')] = $(this).attr('value');
				}
			}
			else {
				postvars[$(this).attr('name')] = $(this).attr('value');
			}
		});
		
		$.post(url, postvars, function(data) {
			parsedData = jQuery.parseJSON(data);
			if (parsedData['success'] != 'yes') {
				$('.checkoutform .message').html(parsedData['message']);
				$('.checkoutform .message').fadeIn();
			}
			else {
				$('.checkoutform .message').fadeOut(function() {
						$('.checkoutform .message').html('');
						if (parsedData['redirect'] != '') {
							top.location.href=parsedData['redirect'];
						}
						if (checkout.payments_method == 'paypal') {
							for (var x in parsedData['paypal_values']) {
								document.forms['ppform'].elements[x].value = parsedData['paypal_values'][x];
							}
							$('.checkoutform .message').removeClass('error');
							$('.checkoutform .message').addClass('done');
							$('.checkoutform .message').html('Transferring to paypal...');
							$('.checkoutform .message').fadeIn();
							$('.checkoutform input').each(function() {
								$(this).attr('disabled','disabled');
								$(this).css('background-color','#efefef');
							});
							$('.checkoutBottom').fadeOut();
							document.forms['ppform'].submit();
						}
				});
				
			}
		});
	}
};

var promocode={
	timeout: 1000,
	lastkeyup: 0,
	keyUpHandler: function(event) {
		promocode.lastkeyup = event.timeStamp;
		setTimeout(function() {
			var ts = new Date().getTime();
			if (ts-promocode.lastkeyup > promocode.timeout) {
				cartpage.promocode = $('input.promocode').attr("value") != '' ? $('input.promocode').attr("value") : '-';
				cartpage.refreshShipping();
				
			}
		},promocode.timeout+10);
	}
};

var cartpage={
	page: '',
	weight: 0,	
	promocode: '',
	shippings_countries_id: 0,
	shippings_method: '',
	shippings_methods: {ems:true,hp:true},
	deleteItem: function(id) {
		url = 'cart/remove';
		$.post(url,{carts_items_id: id},function(data) {
			$('#carts_items_'+id).slideUp();
			cartpage.refreshData();
			
		});

	},
	updateItem: function(id) {
		var quantity = parseInt(document.forms['cartform'].elements['values['+id+'][quantity]'].value);
		
		if (quantity<1) {
			cartpage.deleteItem(id);
		}
		else {
			var url = 'cart/update';
			$.post(url,{carts_items_id: id, quantity: quantity},function(data) {
				cartpage.refreshData();
			});
		}

	},
	refreshData: function() {
		// refresh bag
		bag.refreshData(0);
		cartpage.refreshShipping();
	},
	setShippingsCountriesId: function(scid) {
		cartpage.shippings_countries_id = scid;
		cartpage.refreshShipping();
	},
	setShippingsMethod: function(sm) {
		cartpage.shippings_method = sm;
		$('#shippings_method_'+sm+'_input').attr('checked',true);
		cartpage.refreshShipping();
	},
	refreshShipping: function() {
		if (cartpage.page == 'cart' || cartpage.page == 'checkout') {
			var url = 'cart/get_shipping_info';
			
			
			
			$.post(url, {promocode: cartpage.promocode, shippings_countries_id: cartpage.shippings_countries_id, shippings_method: cartpage.shippings_method}, function(data) {
				var count_enabled_shippings_methods=0;
				$('.messagewin').css('display','none');
				parsedData = jQuery.parseJSON(data);
				
				for (var sm in parsedData['shippings_methods']) {
					
					cartpage.shippings_methods[sm] = parsedData['shippings_methods'][sm];
					
					if (parsedData['shippings_methods'][sm] == true) {
						$('.shippings_method_'+sm).fadeIn();
						count_enabled_shippings_methods++;
					}
					else {
						$('.shippings_method_'+sm).fadeOut();
					}
					
				}
				$('.baginfo').html(parsedData['delivery_message']);
				$('.messagewin .title').html('Attention!');
				$('.messagewin .baseresult').html(parsedData['error_message']);
				if (count_enabled_shippings_methods == 0) {
					$('.messagewin').fadeIn();
					$('.please.more').fadeOut();
					$('.bag-checkout').fadeOut();
				}
				else {
					if (count_enabled_shippings_methods == 1) {
						for (var sm in cartpage.shippings_methods) {
							if (cartpage.shippings_methods[sm] == true) {
								if (cartpage.shippings_method != sm) {
									cartpage.setShippingsMethod(sm);
								}
							}
						}
					}
					$('.please.more').fadeIn();
					$('.bag-checkout').fadeIn();
				}
				
				$.get('cart/get_sum_table',function(data) {
					$('.sum_table').html(data);
				});

			});
		}
	}
};

/*
	return false;
	for (var x in document.forms[formname].elements) {
		try {
			if (document.forms[formname].elements[x].type == 'radio') {
				if (document.forms[formname].elements[x].checked) { 
					stocks_id = document.forms[formname].elements[x].value;
				}			
			}
		} catch(e) { alert(e); }
	}

*/

function addToCart(formname) {
	var stocks_id = 0;
	$('input.'+formname+'-radios').each(function() {
		if ($(this).attr('checked') == true) {
			stocks_id = $(this).attr('value');
		}
	});
	if (stocks_id<1) {
		alert('Please select Your size!');
	}
	else {
		var stock = parseInt($('#stocks_radio_'+stocks_id).attr('stock'));
		
		document.forms[formname].elements['products_versions_stocks_id'].value = stocks_id;
		
		if (stock == 0) {
			document.pmessageform.products_id.value = document.forms[formname].elements['products_id'].value;
			document.pmessageform.products_versions_id.value = document.forms[formname].elements['products_versions_id'].value;
			document.pmessageform.products_versions_stocks_id.value = document.forms[formname].elements['products_versions_stocks_id'].value;
			$('.messagewin').fadeIn();
		}
		else {
				var url = document.forms[formname].action;
	
				var postvarkeys = new Array('products_id','products_versions_id','products_versions_stocks_id');
				var postvars = new Object();
				for (var x in postvarkeys) {
					try {
						var variable = postvarkeys[x];
						postvars[variable] = document.forms[formname].elements[variable].value;
					}
					catch (e) { alert(e); }
				}
	
				$.post(url,postvars,function(data) {
					bag.refreshData(1);
				});

		}
	}

}


function subscribeWaitingForStock() {
	var url = document.forms['pmessageform'].action;
	
	var postvarkeys = new Array('email','products_id','products_versions_id','products_versions_stocks_id');
	var postvars = new Object();
	for (var x in postvarkeys) {
		try {
			var variable = postvarkeys[x];
			postvars[variable] = document.forms['pmessageform'].elements[variable].value;
		}
		catch (e) { alert(e); }
	}
	
	$.post(url,postvars,function(data) {
			parsedData = jQuery.parseJSON(data);
			$('.messagewin .baseresult').fadeOut();
			$('.messagewin .result').fadeOut(function() {
				$('.messagewin .result').html(parsedData['message']);
				$('.messagewin .result').addClass(parsedData['message_class']);
				$('.messagewin .result').fadeIn(function() {
					setTimeout(function() {
						$('.messagewin .result').removeClass(parsedData['message_class']);
						$('.messagewin .result').fadeOut(function() {
							$('.messagewin .result').html('');
						});
						if (parsedData['success'] == 'yes') {
							$('.messagewin').fadeOut(function(){
								$('.messagewin .result').html('');
								$('.messagewin .result').css('display','none');
								$('.messagewin .baseresult').css('display','block');
							});
						}
					},1000);
				});
			});

	});
}


function doSubscribe() {
	$.post('subscribe',
		{ name: document.subscribeform.name.value, email: document.subscribeform.email.value },
		function(data) {
			parsedData = jQuery.parseJSON(data);
			$('#newsletter .result').html(parsedData['message']);
			$('#newsletter .result').addClass(parsedData['message_class']);
			$('#newsletter .result').fadeIn(function() {
				setTimeout(function() {
					$('#newsletter .result').removeClass(parsedData['message_class']);
					$('#newsletter .result').html('');
					$('#newsletter .result').fadeOut();
					if (parsedData['success'] == 'yes') {
						document.subscribeform.reset();
						inputDefaultsInit();
					}
				},1000);
			});
	});
}

function inputDefaultsInit() {
	$('input').each(function() {
		if (this.getAttribute('type') == 'password') {
			inputDefaultValueManager(this,'password','pageload');
		}
		if (this.getAttribute('type') == 'text') {
			inputDefaultValueManager(this,'text','pageload');
		}
	});
}

function inputDefaultValueManager(obj, input_type, event_name) {
	var default_value = obj.getAttribute('default_value');
	var current_type = obj.getAttribute('type');
	var oid = obj.getAttribute('id');
	
	if (default_value != '') {
		if (event_name == 'pageload') {
			//alert(oid);
			$('#'+oid).blur(function() {
				inputDefaultValueManager(obj,input_type,'blur');
			});
			$('#'+oid).focus(function() {
				inputDefaultValueManager(obj,input_type,'focus');
			});
			
			
		}

		if (input_type == 'text') {
			if (event_name == 'focus') {
				if (obj.value == default_value) obj.value = '';
			}
			if (event_name == 'blur' || event_name == 'pageload') {
				if (obj.value.length == 0) {
					if (default_value != '') {
						obj.value = default_value;
					}
				}
			}
		}
		if (input_type == 'password') {
			if (event_name == 'focus') {
				if (current_type == 'text') {
					obj.setAttribute('type','password');
				}
				if (obj.value == default_value) obj.value = '';
			}
			if (event_name == 'blur' || event_name == 'pageload') {
				if (obj.value.length == 0) {
					if (default_value != '') {
						if (current_type == 'password') {
							try {
								obj.setAttribute('type','text');
								obj.value = default_value;
							} catch(e) {}
						}
					}
				}
			}
		}
	}
}
