if(trus)
{}else{
	var trus = {};
}

trus.dgcStep2Validate = function (dgcForm){
	var eleType, eleValue, elementIndex;
	var dgc_cardValueFlag = false;
	var dgc_rEmail = '';
	var elementValid = new Array(dgcForm.elements.length);
	var regex = /^[-_.a-zA-Z0-9]+@[-_.a-zA-Z0-9]+\.[a-zA-Z0-9]+$/;
	var dgcStep2Valid = true;
	for(i=0; i<dgcForm.elements.length; i++){
		elementValid[i] = true;
	}
	$$('.hasError').each(function(el){
		el.removeClassName('hasError');
	});
	$$('.highLightRow').each(function(el){
		el.removeClassName('highLightRow');
	});
	for(i=0; i<dgcForm.elements.length; i++)
	{
		if(dgcForm.elements[i].type == "text" || dgcForm.elements[i].type == "select-one")
		{
			eleType = dgcForm.elements[i].name.substr(0, dgcForm.elements[i].name.indexOf("["));
			eleValue = dgcForm.elements[i].value;
			elementIndex = dgcForm.elements[i].id.substr(dgcForm.elements[i].id.lastIndexOf("_")+1);
			switch(eleType)
			{
				case "dgc_selCardVal":
					dgc_cardValueFlag = false;
					if(!isNaN(eleValue) && eleValue > 0)
						dgc_cardValueFlag = true;
					break;
				case "dgc_custCardVal":
					if(!dgc_cardValueFlag && !isNaN(eleValue) && eleValue > 0)
					{	
						dgc_cardValueFlag = true;
					}
					if(!dgc_cardValueFlag)
					{	// HighLight this cardValue row
						$('dgc_cardValue_'+elementIndex+'_DIV').addClassName('highLightRow');
						elementValid[elementIndex] = false;
					}
					break;
				case "dgc_rName":
				case "dgc_sName":
					if(eleValue.length <= 0)
					{	// HighLight this Recipient's name or Sender's name row
						$(dgcForm.elements[i].id+'_DIV').addClassName('highLightRow');
						elementValid[elementIndex] = false;
					}
					break;
				case "dgc_rEmail":
					if(eleValue.length <= 0 || !regex.test(eleValue))
					{	// HighLight this Recipient's email row
						$(dgcForm.elements[i].id+'_DIV').addClassName('highLightRow');
						elementValid[elementIndex] = false;
					}else
						dgc_rEmail = eleValue;
					break;
				case "dgc_rEmailConfirm":
					if(dgc_rEmail.length > 0)
					{ 
						if(eleValue.length <=0 || !regex.test(eleValue) || eleValue != dgc_rEmail)
						{	// HighLight this Recipient's confirm email row
							$(dgcForm.elements[i].id+'_DIV').addClassName('highLightRow');
							elementValid[elementIndex] = false;
						}else
							dgc_rEmail = '';
					}else if(eleValue.length <=0 || !regex.test(eleValue))
					{	
						$(dgcForm.elements[i].id+'_DIV').addClassName('highLightRow');
						elementValid[elementIndex] = false;
					}
					break;
				default:	
					break;
			}
		}
	}
	for(i=0; i<dgcForm.elements.length; i++){
		if(elementValid[i] == false)
		{	$('dgc_customize_'+i).addClassName('hasError');
			dgcStep2Valid = false;
		}
	}
	if(dgcStep2Valid)
		dgcForm.submit();

};
var modalBoxShare;
Event.observe(window, 'load', function(){
	if($('dgcStep2')){
		modalBoxShare = new Df.Modal();
		modalBoxShare.pars.animateHolder = {
			time: 100,
			pause: 50,
			backgroundColor: '#666',
			opacity: 0.5,
			selectors: ['opacity']
		}
		modalBoxShare.pars.animateDialog = {
			time: 100,
			pause: 50,
			opacity: .99,
			selectors: ['opacity']
		}
		modalBoxShare.pars.minWidth= 'DGCWrapper'
		modalBoxShare.pars.minHeight= document.body
		
		modalBoxShare.set()
	
		modalBoxSharePP = new Df.Modal();
		modalBoxSharePP.pars.animateHolder = {
			time: 100,
			pause: 50,
			backgroundColor: '#666',
			opacity: 0.5,
			selectors: ['opacity']
		}
		modalBoxSharePP.pars.animateDialog = {
			time: 100,
			pause: 50,
			opacity: .99,
			selectors: ['opacity']
		}
		modalBoxSharePP.pars.backgroundClassName = 'holderPP'
		modalBoxSharePP.pars.dialogClassName = 'dialogHolderPP'
		modalBoxSharePP.pars.minWidth= 'DGCWrapper'
		modalBoxSharePP.pars.minHeight= document.body
		modalBoxSharePP.set()
	}
	$$(" .removePopup a.close").each(function(el){
        el.observe("click", function(e){
        	$('removeInstanceId').writeAttribute("value", "");
    });
});


	
});

trus.dgcRemove = function(instanceId){
	if(modalBoxShare){
		modalBoxShare.setDomNode($$('.removePopup')[0]);
		modalBoxShare.show();
		if((Df.browser()).ie6){
			var o = document.viewport.getScrollOffsets()
			$$('.dialogHolder')[0].setStyle({top:o.top - 100+"px", height:document.body.getHeight() - o.top - 1000 +"px"})
			Event.observe(window, "scroll", trus.dgcDialogPosition)
		}
		return false;
	}
};

trus.dgcDialogPosition = function(){
	if($$('.dialogHolder')[0].style.display == 'block'){
		try{
			var newOffset = document.viewport.getScrollOffsets()
			$$('.dialogHolder')[0].setStyle({top:newOffset.top - 100+"px", height:document.body.getHeight() - newOffset.top - 1000 +"px"})
		}catch(err){}
	}else{
		Event.stopObserving(window, "scroll", trus.dgcDialogPosition)
	}
}
trus.dgcPreviewInit = function(instanceId){
	$('PPDGCRecipientName').innerHTML = "[ recipient ]";
	if($("digitalGiftCardQuantity"+instanceId+".toName").getValue())
		$('PPDGCRecipientName').innerHTML = $("digitalGiftCardQuantity"+instanceId+".toName").getValue();
	$('PPDGCSenderName').innerHTML = "[ Sender Name ]";
	if($("digitalGiftCardQuantity"+instanceId+".fromName").getValue())
		$('PPDGCSenderName').innerHTML = $("digitalGiftCardQuantity"+instanceId+".fromName").getValue();
	$('PPDGCGiftMessage').innerHTML = "[Optional personalized gift message field: You may include a personal message to the recipient, or you may leave it blank, if you prefer.]";
	if($("digitalGiftCardQuantity"+instanceId+".message").getValue())
		$('PPDGCGiftMessage').innerHTML = $("digitalGiftCardQuantity"+instanceId+".message").getValue();
	$('PPDGCAmount').innerHTML = "$xxx";
	if($("digitalGiftCardQuantity"+instanceId+".giftAmount").getValue() != -1)
		$('PPDGCAmount').innerHTML = "$"+eval($("digitalGiftCardQuantity"+instanceId+".giftAmount").getValue());
	else if($("digitalGiftCardQuantity"+instanceId+".giftAmountAdHoc").getValue())
		$('PPDGCAmount').innerHTML = "$"+eval($("digitalGiftCardQuantity"+instanceId+".giftAmountAdHoc").getValue());
	$('PPDGCImg').src = $$("#dgc_customize_"+instanceId+" .dgcImage img")[0].src;
};
trus.dgcPreview = function(instanceId){
	if(modalBoxSharePP){
		trus.dgcPreviewInit(instanceId);
		var offsetPositionVar = $('previewBtn_'+instanceId).viewportOffset();
		var heightOfPP = ($$('.previewPopup')[0].getHeight() < 445 )? $$('.previewPopup')[0].getHeight() + 83 : $$('.previewPopup')[0].getHeight()+2;
		var widthOfPP = 526;
		var pointerLeftPos = offsetPositionVar[0] - (widthOfPP/2);
		var pointerBottomPos = offsetPositionVar[1] - heightOfPP;
		$$('.previewPopup')[0].style.left = pointerLeftPos+'px'
		$$('.previewPopup')[0].style.top = pointerBottomPos+'px'
		$$('.previewPopup')[0].style.marginTop = '0px'

		modalBoxSharePP.setDomNode($$('.previewPopup')[0]);
		modalBoxSharePP.show();
		return false;
	}
};