// Put jQuery in no conflict mode.
jQuery(document).ready(function($){

	// Focus the first element on any page.
	$('form:not(.subscribe) :input:visible:first').focus();
	
		
	if ( $('#slider').length >= 1 ){
		$('#slider').cycle({
			fx: 'fade',
			speed: 'slow',
			timeout: 8000,
			//easing: 'easeInOutBack',
			pager:  '#slide-nav',
			slideExpr: 'div.slide'
		});
	}

	
	$(".contact-us-button, #feedback-tab").colorbox({ 
		inline:true, 
		href:"#feedback-form",
		onComplete: function(){
			$('form:not(.subscribe) :input:visible:first').focus();	
		}
	});

	$('.download').colorbox({ 
		inline:true, 
		href:"#download-form",
		onComplete:function(){
			var download = $(this);
			if (download.hasClass('logged-in-user')){
				$('#download-form').addClass('loading');
				$('#download-form').append('<span class="loading-text">Loading...</span>');
				var user_email = $('#download-user-email').text();
				var user_name = $('#download-user-name').text();
				$("#input_5_1").attr( 'value', user_name );
				$("#input_5_2").attr( 'value', user_email );
				$("#input_5_3").attr( 'value', $(this).attr('href') );
				$("#gform_5").submit();
			}else {	
				$('form:not(.subscribe) :input:visible:first').focus();	
				$("#input_5_3").attr( 'value', $(this).attr('href') );
			}	
		},
		onClosed:function(){ window.location.reload(); }
	});

	$('.ready-download').live('click', function(){
		setTimeout(function(){
			$.colorbox.close();
		}, 2500);
	});

	var $gallery = $('a[rel="product-screenshot"]').colorbox(); 
	$('.screenshots').click(function(e){ 
 	 	e.preventDefault(); 
 	 	$gallery.eq(0).click(); 
	});

	$('.sidebar-screenshot').colorbox({rel:'sidebar-screenshot'});

	// Validate Credit Card
	function isCreditCard( st ) {
	 	
	 	if (st.length > 19){
	 		return (false);
	 	}
	 	
	 	sum = 0; mul = 1; l = st.length;

	 	for (i = 0; i < l; i++) {
	 		digit = st.substring(l-i-1,l-i);
	 		
	 		tproduct = parseInt(digit ,10)*mul;
	 		
	 		if (tproduct >= 10){
	 			sum += (tproduct % 10) + 1;
	 		}else{
	 			sum += tproduct;
	 		}

	 		if (mul == 1) {
	 			mul++;
	 		}else{
	 			mul--;
	 		}

	 	}

	 	if ((sum % 10) == 0){
	 		return (true);
	 	}else{
	 		return (false);
	 	}

	}

	// Visa
	function isVisa(cc) {
		if (((cc.length == 16) || (cc.length == 13)) &&	(cc.substring(0,1) == 4)) {
	 		return isCreditCard(cc);
	 	}
	 	return false;
	} 

	// Master Card
	function isMasterCard(cc) {
	 	firstdig = cc.substring(0,1);
	 	seconddig = cc.substring(1,2);
	 	
	 	if ((cc.length == 16) && (firstdig == 5) && ((seconddig >= 1) && (seconddig <= 5))){
	 		return isCreditCard(cc);
	 	}
	 	return false;
	}

	// American Experess
 	function isAmericanExpress(cc) {
 		firstdig = cc.substring(0,1);
 		seconddig = cc.substring(1,2);
 		if ((cc.length == 15) && (firstdig == 3) && ((seconddig == 4) || (seconddig == 7))){
 			return isCreditCard(cc);
 		}
 		return false;
 	}
 	
 	// Discover Card
	function isDiscover(cc) {
		first4digs = cc.substring(0,4);
	 	if ((cc.length == 16) && (first4digs == "6011")){
	 		return isCreditCard(cc);
	 	}
		return false;
	}

	var ccn = $('#ccnum');

	ccn.live( 'blur', function(){

		var number = $(this).val(),
				ct  = $('#cardtype');

		if ( isVisa(number) ){
			ct.val('Visa');
			//console.log('Visa');
		}

		if ( isMasterCard(number) ){
			ct.val('MasterCard');
			//console.log('MasterCard');
		}

		if ( isAmericanExpress(number)){
			ct.val('American Express');
			//console.log('American Express');
		}

		if ( isDiscover(number) ) {
			ct.val('Discover');	
			//console.log('Discover');
		}

	});

	// Masked Definition Function.
	$("#billing_phone, #address_phone, #input_2_4, #input_3_3, #address_fax,#input_6_5").mask("(999) 999-9999");

	// Create An Account

	if ( $('.already-registered').length != 0 ) {
		var login_form = $('form.login'),
				showlogin  = $('.showlogin');

		login_form.hide();
		showlogin.toggle(function(){
			login_form.slideDown();
		}, function(){
			login_form.slideUp();
		});
	
	}

	$('.page-id-280 .shop_table,.page-id-277 .shop_table').after('<div id="print-link"><a href="#print">Printable Reciept</a></div>');
 	$('#print-link a').click(function() {
  		window.print();
  		return false;
 	});

});
