
var cols;
var sel = new Array;

var editPage="";

function rand ( n ) { 
	return ( Math.floor ( Math.random ( ) * n + 1 ) );
}

/*  new added by praveen singh */
function doSubmit1(action,id) { 
	if(id==0)
		return false;
	var actionField = document.getElementById("action");
	actionField.value = action;
	form = actionField.form;
	form.id.value=id;
	form.submit();
}

function selectUser(action) { 
	var actionField = document.getElementById("action");
	actionField.value = action;
	form = actionField.form;
	//form.user.value=id;
	//alert(form.user.value)
	form.submit();
}

function selectMarket(action) { 
	var actionField = document.getElementById("action");
	actionField.value = action;
	form = actionField.form;
	form.submit();
}

function selectCat(action,id) { 
	var actionField = document.getElementById("action");
	actionField.value = action;
	form = actionField.form;
	form.type.value=id;
	//alert(form.type.value)
	form.submit();
}

function checkVatRate(prefix,vatcount){
	var str=document.getElementById(prefix+"vat_rate").value;
		if(isNaN(str)){	
			alert('Enter numeric value for VAT Rate.');
			frm.vat_rate.value="0.00";
			return false;
		}
	changeValueGross(prefix,false,vatcount,1);
}



function deSelectClient(){
	if (document.getElementById("client_urn").value=="")
		document.getElementById("newClientName").disabled=false;
	else
		document.getElementById("newClientName").disabled=true;
}

function deSelectVat(prefix,vatCount){

if(document.getElementById(prefix+"manual_vat_flag").checked){

	for(var i=0;i<vatCount;i++){
		var ref = 'vatbox_'+prefix+i;
		if(document.getElementById(ref)!=undefined) {
			document.getElementById(ref).style.display = "";
		}
		var ref = 'vat_'+prefix+i;
		if(document.getElementById(ref)!=undefined) {
			document.getElementById(ref).style.display = "none";
		}
	}

}else{

	for(var i=0;i<vatCount;i++){
		var ref = 'vatbox_'+prefix+i;
		if(document.getElementById(ref)!=undefined) {
			document.getElementById(ref).style.display = "none";
		}
		var ref = 'vat_'+prefix+i;
		if(document.getElementById(ref)!=undefined) {
			document.getElementById(ref).style.display = "";
		}
	}

}


}

function changeValueGross(prefix,vatref,vatcount,vatReg){
		var totalGross=0;
		var newvalue=0;
		if(vatReg==1) {
			var manualVat=document.getElementById(prefix+'vat_rate').value;
		} else {
			var manualVat=0;
		}
		var totalVat = 0;
		
		for(var i=0;i<vatcount;i++){
		
			var ref = 'gross_'+prefix+i;
			
			var value=document.getElementById(ref).value;
			if(value=="") value = "0.00";
		 	if(value!=""){
				str = new String(value);
					if(isNaN(str)){	
						alert('Enter numeric value for gross.');
						document.getElementById(ref).value="0.00";
						str = "0";
						//return false;
					}
//					if(str<0){	
//						alert('You cannot enter negative values for gross.');
//						document.getElementById(ref).value="0.00";
//						return false;
//					}
							if(str.indexOf('.')==0)
								str="0"+str;
							if(str.indexOf('.')==str.length-1)
								str=str+"00";
							len=0;
							//if(str.charAt(0))
							
							str = str.split(".");
							s1=str[1];
							
							if(isNaN(s1)){	
								newvalue=str[0]+".00";
								document.getElementById(ref).value=newvalue;
								totalGross=parseFloat(totalGross)+parseFloat(newvalue);
							}else{
								len=str[1].length;
							}
							if(len>=2){
								str[1]=str[1].substring(0,2)
								newvalue=str[0]+"."+str[1];
								document.getElementById(ref).value=newvalue;
								totalGross=parseFloat(totalGross)+parseFloat(newvalue);
								
							}
							if(len==1){
								str[1]=str[1]+'000'; 
								str[1]=str[1].substring(0,2)
								newvalue=str[0]+"."+str[1];
								document.getElementById(ref).value=newvalue;
								totalGross=parseFloat(totalGross)+parseFloat(newvalue);
							}
				if(vatReg==1) {
					 if(!document.getElementById(prefix+"manual_vat_flag").checked && manualVat>=0){
					// if(manualVat>=0){
							manualVat = parseFloat(manualVat);
							var netAmnt = (( document.getElementById(ref).value * 100) / ( 100 + manualVat))
							var netAmntRound = Math.round(netAmnt*100)/100;
							var vatAmnt = document.getElementById(ref).value - netAmntRound;
							var vatAmntRound = Math.round(vatAmnt*100)/100;
							var calcVat = convertDecimal(vatAmntRound);

							var ref = 'vatbox_'+prefix+i;
							if(document.getElementById(ref)!=undefined) {
								document.getElementById(ref).value=calcVat;
								var ref = 'vat_'+prefix+i;
								document.getElementById(ref).innerHTML=calcVat;
								totalVat += vatAmntRound;
							}
							
	//						alert(document.getElementById(ref).value * 100);
	//						alert( 100 + manualVat);
						 
						 
					 } else {
					 	var ref = 'vatbox_'+prefix+i;
	//				 	alert(document.getElementById(ref).value);
						if(document.getElementById(ref)!=undefined) {
						 	totalVat += parseFloat(document.getElementById(ref).value);
						 }
					 }
				}				 
				
				 
					//alert(totalGross);
		  }//if
		 

	}//for
	totalVat = Math.round(totalVat*100)/100;
	//alert(totalVat);
	document.getElementById(prefix+'total_gross').value=convertDecimal(totalGross);
	if(vatReg==1) {
		document.getElementById(prefix+'total_vat').value=convertDecimal(totalVat);
	}
//	alert("P");
	return true;
	}//function
				
function convertDecimal(value){
					var newvalue="";
					str = new String(value);
					if(isNaN(str)){	
						//alert('Enter numeric value for gross.');
						//document.expenditure.gross[i].value="0.00";
						newvalue="0.00";
						return newvalue;
						
					}

					var value=Math.round(value*100)/100;
//					return result;
					
					if(str.indexOf('.')==0)
								str="0"+str;
							if(str.indexOf('.')==str.length-1)
								str=str+"00";
							len=0;
							//if(str.charAt(0))
							
							str = str.split(".");
							s1=str[1];
							
							if(isNaN(s1)){	
								newvalue=str[0]+".00";
							//	document.expenditure.gross[i].value=newvalue;
							}else{
								len=str[1].length;
							}
							if(len>=2){
								str[1]=str[1].substring(0,2)
								newvalue=str[0]+"."+str[1];
							//	document.expenditure.gross[i].value=newvalue;
							}
							if(len==1){
								str[1]=str[1]+'000'; 
								str[1]=str[1].substring(0,2)
								newvalue=str[0]+"."+str[1];
								//document.expenditure.gross[i].value=newvalue;
							}
						return newvalue;

}
function changeValueVat(prefix,vatref,vatcount){
		var totalVat=0;
		var newvalue=0;
		for(var i=0;i<vatcount;i++){
				
			var ref = 'vatbox_'+prefix+i;
			if(document.getElementById(ref)==undefined) {
				continue;
			}
			var value=document.getElementById(ref).value;
			var dispref = 'vat_'+prefix+i;


		 	if(value!=""){
				str = new String(value);
				if(isNaN(str)){	
					alert('Enter numeric value for VAT.');
					document.getElementById(ref).value="0.00";
					document.getElementById(dispref).innerHTML="0.00";
					return false;
				}
/*
				if(str<0){	
						alert('You cannot enter negative values for VAT.');
						document.getElementById(ref).value="0.00";
						document.getElementById(dispref).innerHTML="0.00";
						return false;
					}
*/
				if(str.indexOf('.')==0)
					str="0"+str;
				if(str.indexOf('.')==str.length-1)
					str=str+"00";
							len=0;
							//if(str.charAt(0))
							
							str = str.split(".");
							s1=str[1];
							
							if(isNaN(s1)){	
								newvalue=str[0]+".00";
								document.getElementById(ref).value=newvalue;
								document.getElementById(dispref).innerHTML=newvalue;
								totalVat=parseFloat(totalVat)+parseFloat(newvalue);
							}else{
								len=str[1].length;
							}
							if(len>=2){
								str[1]=str[1].substring(0,2)
								newvalue=str[0]+"."+str[1];
								document.getElementById(ref).value=newvalue;
								document.getElementById(dispref).innerHTML=newvalue;
								totalVat=parseFloat(totalVat)+parseFloat(newvalue);
							}
							if(len==1){
								str[1]=str[1]+'000'; 
								str[1]=str[1].substring(0,2)
								newvalue=str[0]+"."+str[1];
								document.getElementById(ref).value=newvalue;
								document.getElementById(dispref).innerHTML=newvalue;
								totalVat=parseFloat(totalVat)+parseFloat(newvalue);
							}
							
						 document.getElementById(prefix+'total_vat').value=convertDecimal(totalVat);		
							
				
		  }//if
	}//for
}//function
				




function userRegistrationTitle()
{	
	 var title=document.getElementById("title").value;
	 if(title==5){
			document.getElementById("othertr").style.display="block";
	 }else{
	 	document.getElementById("othertr").style.display="none";
	 }
}
 
function userRegistrationMarket()
{	
	 var market=document.getElementById("market").value;
	 if(market!= ''){
			document.getElementById("markett").style.visibility="visible";
	 }else{
	 	document.getElementById("markett").style.visibility="hidden";
	 }
}
 
 
function claimActionEdit(){
	
	var actions=document.getElementById("actionType");
	var users=document.getElementById("actionFor");
	var dueDate=document.getElementById("dueDate");
	var dueTime=document.getElementById("dueTime");
	var actionText=document.getElementById("actionText");
	if(actions.value==0)
	{
		users.disabled=true;
		dueDate.disabled=true;
		dueTime.disabled=true;
		actionText.disabled=true;
	}else{
		users.disabled=false;
		dueDate.disabled=false;
		dueTime.disabled=false;
		actionText.disabled=false;
	}
}
function go(formId) {
	form = document.getElementById(formId);
	form.submit();
}

function closePopWin() {
//	hidePopWin(false);
	var actionField = document.getElementById("action");
	var form = actionField.form;
	form.submit();
}

function showEditPage(page) {
	if(editPage!="") {
		var lastPage = document.getElementById("subPage_"+editPage);
		lastPage.style.display = 'none';
	}
	showPage = document.getElementById("subPage_"+page);
	showPage.style.display = '';
	editPage = page;

	var currentPage = document.getElementById("pageName");
	currentPage.value = page;

}

var selectedTracks;
function selectTrack(disc,id) {

	var inputFieldName = "disc_"+disc;
	var imageFieldName = "discimage_"+disc+"_"+id;
	inputField = document.getElementById(inputFieldName);

	var currentValue = inputField.value;
	var re = new RegExp(".*"+id+".*","g");

	r = currentValue.search(re);
	image = document.getElementById(imageFieldName);
	if(r==false) {
		newVal = currentValue.replace(","+id,"");
		inputField.value = newVal; 
		image.src = 'http://development/colville/onedesk/style/sttw/images/tick_box_off.gif';
	} else {
		inputField.value = inputField.value + "," + id;
		image.src = 'http://development/colville/onedesk/style/sttw/images/tick_box_down.gif';
	}

}


function dispSubClass(field,action,urn) {
	var actionField = document.getElementById("action");
	actionField.value = "dispSubClass";
	var subField = document.getElementById("subField");
	subField.value = field;
	var subAction = document.getElementById("subAction");
	subAction.value = action;
	var subUrnField = document.getElementById("subUrn");
	subUrnField.value = urn;
	var form = actionField.form;
	form.submit();
}


function dispSelect(field) {
	var action = document.getElementById("action");
	var subField = document.getElementById("subField");
	action.value = "dispSelect";
	subField.value = field;
	var form = action.form;
	form.submit();
}


function removePick(field,pickUrn) {
	var action = document.getElementById("action");
	var pickField = document.getElementById("pickField");
	var pickUrnField = document.getElementById("pickUrn");
	action.value = "removePick";
	pickField.value = field;
	pickUrnField.value = pickUrn;
	var form = action.form;
	form.submit();
}

function addPick(field,pickUrn) { 
	var docParent = window.frameElement.ownerDocument;
	var action = docParent.getElementById("action");
	var pickField = docParent.getElementById("pickField");
	var pickUrnField = docParent.getElementById("pickUrn");
	action.value = "addPick";
	pickField.value = field;
	pickUrnField.value = pickUrn;
	var form = action.form;
	form.submit();
}

function mObject(){
   if (navigator.appName.indexOf ("Microsoft") !=-1){
    	return window["SingMovie"];
   }else{
    	return document["SingMovie"];
   }
}

function stop() {
   mObject().StopPlay();
}

function play() {
   mObject().Play();
}

function rewind() {
	var play = 0;	

	if(mObject().IsPlaying()){
		play=1;
	}

	mObject().GotoFrame(4);

	if(play==1) {
		mObject().Play();
	}
}

function pause() {
   if(mObject().IsPlaying()){
	    stop();
   }else{
    	play();
   }
}

function submitListForm(formName,listfield) {
	var action = document.getElementById("action_"+formName);
	if(action=="moveTo") {
		var moveTo  = document.getElementById("moveTo_"+formName);
		moveTo.value = listfield.option[listfield.value].id;
	}
	action.value = listfield.value;
	action.form.submit();
}

function submitForm(action,formName) { 
	var actionField = document.getElementById("action_"+formName);
	actionField.value = action;

	actionField.form.submit();
}

function submit(action) { 
	var actionField = document.getElementById("action");
	actionField.value = action;
	form = actionField.form;
	form.submit();
}

function doSubmit(action) { 
	var actionField = document.getElementById("action");
	actionField.value = action;

	form = actionField.form;
	form.submit();
}


var playTrack = false;
function playMP3(trackUrl) {
	if(playTrack) { stopTrack; playTrack=false; return; }
	Player.URL=trackUrl;
	playTrack = true;
}

function stopTrack() {
	Player.controls.stop();
}

function highlightRow(row,on) {
	var cell;
	for(i=0;i<cols;i++) {
		name = "cell"+row+"_"+i;
		cell = document.getElementById(name);
		if(on) {
			if(sel[row]) {
				cell.className="tableDataSelected";
			} else {
				cell.className="tableDataOver";
			}
		} else {
			if(sel[row]) {
				cell.className="tableDataSelected";
			} else {
				if((row%2)==0) {
					end="Even";
				} else {
					end = "Odd";
				}
				cell.className="tableData"+end;
			}
		}
	}
}

function selectRow(row) {
	if(sel[row]) {
		sel[row]=false;
	} else {
		sel[row]=true;
	}
	for(i=0;i<cols;i++) {
		name = "cell"+row+"_"+i;
		cell = document.getElementById(name);
		if(sel[row]) {
			cell.className="tableDataSelected";
		} else {
			if((row%2)==0) {
				end="Even";
			} else {
				end = "Odd";
			}
			cell.className="tableData"+end;
		}
	}
	
}


function showHide(id) {
	var searchBox = document.getElementById(id);
	if(searchBox.style.display=="none") {
		searchBox.style.display="";
		return true;
	} else {
		searchBox.style.display="none";
		return false;
	}
}

function hide(id) {
	var searchBox = document.getElementById(id);
	if(searchBox == undefined) { return; }
	searchBox.style.display="none";
}

function show(id) {
	var searchBox = document.getElementById(id);
	if(searchBox == undefined) { return; }
	searchBox.style.display="";
}


function minMax(id,minImg,maxImg) {

	showHide(id);
	var imgId = "img"+id;
	
	var searchBox = document.getElementById(id);
	var img = document.getElementById(imgId);
	if(searchBox.style.display=="none") {
		img.src=maxImg;
	} else {
		img.src=minImg;
	}

}

function updateField(field,value,disp) {
	var searchBox = window.frameElement.ownerDocument.getElementById(field);
	searchBox.value = value;
	var dispBox = window.frameElement.ownerDocument.getElementById("disp_"+field);
	dispBox.value = disp;
	parent.hidePopWin(false);
}

function resizeFrame(width,height) {
//alert(width+":"+height);
	if(width!="same") {
		window.frameElement.style.width = width;
	}
	if(height!="same") {
		window.frameElement.style.height = height;
	}
}


function addTrack(id) {
//	var pickDisp = window.frameElement.ownerDocument.frames["pickDisp"];
	var pickDisp = document.frames["pickDisp"];
	var pickRef = pickDisp.document.getElementById("pickRef");
	pickRef.value = id;
	pickRef.form.submit();

}


function pick_select(id, all) {
	var target = document.getElementById(id+"_selected");
	var source = document.getElementById(id+"_avail");	
	
	var tpos = target.options.length;
	
	
	for(i=0;i<source.options.length;) {
		if(source.options[i].selected || all) {
			target.options[tpos] = new Option(source.options[i].text,source.options[i].value);
			target.options[tpos].selected = true;
			
			tpos++;
		    
			source.options[i] = null;
			i=0;
		} else {
			i++;
		}
	}
	updateSelectHidden(id);
}

function updateSelectHidden(id) {

	var target = document.getElementById(id+"_selected");
	var hidden = document.getElementById(id);
	
	hidden.value = "";
	for(i=0;i<target.options.length;i++) {
		hidden.value = hidden.value + "," +target.options[i].value;
	}

}

function pick_unselect(id, all) {
	var source = document.getElementById(id+"_selected");
	var target = document.getElementById(id+"_avail");	
	
	var tpos = target.options.length;
	
	for(i=0;i<source.options.length;) {
		if(source.options[i].selected || all) {
			target.options[tpos++] = new Option(source.options[i].text,source.options[i].value);
			source.options[i] = null;
			i=0;
		} else {
			i++;
		}
	}
	updateSelectHidden(id);
}

function minimizeWin() 
{
window.resizeTo(100,100);
window.moveTo(screen.width,screen.height);
}

function maximizeWin() 
{
window.resizeTo(screen.width,screen.height);
window.moveTo(0,0);
}

function openWindow(url,name,height,width,xpos,ypos) {
	window.open(url,name,"scrollbars=1,width="+width+",height="+height+",top="+ypos+",left="+xpos);
}

var UniqueID = 314 // Make each link open in a new window 
var newWinOffset = 0 // Position of first pop-up

function PlayerOpen(soundfiledesc,soundfilepath) {
	PlayWin = window.open('',UniqueID,'width=320,height=190,top=' + newWinOffset +',left=0,resizable=0,scrollbars=0,titlebar=0,toolbar=0,menubar=0,status=0,directories=0,personalbar=0');
	PlayWin.focus(); 
	
	var winContent = "<HTML><HEAD><TITLE>" + soundfiledesc + "</TITLE></HEAD><BODY bgcolor='#FF9900'>"; 
	winContent += "<B style='font-size:18px;font-family:Verdana,sans-serif;line-height:1.5'>" + soundfiledesc + "</B>";
	
	winContent += "<OBJECT width='300' height='42'>"; 
	winContent += "<param name='SRC' value='" + soundfilepath + "'>";
	winContent += "<param name='AUTOPLAY' VALUE='true'>"; 
	winContent += "<param name='CONTROLLER' VALUE='true'>";
	winContent += "<param name='BGCOLOR' VALUE='#FF9900'>"; 
	winContent += "<EMBED SRC='" + soundfilepath + "' AUTOSTART='TRUE' LOOP='FALSE' WIDTH='300' HEIGHT='42' CONTROLLER='TRUE' BGCOLOR='#FF9900'></EMBED>";
	winContent += "</OBJECT>"; 
	
	winContent += "<p style='font-size:12px;font-family:Verdana,sans-serif;text-align:center'><a href='" + soundfilepath +"'>Download this file</a> <SPAN style='font-size:10px'>(right-click or Option-click)</SPAN></p>";
	winContent += "<FORM><DIV align='center'><INPUT type='button' value='Close this window' onclick='javascript:window.close();'></DIV></FORM>"; 
	winContent += "</BODY></HTML>"; 
	
	PlayWin.document.write(winContent); 
	PlayWin.document.close(); // "Finalizes" new window 
	UniqueID = UniqueID + 1 // newWinOffset = newWinOffset + 20 // subsequent pop-ups will be this many pixels lower 
} 

function changeActionAndSubmitForm (formName,url) {
	var form = document.getElementById(formName);
	form.action=url; 
	form.submit();
}

function updateFinalAdjustment(input, output, instock, direction) {
	var inputField = document.getElementById(input);
	var outputField = document.getElementById(output);
	
	if (!isNaN(inputField.value)) { 
		if ( inputField.value > 0 ) {		
			if (direction == 'increase') {
				var total = parseInt(instock) + parseInt(inputField.value);
			} else {
				var total = parseInt(instock) - parseInt(inputField.value);
			}
			if (total > 0) {
				outputField.style.color ='black';
			} else {
				outputField.style.color ='red';
			}
		} else {
			var total = "Number must be positive";
			outputField.style.color ='red';	
		}
	} else {
		var total = "Please enter a number";
		outputField.style.color ='red';
	}
	
	outputField.value=total;
	if (outputField.value == 'NaN') { outputField.value = ''; }
}

function printPage() {
    window.print();
}

function embeddedSoundFix() {
	//put this function straight after your embedded sound object
	objects = document.getElementsByTagName('object');
	for (var i = 0; i < objects.length; i++)
	{
		objects[i].outerHTML = objects[i].outerHTML;
	}
}

function addEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent('on'+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}

function multi_select(id, all) {
	var target = document.getElementById("selected_"+id);
	var source = document.getElementById("avail_"+id);	
	
	var tpos = target.options.length;
	
	
	for(i=0;i<source.options.length;) {
		if(source.options[i].selected || all) {
			target.options[tpos] = new Option(source.options[i].text,source.options[i].value);
			target.options[tpos].selected = true;
			
			tpos++;
		    
			source.options[i] = null;
			i=0;
		} else {
			i++;
		}
	}
	updateMultiSelectHidden(id);
}

function updateMultiSelectHidden(id) {

	var target = document.getElementById("selected_"+id);
	var hidden = document.getElementById(id);
	
	hidden.value = "";
	for(i=0;i<target.options.length;i++) {
		hidden.value = hidden.value + "," +target.options[i].value;
	}

}

function multi_unselect(id, all) {
	var source = document.getElementById("selected_"+id);
	var target = document.getElementById("avail_"+id);	
	
	var tpos = target.options.length;
	
	for(i=0;i<source.options.length;) {
		if(source.options[i].selected || all) {
			target.options[tpos++] = new Option(source.options[i].text,source.options[i].value);
			source.options[i] = null;
			i=0;
		} else {
			i++;
		}
	}
	updateMultiSelectHidden(id);
}


function checkUncheckAll(theElement) {
     var theForm = theElement.form, z = 0;
	 for(z=0; z<theForm.length;z++){
      if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall'){
	  theForm[z].checked = theElement.checked;
	  }
     }
    }


function Set_Cookie( name, value, expires, path, domain, secure ) {
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	
	/*
	if the expires variable is set, make the correct 
	expires time, the current script below will set 
	it for x number of days, to make it for hours, 
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

function Get_Cookie( name ) {
		
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) &&
	( name != document.cookie.substring( 0, name.length ) ) )
	{
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function rowChangeClass(table,cols,row,classname) {
        for(i=0;i<cols;i++) {
                document.getElementById(table+row+"_"+i).className = classname;
        }
}

function showHideHelp(helpId) {
	var text = document.getElementById('pageHelpText_'+helpId);
	if(text.style.display == 'block') {
		var img = document.getElementById('pageHelpImage_'+helpId);
		if (img) { img.src = '/style/default/images/help/help_down.gif'; }
		text.style.display = 'none';

		var field = 'pageHelp_'+helpId;
		var fieldWidget = document.getElementById(field);
		var scrollHeight = parseInt(text.scrollHeight);
		var height = parseInt(text.style.height.replace('px',''));
		var containerHeight = parseInt(fieldWidget.style.height.replace('px',''));

		var offset = containerHeight + scrollHeight;
		//alert(containerHeight + ':' + scrollHeight + ':' +  height);
	
		fieldWidget.style.overflow = 'hidden';
	
		text.style.overflow = 'hidden';

		expandElement(field, -10, 40, 30)
	} else {
		var img = document.getElementById('pageHelpImage_'+helpId);
		if (img) { img.src = '/style/default/images/help/help_up.gif'; }
		text.style.display = 'block';
		
		var field = 'pageHelp_'+helpId;
		var fieldWidget = document.getElementById(field);
		var scrollHeight = parseInt(text.scrollHeight);
		var height = parseInt(text.style.height.replace('px',''));
		var containerHeight = parseInt(fieldWidget.style.height.replace('px',''));

		var offset = containerHeight + scrollHeight;
		//alert(containerHeight + ':' + scrollHeight + ':' +  height);
	
		fieldWidget.style.overflow = 'hidden';
	
		text.style.overflow = 'hidden';

		expandElement(field, 10, 40, offset)
	}			
	//readMore.style.display = 'none';
}

function expandElement(elName, increase, sec, highest) {
	el = document.getElementById(elName);
	el.style.display = 'block';

	el.style.height.replace('px','');
	var tempHeight = parseInt(el.style.height) + parseInt(increase);

	if (tempHeight != highest) {

		x = highest - tempHeight;
		if ( x <= increase ) {
			el.style.height = highest;
		} else {
			el.style.height = tempHeight;
			setTimeout("expandElement('"+elName+"', "+increase+", "+sec+", "+highest+")", sec );
		}
	}

}

function validateCurrentYearDate(field,floor,ceiling) {
	_check = document.getElementById(field);
	if (_check) { check = _check.value; } else { check = false; }
	
	//alert(check+' - '+floor+' - '+ceiling);

	if(!check || !floor || !ceiling) {
		//alert('empty data');
		return false;
	}
	
	var pieces=check.split('/');
	
	if(pieces.length==3) {
		var day = parseFloat(pieces[0]);
		var mon = parseFloat(pieces[1]);
		var year = parseFloat(pieces[2]);
		var valid = true;
		if(day<1 || day>31) { valid = false; alert("D"+day); }
		if(mon<1 || mon>12) { valid = false; alert("M"+mon); }
		if(year<100) year = year + 2000;
		if(year<100 || year>9999) { valid = false; alert("Y"+year); }
		check = mon+"/"+day+"/"+year;
	}
		
	if(pieces.length!=3 || valid!=true) {
		alert("Invalid date format. Must be dd/mm/yyyy");
		return false;
	}
	
	
//	alert("F("+floor+") < "+check+" > C("+ceiling+")");
	
	var checkDate = new Date (check);
	var floorDate = new Date (floor);
	var ceilingDate = new Date (ceiling);

	if(checkDate < floorDate || checkDate > ceilingDate) {
		alert('The date '+getCalendarDate(checkDate)+' is outside of the current Tax Year ('+getCalendarDate(floorDate)+' - '+getCalendarDate(ceilingDate)+'). Please correct or change current Tax Year on the Home page.');
		_check.focus();
		_check.select();
		return false;
	}
	return true;
}

function getCalendarDate(inDate) {
   var months = new Array(13);
   months[0]  = "January";
   months[1]  = "February";
   months[2]  = "March";
   months[3]  = "April";
   months[4]  = "May";
   months[5]  = "June";
   months[6]  = "July";
   months[7]  = "August";
   months[8]  = "September";
   months[9]  = "October";
   months[10] = "November";
   months[11] = "December";

   var monthnumber = inDate.getMonth();
   var monthname   = months[monthnumber];
   var monthday    = inDate.getDate();
   var year        = inDate.getYear();
   if(year < 2000) { year = year + 1900; }
   var dateString = monthday + ' ' + monthname + ' ' + year;
   
   return dateString;
} 

function showHelpBox(widget,ref) {
	infoBox = document.getElementById(ref);
	infoBox.style.top = (findPosY(widget) + 20) + "px";
	infoBox.style.left = (findPosX(widget) + 20) + "px";
	infoBox.style.display = '';
	document.getElementById('infoHelpClose'+ref).focus();
	}
	
function showInfoHelp(widget,text) {
	text = text.replace(/&apos;/,"'");
	infoBox = document.getElementById('infoHelp');
	document.getElementById('infoHelpText').innerHTML = text;
	infoBox.style.top = (findPosY(widget) + 20) + "px";
	infoBox.style.left = (findPosX(widget) + 20) + "px";
	infoBox.style.display = '';
	document.getElementById('infoHelpClose').focus();
	}
	
function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (1) {
            curleft+=obj.offsetLeft;
            if (!obj.offsetParent) {
                break;
            }
            obj=obj.offsetParent;
        }
    } else if (obj.x) {
        curleft+=obj.x;
    }
    return curleft;
}
function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (1) {
            curtop+=obj.offsetTop;
            if (!obj.offsetParent) {
                break;
            }
            obj=obj.offsetParent;
        }
    } else if (obj.y) {
        curtop+=obj.y;
    }
    return curtop;
}

function calcTax() {

var income = parseFloat(document.getElementById('income').value);
var allowance = 5225;

if(isNaN(income)) { income = 0.0; }
if(isNaN(allowance)) { allowance = 0.0; }

var taxableIncome = income - allowance;
if(taxableIncome<0.0) { taxableIncome = 0.0; }


if (taxableIncome.toFixed) {
	var taxableIncomeDisp = taxableIncome.toFixed(2);
}
document.getElementById('result').innerHTML = '<b>'+taxableIncomeDisp+'</b>';

var tax = 0.0;
var remainder = taxableIncome;

var tier1 = 0.0;
var tier2 = 0.0;
var tier3 = 0.0;
var taxtier1 = 0.0;
var taxtier2 = 0.0;
var taxtier3 = 0.0;
if(remainder > 0.0) {
	if(remainder>2230) {
		tier1 = 2230;
	} else {
		tier1 = remainder;
	}
	taxtier1 = tier1 * 0.1;
	remainder -= tier1;
}
if(remainder > 0.0) {
	if(remainder>32370) {
		tier2 = 32370;
	} else {
		tier2 = remainder;
	}
	taxtier2 = tier2 * 0.22;
	remainder -= tier2;
}
if(remainder > 0.0) {
	tier3 = remainder;
	taxtier3 = tier3 * 0.4;
}

remainder = taxableIncome;

var nitier1 = 0.0;
var nitier2 = 0.0;
var taxnitier1 = 0.0;
var taxnitier2 = 0.0;
if(remainder > 0.0) {
	if(remainder>29615) {
		nitier1 = 29615;
	} else {
		nitier1 = remainder;
	}
	taxnitier1 = nitier1 * 0.08;
	remainder -= nitier1;
}
if(remainder > 0.0) {
	nitier2 = remainder;
	taxnitier2 = nitier2 * 0.01;
}



//document.getElementById('payment').innerHTML = tier1+':'+tier2+':'+tier3+'<br/>'+taxtier1+':'+taxtier2+':'+taxtier3;
//document.getElementById('payment').innerHTML += '<br/>'+'<br/>'+nitier1+':'+nitier2+'<br/>'+taxnitier1+':'+taxnitier2;


taxTotal = taxtier1+taxtier2+taxtier3;
nitaxTotal = taxnitier1+taxnitier2;


total = taxTotal + nitaxTotal;

if (total.toFixed) {
	var totalDisp = total.toFixed(2);
}

document.getElementById('payment').innerHTML = '<b>'+totalDisp+'</b>';


}


function selectAutoFill(val, div, result,nextFieldId) {
   var field = document.getElementById(result);
   document.getElementById(div).style.display = "none";
   field.value = val;
   document.getElementById(nextFieldId).focus();
}	

function autoFill(input,resultDivId,nextFieldId,list) {
	var val = input.value;
	var output = document.getElementById(resultDivId);
	var outputStr = "";
	var resultField = input.id;
	output.style.display = 'none';

	flag = false;
	var linkI = 0;
	var tab = input.tabIndex;
	if (val != "") {
		for(var i = 0; i < list.length; i++) {

			if (list[i].toUpperCase().substring(0,val.length) == val.toUpperCase()) {
				tab++;
				outputStr = outputStr +'<a onFocus=\'this.style.background=\"#00f\"; this.style.color=\"#fff\";\' onBlur=\'this.style.background=\"#fff\"; this.style.color=\"#000\";\' onClick=\'javascript: selectAutoFill(\"'+list[i]+'\", \"'+resultDivId+'\" ,\"'+resultField+'\",\"'+nextFieldId+'\"); return false; \' href=\'#\' id=\'link_'+linkI+'\' >'+ list[i]+'</a><br/>';
				flag = true;
				linkI++;
			}
		}
		if(outputStr!="") {
			output.style.display = 'block';
			output.style.top = (findPosY(input) + input.offsetHeight) + "px";
			output.style.left = (findPosX(input) + 1) + "px";
			output.innerHTML = outputStr;
		}
	} else {
		output.style.display = 'none';
	}
}

function openWindowCentered(url,name,h,w) {
        var left = (screen.width)?(screen.width-w)/2:100;
        var top = (screen.height)?(screen.height-h)/2:100;
        window.open(url,name,"scrollbars=1,width="+w+",height="+h+",top="+top+",left="+left);
}

function popDateInput(field){
	cal = dijit.byId(field);
	if(null == cal) { alert("Object not found. Please enter the date manually and contact support"); return; }
	
	cal.popupClass = "dijit._Calendar";
	if(!cal._opened) {
		cal._open();
	} else {
		cal._close();
	}
	cal.popupClass = '';
	cal.focus();
}

function debug(txt) {
	var debugHolder = document.getElementById("jsdebug");
	if(!debugHolder) {
		debugHolder = document.createElement('div');
		debugHolder.setAttribute("id","jsdebug");
		document.body.appendChild(debugHolder);
	}

	debugHolder.style.cssText = "position:absolute;top:0;left:0;background:red;color:white;font-weight:bold;z-index:999";
	var current = debugHolder.innerHTML;
	debugHolder.innerHTML = txt;
}

function CopyPlusSelect(text) {
      var copyText = text;
      if (window.clipboardData) { // IE send-to-clipboard method.
            window.clipboardData.setData('Text', copyText);
      } else if (window.netscape) {
			if (!testFFSecurity()) { return false; }
			
            // You have to sign the code to enable this or allow the action in about:config by changing user_pref("signed.applets.codebase_principal_support", true);
            netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
            
            // Store support string in an object.
            var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
            if (!str) return false;
            str.data=copyText;
            
            // Make transferable.
            var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
            if (!trans) return false;
            
            // Specify what datatypes we want to obtain, which is text in this case.
            trans.addDataFlavor("text/unicode");
            trans.setTransferData("text/unicode",str,copyText.length*2);
            
            var clipid=Components.interfaces.nsIClipboard;
            var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(clipid);
            if (!clip) return false;
            
            clip.setData(trans,null,clipid.kGlobalClipboard);
      }
}

function testFFSecurity() {
	try {
		var xx = netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
		return true;
	} catch(e) {
		return false;
	}
}

function processTab(id) {
	try {
		var tmp = allTabs;
	} catch (err) {
		alert('allTabs is not defined. Please define allTabs i.e. var allTabs = new Array (\'general\', \'addresses\'); ');
		return false;
	}
	
   	for (var i=0; i < allTabs.length; i++) {
   		document.getElementById(allTabs[i]).style.display = 'none';
		var cName = document.getElementById('nav_'+allTabs[i]).className;
   		if ( cName != 'error_nav_tab' ) { 
   			document.getElementById('nav_'+allTabs[i]).className = '';
   		}
    	if ( cName == 'selected_error_nav_tab' ) { 
   			document.getElementById('nav_'+allTabs[i]).className = 'error_nav_tab';
   		}
      		
	}
   	var tab = document.getElementById(id);
   	var nav = document.getElementById('nav_'+id);
    
  	tab.style.display = 'block';
   	if (nav.className == 'error_nav_tab' ) {
   	   	nav.className = 'selected_error_nav_tab';
   	} else {
   	   	nav.className = 'selected_nav_tab';
	}
	return false;
}
