jQuery.noConflict();

jQuery(document).ready(function(){
	
	//Hide the label if there is content
	jQuery('input:text').each(function(){
		gcToggleLabel(this);
	});	
	
	jQuery('textarea').each(function(){
		gcToggleLabel(this);
	});	
			
	//attach the hover glow
	jQuery('label.inline + input').live('focus',function(){
		gcFocus(this);								
	});
	
	jQuery('textarea').live('focus',function(){
		gcFocus(this);								
	});	
	
	//remove the hover glow
	jQuery('label.inline + input').live('blur',function(){
		gcBlur(this);								
	});
	
	jQuery('textarea').live('blur',function(){
		gcBlur(this);								
	});	
	
	
	//Show and hide the labels
	jQuery('label.inline + input').live('keyup',function(){
		gcToggleLabel(this);		
		checkErrors();
	});
	
	jQuery('label.inline + input').live('blur',function(){
		gcToggleLabel(this);								
	});
	
	jQuery('textarea').live('keyup',function(){
		gcToggleLabel(this);	
	});
	
	jQuery('#zoi_value_MESSAGE-1').live('keyup',function(){
		limitText(this,120);
		checkErrors();
	});
});

var gcFocus = function(el){
	jQuery(el).addClass('focus');

}

var gcBlur = function(el){
	jQuery(el).removeClass('focus');
}

var gcToggleLabel = function(el){
	var inputFieldText = el.value;
	if(inputFieldText.length > 0) { 
		jQuery(el).siblings('label.inline').css('opacity','0');
	} else { 
		jQuery(el).siblings('label.inline').fadeTo('.2','1');
	}
}

var checkErrors = function(){
	if(jQuery('input.error').length < 1) { 
		jQuery('.gcbutton').fadeTo(.2, 1);
	}
}

var validateGCNum = function(el){
	var inputVal = el.value;
	inpuValStripped = inputVal.replace(/ /g,'');
	el.value = inpuValStripped;
}


var limitText = function(el,n) { 
	var areaContents = el.value;
	var idName = el.id;
	var contLength = areaContents.length;
	var contRemaining = n - contLength;
	if( contRemaining < 0 ) { 
		contRemaining = 0;
	}
	document.getElementById(idName+'counter').innerHTML = contRemaining;
	var remainAlertInt = n - 10;
	if(contLength > remainAlertInt) {
		jQuery('#'+idName+'counter').addClass('error'); 	
	} else { 
		jQuery('#'+idName+'counter').removeClass('error'); 	
	}
	if (contLength > n) { 
		var contTrunc = areaContents.slice(0,n);
		el.value = contTrunc;
	}
}


/*function addToCartClick() {
		submitGC = true;
		confBox = '';
		resetValues();
		if (submitGC == true) { 
			document.form0.elements['PAGE'].value = "CART";
			document.form0.submit();
		} else {
			return false;
		}
  }

  function buyAnotherGiftCardClick() {
		submitGC = true;
		confBox = '';
		resetValues();
		if (submitGC == true) { 
			document.form0.elements['GC_ADDED_TO_CART'].value = "TRUE";
			document.form0.elements['PAGE'].value = "GIFT_CARD_DIGITAL_HOME";
			document.form0.submit();
		} else {
			return false;
			
		}
  }
	*/



var submitGCForm = function(form) { 
	var gcMessageText = document.getElementById('zoi_value_MESSAGE-1').value;
	if(gcMessageText == "" || gcMessageText == 'Message (max 120 Characters)') {
		var confBox = confirm("You haven't left a message for your Gift Card. \r\n Are you sure you want to leave this empty?");
		if (confBox == false) { 
			return false;
		}
		else { 
			form.elements['PAGE'].value = "CART";
			form.submit();
		}
	} else { 
		form.elements['PAGE'].value = "CART";
		form.submit();
	}
}
	

var zrShowBalance = function(el){
	zrLightBoxInit();
	setprocessingheight();
	var pars = "PAGE=GIFT_CARD_BALANCE";
			pars += "&AJAX=TRUE";
	var url = "/za/NXN";
	var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: gcBalance});	
}


function gcBalance(request){
	if(request) {
		zrLightBoxDone(request);
	}
	gcValidate = jQuery('#gcbalanceform').validate({
		rules: {
			'gift_card_number': {
				required: true, 
				number: true,
				minlength: 16
			},
			'gift_card_pin': {
				required: 	true, 
				number: true,
				minlength: 4
			}
		},
		messages: {
			'gift_card_number': {
				required: 	"Please enter a Gift Card number",
				number: 		"Enter your 19 digit Gift Card number, no spaces",
				minlength: 	"Enter your 19 digit Gift Card number, no spaces"
			},
			'gift_card_pin': {
				required: 	"Please enter your Gift Card PIN",
				number: 		"Please enter a valid 4 digit PIN",
				minlength: 	"Please enter a valid 4 digit PIN"
			}
		},
		invalidHandler: function(form, validator) {
			jQuery('#gcbalancebox .gcbutton').fadeTo(.2, .7);
		},
		errorPlacement: function(error, element) {
			error.prependTo( element.parent("p") );
		},
		submitHandler: function(form) {
		  
			gcBalanceSubmit();
			return false;
		}
	});
}

var gcBalanceReset = function(){
	gcValidate.resetForm();
	jQuery('div.error').empty();
	jQuery('.gcbalanceinput').each(function(){
		this.value = '';																	
		gcToggleLabel(this);
	});
	jQuery('#gcbalancereset').empty();
}

var gcBalanceSubmit = function(){
	var pars = jQuery('#gcbalanceform').serialize();
			jQuery('#gcbalancebox').load('/za/NXN?PAGE=GIFT_CARD_BALANCE',pars,function(response, status, xhr){
			  //alert(status);
				gcBalance();
				sIFRinit();
			});
	}

