window.addEvent('domready',function(){
	new SmoothScroll({ duration:700 }, window);

	new Tips('.hamphint',{className: 'hamphint'});
		
/*
	hampalerts = new MooTooltips({
		ToolTipClass:'hampalert',	// tooltip display class
		toolTipPosition:-1, // -1 top; 1: bottom - set this as a default position value if none is set on the element
		sticky:false,		// remove tooltip if closed
		fromTop: 0,		// distance from mouse or object
		fromLeft: 15,	// distance from left
		duration: 300,		// fade effect transition duration
		fadeDistance: 20    // the distance the tooltip starts the morph
	});
*/
	
	if($('txtUser')){
		// HANDLE PASSWORD BOX FOCUS, BLUR
		$('txtPass').addEvent('focus',function(el){
	        this.setStyle('background-image', 'none');
		    this.addEvent('blur',function(el){
		        if (this.get('value').replace(/^[ ]*|[ ]*$/, '') == '')
		            this.setStyle('background', 'url(img/passwordBG.png) center left no-repeat white');
		    });
		});
		
		// HANDLE USERNAME BOX FOCUS, BLUR
		$('txtUser').addEvent('focus',function(el){
	        this.setStyle('background-image', 'none');
		    this.addEvent('blur',function(el){
		        if (this.get('value').replace(/^[ ]*|[ ]*$/, '') == '')
		            this.setStyle('background', 'url(img/usernameBG.png) center left no-repeat white');
		    });
		});
		
		if($('txtPass').get('value') !== '') $('txtPass').fireEvent('focus');
		if($('txtUser').get('value') !== '') $('txtUser').fireEvent('focus');
	}
	
	if($('expandList')){
		$('expandList').getElements('div').each(function(el){
			el.setStyle('display','none')
			
		});
		$('expandList').getElements('span').addEvent('click',function(e){
				var div = this.getNext('div');
				if(div.getStyle('display') == 'none') div.setStyle('display','block');
				else div.setStyle('display','none');
		});
	}
	
	if(document.getElementById('chat')){
		
		$('chat').addEvent('click',function(){
			
			hide_chat_icon();
			
			var parent = this.getParent().getParent();
			
			// chat shell
			var chat_shell = new Element('div',{
				id: 'chat_window',
				styles: {
					'top': window.getScroll().y+120
				}
			}).inject(parent).tween('right',-1);
			
			// close btn
			var close_chat_btn = new Element('a',{
				href: 'javascript:;',
				'html': '<img src="/_imgs/pl/freehampreport/closed.png" />',
				styles: {
					'position': 'absolute',
					'top': -10,
					'left': -10,
					'margin': '-10 0 0 -10'
				},
				events: {
					click: function(el){
						chat_shell.set('tween',{link:'chain'}).tween('opacity',-226).destroy();
						chat_icon();
					}
				}
			}).inject(chat_shell);
			
			// iframe
			var chatWindow = new Element('iframe',{
				styles: {
					'width': '100%',
					'height': '100%'
				},
				src: 'https://livechat.boldchat.com/aid/4274592099900095067/bc.chat?cwdid=3997533648535916381&amp;wdid=2345865714367391615&amp;vr=&amp;vn=&amp;vi=&amp;ve=&amp;vp=&amp;iq=&amp;curl=&amp;url=' + escape(document.location.href),
				'frameborder': 0,
				'scrolling': false
			}).inject(chat_shell);
			
		});
		
		function hide_chat_icon(){
			$('chat').getElement('img').tween('bottom',-100);

		}
		
		chat_icon();

	}
	var chatInterval = setInterval("isInviteChat()", 1000);
	
	
	window.addEvent('scroll',function(){
		if($('bt_invite_box')){
			$('bt_invite_box').set('tween',{link:'chain'}).tween('top',window.getScroll().y+80).fireEvent('mouseleave');
		}
		if(document.getElementById('chat')){
			$('chat').set('tween',{link:'chain'}).tween('top',window.getScroll().y-100).fireEvent('mouseleave');
		}
		if($('chat_window')){
			$('chat_window').tween('top',window.getScroll().y+120);
		}
	});
	
});

function isInviteChat(){
	if($('bt_invite_box')){
		$('chat').getElement('img').tween('bottom',-100);
		
		$('bt_invite_box').getElement('img').addEvent('click',function(el){
			$('bt_invite_box').destroy();
		})
	}
	else{
		chat_icon();
	}
}

function chat_icon(){
	(function(){
		if(document.getElementById('chat')){
			$('chat').getElement('img').set('tween',{duration:800,transition:Fx.Transitions.Bounce.easeOut}).setStyle('opacity',1);
			$('chat').getElement('img').tween('bottom',0).set('title','Click to Chat');
		}
	}).delay(1500);
}

function flashField(field,color){
	var cur_color = field.getStyle('background-color');
	field.set('tween',{
			link: 'chain'
	});
	field.tween('background-color',color).tween('background-color',cur_color);
}
		
/* ******* Functions ******************************/

// Drop Flash on the page
function DropFlash(swfFile, width, height){
    if (AC_FL_RunContent == 0) return false;
    AC_FL_RunContent(
        'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
        'width', width,
        'height', height,
        'src', 'swfFile',
        'quality', 'high',
        'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
        'play', 'true',
        'loop', 'true',
        'scale', 'showall',
        'wmode', 'transparent',
        'devicefont', 'false',
        'id', swfFile,
        'bgcolor', '#ffffff',
        'name', swfFile,
        'menu', 'true',
        'allowFullScreen', 'false',
        'allowScriptAccess','sameDomain',
        'movie', swfFile,
        'salign', ''
    ); //end AC code
}
/*
function show_subsection(checkbox,id,hide){
	var formelements = new Array();
		var textfields = $(id).getElements('input[type=text]');
		var hiddenfields = $(id).getElements('input[type=hidden]');
		var radiobuttons = $(id).getElements('input[type=radio]');
		var checkboxes = $(id).getElements('input[type=checkbox]');
		var selectoptions = $(id).getElements('select');
		var textareas = $(id).getElements('textarea');
		
		if(textfields.length > 0)		formelements.extend(textfields);
		if(hiddenfields.length > 0)		formelements.extend(hiddenfields);
		if(checkboxes.length > 0)		formelements.extend(checkboxes);
		if(selectoptions.length > 0)	formelements.extend(selectoptions);
		if(textareas.length > 0)		formelements.extend(textareas);
	
	if($(checkbox).get('type') == "button"){
		if(window.confirm("Once added, you can not remove.\nAre you sure you want to continue?")){
			formelements.each(function(el){
				if(el.get('disabled')){
					if(el.hasClass('disabled') == false){
						el.set('disabled',false);
					}
				}
			})
			$(id).setStyles({'opacity':0,'display':'block'});
			$(id).tween('opacity',1);
			checkbox.dispose();
		}
	}
	else if(checkbox.checked == true && hide == false){
		formelements.each(function(el){
			if(el.get('disabled')){
				if(el.hasClass('disabled') == false){
					el.set('disabled',false);
				}
			}
		})
		$(id).setStyles({'opacity':0,'display':'block'});
		$(id).tween('opacity',1);
		$(id).getElement('label').highlight('#ff9');
	}
	else{
		formelements.each(function(el){
			el.set('value','');
			if(el.get('disabled') == false)
				el.set('disabled',true);
		})
		$(id).setStyle('display','none');
		if(id == 'coborrower_info'){
			deleteData('coborrower');
			deleteData('co_income');
			deleteData('co_assets');
		}
		else if(id == 'borrower_mailing'){
			deleteData('borrower',bid,'mailing_street,mailing_unit,mailing_city,mailing_state,mailing_zip');
		}
	}
}
*/
function deleteData(table,row,column){
	var result;
	new Request({
		url: '../_actions/remove_data.php',
		method: 'post',
		data: {'table': table,'row': row,'column': column,'borrower_id': bid},
		onSuccess: function(response){
		}
	}).send();
	
}

// INIT THE GOOGLE TRANSLATOR
function googleTranslateElementInit() {
    new google.translate.TranslateElement({
        pageLanguage: 'en'
    }, 'translator');
}

function showLoading(){
	$('display_message').addClass('loading');
}
function showWarning(message){
	if(message == '') message = 'Required fields are missing or invalid.';
	$('display_message').removeClass('loading').setStyle('opacity',0).set('html',message).setStyle('color','red').tween('opacity',1);
	(function(){$('display_message').tween('opacity',0)}).delay(5000);
}
function resetMessageArea(){
	$('display_message').removeClass('loading').setStyle('color','#4fa313').tween('opacity',1);
	(function(){$('display_message').tween('opacity',0)}).delay(5000);
}

Array.prototype.in_array = function(p_val) {
	for(var i = 0, l = this.length; i < l; i++) {
		if(this[i] == p_val) {
			return i;
		}
	}
	return false;
}



function loadDownloadPage(){
	(function(){ window.location = "report/download.php"; }).delay(1000);
}
function currency(num){
	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);
}
function format_ssn(field){
	re = /\D/g; // remove any characters that are not numbers
	socnum=field.value.replace(re,"")
	sslen=socnum.length
	if(sslen>3&&sslen<6)
	{
	ssa=socnum.slice(0,3)
	ssb=socnum.slice(3,5)
	field.value=ssa+"-"+ssb 
	}
	else
	{
	if(sslen>5)
	{
	ssa=socnum.slice(0,3)
	ssb=socnum.slice(3,5)
	ssc=socnum.slice(5,9)
	field.value=ssa+"-"+ssb+"-"+ssc
	}
	else
	{field.value=socnum}
	}
}
function format_phone(field){
	re = /\D/g; // remove any characters that are not numbers
	socnum=field.value.replace(re,"")
	sslen=socnum.length
	if(sslen>3&&sslen<6)
	{
	ssa=socnum.slice(0,3)
	ssb=socnum.slice(3,5)
	field.value=ssa+"-"+ssb 
	}
	else
	{
	if(sslen>5)
	{
	ssa=socnum.slice(0,3)
	ssb=socnum.slice(3,6)
	ssc=socnum.slice(6,10)
	field.value=ssa+"-"+ssb+"-"+ssc
	}
	else
	{field.value=socnum}
	}
}
function format_date(field){
	re = /\D/g; // remove any characters that are not numbers
	socnum=field.value.replace(re,"")
	sslen=socnum.length
	if(sslen>2&&sslen<5)
	{
	ssa=socnum.slice(0,2)
	ssb=socnum.slice(2,4)
	field.value=ssa+"/"+ssb 
	}
	else
	{
	if(sslen>4)
	{
	ssa=socnum.slice(0,2)
	ssb=socnum.slice(2,4)
	ssc=socnum.slice(4,8)
	field.value=ssa+"/"+ssb+"/"+ssc
	}
	else
	{field.value=socnum}
	}
}
function dateCheck(el){
  var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
		
  //check to see if in correct format
  if(!objRegExp.test(el.value)){
  	el.errors.push("Please enter a valid date (MMDDYYYY)");
    return false; //doesn't match pattern, bad date
  }
  else{
    var strSeparator = el.value.substring(2,3) 
    var arrayDate = el.value.split(strSeparator); 
    //create a lookup for months not equal to Feb.
    var arrayLookup = { '01' : 31,'03' : 31, 
                        '04' : 30,'05' : 31,
                        '06' : 30,'07' : 31,
                        '08' : 31,'09' : 30,
                        '10' : 31,'11' : 30,'12' : 31}
    var intDay = parseInt(arrayDate[1],10); 

    //check if month value and day value agree
    if(arrayLookup[arrayDate[0]] != null) {
      if(intDay <= arrayLookup[arrayDate[0]] && intDay != 0)
        return true; //found in lookup table, good date
    }
    
    //check for February (bugfix 20050322)
    //bugfix  for parseInt kevin
    //bugfix  biss year  O.Jp Voutat
    var intMonth = parseInt(arrayDate[0],10);
    if (intMonth == 2) { 
       var intYear = parseInt(arrayDate[2]);
       if (intDay > 0 && intDay < 29) {
           return true;
       }
       else if (intDay == 29) {
         if ((intYear % 4 == 0) && (intYear % 100 != 0) || 
             (intYear % 400 == 0)) {
              // year div by 4 and ((not div by 100) or div by 400) ->ok
             return true;
         }   
       }
    }
  }  
  return false; //any other values, bad date
}

var usercheckresult;
function userCheck(el){
	if(el.value.length > 6){
		new Request({
			url: '_js/username-check.php',
			method: 'post',
			data: {'username':el.value},
			onSuccess: function(response){
				usercheckresult = response;
			}
		}).send();
		
		if(usercheckresult == 'false'){
			el.errors.push("Username already taken. Please choose another.");
			return false;
		}
		else{
			return true;
		}
	}
}

var emailcheckresult;
function emailCheck(el){
	if(el.value.length > 6){
		new Request({
			url: '_js/username-check.php',
			method: 'post',
			data: {'email_address':el.value},
			onSuccess: function(response){
				emailcheckresult = response;
			}
		}).send();
		
		if(emailcheckresult == 'false'){
			el.errors.push("This email address is already in use. Please choose another or log in above.");
			return false;
		}
		else{
			return true;
		}
	}
}

function openVideo(){
	$$('.bumpbox').fireEvent('click')
}
function writeRealTimeSavings(){
	var date = this.json.date;
	var old = this.json.old;
	var current = this.json.current;
	var savings = this.json.savings;
	var percentage = this.json.percentage;
	
	var headline = new Element('span',{
		'class': 'headline',
		'text': "$"+savings[this.a]+" ("+(percentage[this.a]*1).toFixed(1)+"%)",
		styles: {
			'opacity': 0
		}
	});

	headline.tween('opacity',1)
	$('wp_ticker').adopt(headline);
	
	if(this.a < date.length+1){
		this.a++;
		new Fx.Scroll('ticker_shell',{duration:2800,wheelStops:false}).toRight();
	}
	else{
		this.a = 1;
	}
}

function triggerPDF(){
	var ajaxquery = new Request.JSON({
		method: 'post',
		data: {'application_id': app_id,'is_private':false,'is_emailed':true},
		url: '/ajaxquery/createPDFByHTMLToPDF',
		evalResponse: true,
		onRequest: function(){ 
			$('loading').setStyle('display','block');
		},
		onSuccess: function(json,txt){
			showMessage(json.return_type,json.message);
			window.location = '/'+controller+'/client/'+app_id;
			$('loading').setStyle('display','none');
		}
	}).send();
}
