//window.addEvent('domready', function() {
window.addEvent('load', function() {
	// JavaScript Document	//PAGE VIEW NAVIGATION / SHOW+HIDE TABS
	MenuEls = new Array('pageNav', 'tabMenu', 'companyTabs', 'skinTabs1', 'skinTabs2', 'skinTabs3', 'skinTabs4', 'skinTabs5', 'skinTabs6', 'skinTabs7', 'skinTabs8', 'skinTabs9', 'skinTabs10');
	for(k=0;k<MenuEls.length;k++){
		if($(MenuEls[k]) != null){
			pageNavEls = $$('#'+MenuEls[k]+' a'); //$('pageNav').getElementsByTagName('a');
			for(i=0;i<pageNavEls.length;i++){
				if(pageNavEls[i].getAttribute('rel') != null && pageNavEls[i].getAttribute('rel').indexOf('[') != -1){
					pageNavEls[i].set('href','#');
					rel = pageNavEls[i].getAttribute('rel');
					rel = rel.split('[')[1].split(']').join('');
					pageNavEls[i].trgt = rel;
					pageNavEls[i].addEvent('click', function(e) {
						pageNavEls = $$('#'+this.parentNode.parentNode.id+' a');
						for(i=0;i<pageNavEls.length;i++){
							if(pageNavEls[i].className != 'ensurehide'){
								pageNavEls[i].set('class','');
								tab = 'tab_' + pageNavEls[i].trgt;
								if($(tab) != null){
									if(tab == 'tab_' + this.trgt){
										//
									}else{
										$(tab).set('class', 'hidden');
										pageNavEls[i].set('class', '');
									}
								}
							}
						}
						tab = 'tab_' + this.trgt;
						if($(tab) != null){
							$(tab).set('class', 'current');
							this.set('class','current');
							urlStart = (document.location.href.indexOf('#') != -1) ? document.location.href.split('#')[0] : document.location.href
							if(this.parentNode.parentNode.id.indexOf('skinTabs') == -1){
								document.location.href = urlStart + '#tab_' + this.trgt;
							}
						}
						return false;
					});
					urlEnd = (document.location.href.indexOf('#') != -1) ? document.location.href.split('#')[1] : '';
					if(urlEnd != ''){
						if(urlEnd == 'tab_' + rel){
							$(pageNavEls[i].id).addClass('current');
							$('tab_' + rel).addClass('current');
							$('tab_' + rel).removeClass('hidden');
						}else{
							$(pageNavEls[i].id).removeClass('current');
							$('tab_' + rel).removeClass('current');
							$('tab_' + rel).addClass('hidden');
						}
					}
				}
			}
		}
	}
	if($('applicationForm') != null || $('consultForm') != null || $('signupForm') != null ){
		linksToCheck = $$('#wrapper a');
		for(lk=0;lk<linksToCheck.length;lk++){
			atLk = linksToCheck[lk].getAttribute('rel');
			if( linksToCheck[lk].href.indexOf('mailto') == -1 && linksToCheck[lk].href.indexOf('/files/') == -1 && linksToCheck[lk].href.indexOf('patient.consultation.form') == -1 && (!atLk || (atLk.indexOf('moodal') == -1 && linksToCheck[lk].href.indexOf('maincomponent') == -1)) ){
				if( linksToCheck[lk].href.indexOf('javascript') == -1 && !linksToCheck[lk].getAttribute('onclick') && linksToCheck[lk].id.indexOf('help') == - 1){
					if(!linksToCheck[lk].target || linksToCheck[lk].target != '_blank'){
						linksToCheck[lk].href="javascript:adminAreYouSureChange('" + linksToCheck[lk].href +"', 'You may not have saved your changes. Click cancel to remain on this page.');";
					}
				}
			}
		}
	}
	
});

var formEdited = false;
function adminAreYouSureChange(url, message){
	if(formEdited == true){
		ok = (!message) ? confirm("Are you sure? Click OK or Cancel to Continue") : confirm(message);
		if(ok){
			document.location = url;
		}
	}else{
		document.location = url;
	}
}

function adminAreYouSure(url, message){
	ok = (!message) ? confirm("Are you sure? Click OK or Cancel to Continue") : confirm(message);
	if(ok){
		document.location = url;
	}
}

function listNavSubmit(num){
	if( !$('listNavForm').action || $('listNavForm').action.indexOf('ajax') == -1 ){
		$('listNavForm')['sort[start]'].value = num;
		$('listNavForm').submit();
	}else{
		$('listNavForm')['sort[start]'].value = num;
		ajaxLoadHtml( $('listNavForm'), $('ajaxError'), $('listNavForm').action + '&tmpl=maincomponent');
	}
}

function getResultNumber(formObj,vclass){
	var log = $('searchNumberNumber').addClass('ajax-loading');
	nAr= new Array('action', 'view');
	vAr= new Array('searchnumbers', 'ajax');
	if(vclass){
		nAr.push('class');
		vAr.push(vclass);
	}
	
	if( !formObj.action ){
		url = window.location.search.substring(0).split('?')[0] + '?' + updateQueryString( nAr,vAr) + '&tmpl=maincomponent';
	}else{
		url = formObj.action.split('display').join('searchnumbers') + '&tmpl=maincomponent';
	}
	formObj.set('send', {
		url: url,
		onComplete: function(response) { 
			log.removeClass('ajax-loading');
			$('searchNumberMatches').removeClass('hidden');
			log.set('html', response);
		},
		onFailure : function(){
			log.removeClass('ajax-loading');
			$('searchNumberMatches').addClass('hidden');
			log.set('html', '');
		}
	});
	formObj.send();
}

function submitForm(obj){
	name = obj.name;
	value = obj.value;
	qs = updateQueryString(name,value);
	window.location.href = window.location.search.substring(0).split('?')[0] + '?' + qs;
	//obj.form.submit();
}

function updatePageQueryString(name,value){
	storeAnchor = (window.location.href.indexOf('#') && window.location.href.split('#')[1]) ? '#' + window.location.href.split('#')[1] : ''
	window.location.href = window.location.search.substring(0).split('?')[0] + '?' + updateQueryString(name,value) + storeAnchor;
	return false;
}

function updateQueryString(name,value){
	qSA = queryStringArray();
	if(typeof(name) == 'object'){
		for(i=0;i<name.length;i++){
			qSA[name[i]] = value[i];
		}
	}else{
		qSA[name] = value;
	}
	return queryStringBuild(qSA);
}

function queryStringArray() {
	queryString = window.location.search.substring(1);
	qSparts = queryString.split("&");
	qSarray = new Object();
	for (i=0;i<qSparts.length;i++) {
		qSarray[qSparts[i].split("=")[0]] = qSparts[i].split("=")[1];
	}
	return qSarray;
}
function queryStringBuild(qSarray){
	queryString = '';
	for(key in qSarray){
		queryString += key + '=' + qSarray[key] + '&';
	}
	return queryString.substr(0, queryString.length-1);
}

function hideShowObj(obj){
	if( obj.className.indexOf('hidden') != -1 ){
		obj.removeClass('hidden');
	}else{
		obj.addClass('hidden');
	}
	return false;
}

function tagContents(tag, resultXML){
	start = strpos(resultXML, ">", strpos(resultXML, "<"+tag+">",0), 0) + 1;
	return resultXML.substr(start, strpos(resultXML, "</"+tag+">",0) - start );
}
function strpos(haystack, needle, offset) {
    var i = (haystack+'').indexOf(needle, (offset || 0));
    return i === -1 ? false : i;
}
function showMissingInfoError(message){
	if(!message){
		message= 'Please make sure all required fields are filled in correctly.';
	}
	if( $('errorBox') ){
		messageContainer = $$('#errorBox .errorMessage')[0];
		messageContainer.set('html', message);
		$('errorBox').removeClass('hidden');
	}
}

function brcaFormSwap(obj){
	val = parseInt(obj.options[obj.options.selectedIndex].value)
	if(val == 1){
		$('outcome0').addClass('hidden');
		$('outcome1').removeClass('hidden');
	}else{
		$('outcome0').removeClass('hidden');
		$('outcome1').addClass('hidden');
	}
}

function consultResultFormChange(obj, type){
	if($('results'+type) != null){
		selBoxes = $$('#results'+type+' select');
		for(i=0;i<selBoxes.length;i++){
			if(!obj.checked){
				selBoxes[i].options.selectedIndex = 0;
				selBoxes[i].disabled = true;
			}else{
				selBoxes[i].disabled = false;
			}
		}
		if(type=='bcra'){
			$('bcraR').value = (!obj.checked) ? '' : $('bcraR').value;
			$('bcraR').disabled = (!obj.checked) ? true : false;
		}
		if(!obj.checked){
			$('results'+type+'Sel').addClass('hidden');
		}else{
			$('results'+type+'Sel').removeClass('hidden');
		}		
	}
}

function setPatientGP(id, name){
	if( $('gp_id') != null ){
		$('gp_id').value = id;
		$('gp_name').value = name;
		MOOdalBox.close();
	}
}

function setPatientInsurer(id, name){
	if( $('insurer_id') != null ){
		$('insurer_id').value = id;
		$('insurer_id').checked = true;
		$('insurer_name').value = name;
		MOOdalBox.close();
	}
}

function updateRisk() {
	if ($('param1').value != null){
		if ($('param4').value != null){
			$('param5').value = ($('param1').value * $('param4').value).toFixed(2);
			$('param6').value = ($('param5').value * 11).toFixed(2) + "%";
		}
	}
}	
function is_ie6(){
     return ((window.XMLHttpRequest == undefined) && (ActiveXObject != undefined));
}

function orderResults(field){
	if($('adminFilterForm')['sort[field]'].value == field){
		$('adminFilterForm')['sort[direction]'].value = ( $('adminFilterForm')['sort[direction]'].value == 'ASC') ? 'DESC' : 'ASC';
	}else{
		$('adminFilterForm')['sort[direction]'].value = 'ASC';
	}
	$('adminFilterForm')['sort[field]'].value = field;
	
	if( !$('adminFilterForm').action || $('adminFilterForm').action.indexOf('ajax') == -1 ){
		$('adminFilterForm').submit();
	}else{
		ajaxLoadHtml( $('adminFilterForm'), $('ajaxError'), $('adminFilterForm').action + '&tmpl=maincomponent');
	}
}

function updateDropDate(id){
	mnth = $(id+'m').options[ $(id+'m').options.selectedIndex ].value
	mnth = (parseInt(mnth)<10) ? '0' + mnth : mnth;
	yr = $(id+'y').options[ $(id+'y').options.selectedIndex ].value;
	$(id+'d').value = '01/' +  mnth + '/' + yr;
}


//Set a cookie for the site
function setCookie( name, value, expires, path, domain, secure ){
	var today = new Date();
	today.setTime( today.getTime() );
	expires = ( expires ) ? expires * 1000 * 60 * 60 * 24 : 1000 * 60 * 60 * 24;
	var expires_date = new Date( today.getTime() + (expires) );
	domain = (!document.domain) ? document.domain : domain;
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
	( ( path ) ? ";path=" + path : "" ) +
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

function getCookie( check_name, path ) {
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false;
	for ( i = 0; i < a_all_cookies.length; i++ ){
		a_temp_cookie = a_all_cookies[i].split( '=' );
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
		if ( cookie_name == check_name ){
			b_cookie_found = true;
			if ( a_temp_cookie.length > 1 ){
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found ){
		return null;
	}
}
function deleteCookie( name, path, domain ) {
	if ( getCookie( name ) ) document.cookie = name + "=" +
	( ( path ) ? ";path=" + path : "") +
	( ( domain ) ? ";domain=" + domain : "" ) +
	";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function setLastPatient(value){
	setCookie('lastPatient', value, 2, '/');
}

function loadLastPatient(){
	lastPatient=getCookie('lastPatient');
	success = false;
	if (lastPatient!=null && lastPatient!=""){
		document.location.href = '/admin/index.php?class=patient&action=display&view=admin.edit&patient_id=' + lastPatient;
	}else{
		alert("No last patient stored.");
	}
}

function loadPCMSHelpers(obj, pageclass){
	if( $('wrapper') != null && $('appointFormBox') == null ){
		var numC = 0;
		var urlLoad = '';
		var lastUrlLoad = '';
		rndID = Math.ceil(Math.random() * 100000);
		$$('#'+obj.id + ' ' + pageclass).each(function(el){
			if(!el.hasClass('done')){
				if( el.get('html').indexOf('<a ') == -1 ){
					numC++;
					el.set('html', '<a id="'+rndID+'_help'+numC+'">'+el.get('text')+'</a>');
					if(document.location.href.indexOf('admin')!=-1){
						$(rndID+'_help'+numC).addEvent('click',function(){
							label_class = document.location.href.split('class=')[1].split('&')[0]; 
							document.location.href = '/admin/index.php?class=page&action=display&view=admin.help.edit&label_class='+label_class+'&label=' + escape(this.get('text'));
						});
					}
					$(rndID+'_help'+numC).addEvent('mouseover',function(){
						$('popupHelp').removeClass('hidden');
						label_class = document.location.href.split('class=')[1].split('&')[0]; 
						urlLoad = '/index.php?class=page&action=display&view=help.text&tmpl=maincomponent&label_class='+label_class+'&label=' + escape(this.get('text'));
						if(lastUrlLoad != urlLoad){
							lastUrlLoad = urlLoad;
							$('popupHelp').set('html', 'Loading help...');					
							var helpText = new Request.HTML({
												   url: urlLoad,
												   method: 'post',
												   update: $('popupHelp'),
												   onSuccess: function(html) {
														if( $('popupHelp').get('text') == '' ){
															$('popupHelp').set('html', 'Sorry. There is no additional detail/documentation about this option.' );
														}
												   }
												}).send();
						}
					});
					$(rndID+'_help'+numC).addEvent('mouseout',function(){
						$('popupHelp').addClass('hidden');
					});
				}
				el.addClass('done');
			}
		});
		
		if($('popupHelp')== null){
			//Add the help Popup
			var helpPopup = new Element('div')
			helpPopup.id = 'popupHelp';
			helpPopup.className='hidden';
			$('wrapper').grab(helpPopup);
			//Add code to track mouse location when visible
			document.addEvent('mousemove', function(e) {
				if( !$('popupHelp').hasClass('hidden') ){
					$('popupHelp').setStyles({
						top: e.page.y-$('wrapper').offsetTop + 20,
						left: e.page.x-$('wrapper').offsetLeft + 20
					});
				}
			});
		}
	}
}

window.addEvent('load', function() {
								 
	loadPCMSHelpers($('wrapper'), '.formLabel');

	if($('mceEditor') != null){
		tinyMCE.init({
		mode : "textareas",
		theme : "advanced",
		editor_selector : "mceEditor",
		editor_deselector : "mceNoEditor",
		plugins : "safari,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,imagemanager,filemanager",
		theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
		theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
		theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
		theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertimage",//insertfile,
		// Theme options
		//theme_advanced_toolbar_location : "top",
		//theme_advanced_toolbar_align : "left",
		//theme_advanced_statusbar_location : "bottom",
		//theme_advanced_resizing : true,
		// Example content CSS (should be your site CSS)
		content_css : "/css/tiny_mce.css",
		relative_urls : false,
		remove_script_host : true,
		document_base_url : "https://breasthealth.pcmsuk.com"
		});
	}
	if($('mceEditorSimple') != null){
		tinyMCE.init({
		mode : "textareas",
		theme : "advanced",
		editor_selector : "mceEditorSimple",
		editor_deselector : "mceNoEditor",
		plugins : "safari,spellchecker,pagebreak,style,layer,table,iespell,insertdatetime,searchreplace,print,contextmenu,paste,directionality,noneditable,visualchars,nonbreaking,xhtmlxtras,filemanager",
		theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,nonbreaking,pagebreak,hr",
		theme_advanced_buttons2 : "tablecontrols",
		theme_advanced_buttons3 : "search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,sub,sup,|,charmap,iespell,spellchecker,|,removeformat,cleanup",
		//theme_advanced_buttons4 : "|,cite,abbr,acronym,del,ins,attribs,|,",//insertfile,
		content_css : "/css/tiny_mce.css",
		relative_urls : false,
		remove_script_host : true,
		document_base_url : "https://breasthealth.pcmsuk.com"
		});
	}

	if($('mceEditorVerySimple') != null){
		tinyMCE.init({
		mode : "textareas",
		theme : "advanced",
		editor_selector : "mceEditorVerySimple",
		editor_deselector : "mceNoEditor",
		plugins : "safari,spellchecker,pagebreak,style,iespell,paste,directionality,noneditable,visualchars,nonbreaking,xhtmlxtras",
		theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,nonbreaking,pagebreak,hr",
		theme_advanced_buttons2 : "link,unlink,|,outdent,indent|,sub,sup,|,charmap,iespell,spellchecker,|,code,removeformat,cleanup",
		theme_advanced_buttons3 : "",
		content_css : "/css/tiny_mce.css",
		relative_urls : false,
		remove_script_host : true,
		document_base_url : "https://breasthealth.pcmsuk.com"
		});
	}

	if(is_ie6()){
		alert('Sorry, but we don\'t support Internet Explorer 7.0 or below. Please upgrade your web browser to Internet Explorer to 8 or better.');
	}
	
	//document.defaultAction = false;
	document.addEvent('keydown', function(e){
		if( e.key == 'f1' ){
			e.stop();
			loadLastPatient();
		}
	})
});
