var BlueOceanCMS = new Class({
	initialize: function(form) {
		
		this.formObj = $(form);
		
		this.reWhitespace = /^\s+$/;
		this.reEmail = /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$/;
		this.reImagePath = /^([a-zA-Z]:)\\(\w[\w ]*.*)+\.(jpg|png)$/;
		this.reImage = /^[_a-zA-Z0-9-]+[^/].(jpg|png)$/;
		this.reGuid = /^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$/;
		this.reNullGuid = /^[0]{8}-[0]{4}-[0]{4}-[0]{4}-[0]{12}$/;
		
	},
	
	_vEmpty: function(s) { return ((s == null) || (s.length == 0)) },
	_vWhitespace: function(s) { return (this._vEmpty(s) || this.reWhitespace.test(s)); },
	_vNumber: function(s) { return (this._vEmpty(s) || this.reNumeric.test(s)); },
	vEmail: function(s) { return (this._vWhitespace(s) || this.reEmail.test(s)); },
	vEmpty: function(s) { return (this._vEmpty(s) || this._vWhitespace(s)); },
	vImagePath: function(s) { return (this._vWhitespace(s) || this.reImagePath.test(s)); },
	vGuid: function(s) { return (this.reGuid.test(s) || !this.reNullGuid.test(s)); },
	
	initListPicker: function(id) {
		oPicker = new ListPicker(
			id, 
			{
				transition: Fx.Transitions.backOut, 
				duration: 700, 
				onClick: function(ev, item) { 
					ev.stop();
					alert(item);
				}
			}
		);
	},
	
	initAlphaListPicker: function(id) {
		oAlphaPicker = new AlphaListPicker(
			id, 
			{
				transition: Fx.Transitions.backOut, 
				duration: 700, 
				onClick: function(ev, item) { 
					ev.stop();
				}
			}
		);
	},
	
	catchKeyPress: function(e, KeyCode, Sender) {
		if(window.ie) {
		    this._removeEnterAndEscEvents(e, KeyCode); 
		    if(KeyCode == '13') { 
				var ButtonName = Sender.getAttribute("TargetButton"); 
				var Button = $(ButtonName);
				if(Button) { 
					Button.focus();
					Button.click();
				}
			}
		}
	},
	
	_removeEnterAndEscEvents: function(e, KeyCode) { 
		if (KeyCode == 13 || KeyCode == 27) { 
			new Event(e).stop();
		}
	},
	
	setFocus: function(id) {
		$(id).focus();
	},
	
	closeControlWin: function(id) {
	//alert(parent.window.opener.location);
	parent.returnValue = id;
	parent.window.opener.location.reload();
	parent.window.opener.focus();
	parent.close();
	},
	
	setReturnValue: function(id) {
		parent.returnValue = id;
	},
	
	editContent: function(id,pageid) {
		locvar=sApplicationPath+'controlWin.aspx?id=' + id + '&pageid=' + pageid;
		window.status = 'Control Window Loading...';
		stats = 'height=555,width=615,';
		stats += 'center=yes,help=no,resizable=yes,scrollbars=yes,';
		stats += 'channelmode=no,fullscreen=no,directories=no,';
		stats += 'status=yes,location=no,menubar=no,titlebar=yes,toolbar=no';
		CtrlWin = window.open (locvar,"ControlWindow",stats,false);
		CtrlWin.focus();
		var Post = 0;
		window.status = '';	
		if (this.vEmpty(Post) && this.vGuid(Post)) {
			window.location.reload();
		}	
	},

	setAnchors: function() {				
		$ES('a.arc_formLink', 'cms_ContentContainer').each(function(a){			
			a.fx = a.effect('opacity', {duration: 200, wait: false});
			a.addEvent('mouseover', function(){ a.fx.start(.5);});
			a.addEvent('mouseout', function(){ a.fx.start(1);});
		}.bind(this));
	},
	
	setClientProfile: function(cpnl,upnl) {
		var hdr = $E('.ksi_expandedSearchHdr');	
		var btnpnl = $('CMS_btnHolder');
		var clientpnl = $(cpnl);
		var userpnl = $(upnl);
		var imgbtn = new Element('img').addClass('ksiCmd').setProperties({
		    src: sApplicationPath + 'engine/assets/images/mini-expand.gif',
		    title: 'Click to view details.'
		}).injectInside(btnpnl);		
		var userbtn = new Element('img').addClass('ksiCmd').setProperties({
		    src: sApplicationPath + 'engine/assets/images/mini-expand.gif',
		    title: 'Click to view details.', align: 'right'
		}).setStyle('padding-right', 11).injectInside(clientpnl);
		this.bindProfilePanel(clientpnl);
		this.bindProfilePanel(userpnl);
		imgbtn.addEvent('click', function(){ 
			clientpnl.fx.start({
				'border-width':[0,1],
				'height':[0,clientpnl.size.size.y+5]
			});
		});		
		userbtn.addEvent('click', function(){ 
			userpnl.fx.start({
				'border-width':[0,1],
				'height':[0,clientpnl.size.size.y+5]
			});
		});
	},
	bindProfilePanel: function(pnl) {
		pnl.size = pnl.getSize();
		pnl.effect('border-width').set(0);
		pnl.effect('height').set(0);
		pnl.fx = new Fx.Styles(pnl,{duration:700,transition:Fx.Transitions.backOut});
	}
});
window.addEvent('domready', function() {BlueOcean = new BlueOceanCMS('CMSForm');}); 

function f_setCMSMessage(ctrl,text) {
	Anthem_InvokeControlMethod(ctrl,'SetMessageText',[text],null);
}
function Anthem_Error(result) {
	alert('Anthem Error: ' + result.error);
}
function Anthem_PreCallBack() {
if ($('disabledZone') != null)
	$('disabledZone').style.visibility = 'visible';
}
function Anthem_CallBackCancelled() {}

function Anthem_PostCallBack() {
if ($('disabledZone') != null)
	setTimeout("$('disabledZone').style.visibility = 'hidden'",50);
}

function showBin(loc) {		
	//locvar=sApplicationPath+'/BinRoutingSheet.aspx?bn=' + binNo;;
	window.status = 'Control Window Loading...';
	stats = 'height=555,width=800,';
	stats += 'center=yes,help=no,resizable=yes,scrollbars=yes,';
	stats += 'channelmode=no,fullscreen=no,directories=no,';
	stats += 'status=yes,location=no,menubar=yes,titlebar=yes,toolbar=yes';
	CtrlWin = window.open (loc,"BinWindow",stats);
	window.status = '';	
	}
function EmailWindow(idvar,modevar) {
	var sTop = screen.height/2 - 250;
	var sLeft = screen.width/2 - 250;
	locvar=sApplicationPath+'EmailForm.aspx?oid='+idvar+'&mode='+modevar;
	stats='toolbar=no,location=no,directories=no,status=no,menubar=no,'
	stats += 'scrollbars=yes,resizable=yes,width=500,height=580,top=' + sTop + ',left=' + sLeft;
	NewsWin = window.open (locvar,"emailForm",stats) 
	}
function PrintWindow() {
	var sTop =  50;
	var sLeft = 20;
	//Mandatory Arguments
	var idvar = arguments[0];
	var modevar = arguments[1]
	//Optional Arguments
	var TypeVar = (arguments[3]) ? arguments[3]:'00000000-0000-0000-0000-000000000000'  ;
	var CountVar = (arguments[2]) ? arguments[2] : 12 ;
	 
	locvar=sApplicationPath+'SampleReport.aspx?oid='+idvar+'&mode='+modevar+'&typevar='+TypeVar +'&count='+CountVar;
	stats='toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=yes,'
	stats += 'width=800,height=500,top=' + sTop + ',left=' + sLeft;
	NewsWin = window.open (locvar,"PrintForm",stats)
	if (arguments[3])  
		setTimeout("__doPostBack('Test','');",2000);
	
	}
function CreateGalleryControl(DivID, WIDTH, HEIGHT, URL, mode, mode2, FlashVars)
{
  var d = document.getElementById(DivID);
  d.innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"' +
     ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ' +
     mode2 + ' width="' + WIDTH + '" height="' + HEIGHT +'" align="middle"  >' +
    ' <param name="movie" value="' + URL + '" />' +
     ' <param name="quality" value="BEST" />' +
	' <param name="scale" value="noscale" />' +
    mode +    
	' <param name="FlashVars" value="xmlDataPath=' + FlashVars + '" />' +
	'<embed src="' + URL + '" width="' + WIDTH + '" height="' + HEIGHT +
	'" align="middle"  quality="BEST" ' + mode2 + ' scale="noscale" type="application/x-shockwave-flash" ' +
	' pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="xmlDataPath='+ FlashVars +'" />';
}
function showAnswer(id){
	var a = $(id);
	if (a.style.display == "none"){
		if (navigator.appName=="Netscape")
			{a.style.display = "table-row";}
		else
			{a.style.display = "block";}}
	else
		{a.style.display = "none";}
	}
