function showHide(line, ans) 
	{
		// hide all other faqs
		var elements = document.getElementsByTagName('div');
				
		for(var i = 0; i < elements.length; i++) {
    		if (elements.item(i).style.display == 'block'){
				elements.item(i).style.display = 'none';
			}
		}
		// show active faq
		if (document.getElementById(line)) 
		{
			document.getElementById(line).style.display = "block";
		} 
		if (document.getElementById(ans)) 
		{
			document.getElementById(ans).style.display = "block";
		} 
	}



////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////

function startTicker()
{
	// Define run time values
	theCurrentStory     = -1;
	theCurrentLength    = 0;
	// Locate base objects
	if (document.getElementById) {
		    theAnchorObject     = document.getElementById("tickerAnchor");
			runTheTicker();
		 }
	else {
            document.write("<style>.ticki{display:none;}.ticko{border:0px; padding:0px;}</style>");
            return true;
	}
}
// Ticker main run loop
function runTheTicker()
{
	var myTimeout;
	// Go for the next story data block
	if(theCurrentLength == 0)
	{
		theCurrentStory++;
		theCurrentStory      = theCurrentStory % theItemCount;
		theStorySummary      = theSummaries[theCurrentStory].replace(/&quot;/g,'"');
		theTargetLink        = theSiteLinks[theCurrentStory];
		theAnchorObject.href = theTargetLink;
		thePrefix 	     = "<span class=\"tickls\">" + theLeadString + "</span>";
	}
	// Stuff the current ticker text into the anchor
	theAnchorObject.innerHTML = thePrefix +
	theStorySummary.substring(0,theCurrentLength) + whatWidget();
	// Modify the length for the substring and define the timer
	if(theCurrentLength != theStorySummary.length)
	{
		theCurrentLength++;
		myTimeout = theCharacterTimeout;
	}
	else
	{
		theCurrentLength = 0;
		myTimeout = theStoryTimeout;
	}
	// Call up the next cycle of the ticker
	setTimeout("runTheTicker()", myTimeout);
}
// Widget generator
function whatWidget()
{
	if(theCurrentLength == theStorySummary.length)
	{
		return theWidgetNone;
	}

	if((theCurrentLength % 2) == 1)
	{
		return theWidgetOne;
	}
	else
	{
		return theWidgetTwo;
	}
}



window.getBrowser = function ( )
{
	this.winName = navigator.appName;
	this.winVersion = navigator.appVersion;
	
	return this;
}

//get query string from url
window.getQuery = function ( key )
{
	var loc = window.location.search;
	if ( loc == '' ) return null;
	
	var urlvars = loc.split ( "?" );
	query = urlvars[1].split ( "&" );
		
	for ( var i=0; i<query.length; i++ )
	{
		var piece = query[i].split ( "=" );
		if ( key == piece[0] ) return piece[1];
	}
	
	return null;
}

// convert a string to array
function toArray ( str )
{
	//split query into various parts			
	var parts = str.split( '&' );
	var ret = new Array ( );
	
	for ( var i=0; i<parts.length; i++ )
	{
		var chunk = parts[i];
		var piece = chunk.split ( '=' );
		var key = piece[0];
		var val = piece[1];
		
		ret[key] = val;
	}
	
	return ret;
}

// JavaScript Document

// array prototype functions
Array.prototype.keyof = function ( value )
{
	for ( a in this )
	{
		if ( this[a] == value ) return a;	
	}
	return false;
}
Array.prototype.valueof = function ( key )
{
	for ( a in this )
	{
		if ( a == key ) return this[a];	
	}
	return false;
}
Number.prototype.roundTo = function ( dec )
{
	return Math.round ( this * Math.pow ( 10 , dec ) ) / Math.pow ( 10 , dec );
}

Number.prototype.thousandFormat = function ( ) 
{ 
	var numStr = this.toString ( );
	var numReal = numStr.split ( '.' , 2 );
	numStr = numReal[0];
	var numDecimal = numReal[1];
	
	if ( isNaN ( numDecimal ) )
	{
		numDecimal = '';
	}
	else
	{
		numDecimal = '.'+numDecimal;	
	}
	
	var numLen = numStr.length;
	var numTmp = new Array ( );
	
	for ( var i=0; i<=numLen; i++ )
	{
		numTmp.push ( numStr.charAt ( numLen-i ) );
		if ( i%3 == 0 && i != 0 ) numTmp.push ( ',' );
	}
	numTmp = numTmp.reverse ( ).join('');
	if ( numTmp.charAt ( 0 ) == ',' ) numTmp = numTmp.substr ( 1 );
	return numTmp+numDecimal;
}


// JavaScript Document

//replace the "’" to "'" before submitting form
document.cleanupText = function ( )
{
	var forms = document.forms;
	
	for ( var i=0; i<forms.length; i++ )
	{
		var elems = forms[i].elements;
		for ( var j=0; j<elems.length; j++ )
		{
			if ( elems[j].name !== '' )
			{
				elems[j].value = elems[j].value.replace ( /[“”]/g , '"' );
				elems[j].value = elems[j].value.replace ( /[‘’]/g , "'" );			
				elems[j].value = elems[j].value.replace ( /[™]/g , '&trade;' );
				elems[j].value = elems[j].value.replace ( /[–-––]/g , '-' );
			}
		}
	}
	return false;	
}

// collect the input elements 
// and attach them to the document
document.getElementsByMark = function ( tType , tMark )
{
	var tInputs = document.getElementsByTagName ( tType );
	var tFields = new Array ( );
	
	for ( var i=0; i<tInputs.length; i++ )
	{
		if ( tInputs[i].mark == tMark )
		{
			tFields.push ( tInputs[i] );
		}
	}
	return tFields;
}


// collect the input elements 
// and attach them to the document
document.getElementsByClass = function ( tType , tClass )
{
	var tInputs = document.getElementsByTagName ( tType );
	var tFields = new Array ( );
	
	for ( var i=0; i<tInputs.length; i++ )
	{
		if ( tInputs[i].className == tClass )
		{
			tFields.push ( tInputs[i] );
		}
	}
	return tFields;
}


/** -- Begin dummy functions -- **/
function prepareAccess ( tEl )
{
	return true;
}

function checkEmail ( tEl )
{	
	return true;
}

function checkPhoneNum ( tEl )
{
	return true;
}

function getType ( )
{
	return true;	
}

/** -- End dummy functions -- **/

/** -- Utility functions -- **/
//get the window properties
function getWinProps ( )
{
	this.winName = navigator.appName;
	this.winVersion = navigator.appVersion;
	
	return this;
}

/** validate email **/
function validateEmail ( eMail )
{
	var re = /(.+?)\@(.+?)\.(.+?)/;
	var te = re.test ( eMail.value );
			
	if ( !te )
	{		
		alert ( "Invalid email format" );
		eMail.focus ( );
		return false;
	}
	
	return true;
}

//validate mysql date format
function is_mysql_datetime ( datetime )
{
	var rx = /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}/;
	if ( rx.test ( datetime ) )
	{
		return true;
	}
	return false;
}

//encode string data
var ENC_DEC_KEY = "-mqc415yno37rjdkbv8h06uwtsiglzex9pfa2";
function _dvEnc ( data )
{
	var encrypted = "";
		
	for ( var i=0; i<data.length; i++ )
	{
		//generate encrypted data
		var pos = ENC_DEC_KEY.indexOf ( data.charAt ( i ) );			
		if ( pos > -1 )
		{				
			if ( pos == ENC_DEC_KEY.length - 1 ) pos = -1;	
			var add = ENC_DEC_KEY.substr ( pos + 1 , 1 );
			encrypted += add;
		}
		else
		{
			encrypted += data.charAt ( i );
		}
	}
	return encrypted;
}

//decode encoded string data
function _dvDec ( encdata )
{
	var decrypted = "";
		
	for ( var i=0; i<encdata.length; i++ )
	{
		//generate decrypted data
		var pos = ENC_DEC_KEY.indexOf ( encdata.charAt ( i ) );			
		if ( pos > -1 )
		{				
			if ( pos == 0 ) pos = ENC_DEC_KEY.length;
			var add = ENC_DEC_KEY.substr ( pos - 1 , 1 );
			decrypted += add;
		}
		else
		{
			decrypted += encdata.charAt ( i );
		}			
	}		
	
	return decrypted;
}


//generate encrypted query string
function _dvSendQuery ( query )
{
	//split query into various parts			
	query = query.split( "&" );
	go_query = "";
	
	for ( var i=0; i<query.length; i++ )
	{
		var chunk = query[i];
		var piece = chunk.split ( "=" );
		var key = piece[0];
		var value = piece[1];
		
		go_query +=  value + "_" + key + "/";
	}
	
	go_query = go_query.substr ( 0 , go_query.lastIndexOf ( "/" ) )+'.html';
	return  go_query;
}

//make dynmaic days depending on selected month
function makeDays ( selMonth , selDays )
{
	//check if current year is a leap year
	var date = new Date ( );
	var year = date.getYear ( );
	var isLeapYear = year%4 == 0 ? true : false;
	
	var days = new Array ( );
	days['01'] = 31;
	days['02'] = isLeapYear ? 29 : 28;
	days['03'] = 31;
	days['04'] = 30;
	days['05'] = 31;
	days['06'] = 30;
	days['07'] = 31;
	days['08'] = 31;
	days['09'] = 30;
	days['10'] = 31;
	days['11'] = 30;
	days['12'] = 31;
	
	var monthSelected = selMonth.options[selMonth.options.selectedIndex].value;
	var monthDays = days[monthSelected];
	
	var selDays = document.getElementById ( selDays );	
	var selOptsLen = selDays.options.length;
	
	//remove all options
	for ( var i=1; i<selOptsLen; i++ )
	{
		var key = i < 10 ? "0"+i : i;
		selDays.options.remove ( key );
	}
	
	//popute selec list with new options
	for ( var i=1; i<monthDays+1; i++ )
	{
		var newOption = document.createElement ( "option" );
		var key = i < 10 ? "0"+i : i;
		newOption.value = key;
		newOption.text = key;
		selDays.options.add ( newOption );
	}
}

//ignore selection
function ignore ( selSelect , radio )
{
	var selectedField = document.getElementById ( selSelect );	
	selectedField.options[0].selected = true;
	
	if ( selectedField.disabled == true )
	{
		selectedField.disabled = false;
		radio.checked = false;
	}
	else
	{
		selectedField.disabled = true;
		radio.checked = true;
	}
}


//logout
function logout ( )
{
	window.location = "?logout";	
}

//add new record
function add_new ( aLink )
{
	window.location = aLink;	
}


//delete record
function deleteRecords ( tid )
{	
	if ( confirm ( "You are about to delete the selected records!" ) )
	{		
		//collect all delete check boxes from document
		var delChecks = '';
		var docCHK = document.getElementsByTagName ( 'input' );
		for ( var i=0; i<docCHK.length; i++ )
		{
			if ( docCHK[i].className == "delete_check" && docCHK[i].checked == true )
			{			
				delChecks += docCHK [ i ].value + ',';
			}
		}
		
		delChecks = delChecks.substr ( 0 , delChecks.length-1 );
		var t = _dvEnc ( tid );
		var d = _dvEnc ( delChecks );
		var query = "?t=" + t + "&d=" + d;
		window.location = query;
	}
	return false;
}

//toggle disable delete button
function toggleDisableDelete ( mode )
{
	//get windows properties
	getWinProps ( );
	
	var docCHK = document.getElementsByTagName ( 'input' );
	var del_but = document.getElementById ( 'delete_but' );
	var add_but = document.getElementById (  'add_new' );
	var delClear = document.getElementById ( 'delete_clear' );
	var delCheckAll = document.getElementById ( 'delete_checkall' );
	
	var elsChecked = new Array ( );

	//collect all delete check boxes from document
	for ( var i=0; i<docCHK.length; i++ )
	{
		if ( docCHK [ i ].className == "delete_check" )
		{
			//clear all checks
			if ( mode == 0 )
			{
				docCHK [ i ].checked = false;
				delClear.style.visibility = "hidden";
			}
			
			//check all checks
			if ( mode == 2 )
			{
				docCHK [ i ].checked = true;
				delCheckAll.style.visibility = "hidden";
			}
		}
		
		if ( docCHK [ i ].checked == true )
		{
			elsChecked.push ( docCHK [ i ] );
		}
	}
	
	//disable/enable delete button
	if ( elsChecked.length > 0 )
	{
		add_but.style.visibility = "hidden";
		delCheckAll.style.visibility = "hidden";
		del_but.style.visibility = "visible";
		delClear.style.visibility = "visible";
	}
	else
	{
		add_but.style.visibility = "visible";
		delCheckAll.style.visibility = "visible";
		del_but.style.visibility = "hidden";
		delClear.style.visibility = "hidden";
	}
}

// Delay for some milliseconds
function delay ( mSecs )
{
	var oldDate = new Date ( );
	var oldSec = oldDate.getMilliseconds ( );
	
	do
	{
		var newDate = new Date ( );
		var newSec = newDate.getMilliseconds ( );
		
		var timeDiff = newSec > oldSec ? newSec - oldSec : oldSec - newSec;		
	}
	while ( timeDiff < mSecs );
	return;
}

/** preview skin **/
function previewSkin ( skin )
{
	var skinImg = document.getElementById ( 'skin' );
	skinImg.src = 'skins/'+skin+'/preview.gif';
}
		
/** change skin **/
function changeSkin ( skin )
{	
	if ( window.location.search )
	{
		if ( getQuery ( 'k' ) !== null )
		{
			window.location.search = window.location.search.replace ( getQuery ( 'k' ) , _dvEnc ( skin ) );
		}
		else
		{
			window.location.search =	window.location.search+'&k='+_dvEnc ( skin );
		}
	}
	else
	{
		window.location.search = 'k='+_dvEnc ( skin );		
	}
}

/** preload images **/
function preloadImages ( imgSrcs )
{	
	document.write ( '<div id=\'preloading\' style=\'text-align:left;width:40%;margin:20% 30% 20% 30%;font-family:verdana;font-size:11px;color:#999999;\'><h5 style=\'color:#666666\'>Loading images...</h5></div>' );
	
	var imgArray = imgSrcs;//.split ( ',' );
	for ( var i=0; i<imgArray.length; i++ )
	{
		var imgObj = new Image ( );
		document.getElementById ( 'preloading' ).innerHTML += '- '+imgArray[i];
		imgObj.src = imgArray[i];
		document.getElementById ( 'preloading' ).innerHTML += ' - done <br>';
	}
	document.body.innerHTML = '';
}

/** submit search form **/
function doSearch ( )
{
	var searchForm = 	document.searchform;
	var searchField = searchForm.q;

	var re = /\w+/g;
	if ( !re.test ( searchField.value ) || searchField.value == 'Type your search here' ){
		alert ( 'At least one keyword is required.' );
		searchField.value = '';
		return false;
	}
	
	var query = searchField.value.replace ( /[`#%&]/g , '' );
	window.location = 'search?q='+_dvEnc ( query );
	return false;
}

/** validate newsletter form **/
function validateNewsletterForm ( formEl )
{
	return validateEmail ( formEl.emailadd );
}

/** validate contact form **/
function validateContactForm (  )
{
	var err = '';
	
	var formEl = document.contact_form;
	if ( formEl.fname.value == '' ) err += 'Your first name is required\r\n';
	if ( formEl.lname.value == '' ) err += 'Your last name is required\r\n';
	if ( formEl.city.value == '' ) err += 'Your city is required\r\n';
	if ( formEl.zipcode.value == '' ) err += 'Your Zip Code is required\r\n';
	var countryOpt = formEl.country.options;
	if ( countryOpt[countryOpt.selectedIndex].text == 'Click here to choose a country' || countryOpt[countryOpt.selectedIndex].text == '' ) err += 'Country is required\r\n';
	var subjOpt = formEl.subject.options;
	if ( subjOpt[subjOpt.selectedIndex].text == 'Click here to choose a subject' || subjOpt[subjOpt.selectedIndex].text == '' ) err += 'Subject is required\r\n';
	if ( formEl.content.value == '' ) err += 'Content is required\r\n';
	
	if ( err !== '' )
	{
		alert ( err );
		return false;
	}
	
	return validateEmail ( formEl.emailadd );
	
	return true;
}

/** validate post story form **/
function validatePostStoryForm (  )
{
	var err = '';
	
	var formEl = document.poststory_form;
	if ( formEl.fname.value == '' ) err += 'Your first name is required\r\n';
	if ( formEl.lname.value == '' ) err += 'Your last name is required\r\n';
	if ( formEl.city.value == '' ) err += 'Your city is required\r\n';
	if ( formEl.zipcode.value == '' ) err += 'Your Zip Code is required\r\n';
	if ( formEl.story_title.value == '' ) err += 'Story Title is required\r\n';
	if ( formEl.day.value == '' || formEl.month.value == '' || formEl.year.value == '' ) err += 'A full date is required\r\n';
	var countryOpt = formEl.country.options;
	if ( countryOpt[countryOpt.selectedIndex].text == 'Click here to choose a country' || countryOpt[countryOpt.selectedIndex].text == '' ) err += 'Country is required\r\n';
	if ( formEl.content.value == '' ) err += 'Content is required\r\n';
	
	if ( err !== '' )
	{
		alert ( err );
		return false;
	}
	
	return validateEmail ( formEl.emailadd );
	
	return true;
}

/** validate email article form **/
function validateEmailArticleForm (  )
{
	var err = '';
	
	var formEl = document.emailarticle_form;
	if ( formEl.name.value == '' ) err += 'Your name is required\r\n';
	
	if ( err !== '' )
	{
		alert ( err );
		return false;
	}
	
	return validateEmail ( formEl.frendemailadd );
	
	return true;
}

/** validate post comment form **/
function validateCommentForm (  )
{
	var err = '';
	
	var formEl = document.comment_form;
	if ( formEl.name.value == '' ) err += 'Your name is required\r\n';
	if ( formEl.subject.value == '' ) err += 'Your subject is required\r\n';
	if ( formEl.content.value == '' ) err += 'Content is required\r\n';
	
	if ( err !== '' )
	{
		alert ( err );
		return false;
	}
	
	return validateEmail ( formEl.emailadd );
	
	return true;
}

/** bookmark page **/
function addBookMark ( )
{
	var name = window.location.toString ( ).split ( 'unihydrogroup.com/' , 2 )[1];
	window.external.AddFavorite ( window.location.toString ( ) , 'Unihydro Group - ' + name );
}

/** show larger view of selected image **/
function showLarge ( thumbID )
{
	var thisID = '_thumb_'+thumbID;
	
	document.getElementById ( '_mainpic' ).src = document.getElementById ( thisID ).src;
	
	currImgKey = parseInt ( thumbID );
	
	return false;
}

/** enlarge selected **/
var currImgKey = 0;

function enlargeThis ( incVal )
{
	currImgKey = parseInt ( currImgKey + incVal );
	
	var thisID = '_thumb_'+currImgKey;
	
	if ( !document.getElementById ( thisID ) )
	{
		currImgKey = parseInt ( currImgKey - incVal );
		return false;
	}
	
	document.getElementById ( '_mainpic' ).src = document.getElementById ( thisID ).src;
		
	return false;
}

/** submit contact form **/
function submitContactForm ( )
{
	var form = document.forms['contact_form'];
	var err = '';
	
	if ( form.fname.value == '' ) err += 'First Name is required\r\n';
	if ( form.message.value == '' ) err += 'Message is required\r\n';
	
	if ( err !== '' )
	{
		alert ( err );
		return false;
	}
	
	return validateEmail ( form.email );
}

/** shortcut to document.getElementById **/
function getVal ( eL )
{
	if ( 
			eL.type == 'text' || 
			eL.type == 'textarea' 
			) return eL.value;
	
	if ( 
			eL.type == 'checkbox' || 
			eL.type == 'radio' 
			) return eL.checked;
	
	// for single option select list
	if ( eL.type == 'select-one' ) return eL.options[eL.options.selectedIndex].value;
	
	// for multiple option select list
	if ( eL.type == 'select-multiple' )
	{
		var retVal = new Array ( );
		for ( var i=0; i<eL.options.length; i++ )
		{
			if ( eL.item ( i ).selected ) retVal.push ( eL.item ( i ).value );
		}
		return retVal.toString ( );
	}	
}

// submit form - validating each input against its REGEXP validation rule
function submitForm ( xForm )
{
	// get the form object from the document
	var xElems = xForm.elements;
	
	// loop through the elements and run focus on each
	for ( var j=0; j<xElems.length; j++ )
	{
		// validate element according to attached regexp rule
		var vRule = eval ( xElems[j].title );
		
		if ( vRule )
		{
			// for input elements with no name
			if ( !xElems[j].name )
			{
				alert ( 'Unnamed Input: '+xElems[j].name );	
				xElems[j].focus ( );
				return false;
			}
			
			// for input elements with an id
			var vVal = getVal ( xElems[j] );
			if ( !vRule.test ( vVal ) )
			{
				alert ( 'Invalid input: '+xElems[j].name );
				xElems[j].focus ( );
				return false;
			}
		}
	}
	xForm.submit ( );
	return false;
}

// reset form
function resetForm ( xForm )
{
	document.forms[xForm].reset ( );
	return false;
}

// for password reset form
function resetPass ( xForm )
{
	var psw_1 = prompt ( 'Enter new password' , '' );
	var psw_2 = prompt ( 'Confirm new password' , '' );
	
	while ( psw_1 !== psw_2 )
	{
		alert ( 'Your passwords do not match\r\nPlease try again'	);
		return false;
	}
	
	xForm.passone.value = psw_1;
	xForm.passtwo.value = psw_2;
	xForm.newpassword.value = psw_2;
	return submitForm ( xForm );
}

// update travel quote calculation
function updateTravelQuote () {
	var fm = document.forms['quote_form'],
		ret, html, 
		shengenCountries = 'FR,DE,NL,DK,IS,FI,BE,PT,ES,SE,AT,GR,IT,NO,LU'.split ( ',' );
		f69 = fm.country.options[fm.country.options.selectedIndex].value;
		f70 = fm.duration.options[fm.duration.options.selectedIndex].value;
	
	//=IF(F70 = "31days","49 euros",IF(F70 = "32-61days", "77 euros",IF(F70="90days multi","96 euros",IF(F70="180days multi", "125 euros","152 euros"))))
	var g70 = 152;
	if ( f70 == '1 to 31 days' ) g70 = 49;
	if ( f70 == '32 to 61 days' ) g70 = 77;
	if ( f70 == '3 months multi travel limited to 92 days per travel' ) g70 = 96;
	if ( f70 == '6 months multi travel limited to 92 days per travel' ) g70 = 125;
	
	//=IF(F75 = "31days","78 euros",IF(F75 = "32-61days", "120 euros",IF(F75="90days multi","148 euros",IF(F75="180days multi", "192 euros","232 euros"))))
	var g75 = 232;
	if ( f70 == '1 to 31 days' ) g75 = 78;
	if ( f70 == '32 to 61 days' ) g75 = 120;
	if ( f70 == '3 months multi travel limited to 92 days per travel' ) g75 = 148;
	if ( f70 == '6 months multi travel limited to 92 days per travel' ) g75 = 192;
	
	ret = shengenCountries.keyof ( f69 ) ? g70 : g75;
	ret = ret.roundTo ( 2 );

	fm.premium.value = ret+' Euros';
	document.getElementById ( 'calc' ).innerHTML = 'Premium: '+ret+' Euros';
}

// update home quote calculation
function updateHomeQuote () {
	var fm = document.forms['quote_form'],
		bval = fm.bvalue.value;
		cval = fm.cvalue.value;
	
	//=F5 * 0.25%
	var g5 = bval * ( 0.25 / 100 );
	
	//=F7 * 1.25%
	var g7 = cval * ( 1.25 / 100 );	
	
	ret = ( g7 + g5 );
	
	fm.premium.value = 'GHS '+ret;
	document.getElementById ( 'calc' ).innerHTML = 'Premium: GHS '+ret.roundTo ( 2 );
}
// update home quote calculation
function updateFireQuote () {
	var fm = document.forms['quote_form'],
		bval = fm.fbvalue.value;
		cval = fm.fcvalue.value;
	
	//=F5 * 0.25%
	var g5 = bval * ( 0.25 / 100 );
	
	//=F7 * 1.25%
	var g7 = cval * ( 1.25 / 100 );	
	
	ret = ( g7 + g5 );
	
	fm.premium.value = 'GHS '+ret;
	document.getElementById ( 'calc' ).innerHTML = 'Premium: GHS '+ret.roundTo ( 2 );
}

function init_quote_form (opt) {
	var $j = jQuery, 
		sp = opt[opt.selectedIndex].value,
		sv = opt[opt.selectedIndex].text;
		
	$j('.quote-block').hide();
	$j('#'+sp).show();
	$j('#calc').text('0.00');
	document.forms['quote_form'].reset();
	
	if (sp && '-'!==sp) {
		$j('#policy-heading').text(sv);
	}
	else {
		$j('#policy-heading').text('');
	}
	
}

function init_claims_form (opt) {
	var $j = jQuery, 
		sp = opt[opt.selectedIndex].value,
		sv = opt[opt.selectedIndex].text;
		
	$j('#vehicle-number').hide();
	$j('#claims-heading').text(sv);
	if ('motor'==sp) {
		$j('#vehicle-number').show();
	}
}

// update motor quote calculation
function updateMotorQuote ( fm , qt )
{
	var ret , html;
	
	switch ( qt )
	{
		case 'comprehensive':	
			var age = fm.age.value;
			var val = fm.vvalue.value;;
			var typ = fm.type.options[fm.type.options.selectedIndex].value;
			var sea = fm.seats.value;
			var tpp = fm.tppdl.value;
			
			if ( val < 2500 )
			{
				//alert ( 'Minimum value of 2500 will be used' );	
				val = 2500;
			}
			
			//=IF(F8>15,"DECLINE",IF(F8>10,"7%",IF(F8>5,"6.5%","6%")))
			var g7 = 0.06;
			if ( age > 5 ) g7 = 0.065;
			if ( age > 10 ) g7 = 0.07;
			if ( age > 15 )
			{
				//alert ( 'Age limit exceeded \nwe will asume your vehicle is 15 years old' );	
				g7 = 15;
			}
			
			//=(F12*1.5)+(F12*5)
			var g11 = ( sea*1.5 ) + ( sea*5 );
			
			//=(F12-1000)*0.01
			var g12 = ( tpp - 1000 ) * 0.01;
			
			ret= ( g7 * val ) + g11 + g12;
			break;
			
		case 'thirdparty':
			var f23 = fm.age.value;
			var f25 = fm.vvalue.value;
			var typ = fm.type.value;
			var sea = fm.seats.value;
			
			//=IF(F8="saloon", 61.6, 71.6)
			var g8 = ( typ == "Saloon" ) ? 61.6 : 71.6;
			
			//=F9*0.03
			var g9 = sea * 0.03;
			
			ret = g9 + g8;
			break;
			
		default:
			ret = 0;
			break;
	}	
	
	ret = ret.roundTo ( 2 );//.thousandFormat ( );
	html = 'Premium: GHS '+ret;
	
	if ( ret > 0 )
	{
		document.getElementById ( 'calc' ).style.display = 'block';
		document.getElementById ( 'calc' ).innerHTML = html;
	}
}

// JavaScript Document
  
  // Create a request object
  function createRequestObject ( )
  {
    var req; 

    if ( window.XMLHttpRequest )
		{ 
			// Firefox, Safari, Opera... 
			req = new XMLHttpRequest ( ); 
		}
		else if ( window.ActiveXObject )
		{ 
			// Internet Explorer 5+ 
			req = new ActiveXObject ( "Microsoft.XMLHTTP" ); 
		}
		else
		{ 
			// There is an error creating the object, 
			// just as an old browser is being used. 
			alert ( 'Problem creating the XMLHttpRequest object' ); 
		}
    return req; 
  }
  
  // Create a div tag object
  function handleDivTag ( divtag ) 
  { 
    var divtag; 
    return divtag; 
  }
 
  // Create the response handler function
  function handleResponse ( )
  {
    if ( http.readyState == 4 && http.status == 200 )
		{
    	// Text returned FROM the PHP script 
    	var response = http.responseText;
    	if ( response )
	  	{ 
    		// UPDATE ajaxTest content 
      	document.getElementById ( divhandler.divtag ).innerHTML = response;
		 		//divhandler.divtag.innerHTML = response;
     	}
    }
  }
  
  // Sending request using get or post
  function sendRequest ( script , query , method , divtag )
  { 
    // Make method case insensitive
		method = method.toLowerCase ( );
	
		switch ( method )
		{
			// Sending using get
			case 'get':
					http.open ( 'get' , script + '?' + query ); 
				if ( divtag )
				{
					http.onreadystatechange = handleResponse;
					divhandler.divtag = divtag;
				}
				http.send ( null );
				break;
			
			// Sending using post
			case 'post':
				//http.abort; 
				http.open ( 'post' , script ); 
				http.setRequestHeader ( 'Content-Type' , 'application/x-www-form-urlencoded' ); 
				if ( divtag )
				{
					http.onreadystatechange = handleResponse;
					divhandler.divtag = divtag;
				}
				http.send ( query ); 
				break;
			
			// Do nothing
			default:
				return false;	
		}
  }
