function fancyboxSetCancel(div) {
	div.find('.btnCancel').click(function() {
		$.fancybox.close();
	  return false;
	});
}


function fancyboxSetSubmit(div) {
	div.find('form').submit(function() {
	  var data = $(this).serialize();
	  $.post(this.getAttribute('action')+'?ajax=1',data,
	  	function(msg) {
				// check if it's JSON
				var jsonObj;
				try {jsonObj = eval('('+msg+')');}
				catch(err) {jsonObj = false;}
				
				if(jsonObj) {
					if(jsonObj.url)
						window.location.href = jsonObj.url;
				}
				else {
	    		div.html(msg);
	    		$.fancybox.resize();
	    		fancyboxSetCancel(div);
					fancyboxSetSubmit(div);
				}
	    });
	  return false;
	});
}


function errAlert(exception,noStack) {
	if(typeof(noStack)=='undefined')
		noStack = true;

	var str = '';
	for(i in exception) {
		if(i=='channel')
			continue;
	    if(!(i=='stack' && noStack==true))
	    	str += i + ': ' + exception[i] + '\n';
	}
	    
/* 	alert(str); */
	document.write(str);
}

function isValidEmail(str) {
   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}

function IsNumeric(input)
{
   return (input - 0) == input && input.length > 0;
}

function numFormat(num){
	num="" + Math.floor(num*100.0 + 0.5)/100.0;
	var i=num.indexOf(".");
	if ( i<0 ) num+=".00";
	else {
		num=num.substring(0,i) + "," + num.substring(i + 1);
		var nDec=(num.length - i) - 1;
		if ( nDec==0 ) num+="00";
		else if ( nDec==1 ) num+="0";
		else if ( nDec>2 ) num=num.substring(0,i + 3);
	}
	
	return num;
}

