$(document).ready(function() {
  
  PEPS.rollover.init();
  //LoadAllImages();//asynchronously load gallery images
  
    $("#header_newsletter").click(function() {
	  $("#newsletter").show("slow");
	});
	$("#newsletter #newsletter_close").live("click",function() {
	  $("#newsletter").hide("slow");
	});
	
  //grid roll-over flicker
  $("#grid li").hover(function() {
     $(this).find(".shade_div").fadeOut("fast");
   },function(){
     $(this).find(".shade_div").fadeIn(500);
     //$(this).find(".shade_div").show().animate({opacity: 0.6},500);
  });

  $("#grid li").click(function() {
    $("#gallery").show("slow");
	  //$('#slideshow').trigger('goto',[$(this).attr("rel")]);
	  var idx = parseInt($(this).attr("rel"));
	  goToImg(idx);
	  $("#slideshow li[title='" + idx +"'] .caption").show("fast");
  });


  $("#button_close").click(function() {
	  $("#gallery").hide("slow");
	});
	
  $("#prev_button").hover(function() {
	  $(this).css("background-image", "url(images/gallery_arrow_left.png)");
	}, function(){
	  $(this).css("background-image", "none");
	});
	
  $("#next_button").hover(function() {
	  $(this).css("background-image", "url(images/gallery_arrow_right.png)");
	}, function(){
	  $(this).css("background-image", "none");
	});
  
  jQuery.easing.easeOutQuart = function (x, t, b, c, d) {
	  return -c * ((t=t/d-1)*t*t*t - 1) + b;
	};


	$.ajaxSetup ({  
		cache: false  
	}); 
	
	var ajax_load = "<img src='img/load.gif' alt='loading...' />";
	/*  
	$("#subscribe").click(function(){
		alert($("#email").val());
		$("#newsletter")  
			.html(ajax_load)  
			.load(loadUrl, {email: 'brad@jiamini.com', and: 'wtf'});  
	}); 
	*/
	
  $("#subscribe").click(function(){
    sendValue();  
  });
           
  function sendValue(){
    var timestamp = new Date().getTime(); // for cache purposes    
    $.ajax({
      type: "POST",
      url: "inc/email.php",
      data: "email=" + $("#email").val() + "&timestamp=" + timestamp,
      success: function(msg) {
        $('#newsletter').html(msg);
      }
    });
           	
}
		
		
	
	/*
	jQuery(function( $ ){
	$('#slideshow').serialScroll({
		items:'li',
		prev:'#prev_button',
		next:'#next_button',
		offset:-200, //when scrolling to photo, stop 230 before reaching it (from the left)
		start:50,
		//step:1,
		duration:20,
		//force:true,
		stop:true,
		//lock:false,
		cycle:true, //don't pull back once you reach the end
		easing:'easeOutQuart', //use this easing equation for a funny effect
		jump: true //click on the images to scroll to them
	});
});
	*/
	
															 
	$("#prev_button").live("click",function() {
	  var curleft = parseInt($("#slideshow ul").css("left"));
	  
	  if (curleft< 0) {
	    var newleft = curleft + 623;
	    //$("#slideshow ul").css("left",newleft + "px");
		$("#slideshow ul").animate({left:newleft+"px"},1000,jQuery.easing.easeOutQuart);
		var idx = parseInt($(".caption:visible").closest("li").attr("title"));
		$("#slideshow li[title='" + idx +"'] .caption").hide("fast");
		idx = idx - 1;
		$("#slideshow li[title='" + idx +"'] .caption").show("slow");
	  }
	});
	
	$("#next_button").live("click",function() {
	  var curleft = parseInt($("#slideshow ul").css("left"));
	  var maxleft = ($("#slideshow li").length-1) * -623;
	  
	  if (curleft>maxleft) {
	    var newleft = curleft - 623;
	    //$("#slideshow ul").css("left",newleft + "px");
	    $("#slideshow ul").animate({left:newleft+"px"},1000,jQuery.easing.easeOutQuart);
	    var idx = parseInt($(".caption:visible").closest("li").attr("title"));
	    $("#slideshow li[title='" + idx +"'] .caption").hide("fast");
	    idx = idx + 1;
	    $("#slideshow li[title='" + idx +"'] .caption").show("slow");
	   }
	});
	
	 $("#gift_kits_left .gift_kit_thumb").click(function() {
        $("#gift_kits_wrapper").addClass("expanded");
        var newid = "#" + $(this).closest(".gift_kit_choice").attr("id") + "_kit";
        $("#gift_kits_right .gift_kits_right_wrapper").hide();
		$(newid).show("");
        $("#gift_kits_left .gift_kit_choice").removeClass("selected");
        $(this).closest(".gift_kit_choice").addClass("selected");
    });
	
    $("#gift_kits_left .gift_kit_go").click(function() {
        $("#gift_kits_wrapper").addClass("expanded");
        var newid = "#" + $(this).closest(".gift_kit_choice").attr("id") + "_kit";
        $("#gift_kits_right .gift_kits_right_wrapper").hide();
        $(newid).show("");
        $("#gift_kits_left .gift_kit_choice").removeClass("selected");
        $(this).closest(".gift_kit_choice").addClass("selected");
    });
	
	
    
    $("#gift_kits_right .texts_formPurchasedForEmail").blur(function() {
        //if (($(this).val() != "") && ($(this).val() != "Recipient Email Address_")) {
        if ((emailCheck($(this).val()) == true)) {
            var num = $(this).closest(".gift_kit_form").find(".gift_kit_form_num").html().replace("#","");
            var myid = $(this).closest(".gift_kits_right_wrapper").attr("id") + "_" + num;
			$(this).addClass("regularField").removeClass("errorField");
            assembleCart();
        } else {
			$(this).removeClass("regularField").addClass("errorField");
		}
    });
    
    $("#gift_kits_right .gift_kit_add").click(function(){
        var $gk = $(this).closest(".gift_kits_right_wrapper").find(".gift_kits");
        var curamt = $gk.find(".gift_kit_form").length;
        $gk.append($("#blank_form").html().replace('<div class="gift_kit_form_num"></div>','<div class="gift_kit_form_num">#' + (curamt+1) + '</div>'));
    
    
        $("#gift_kits_right .texts_formPurchasedForEmail").blur(function() {
            //if (($(this).val() != "") && ($(this).val() != "Recipient Email Address_")) {
            if ((emailCheck($(this).val()) == true)) {
                var num = $(this).closest(".gift_kit_form").find(".gift_kit_form_num").html().replace("#","");
                var myid = $(this).closest(".gift_kits_right_wrapper").attr("id") + "_" + num;
				$(this).addClass("regularField").removeClass("errorField");
                assembleCart();
            } else {
				$(this).removeClass("regularField").addClass("errorField");
			}
        });
        /*$("#gift_kits_right .gift_kit_form_delete").click(function(){
            deleteForm($(this));
        });*/
    });
    
    $("#gift_kits_right .gift_kit_form_delete").live("click",function(){
        deleteForm($(this));
    });
    
    
    $("#gift_kits_right .checkout_button").click(function() {
        var grandtotal = $("#gift_kits_wrapper").attr("title");
        // validate
        var isInvalid = false;
        var txtToEmail = "The following order was placed online:<br/>\n<br/>\n";
        var firstInvalidTab = "";
        $("#gift_kits_right .gift_kit_form").each(function() {
            var num     = $(this).find(".gift_kit_form_num").html().replace("#","");
            var type    = $(this).closest(".gift_kits_right_wrapper").find(".gift_kit_main_title").html();
            var $from   = $(this).find(".texts_formPurchasedBy");
            var $rname  = $(this).find(".texts_formPurchasedFor");
            var $remail = $(this).find(".texts_formPurchasedForEmail");
            var $date   = $(this).find(".texts_formSendDate");
            var $msg    = $(this).find(".texts_formPersonalMessage");
            var subInvalid = false;
            
            //if (($remail.val()!="")&&($remail.val()!="Recipient Email Address_")&&(emailCheck($remail.val()) == true)) {
            if ((emailCheck($remail.val()) == true)) {
                
                if (($from.val()=="")||($from.val()=="Your Name_")) {
                    $from.removeClass("regularField").addClass("errorField");
                    isInvalid = true;
                    subInvalid = true;
                } else {
                    $from.addClass("regularField").removeClass("errorField");
                }
                if (($rname.val()=="")||($rname.val()=="Recipient Name_")) {
                    $rname.removeClass("regularField").addClass("errorField");
                    isInvalid = true;
                    subInvalid = true;
                } else {
                    $rname.addClass("regularField").removeClass("errorField");
                }
                //if (($remail.val()=="")||($remail.val()=="Recipient Email Address_")||(emailCheck($remail.val()) == false)) {
                if ((emailCheck($remail.val()) == false)) {
                    $remail.removeClass("regularField").addClass("errorField");
                    isInvalid = true;
                    subInvalid = true;
                } else {
                    $remail.addClass("regularField").removeClass("errorField");
                }
                if (($date.val()=="")||($date.val()=="MM/DD/YY_")) {
                    $date.removeClass("regularField").addClass("errorField");
                    isInvalid = true;
                    subInvalid = true;
                } else {
                    $date.addClass("regularField").removeClass("errorField");
                }
                if ($msg.val()=="") {
                    $msg.removeClass("regularField").addClass("errorField");
                    isInvalid = true;
                    subInvalid = true;
                } else {
                    $msg.addClass("regularField").removeClass("errorField");
                }
                if (!subInvalid) {
                    txtToEmail += num + ": " + type + "<br/>\n";
                    txtToEmail += "From: " + $from.val() + "<br/>\n";
                    txtToEmail += "For: " + $rname.val() + " (" + $remail.val() + ")" + "<br/>\n";
                    txtToEmail += "Date: " + $date.val() + "<br/>\n";
                    txtToEmail += "Message: " + $msg.val() + "<br/>\n<br/>\n";
                } else if (firstInvalidTab=="") {
                    firstInvalidTab = type;
                }
            }
        });
     
        
        if (!isInvalid) {
          if (grandtotal!="") {
            // send email to brad
            txtToEmail += "Grand Total: " + grandtotal + "<br/>\n<br/>\n";
            
            
            var timestamp = new Date().getTime(); // for cache purposes  
			//alert("here1");
            $.ajax({
              type: "POST",
              url: "emailorder.php",
              data: "txtToEmail="+txtToEmail+"&timestamp="+timestamp,
              success: function(msg) {}
            });
			//setTimeout(alert(''),500);
             alert("You will now be directed to Paypal to finish your order.");
                // send to paypal 
                //https://www.paypal.com/cgi-bin/webscr?&cmd=_xclick&business=brad@jiamini.com&item_name=Jiamini%20General%20Donation&no_shipping=0&no_note=1&currency_code=USD&amount=0&tax=0&lc=US&bn=PP-DonationsBF
                var paypalURL = "https://www.paypal.com/cgi-bin/webscr?&cmd=_xclick&business=brad@jiamini.com&item_name=Jiamini%20Gift%20Kit%20Purchase&no_shipping=0&no_note=1&currency_code=USD&amount=" + grandtotal + "&tax=0&lc=US&bn=PP-DonationsBF";
                window.location = paypalURL;
            } else { // add messaging "Nothing in cart" ?
            }
        } else {
            switch(firstInvalidTab) {
                case "Tutoring Kit": goToTab("#tutoring_kit","#tutoring"); break;
                case "Malaria Prevention Kit": goToTab("#malaria_kit","#malaria"); break;
                case "Texts For Tanzania Kit": goToTab("#texts_kit","#texts"); break;
                case "Youth on the Streets Outreach Kit": goToTab("#joys_kit","#joys"); break;
                case "Girls Empowerment Kit": goToTab("#girls_kit","#girls"); break;
            }
        }
    });
});

function goToTab(newid,subbox) {
    $("#gift_kits_wrapper").addClass("expanded");
    $("#gift_kits_right .gift_kits_right_wrapper").hide();
    $(newid).show("");
    $("#gift_kits_left .gift_kit_choice").removeClass("selected");
    $(subbox).addClass("selected");
}

function deleteForm($me) {
    var $kits = $me.closest(".gift_kits");
    $me.closest(".gift_kit_form").remove();
    var kitctr = 1;
    $kits.find(".gift_kit_form").each(function(){
        $(this).find(".gift_kit_form_num").html("#" + kitctr);
        kitctr++;
    });
	assembleCart();
}

function assembleCart() {
    var cartctr     = 1;
    var tutoringctr = 0;
    var malariactr  = 0;
    var textctr     = 0;
    var joysctr     = 0;
    var girlsctr    = 0;
    var grandtotal  = 0;
    $("#gift_kits_right .texts_formPurchasedForEmail").each(function() {
        if (($(this).val() != "") && ($(this).val() != "Recipient Email Address_")) {
            switch ($(this).closest(".gift_kits_right_wrapper").attr("id")) {
                case "tutoring_kit": tutoringctr++; break;
                case "malaria_kit": malariactr++; break;
                case "texts_kit": textctr++; break;
                case "joys_kit": joysctr++; break;
                case "girls_kit": girlsctr++; break;
            }
        }
    });
    var carttxt = "";
    if (tutoringctr>0) {
        carttxt += '<li><span class="order_details_num">[' + cartctr + ']</span><span class="order_details_title">Tutoring Kit</span><div class="order_summary">' + tutoringctr + ' Kit';
        if (tutoringctr>1) { carttxt += "s"; }
        carttxt += ', $' + (tutoringctr*25) + '</div></li>\n';
        //$("#gkp_tutoring").html("$"+(tutoringctr*25));
        $("#gka_tutoring").html("[" + tutoringctr + "]");
        grandtotal += tutoringctr*25;
        cartctr++;
    }
    if (malariactr>0) {
        carttxt += '<li><span class="order_details_num">[' + cartctr + ']</span><span class="order_details_title">Malaria Prevention Kit</span><div class="order_summary">' + malariactr + ' Kit';
        if (malariactr>1) { carttxt += "s"; }
        carttxt += ', $' + (malariactr*40) + '</div></li>\n';
        //$("#gkp_malaria").html("$"+(malariactr*40));
        $("#gka_malaria").html("[" + malariactr + "]");
        grandtotal += malariactr*40;
        cartctr++;
    }
    if (textctr>0) {
        carttxt += '<li><span class="order_details_num">[' + cartctr + ']</span><span class="order_details_title">Text For Tanzania Kit</span><div class="order_summary">' + textctr + ' Kit';
        if (textctr>1) { carttxt += "s"; }
        carttxt += ', $' + (textctr*70) + '</div></li>\n';
        //$("#gkp_texts").html("$"+(textctr*70));
        $("#gka_texts").html("[" + textctr + "]");
        grandtotal += textctr*70;
        cartctr++;
    }
    if (joysctr>0) {
        carttxt += '<li><span class="order_details_num">[' + cartctr + ']</span><span class="order_details_title">Youth Outreach Kit</span><div class="order_summary">' + joysctr + ' Kit';
        if (joysctr>1) { carttxt += "s"; }
        carttxt += ', $' + (joysctr*100) + '</div></li>\n';
        //$("#gkp_joys").html("$"+(joysctr*100));
        $("#gka_joys").html("[" + joysctr + "]");
        grandtotal += joysctr*100;
        cartctr++;
    }
    if (girlsctr>0) {
        carttxt += '<li><span class="order_details_num">[' + cartctr + ']</span><span class="order_details_title">Girls Empowerment Kit</span><div class="order_summary">' + girlsctr + ' Kit';
        if (girlsctr>1) { carttxt += "s"; }
        carttxt += ', $' + (girlsctr*150) + '</div></li>\n';
        //$("#gkp_girls").html("$"+(girlsctr*150));
        $("#gka_girls").html("[" + girlsctr + "]");
        grandtotal += girlsctr*150;
    }
    $("#gift_kits_right .order_details ul").html(carttxt);
    $("#gift_kits_wrapper").attr("title",grandtotal);
}


function goToImg(idx) {
  var newleft = idx*-623;
  $("#slideshow ul").animate({left:newleft+"px"},1000,jQuery.easing.easeOutQuart);
}


/////////////////////////////////////////Donate Form Stuff
// if user enters text in the Other text field on donation form, uncheck the fixed contribution radio buttons
function checkOther(form_in) {
   var radioGrp = form_in.amount_radio;
   for (i=0; i < radioGrp.length; i++) {
	  if (i != radioGrp.length-1 ) { //the Other radio button must be the last one in the array
		radioGrp[i].checked=false;
	  } else {
		radioGrp[i].checked=true;
	  }
	}
}
						
// if user clicks a fixed contribution amount on donation form, clear the Other text field
function clearOther() {
   document.donateform.other_amount.value="";
}

function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}
var minamt = 5;
function ChkAmt (obj1) {  // check any qty limits on items
	var amt;
	amt = obj1.amount.value;

	if (isNaN (amt)) {
		alert ("Enter a valid number for amount!");
		ClrAmt ();            // always clear the values!
	return false;
	}
  
	if (amt < minamt) {
		alert ("The minimum donation is $" + minamt + ".");

		ClrAmt ();
		return false;
	}
			
	ClrAmt ();
	return true;
}

function ClrAmt () {  // Clear out the limits
	minamt = 5.00;   //set the minimum amount for a donation
}


function validate() {
	var valid = true;
	amount_value = getCheckedValue(document.donateform.amount_radio);
  	if ( amount_value == 'other') {
  		document.donateform.amount.value = document.donateform.other_amount.value;
	} else {
		document.donateform.amount.value = amount_value;
	}

  	// If no errors, submit form.
	if(!ChkAmt(document.donateform)) return false;
  	return valid;
}




///////////////////////////////////////////Gift Kit Stuff
function emailCheck(str) {
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   //alert("Invalid E-mail Address")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   //alert("Invalid E-mail Address")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    //alert("Invalid E-mail Address")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    //alert("Invalid E-mail Address")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    //alert("Invalid E-mail Address")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    //alert("Invalid E-mail Address")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    //alert("Invalid E-mail Address")
		    return false
		 }
 		 return true					
}



function kitValidation(formID) {
	var flag = true;
	if(document.getElementById(formID + "PurchasedFor").value == "Recipient Name_"){
		document.getElementById(formID + "PurchasedFor").className = "errorField";
		flag = false;
	}else{
		document.getElementById(formID + "PurchasedFor").className = "regularField";
	}
	
	var email = document.getElementById(formID + "PurchasedForEmail").value;
	if( (email == "Recipient Email Address_") || (emailCheck(email) == false) ){
		document.getElementById(formID + "PurchasedForEmail").className = "errorField";
		flag = false;
	}else{
		document.getElementById(formID + "PurchasedForEmail").className = "regularField";
	}
	if (document.getElementById(formID + "PurchasedBy").value == "Your Name_"){
		document.getElementById(formID + "PurchasedBy").className = "errorField";
		flag = false;
	}else{
		document.getElementById(formID + "PurchasedBy").className = "regularField";
	}
	if (document.getElementById(formID + "PersonalMessage").value == ""){
		document.getElementById(formID + "PersonalMessage").className = "errorField";
		flag = false;
	}else{
		document.getElementById(formID + "PersonalMessage").className = "regularField";
	}
	if (document.getElementById(formID + "SendDate").value == "MM/DD/YY_"){
		document.getElementById(formID + "SendDate").className = "errorField";
		flag = false;
	}else{
		document.getElementById(formID + "SendDate").className = "regularField";
	}
	return flag;
}


///////////////////////////////////Gallery loader stuff
gLoadSpinnerUrl = 'images/ajax-loader.gif';
gFailImage = 'images/ajax-loader.gif';
//gFailImage = 'images/house_thumb.jpg';

function LoadThisImage(loader, pCallback){
   image_src = loader.attr('src');
   img = $(new Image());
   img.hide();

   img.load(function() {
      cb_js = loader.get(0).getAttribute('onload');
      onload_cb = function(){
	      eval(cb_js);
      }

      loader.html(this);
      
      loader.removeClass('loadable-image');
      loader.removeAttr('src');
      loader.removeAttr('onload');
      
      $(this).show();
      
      if (onload_cb){
	      onload_cb($(this));
      }
      
      if (pCallback){
	      cb = pCallback;
	      cb($(this));
      }
      
   })
   .error(function() { $(this).attr('src', gFailImage).show(); }).attr('src', image_src).show();

   //alert(img.attr('src') + ' loading/loaded');
}

function LoadImage(pSelector, pCallback){
   var loader = $(pSelector);
   loader.html('<img src="' + gLoadSpinnerUrl + '"/>');

   LoadThisImage(loader, pCallback);
}

function LoadAllImages(){
	//alert('yep');
   $('#gallery .loadable-image').each(function(){
      var loader = $(this);
      loader.html('<img src="' + gLoadSpinnerUrl + '"/>');
      //Load images asynchronously
      setTimeout(function() { LoadThisImage(loader); }, 10);
      //LoadThisImage(loader);
   });
}



////////////////////////////////////////The drop down menu stuff

PEPS = {};

PEPS.rollover =
{
   init: function()
   {
      this.preload();
     
      $(".menu_item").hover(
         function () { $(this).attr( 'src', PEPS.rollover.newimage($(this).attr('src')) ); },
         function () { $(this).attr( 'src', PEPS.rollover.oldimage($(this).attr('src')) ); }
      );
   },

   preload: function()
   {
      $(window).bind('load', function() {
         $('.menu_item').each( function( key, elm ) { $('<img>').attr( 'src', PEPS.rollover.newimage( $(this).attr('src') ) ); });
      });
   },
   
   newimage: function( src )
   {
      return src.substring( 0, src.search(/(\.[a-z]+)$/) ) + '_on' + src.match(/(\.[a-z]+)$/)[0];
	  alert("here");
   },

   oldimage: function( src )
   {
      return src.replace(/_on\./, '.');
   }
};


/////////////////////newsletter hit enter
function noEnter(e){
	var characterCode
	if(e && e.which){
		e = e
		characterCode = e.which
	} else {
		e = event
		characterCode = e.keyCode
	}	 
	if(characterCode == 13){
		joinList()
		return false
	} else {
		return true
	}
}

function joinList (theId) {
	var objThatForm = document.forms.mlform;
	var myData = "email=" + objThatForm.email.value;
	ajax = new sack('inc/email.php');
	ajax.requestFile = 'inc/email.php';
	ajax.AjaxFailedAlert = "hmm...";
	ajax.element = 'emailcontainer';
	ajax.runAJAX(myData);
}

		