var Passport = {
	Version: 1.0,
	delete_history : function() {
		if (history.length > 0){
			window.history.forward();
		}
	},	
	save_and_exit : function() {
		
		var dialog = new modalDialog();
		
		if ( !dialog.isLoaded ){
			dialog.addButton('Exit','exitFnc');
			dialog.addButton('Delete Quote','deleteQuoteFnc');
			dialog.addButton('Resume','resumeFnc');
			
			var message = "";
			message += "<b>Workers' Compensation Rating System</b><br><hr>";
			message += "<i style='font-size=11px;font-weight:normal;'>You have chosen to Exit. Please select the appropriate action below.</i>";
			
			dialog.create( message );
		}
		
		dialog.show();		
	},		
	// function to add hidden inputs to a form
	add_hidden_input_to_form: function( formName, inputName, inputValue ){
		currentForm = $( formName );
		currentElement = document.createElement("input");
		currentElement.setAttribute("type", "hidden");
		currentElement.setAttribute("name", inputName );
		currentElement.setAttribute("id", inputName );
		currentElement.setAttribute("value", inputValue );
		currentForm.appendChild(currentElement);
	},	
	//function removes commas and dollar sign from currency formatted fields (all non numeric items with the exception . )
	removeCurrencyFormatting: function(num){
		return num.toString().replace(/\$|\,/g,'');
	},	
	//function formats a string as a currency formatted field with dollar sign, decimal with two spaces and commas
	formatCurrency: function(num){
		var sign;
		var cents;
		num = num.toString().replace(/\$|\,/g,'');
		if(isNaN(num)){
			num = "0";
		}
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num*100+0.50000000001);
		cents = num%100;
		num = Math.floor(num/100).toString();
		if(cents<10){
			cents = "0" + cents;
		}
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++){
			num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
		}
		return (((sign)?'':'-') + '$' + num + '.' + cents);
	},
	collectionToArray: function(col){
		a = new Array();
		for (i = 0; i < col.length; i++)
			a[a.length] = col[i];
		return a;
	},
	clearAllQuestionDivs: function(){
		var bg = '';
		var div = '';
		
		var elements = collectionToArray(document.getElementsByTagName("img")); 
		for (i = 0; i < elements.length; i++)
			if (elements[i].id=='question_error_img') { elements[i].parentNode.removeChild(elements[i]); }

		var elements = collectionToArray(document.getElementsByTagName("span")); 
		for (i = 0; i < elements.length; i++)
			if (elements[i].id=='question_error_text') { elements[i].parentNode.removeChild(elements[i]); }

		var elements = collectionToArray(document.getElementsByTagName("input")); 
		elements = elements.concat(collectionToArray(document.getElementsByTagName("select")));
	
		for (i = 0; i < elements.length; i++)
			if (elements[i].id.substring(0,12)=='app_question') {
				div = $("questionBox["+elements[i].id.substring( 13,elements[i].id.length-1 )+"]");
				bg = (i % 2) ? "FFFFFF" : "DDDDDD";
				div.style.cssText ='border:1px solid #CCCCCC;padding: 2px 2px 2px 2px;background-color:#'+bg+';font-weight:normal;';
			}
	},
	highlightQuestionDiv: function(num, errorText){
		var input = $("app_question["+num+"]");
		var div = $("questionBox["+num+"]");
		div.style.cssText  ='background:#FFD4D4;padding: 3px 0px 3px 2px;border: 1px solid #FF0000;color:#FF0000;font-weight:bold;';
		if(typeof errorText != 'undefined'){
			if (input.parentNode.innerHTML.indexOf('question_error_img') < 0){				
				input.parentNode.innerHTML = "<img id='question_error_img' src='/ext/images/exclaim2.gif' align='top' style='margin:1px 3px 0px 5px' />" + input.parentNode.innerHTML;
				div.innerHTML += '<div style="color:#000000; padding:0px 0px 0px 2px; font-family:Geneva, Arial, Helvetica, sans-serif; font-size:10px"><span id="question_error_text">' + errorText + '</span></div>';
			}
		}
	}
	
}

