function ECardObject(settings){
	this.defaultSettings = {
		template:"Generic",
		primeDate:null,
		target:"#left-column-target",
		title:""					
	};
	
	var opts = $.extend({}, this.defaultSettings,settings);
	opts.title = opts.title || opts.template; 
	
	
	function buildButton() {
		var dom = jQuery('<input type="radio" name="template" value="'+opts.template+'"/>');
		
		if ($.browser.msie) {
	        dom.click(function () {
	            this.blur();
	            this.focus();
	        });
	    }
		
		dom.change(function(){
      		if ($(this).is(":checked")){	
	      	 	//var template = $(this).val();
	      	 	var template = opts.template;
	      	 	$(".card-wrapper").removeClass("card-selected");
	      	 	$("#card-"+template).addClass("card-selected");
	      	 }
		});

		return dom;
	}
	
	var preview = new launchPreview({url:'/templates/'+opts.template+'/'+opts.template+'.html'});
	
	var base = jQuery('<div class="card-wrapper" id="card-'+opts.template+'">'+
		    		'<div class="card-padding">'+
			    		'<div class="card-title"> '+opts.title+' e-card</div>'+
			    		'<img border="0" class="card-image" src="img/Card_'+opts.template+'.jpg" />'+
			    		'<div class="preview-link">&gt; Click for preview</div>'+
			    	'</div>'+
		    	'</div>');
		    	
	base.find('.card-title').prepend(buildButton());	    		    
	base.find('.preview-link, .card-image').css("cursor","pointer").click(function(){
		//var preview = new launchPreview({url:'/templates/'+opts.template+'/'+opts.template+'.html'});
		preview.launch();
	});
	
	this.create = function(){
		base.appendTo(opts.target);
	}

}

function launchPreview(instanceSettings) {

	this.defaultSettings = {
		parent:null,
		url:"StudentSample.html",
		targetDiv:"#parents-email-preview", //string  ie.  "#helloworld"
		toggle:null,
		modal:0,
		dom:null
	}
	
	var settings = $.extend({}, this.defaultSettings , instanceSettings || {});				

	this.launch = function(){
		//console.dir(settings);
		if (!settings.dom) {
			//console.log("doing ajax calls");	
			$.ajax({
				type: "GET",
				url: settings.url,
				dataType: "html",
				success:function(text){
					//console.log(text);
					settings.dom = text;
					displayPreview(settings.dom);
				},

				complete:function(data){
					//console.log("got to compelte");
				}								
			});
		} else {
			//console.log("using stuff in memory");
			displayPreview(settings.dom);
		}
	}			

	function displayPreview(targetDiv) {
		var sName = $("#yourName").val() || "Delegate Name";
		var sID = $("#yourID").val() || "Delegate ID Number";
		//var sTime = (meetingHolder[$("input[name='MeetingID']:checked").val()])?meetingHolder[$("input[name='MeetingID']:checked").val()].MeetingTime:"Select Meeting in Step 1";
	

		var startString = settings.dom;

		var endString = startString
			.replace(/\<span id=\"ptp_yourName\"\>\<\/span\>/g,sName)
			.replace(/\<span id=\"ptp_yourID\"\>\<\/span\>/g,sID)
									
		//$(targetDiv).html(endString);
		var domString = jQuery('<div>'+endString+'</div>');

		$.openDOMWindow({
			windowSourceID:domString,
			width:1006,
			height:788,
			borderSize:'0',
			modal:settings.modal

		});
	}	
}

function sendForm(passForm) {
	document.getElementById('submitButton').disabled = true;
	document.getElementById('progress').innerHTML = '<img src="img/indicatorwhite.gif" width="16" height="16" />';
	
	myForm = $("#"+passForm).serialize();
	myForm = myForm.replace(/<(.|\n)*?>/gi,"");
	
    //var FixedMessage = replacecarriagereturn(passForm.Message.value,'<br/>');
    //var FixedSalutation = replacecarriagereturn(passForm.Salutation.value,'<br/>');
    /*if (passForm.ProgramLink.value == "") {
    	passForm.ProgramLink.value = "http://www.peopletopeople.com/OurPrograms/CAP/Pages/default.aspx";
    }*/
    
    var emails = countEmails($("#"+passForm+" #toAddress").val());
	var fromName = $("#"+passForm+" #yourName").val();
	var fromEmail = $("#"+passForm+" #yourAddress").val();
    var template = $("input[name='template']:checked").val();

    $.ajax({
    	type:"POST",
    	url:"/InviteEmailProcess.aspx",
    	dataType:"text",
    	data: myForm,
    	error: function (XMLHttpRequest, textStatus, errorThrown) {
			alert("There was an error with the program. Please try again later");
    		$("#serverResponse").css("color","#bf0010").html("There was an error with the program. Please try again later");
    		document.getElementById('submitButton').disabled = false;
			document.getElementById('progress').innerHTML = "";
    		//displayForm(html);
		},
    	success: function(html){
    		//track email as success
   			pageTracker._trackEvent('Emails', template+" E-Card", fromName+" - "+fromEmail, emails);
   			dcsMultiTrack('DCS.dcsuri','/ECardConfirm','WT.ti', template+'%20E-Card','DCSext.sender',fromName+" - "+fromEmail,'DCSext.emailcount',emails);
   			document.getElementById('submitButton').disabled = false;
			document.getElementById('progress').innerHTML = "";
   			
   			if (html==="Your invitations have been sent!") { 
	    		var message = "Your E-Cards have been sent";
	    		alert(message);
	    		$("#serverResponse").css("color","#484848").html(message);
	    		
	    	} else {
	    		alert(html);
	    		$("#serverResponse").css("color","#bf0010").html(html);
	    	}
    	}
    });
    
}

String.prototype.trim = function () {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
};

Array.prototype.clean = function(deleteValue) {
	for (var i=0; i<this.length; i++) {
		this[i] = this[i].trim();
		if (this[i] == deleteValue) {
			this.splice(i,1);
		}
	}
	return this;
};


function countEmails (text) {
	var text = text.trim();
	var emails = new Array;
	var count;
	emails = text.split(";");
	emails.clean("");
	var count = emails.length;				
	return count;

}

