﻿var toggle = false;

var heroImg = $("#hero img");

var settings = { gel: { paddingTop: -50, defaultSwath: ".orange", imgMarginTop: -150},
design: {paddingTop: 25, defaultSwath: ".black", imgMarginTop: -220},
biodegradable: {paddingTop: -45, defaultSwath: ".black", imgMarginTop: -260},
silhouette: {paddingTop: -50, defaultSwath: ".black", imgMarginTop: -200},
contactForm: {originalAct: "", updatedAct: "", proListId: 1835225, testListId: 1664253, proFields: 
     [ 
    		{formClass: "email", soap: "<COLUMN><NAME>EMAIL</NAME><VALUE>||</VALUE></COLUMN>", calc: false },
    		{formClass: "", soap:"<COLUMN><NAME>SOURCE</NAME><VALUE>papermate.com/pages/contact.aspx</VALUE></COLUMN>", calc: false },
    		{formClass: "", soap:"<COLUMN><NAME>DOMAIN</NAME><VALUE>||</VALUE></COLUMN>", calc: "email", part: 1 },
    		{formClass: "", soap:"<COLUMN><NAME>USERNAME_LC</NAME><VALUE>||</VALUE></COLUMN>", calc: "email", part: 0 },
    		{formClass: "city", soap:"<COLUMN><NAME>CITY</NAME><VALUE>||</VALUE></COLUMN>", calc: false },
    		{formClass: "country", soap:"<COLUMN><NAME>COUNTRY</NAME><VALUE>||</VALUE></COLUMN>", calc: false },
    		{formClass: "fname", soap:"<COLUMN><NAME>FIRST_NAME</NAME><VALUE>||</VALUE></COLUMN>", calc: false },
    		{formClass: "lname", soap:"<COLUMN><NAME>LAST_NAME</NAME><VALUE>||</VALUE></COLUMN>", calc: false },
    		{formClass: "zip", soap:"<COLUMN><NAME>POSTAL_CODE</NAME><VALUE>||</VALUE></COLUMN>", calc: false },
			{formClass: "state", soap:"<COLUMN><NAME>STATE_PROVINCE</NAME><VALUE>||</VALUE></COLUMN>", calc: false }
    ]
     
  }
};


$(document).ready(function(){
	var today = new Date();
	if(parseInt(today.getFullYear()) > parseInt($("#copywrite span").text())){
		$("#copywrite span").text(today.getFullYear());
	}
	//alert("done with the page ready stuff");
	//$("#highlight > div").css("display", "block");
	
	if($(".product").length > 0){

		var product = $("#product");

		//alert("product length" + product.length);

		if(product){


			//console.debug("product %o", product);
			
			//need variable number for the different layouts
			pageName = $("#nav ul").attr("class")
			
			var pageSettings = settings[pageName];
			
			do {
			  heroImg = $("#hero img");
			}
			while ( !heroImg);
			
			var newImgUrl = new String("url("+heroImg.attr("src")+")").replace(/ /ig, "%20");
			
			//console.debug("heroImg %o height %d width %d pageName %o pageSettings %o", heroImg, heroImg.height(), heroImg.width(), pageName, pageSettings);
			//console.debug("img %s  newImgUrl %s %o\n height %o width %o", heroImg.attr("src"), newImgUrl, pageSettings.paddingTop, heroImg.height(), heroImg.width());
			
			try { // to get around 0/2 issue
				$("#content").css({paddingTop: (heroImg.height()/2) + pageSettings.paddingTop } );
				$("#hero").find("img").css("display", "none");
				$("#hero").css({height: heroImg.height(), width: heroImg.width(), "background-image": newImgUrl, "margin-top": pageSettings.imgMarginTop });
			} catch(e){
				//alert(e.message);
			}
			
			//console.debug("noHero length %d  %b", $("#ink li:not([noHero='noHero'])").length, ($("#ink li:[noHero='noHero']").length > 0));
			
			if($("#ink").hasClass("hid")){
				//$("#hero").BgImageTransition(newImgUrl);
				//console.log("im hidden hero");
			
				$("#hero").append(heroImg);
			//	console.debug("height %o width %o", heroImg.height(), heroImg.width());
				
				//$("#hero img").removeClass("hid");
				$("#content").css({paddingTop: (heroImg.height()/2) + pageSettings.paddingTop } );
				$("#hero").css({height: heroImg.height(), width: heroImg.width(), "background-image": newImgUrl, "margin-top": pageSettings.imgMarginTop });
			}
			else { 
			 // for dealing with the swatches
				var inks = $("#ink li").length;
				//alert("inks");
				$("#ink li img.swatch").each(function(a){
					var src = $(this).attr("src");
					var li = $(this).parents("li");
					var aTag = li.children("a");
				
					var aBg = aTag.css("backgroundImage").substring(4);
					aBg = aBg.split(")")[0];
				
								
					aTag.css("z-index", a);
				
					
					//console.debug("li class %s\n img src %s   \n bg img src %s  compare %b", li.attr("class"), src,  aBg, (aBg != src) );
					if(aBg != src){
					//	console.debug("not the same new Img bg %s", src);
						aTag.css("background-image", "url("+src+")");
					}
				
			
				});
			
			
				if($("#ink li[noHero='noHero']").length > 0){ // non gel pages 
				//console.debug("nonhero page");
				
				if($("ul.design").length > 0){
				
					$("#ink.barrelDesign li a").live("click", function(event){ // if barrelDesign
						var aTag = $(this);
						setBarrel(aTag); 

						event.preventDefault();
						event.stopPropagation();
					}).mouseenter(function(event){
						var aTag = $(this);
						
						//console.debug("eventTimestamp %o  oldTimeStamp %o  diff %d", event.timeStamp, timeStamp, event.timeStamp - timeStamp);
						if(event.timeStamp - timeStamp > 400){   
				
							setBarrel(aTag);
					
						}
				
						timeStamp = event.timeStamp;
						event.preventDefault();
						event.stopPropagation();

					});

				}
				else { // not barrelDesign
					$("#ink a").live("click", function(event){
					var aTag = $(this);
					$("#ink a").removeClass("active");
					aTag.addClass("active");
					event.preventDefault();
					event.stopPropagation();
				
					})
					.live("mouseenter", function(event){
					var aTag = $(this);
					$("#ink a").removeClass("active");
					aTag.addClass("active");
					event.preventDefault();
					event.stopPropagation();
				
					});
				}	
					
					
				
				}
				else { // gel pens
				$("#ink li a").live("click", function(event){
					var aTag = $(this);
					setInkSwatch(aTag);

					event.preventDefault();
					event.stopPropagation();
				}).mouseenter(function(event){
					var aTag = $(this);
				
					//console.debug("eventTimestamp %o  oldTimeStamp %o  diff %d", event.timeStamp, timeStamp, event.timeStamp - timeStamp);
					if(event.timeStamp - timeStamp > 400){  
				
						setInkSwatch(aTag);
				
					}
				
					timeStamp = event.timeStamp;
					event.preventDefault();
					event.stopPropagation();

				});
				}
			} // swath functionality end
		//	console.debug("defaultSwatch %o  %o", pageSettings.defaultSwatch, $("#ink "+pageSettings.defaultSwatch));
			
			if(	pageSettings.defaultSwatch){
				$("#ink "+pageSettings.defaultSwatch +" a").trigger("click");

			}
			  // page swath defaul setting
			
			// set arrow color
			if($("#pageControl").length > 0){
				var arrowSrc = $("#pageControl").attr("src");
				$(".product #features li").css("background-image", "url("+arrowSrc+")");
			}
			
			// page specific
			 if(pageName == "biodegradable"){
				$("#highlight #ctl00_PlaceHolderProduct_ctl00__ControlWrapper_RichHtmlField .smallText").appendTo($("#highlight"));
				$("#content").addClass(pageName);
			}
			
			
		} // if product end
	
	} // product page end
	if($(".content_block").length > 0){
	   //console.debug("pen page");
	   //$("img", 
	   $("div.content_block").each(function(a, domEl){
	     
		 if($("img[option]", $(domEl)).length > 1){
		 var sel = "<select onchange='updateSel(this)'>";
	      var opt = "";
	      $("img[option]", $(domEl)).each(function(b, domEl2){
	        opt += "<option value='"+$(domEl2).attr("src")+"'>"+$(domEl2).attr("option")+"</option>\n";
	      });
	      var finalSel = sel + opt + "</select>";
	      
	     
	      	$(".product_selection", $(domEl)).append($(finalSel));
	      }
	      
	   });
	}
	if(jQuery.browser.msie){
		if(parseInt(jQuery.browser.version) == 6){
			//alert("container height: "+$("#container").outerHeight(true));
			$("#container").css("height", $("#container").height());
			
			//alert("ink ul height " +$("#ink ul").height()+ " width: "+ $("#ink ul").width());
			
			//$("#ink ul").css({height: $(this).height(), width: $(this).width()});
		}
		
		//$("#container").boxShadow( 8, 8, 8, "#666" );

	}
	
});

$(document).ready(function() {
	$("#commentForm").validate();
});

function limitChars(textarea, limit, infoDiv) {

var text = textarea.value; 
var textlength = text.length;
var info = document.getElementById(infoDiv);

if(textlength > limit)

	{

		info.innerHTML = 'You cannot write more then '+limit+' characters!';
		textarea.value = text.substr(0,limit);
		return false;

	}else{

		//info.innerHTML = 'You have '+ (limit - textlength) +' characters left.';
		return true;

	}

}


function validateLimit(obj, divID, maxchar) {

    objDiv = get_object(divID);

    if (this.id) obj = this;

    var remaningChar = maxchar - trimEnter(obj.value).length;

    if (objDiv.id) {
        objDiv.innerHTML = "(" + remaningChar + " characters remaining)";
    }
    if (remaningChar <= 0) {
        obj.value = obj.value.substring(maxchar, 0);
        if (objDiv.id) {
            objDiv.innerHTML = "(0 characters remaining)";
        }
        return false;
    }
    else
    { return true; }
}

function get_object(id) {
    var object = null;
    if (document.layers) {
        object = document.layers[id];
    } else if (document.all) {
        object = document.all[id];
    } else if (document.getElementById) {
        object = document.getElementById(id);
    }
    return object;
}

function trimEnter(dataStr) {
    return dataStr.replace(/(\r\n|\r|\n)/g, "");
}



var timeStamp = 0;
/*
function buildEmail(bool) {
  //alert("build email" + bool);
  var formSettings = settings.contactForm;

  if(formSettings.updatedAct.length == 0){ // build updatedAct
    var temp = formSettings.originalAct;
     // console.debug("temp %o", temp);
      temp = temp.toString().replace("__doPostBack", "sendEmail();__doPostBack");
      formSettings.updatedAct = temp;
     // console.debug("updated form action btn :%s:  orig %s", formSettings.updatedAct, formSettings.originalAct);
  }
  
  if(bool) {
    $(".submitBtn").removeAttr("onclick")
    $(".submitBtn").click(function(){
	    eval(formSettings.updatedAct);
    });
    //console.debug("submit btn %s", $(".submitBtn").attr("onclick"));
  }
  else {
	$(".submitBtn").removeAttr("onclick").click(function(){
		eval(formSettings.originalAct);
	});
  }
  sendEmail();
}
*/
function sendEmail() {
	//alert("sending the email");
	// xml post http://api2.silverpop.com/XMLAPI post
	var contact = settings.contactForm;
	
	var URL = "http://api2.silverpop.com/XMLAPI";
	var startEnv = "<Envelope><Body><AddRecipient>"
    var listId = "<LIST_ID>"+contact.proListId+"</LIST_ID><CREATED_FROM>1</CREATED_FROM><UPDATE_IF_FOUND>true</UPDATE_IF_FOUND>";
    var endEnv = "</AddRecipient></Body></Envelope>";
    
	var startRemove = "<Envelope><Body> \
<RemoveRecipient> \
<LIST_ID>" + contact.proListId + "</LIST_ID><EMAIL>" + $(".email").find("input").val() + "</EMAIL> \
</RemoveRecipient> \
</Body></Envelope>";
    
		var cols = "";
		var obj = null;
		var emailArr = [];
		
		for(var i=0, len = contact.proFields.length; i < len; i++){
		 //console.debug("proFields %o", contact.proFields[i]);
		  obj = contact.proFields[i];
		 // console.debug("proFields %o   obj %o  classname %s", contact.proFields[i], obj, obj.formClass);
		  if(obj.formClass){
	  		var classN = obj.formClass;
            if($("."+classN+" input").val()){
              // console.debug("class %s input val %s", classN, $("."+classN+" input").val());
               cols += obj.soap.replace("||", $("."+classN+" input").val());
               
               if(classN === "email") {
                  emailArr = $("."+classN+" input").val().split("@");
               }
            }
            else {
               // console.debug("class %s input val %s", classN, $("."+classN+" select").val());
                cols += obj.soap.replace("||", $("."+classN+" select").val());
            }
	   
            
		  }
		  else if(obj.calc == "email"){
		   // console.debug("cal fields %o  emailArr %o  part %d",  emailArr[obj.part], emailArr, obj.part);
  				  cols += obj.soap.replace("||", emailArr[obj.part]);
		  }
		}	

	var soap = ( $("#OptIn").length > 0 ) ? (startEnv + listId + cols + endEnv) : startRemove;
	var queryStr = encodeURI("jsessionid=&xml="+ soap);
	
	//console.debug("queryStr %s", queryStr);
	//console.debug("soapObj %s", soap);
	//console.debug("email %o", emailArr);
	//console.log("start post call");
	
	$("#contactSilver").attr("src", URL+"?"+queryStr);
	/*
	$.ajax({
		  type: 'POST',
		  url: URL,
		  data: queryStr,
		  success: successFunction,
		  dataType: "xml",
		   beforeSend: function(req) {						
						req.setRequestHeader("Method", "POST");
						req.setRequestHeader("Content-Length", queryStr.length);					
						req.setRequestHeader("SOAPServer", URL);
						req.setRequestHeader("SOAPAction", "POST");
												
					 },

		  error: function(XMLHttpRequest, textStatus, errorThrown){
			console.log("ERROR  request %o  status %o  error %o", XMLHttpRequest, textStatus, errorThrown );
		 }
	});
	*/			
	//jQuery.post(URL, {xml: soap} , successFunction, "xml"); 
	//console.log("end post call");
	
}

function setInkSwatch(aTag){
	$("#ink a").removeClass("active");
	aTag.addClass("active");
	var sibImg = aTag.siblings("img.hero");
				//console.debug("sibImg %o", sibImg);
				
	if(!toggle){
		$("#hero").BgImageTransition(sibImg.attr("src"));
		toggle = true;
	}
	else {	
		$("#hero").css("background-image", "url("+sibImg.attr("src")+")");				
		$("#hero2").fadeOut("slow", function(){
					
		});
				
		toggle = false;
	}
}
/* barrel design  */
function setBarrel(aTag){
	$("#ink.barrelDesign a").removeClass("active");
	aTag.addClass("active");
	var sibImg = aTag.siblings("img.hero"); 
	//alert("in set Barrel" + sibImg.length + " toggle " + toggle + " bool " + (!toggle) + " src" +sibImg.attr("src") );
	//console.debug("sibImg %o", sibImg);
				
	if(!toggle){
		//alert("first case" + sibImg.attr("src"));
		try {
		$("#hero").BgImageTransition(sibImg.attr("src"));
		}
		catch(e) {  $("#hero").css("background-image", "url("+sibImg.attr("src")+")")}
		toggle = true;
		
	}
	else {	
		
		$("#hero").css("background-image", "url("+sibImg.attr("src")+")");				
		$("#hero2").fadeOut("slow", function(){
					
		});
			
		toggle = false;
	}

}

function updateSel(dropbox){
//console.debug("dropbox %o", dropbox);
 var select = $(dropbox);
 var src = select.val();
 
 var mainImg = select.parents(".content_block").find(".main-img img");
 mainImg.fadeOut("normal", function(){
   $(this).attr("src", src).fadeIn("normal");
 });
}


// stuff pushed off till after page load
$(window).load(function(){
	if($("a.lightbox").length > 0){
		$.xLazyLoader({
		    js: '/Style%20Library/js/jquery.fancybox-1.2.6.pack.js',
		    css: '/Style%20Library/css/jquery.fancybox-1.2.6.css',
		    success: function(){
		    	var lightBoxContent = $("div[id^='Lb']");
		    	var frameWidth = frameHeight = 0;
		    	if(lightBoxContent.length > 0){
		    		lightBoxContent.each(function(){
	    				frameWidth = $(this).find("img").width();
	    				frameHeight = $(this).find("img").height();
	    				$("a.lightbox").fancybox({frameWidth: frameWidth, frameHeight: frameHeight, hideOnContentClick: false}); 
	    			});
	    		}
		    }
		});
	}
	if($(".rotator").length > 0){
		$.xLazyLoader({
			js: '/Style%20Library/js/jcarousellite_1.0.1.min.js',
			success: function(){
			//alert("loaded the carousel");
			$(".rotator").jCarouselLite({
			   btnNext: ".next",
			   btnPrev: ".prev"
				}).fadeIn("fast", function(){
					$(".rotatorLoader").fadeOut();
				});
			}
						
		});
	}
	/*
	$.xLazyLoader({
		    js: '/Style%20Library/js/modernizr-1.1.min.js',
		    success: function(){
		    	//console.debug("loaded modernizer ");
		    }
		});
	*/
	if(	$('.product_slideshow').length > 0){
	$.xLazyLoader({
		    js: '/Style%20Library/js/jquery.cycle.min.js',
		    success: function(){
		    	$('.product_slideshow').cycle({ 
    					fx:    'fade', 
    					speed:  2500 
 					});
		    }
		});
	
	}
	
    if($(".contactForm").length > 0) {
	    $.xLazyLoader({
		    js: '/Style%20Library/js/jqSOAPclient.js',
		    success: function(){
		    	
				var contactForm = $(".contactForm");
				//alert("contact form");
		
				var formSettings = settings.contactForm;
		
				if(contactForm.find(":checkbox").length > 0){
					 contactForm.find(":checkbox").live("click", function(){
					    sendEmail()
				 });
				}
				if($(".submitBtn").length > 0) {
					//alert("input button");
					var temp = $(".submitBtn").attr("onclick").toString();
					temp = temp.substring(temp.indexOf("{")+1);
					temp = temp.substring(0,temp.indexOf("}")-1);
					//console.debug("temp %s", temp);
					formSettings.originalAct = temp;
					//alert(formSettings.origAction);
				}
		
			}// end success function
		    
		});
    }
	
	var imgpath = "../PublishingImages/";

function showImage(imgName) {
  document.images["mainImg"].src = imgpath+imgName+".jpeg";

  var elmt = document.sample_form.imgMenu;
  for (var i = 0; i < elmt.options.length; i++) {
    if (elmt.options[i].value == imgName) {
      elmt.selectedIndex = i;
      break;
    }
  }
}
	

});
