 /*
	RCG Properties Javascript. Lots of stuff done by Ed Giardina 
	Other Stuff done by Greg Seagall or Jeff Silvestris
	onepica.com
	 
 */
  
		function addEvent( obj, type, fn, useCapture )
		{
			if (obj.addEventListener)
				obj.addEventListener( type, fn, false );
			else if (obj.attachEvent)
			{
				obj["e"+type+fn] = fn;
				obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
				obj.attachEvent( "on"+type, obj[type+fn] );
			}
		}
		
		function removeEvent( obj, type, fn, useCapture )
		{
			if (obj.removeEventListener)
				obj.removeEventListener( type, fn, false );
			else if (obj.detachEvent)
			{
				obj.detachEvent( "on"+type, obj[type+fn] );
				obj[type+fn] = null;
				obj["e"+type+fn] = null;
			}
		}
 
 
		// only allow $1,234
		function isNumeric(string) {
			var reg = /[^0-9$,.]/i;
			if(reg.exec(string)) return false;
			return true;
		}
		
		function numbersOnly(string) {
			return [string.replace(/[^0-9.]/gi, "")].join("");
		}
 
 
 function validateforms(form){
	for(i = 0; i < form.elements.length; i++){
		// first check required elements as filled in
		if (form.elements[i].value == "" && form.elements[i].getAttribute("required") == "true") {
			new Effect.Highlight(form.elements[i], {});
			new Effect.Highlight(form.elements[i], { queue: 'end'});
			new Effect.Highlight(form.elements[i], { queue: 'end'});
			new Effect.Highlight(form.elements[i], { queue: 'end'});
			alert("Please enter a value in the "+ form.elements[i].getAttribute("description") +" field.");
			form.elements[i].focus();
			return false ;
		}		
		
		//Check numeric fields expected	
		if (form.elements[i].getAttribute("numeric") == "true") {
			if(form.elements[i].value != "" && !isNumeric(form.elements[i].value)){
				new Effect.Highlight(form.elements[i], {});
				new Effect.Highlight(form.elements[i], { queue: 'end'});
				new Effect.Highlight(form.elements[i], { queue: 'end'});
				new Effect.Highlight(form.elements[i], { queue: 'end'});
				alert("Please enter a numeric value in the "+ form.elements[i].getAttribute("description") +" field.");
				form.elements[i].focus();
				return false ;
			}
			else if(form.elements[i].value != "" && isNumeric(form.elements[i].value)){
				form.elements[i].value = numbersOnly(form.elements[i].value);				
			}
		}
		/* Check Date
		if (form.elements[i].getAttribute("date") == "true") {
			selecteddate = new Date(form.elements[i].value);
		    mynow = new Date();		
		    alert(selecteddate.getTime());
		    alert(mynow.getTime());	
			if(selecteddate.getTime() <= mynow.getTime()){
				alert("Please enter a date not already passed for the date field.");
				form.elements[i].focus();
				return false ;
			}
		}
		*/
		//		 then check other things
		
		/* Check Email */
			if (form.elements[i].getAttribute("email") == "true") {
				var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				if (!filter.test(form.elements[i].value)){
				    new Effect.Highlight(form.elements[i], {});
				    new Effect.Highlight(form.elements[i], { queue: 'end'});
				    new Effect.Highlight(form.elements[i], { queue: 'end'});
				    new Effect.Highlight(form.elements[i], { queue: 'end'});
					alert("The value in the '" +form.elements[i].getAttribute("description") +"' field is not a valid email address.");
					form.elements[i].focus();
					return false;
				}			
			}
		
		//Check maxlength on Textareas	
		if(((form.elements[i].type == "textarea") && form.elements[i].value.length > form.elements[i].getAttribute("maxlength")) && form.elements[i].getAttribute("maxlength") != null){
			new Effect.Highlight(form.elements[i], {});
			new Effect.Highlight(form.elements[i], { queue: 'end'});
			new Effect.Highlight(form.elements[i], { queue: 'end'});
			new Effect.Highlight(form.elements[i], { queue: 'end'});
			alert("Please enter " + form.elements[i].getAttribute("maxlength") + " characters or less in the " + form.elements[i].getAttribute("description") + " field.");
			return false;		
		}
		
			    
	}
	return true ;  
  }
  
   
  function locationcheck(myform){
		if(myform.elements.cityID.selectedIndex != '' && myform.elements.neighborhoodID.selectedIndex != ''){
			alert('Please select either a Neighborhood or a City, not both. ');	
			return false;
		}        
  }
  
  function deleteconfirm(myform){
		return confirm('Are you sure you wish to delete this record? Delete actions cannot be undone.');       
  }
	
	
	function coverSetVisible(obj) {
		var divRef = document.getElementById(obj);
		var ifrRef = document.getElementById(obj+'cover');
	 
		ifrRef.style.display = "block";
		ifrRef.style.width = divRef.offsetWidth;
		ifrRef.style.height = divRef.offsetHeight;
		ifrRef.style.top = divRef.style.top;
		ifrRef.style.left = divRef.style.left;
		ifrRef.style.zIndex = divRef.style.zIndex - 1;
		//alert(IfrRef.style.zIndex);
}
  
  function showhide(x){   	
   	var counter = document.forms['count'].counter.value;
   	counter = eval(counter)+2;
	document.forms['count'].counter.value = counter;
	document.forms['mainform'].selectedtab.value = x;
	
	document.getElementById('general').style.display = 'none';
	document.getElementById('features').style.display = 'none';
	document.getElementById('photos').style.display = 'none';
	document.getElementById('mls').style.display = 'none';
	document.getElementById('web').style.display = 'none';
	document.getElementById('trans').style.display = 'none';
	document.getElementById('history').style.display = 'none';
	
   	myvar = getElement(x);
  	myvar.style.display = 'block';		
	//coverSetVisible(x);	
	// Change old/new tab color
	if (tabSelected != null && tabSelected != 'null' && tabSelected != 'undefined' && tabSelected != '') {
		oldTab = getElement(tabSelected);
		//oldTab.style.backgroundColor = "#bad1d9";
		oldTab.className = "off";
	}
	tabSelected = x+"tab";	
	newTab = getElement(tabSelected);
	//newTab.style.backgroundColor = "#f3edcb";
	newTab.className = "on";
  }
 // Selected Tab
 var tabSelected = "";
  
 var dom = document.getElementById;
 var iex = document.all;
 var ns4 = document.layers;
 
 function getElement(name, nest){
	nest = nest ? 'document.'+nest+'.' : '';
	var el = dom ? document.getElementById(name) : iex ? document.all[name] : ns4 ? eval(nest+'document.'+name) : false;
	el.css = ns4 ? el : el.style;
	return el;
 }   
 
 function populatecraigslist(){
	
	price = document.forms[0].price.value ;

	//document.forms[0].Ask.value = price;
	//frames['cl'].document.form1.Ask.value = price;
	//alert(frames['cl'].document.forms.length);
 
 } 


function updatecraigslist(){
	frames['craigslistupdate'].location.href="updatecl.php?listingID=" + top.document.forms[0].listingID.value;
}

// Navigate away thing
		// get element
		function jsxge(jsxe,jsxn) { jsxn = jsxn ? 'document.'+jsxn+'.' : ''; return document.getElementById ? document.getElementById(jsxe) : document.all ? document.all[jsxe] : document.layers ? eval(jsxn+'document.'+jsxe) : false; }
		
		// check for change
		function nav(page) {
			var changelog = jsxge("changelog");
			var string = changelog.value;
			if (string != "" && string) {
				var input = confirm("You have made changes to the following items:\n\n"+string+"\n\nIf you navigate away from this page without saving these changes will be lost.");
			} else input = true;
			if (input) 
				{ return true; } 
			else return false;
		}
		
		//update change log
		function doChange(el) {
			var changelog = jsxge("changelog");
			if (changelog.value != "") changelog.value += "\n";
			changelog.value += this.getAttribute("description");			
		}
		
		function changecheck(form){		
			//Mark all items on the page with an onchange element
			for(i = 0; i < form.elements.length; i++){
				form.elements[i].onchange = doChange;			
			}		
			
			//Then mark all items in the adminColumn with a function to prompt confirm
			var x = document.getElementById('adminColumn');
			if (!x) return;
			var y = x.getElementsByTagName('a');
			for (var i=0;i<y.length;i++){							
				y[i].onclick = nav;
			}
		}
		

function checkTextAreaLengthRealTime(){
	val = this.value; 

	if (val.length > this.getAttribute("maxlength")) {	  
	  this.value = val.substring(0,this.getAttribute("maxlength"));
	  return false;
	}	
}
 //Delete confirm
 
 
 
 function callback_function(){
 
 
 
 
 
 }
 
 

 
 
 
