// JavaScript Document lightBoxProcessing
//inout clear default text
function clearText(field){
	if (field.defaultValue == field.value) field.value = '';
}
function defaultText(field){
	if (field.value == '') field.value = field.defaultValue;
}

function lightBoxProcessing(){
	Shadowbox.open({
		content:    '<div id=\'lightbox_upload\' style="height:80px;width:500px;"><table cellpadding=\'10\'></tr><td id="spinnerCell"></td><td style=\'text-align:left;\'><script type="text/javascript">flash(\'/images/loading.swf\',50,50,$(\'#spinnerCell\'));</script><div style=\'font-size:16px;font-weight:bold;\'>Processing</div>This may take a few minutes.<br />Please wait until you are automatically redirected.</td></tr></table></div>',
		player:     "html",
		height:     80,
		width:      500,
		options: {onFinish: function () {flash('/images/loading.swf',50,50,$('#spinnerCell'));}}
	});
}
function lightBoxClose(){
	Shadowbox.close();
}
//go to url
function DoNav(theUrl){document.location.href = theUrl;}
  
//GOOGLE MAPS
    
    function showAddress(address) {
	var map = new GMap2(document.getElementById("listing_map"));
    var geocoder = new GClientGeocoder();
      if (geocoder) {
			geocoder.getLatLng(
			  address,
			  function(point) {
				if (!point) {
				} else {
					map.addControl(new GSmallMapControl());
					map.setCenter(point, 13);
					var marker = new GMarker(point);
		 			 map.addOverlay(marker);
				}
			  }
			);
      }
    }

//Currency Format

function formatCurrency(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 + '.' + cents);
	}

//Ajax Shadowbox popup
function shadowPopup(itemType,itemID,itemTitle,mode,ajaxPage){
	Shadowbox.open({
        content:    '<div id="ajaX"></div>',
        player:     "html",
        title:      itemTitle,
        height:     2000, 
        width:      750,
		options : { onFinish : function(){shadowPopupAjax(itemType,itemID,mode,ajaxPage);} } 
	});
}

function shadowPopupAjax(itemType,itemID,mode,ajaxPage){
	var qString = 'itemType='+itemType+'&itemID='+itemID+'&mode='+mode;
	$('ajaX').set('html', '');
	$('ajaX').addClass('loading');
	var randomness = Math.random();
	var getRequest = new Request.HTML({url: '/backend/'+ajaxPage, method: 'get', noCache: true, async: true,
		onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript){
			$('ajaX').removeClass('loading');
			$('ajaX').set('html', responseHTML);
		}
	}).send('rand='+randomness+'&'+qString);
}

function shadowPopupUpdate(thisForm,itemType,itemID,ajaxPage,mode){
	if(mode==''){mode='edit';}
	var randomness = Math.random();
	var formRequest = new Form.Request($(thisForm), $('formResults'), {extraData: {'rand': randomness}, onSuccess: function(){shadowPopupAjax(itemType,itemID,mode,ajaxPage);}}).send();
}

function divAjax(divId,ajaxPage,success){
	$(divId).set('html', '');
	$(divId).addClass('loading');
	var randomness = Math.random();
	var getRequest = new Request.HTML({url: '/backend/'+ajaxPage, method: 'get', noCache: true, async: true,
		onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript){
			$(divId).removeClass('loading');
			$(divId).innerHTML = responseHTML;
			if(success){success();}
		}
	}).send('rand='+randomness);
}

function formAjax(thisForm,highlightElement){
	randomness = Math.random();
	var formRequest = new Form.Request(thisForm, 'formResults', {
		extraData: {'rand=': randomness},
		onSuccess: function(){$(highlightElement).highlight('#C9FFB2');}									
	});
	formRequest.send();	
}

//popup creator
function popitup(url,width,height) {
	newwindow=window.open(url,'','height='+height+',width='+width+',left=40,top=40,scrollbars=yes,toolbar=yes,menubar=yes,resizable=yes,status=yes');
	if (window.focus) {newwindow.focus()}
	return false;
}

	function status_change(table,id) {
	var ajax_rand=Math.floor(Math.random()*9999999)
		var req = new Request({url:'status_update.asp', 
			onSuccess: function(html) {
				$(id).set('html', html);
			},
			onFailure: function() {
				$(id).set('html', 'Failed');
			}
		}).get({'id': id, 'rand': ajax_rand, 'table_name': table});
		req.send();
		}
		
	function update_db(field,value,table,id) {
	var ajax_rand=Math.floor(Math.random()*9999999)
		var req = new Request({url:'db_update.asp', 
			onSuccess: function(html) {
				$('status_'+id).set('html', html);
			},
			onFailure: function() {
				$('status_'+id).set('html', 'Failed');
			}
		}).get({'id': id, 'rand': ajax_rand, 'table_name': table, 'field': field,'value': value});
		req.send();
		}
		
		
	var cal_obj2 = null;
	var format = '%Y-%m-%j';
	var date_field = null;
	function show_cal(el,get_field) {
		date_field = get_field;
		if (cal_obj2) return;
		var text_field = $(date_field);
		cal_obj2 = new RichCalendar();
		cal_obj2.start_week_day = 1;
		cal_obj2.show_time = false;
		cal_obj2.language = 'en';
				cal_obj2.user_onchange_handler = cal2_on_change;
	cal_obj2.user_onclose_handler = cal2_on_close;
	cal_obj2.user_onautoclose_handler = cal2_on_autoclose;
	cal_obj2.parse_date(text_field.value, format);
	cal_obj2.show_at_element(text_field, "adj_left-bottom");
	}
	function cal2_on_change(cal, object_code) {
	if (object_code == 'day') {
		$(date_field).value = cal.get_formatted_date(format);
		cal.hide();
		cal_obj2 = null;
	}}
	function cal2_on_close(cal) {cal.hide();cal_obj2 = null;}
	function cal2_on_autoclose(cal) {cal_obj2 = null;}

//preload images
if (document.images)
{
  pic1= new Image(32,32); 
  pic1.src="/images/loading.gif"; 

  pic2= new Image(550,1); 
  pic2.src="/images/spacer_lightbox550.gif"; 

}

//insert flash
function RunFlashRoster(source,width,height)
{  
    document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="' + width + '" height="' + height + '" align="middle">\n');
    document.write('<param name="allowScriptAccess" value="sameDomain" />\n');
    document.write('<param name="movie" value="' + source + '" />\n');
    document.write('<param name="menu" value="false" />\n');
    document.write('<param name="quality" value="high" />\n');
    document.write('<param name="wmode" value="transparent" />\n');
    document.write('<param name="bgcolor" value="#ffffff" />\n');
    document.write('<embed src="' + source + '" menu="false" quality="high" wmode="transparent" bgcolor="#ffffff" width="' + width + '" height="' + height + '" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />\n');                          
    document.write('</object>\n');
}

//select all checkboxes
function selectAll(classSelect,selectMaster){
	$$('.'+classSelect).each(function(el) {
		if(selectMaster.checked==true){el.checked=true;}else{el.checked=false}
	});
	toggleMessageDiv();
}

//show/hide message div
function toggleMessageDiv(){
	showMessage = "";
	$$('.message').each(function(el) {
		if(el.checked==true){showMessage="true";}
	});
	if(showMessage=="true"){
		$('messageSend').removeClass('hidden');
	}else{
		if($('messageSend').hasClass('hidden')==false){
		$('messageSend').addClass('hidden');
		}
	}
}

//select two other checkboxes
function bothSelect(select1,select2,selectMaster){
	if(selectMaster.checked==true){
		if($(select1)){$(select1).checked=true;}
		if($(select2)){$(select2).checked=true;}
	}else{
		if($(select1)){$(select1).checked=false;}
		if($(select2)){$(select2).checked=false;}
	}
	toggleMessageDiv();
}

//calculate characters for SMS sending
function smsChars(smsInfo,master){
	var charInput = $(master);
	var charCurrent = charInput.value.length;
	$(smsInfo).innerHTML = 'Characters:'+charCurrent+'<br/>SMS Messages: '+Math.ceil(charCurrent/160);
}

//send messages
function messageSend(){
	var smsSent = 0;
	var emailSent = 0;
	var smsTotal = 0;
	var emailTotal = 0;
	$$('.messageSms').each(function(el) {if(el.checked){smsTotal=smsTotal+1}});
	$$('.messageEmail').each(function(el) {if(el.checked){emailTotal=emailTotal+1}});
	$('sendResults').innerHTML = 'Sent: SMS('+smsSent+'/'+smsTotal+') | Email('+emailSent+'/'+emailTotal+')';
	
	var messageText = escape($('messageText').value);
	var messageSubject = $('messageSubject').value;

	var smsNumberCount = 0;
	var smsNumberMax = 40;
	var smsNumber;

	//SMS - Single
	$$('.messageSms').each(function(el) {
		if(el.checked){
			var currentRow = el.getParent('td').getParent('tr');
			var smsNumber = el.name;
			if(smsNumber){
				smsNumber  = smsNumber.replace(/[^0-9]/g, ''); 
				if(smsNumber.length>=10){
					smsNumber = smsNumber.substr(0,10);
					var ajax_rand=Math.floor(Math.random()*9999999);
					var getRequest = new Request({url: 'messageSend.asp', method: 'get', noCache: true, async: true,
						onSuccess: function(responseText){
							smsSent = smsSent+1;
							$('sendResults').innerHTML = 'Sent: SMS('+smsSent+'/'+smsTotal+') | Email('+emailSent+'/'+emailTotal+')';
							$(currentRow).removeClass('oddRow');
							$(currentRow).removeClass('failRow');
							$(currentRow).removeClass('row_inactive');
							$(currentRow).addClass('successRow');
							el.checked=false;
						},
						onFailure: function(){
							$(currentRow).removeClass('oddRow');
							$(currentRow).removeClass('row_inactive');
							$(currentRow).removeClass('successRow');
							$(currentRow).addClass('failRow');
						} 
					}).send('rand='+ajax_rand+'&messageType=sms&smsNumber='+smsNumber+'&messageText='+messageText);
				}
			}
		}
	});
	
	//Email
	$$('.messageEmail').each(function(el) {
		if(el.checked){
			var currentRow = el.getParent('td').getParent('tr');
			var emailAddress = el.name;
			if(emailAddress){
				var ajax_rand=Math.floor(Math.random()*9999999);
				var getRequest = new Request({url: 'messageSend.asp', method: 'get', noCache: true, async: true,
					onSuccess: function(responseText){
						emailSent = emailSent+1;
						$('sendResults').innerHTML = 'Sent: SMS('+smsSent+'/'+smsTotal+') | Email('+emailSent+'/'+emailTotal+')';
						$(currentRow).removeClass('oddRow');
						$(currentRow).removeClass('failRow');
						$(currentRow).addClass('successRow');
						el.checked=false;
					},
					onFailure: function(){
						$(currentRow).removeClass('oddRow');
						$(currentRow).removeClass('successRow');
						$(currentRow).addClass('failRow');
					} 
				}).send('rand='+ajax_rand+'&messageType=email&emailAddress='+emailAddress+'&messageSubject='+messageSubject+'&messageText='+messageText);
			}
		}
	});
}

function IsNumeric(sText)

{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }
   
