// -----------------------------------------------------
// TalkNow Active template Javascript for customer integration. 
// Copyright Lekane 2010
// -----------------------------------------------------
var talkNowFirstTime = false;
var talkNowTemplate = '';
var talkNowPhoneNumberValidator;
Validation.add('talkNowActivePhoneClass', 'Please enter a valid phone number (digits only)',  function (v) { return /^[+]?[0-9\s]{6,13}$/.test(v)});
// -----------------------------------------------------
function initTalkNowActive() {	
	$('talkNowActive').hide();
}

function loadTalkNowTemplate( templateNum ) {
	talkNowTemplate = templateNum;
	new Ajax.Updater('talkNowActive', localTalkNowURL+'/talknow/fragments/' + talkNowTemplate + '-base-frag_' + talkNowLang + '.html', {
		 onComplete: function( done ) {
			talkNowPhoneNumberValidator = new Validation('talkNowActiveForm', {immediate : true}); 
			showTalkNowActive();
		 }
	});
}

function loadTalkNowPersonal() {
	talkNowTemplate = '0';
	new Ajax.Updater('talkNowActive', localTalkNowURL+'/talknow/fragments/personal-base-frag_' + talkNowLang + '.html', {
		 onComplete: function( done ) {
			  talkNowPhoneNumberValidator = new Validation('talkNowActiveForm', {immediate : true}); 
		 }
	});
	getOfferDetails( myTalkNowPersonalOfferDetailsCallback );
}

function sendTalkNowActiveRequest() {
	if ( talkNowPhoneNumberValidator.validate() == false || $F('talkNowActivePhone').length == 0 ) {
		return;
	}

	talkNowData[0][talkNowData[0].length] = 'phoneNumber';
	talkNowData[1][talkNowData[1].length] = $F('talkNowActivePhone');
	
	$('talkNowActiveMessage').innerHTML = '';
	new Ajax.Updater('talkNowActiveHeader', localTalkNowURL+'/talknow/fragments/' + talkNowTemplate + '-sending-request-frag_' + talkNowLang + '.html', {
		 onComplete: function( done ) {
			$('talkNowActiveLoadingImg').setAttribute( 'src', localTalkNowURL + '/talknow/images/ajax-loader.gif' );
	  	 }	
	} );

    var talkNowForm = $('talkNowActiveForm');
    talkNowForm.parentNode.removeChild( talkNowForm );

	sendCallRequest( "", talkNowData, talkNowMetadata, myTalkNowCallRequestCallback );
}

function hideTalkNowActive() {
	setCookie( "hideTalkNowActive", "true", new Date().getTime() + 1800000 );
	$('talkNowActiveContent').hide();
}

function showTalkNowActive() {
	if( talkNowFirstTime ) {
		$('talkNowActiveContent').hide();
		$('talkNowActive').show();
		setTimeout("Effect.SlideDown('talkNowActiveContent')",1500);
	} else {
		$('talkNowActive').show();
	}	
}

function entsub( event, srcForm ) {
	if ( event && event.which == 13 && talkNowPhoneNumberValidator.validate() ) {
		sendTalkNowActiveRequest();
	} else {
		return true;
	}
}

var myTalkNowCallRequestCallback = function callRequestCallback( caller, callerId, callerPicUrl ) {			
	if( caller != null && caller != '' ) {
		new Ajax.Updater('talkNowActiveHeader', localTalkNowURL+'/talknow/fragments/' + talkNowTemplate + '-call-response-available-frag_' + talkNowLang + '.html', {
			 onComplete: function( done ) {
				$('talkNowCallerPic').setAttribute( 'src', callerPicUrl );
				if( null != $('talkNowCallerName') ) {
					$('talkNowCallerName').innerHTML = caller;
				}
	  	 	 }		
		} );	
	} else {
		new Ajax.Updater('talkNowActiveHeader', localTalkNowURL+'/talknow/fragments/' + talkNowTemplate + '-call-response-unavailable-frag_' + talkNowLang + '.html', {} );
	}
};

var myTalkNowPersonalOfferDetailsCallback = function personalOfferDetailsCallback( callerPicUrl, callerName, callerRole ) {
	if( null != callerName ) {
		$('talkNowPersonalImg').setAttribute('src', callerPicUrl);
		if( null != $('talkNowPersonalName') ) {
			$('talkNowPersonalName').innerHTML = callerName;
		}

		if( null != callerRole && '' != callerRole) {
			$('talkNowPersonalRole').innerHTML = '(' + callerRole + ')';
		} else {
			$('talkNowPersonalRole').innerHTML = '';
		}

		showTalkNowActive();
	}
};
//-----------------------------------------------------

