var element_y;
var swiffy;
var lightbox;
var auto_search_data;

function loadURL(url,div,args) {
	div.set('url',url);
	new Request({
		url: url,
		data: args,
		onComplete: function(response) { 
			if(response == 'too many') {
				$('out_of_stock').setStyle('display','block');
				$('out_of_stock').set('opacity','0');
				$('out_of_stock').fade('in');
				$('add_to_cart_button').innerHTML='add to cart';
				return;
			}else{
				div.innerHTML = response;
			}
			if(args && args.onComplete)
			args.onComplete();
		}
	}).send();
}

function sendRequest(url) {
	new Request({
		url: url,
		data: {
			email: $('request_email').value,
			product_id: $('request_product_id').value,
			product_option_id: $('request_product_option_id').value
		},
		method: 'post',
		onComplete: function(response) { 
			if(response=='false')
			alert('We need a valid email address!');
			if(response=='success') {
				$('request_email').value = '';
				$('request_email').blur();
				$('confirmation').setStyle('display','block');
				$('confirmation').setStyle('opacity',0);
				$('confirmation').fade('in');
			}
		}
	}).send();
}

function getAutoSearchData() {
	new Request({
		url: base_url + 'ajax/misc/auto_search_data',
		onComplete: function(response) {
			auto_search_data = JSON.decode(response);
		}
	}).send();
}

function refreshItem(who,args) {
	loadURL(who.get('url'),who,args);
}

function loadProductImages(url,second_url,div) {
	lightbox.loadURL(base_url+'/ajax/misc/image_upload',{ onComplete: function() { setupUpload(url,second_url,div); } });
}

function addMoreImages() {
	swiffy.browse({'Images (*.jpg, *.jpeg, *.gif, *.png)': '*.jpg; *.jpeg; *.gif; *.png'});
}

function check_payment(input) {
	for(var i=0; i<input.options.length; i++) 
	{
		$('payment_details_'+input.options[i].value).setStyle('display','none');
	}
	$('payment_details_'+input.value).setStyle('display','block');
}

function form_submit(form,response_container,args) {
	if(response_container)
	response_container.value = "saving...";
	
	var textareas = $$('.tinymce_input');
	for(var i=0; i<textareas.length; i++) {
		tinyMCE.execCommand('mceRemoveControl', true, 'tinymce_input_'+i);
	}
	
	new Request({
		url: form.action,
		data: form,
		method: form.method ? form.method : 'post',
		onComplete: function(response) { 
			if(response_container)
			response_container.value = 'saved';
			
			var textareas = $$('.tinymce_input');
			for(var i=0; i<textareas.length; i++) {
				tinyMCE.execCommand('mceAddControl', true, 'tinymce_input_'+i);
			}
			
			if(args && args.onComplete) args.onComplete();
		}
	}).send();
}

function isNumeric(strString)
{
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}