// JavaScript Document  

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}


function addCommas(nStr)
{
	nStr = nStr.replace(new RegExp("," , "g"), "");

	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}


//implementation: onClick="return areYouSure('Proceed with deletion blah blah?');"

function areYouSure(text) {
	
	
	if(!text) { 
		var text = "Are you sure you want to permanently delete this listing?"; 
	}
	
	doyou = confirm(text); //Your question.
	if (doyou == true) {
		//alert("User deleted."); //If your question is answered Yes.
		return true;
	}
	else{
		if (doyou == false) {
			//history.go(-1); //After answered No, the action. (In < this < case, it sends you back 1 page!)
			return false;
		}
	}

} 

function showhide(switch_elem,target_elems,show_text,hide_text,limit) {
	
	if(!target_elems) {
		alert('no targets');
		return false;	
	}
	
	if (!target_elems.length) {
		
		var arr = new Array();
		
		arr[0] = target_elems;
		
		target_elems = arr;
			
	} 
	
		
	for(i=0; i<target_elems.length; i++) {
		
		if(limit) {
			if(limit < i) {
				break;
			}
		}
		target_elem = target_elems[i];
		
		if(target_elem.style) {
			
			if(target_elem.style.display == 'none') {
				target_elem.show();
				switch_elem.innerHTML = hide_text;
			} else {
				target_elem.hide();
				switch_elem.innerHTML = show_text;
			}
		}
	}
}


// Disables all other submit buttons (so they are not passed through POST via Ajax
// Page must be reloaded for the other buttons to reset themselves

function disableAllOtherSubmits(except) { 
// arg = EXCEPT for this submit button (presumably the clicked one)
	
	//alert('in dAS');
	
	inputs = $$('input');
	
	//alert(inputs);
	
	for(i=0; i<inputs.length; i++) {
		
		if( inputs[i] && inputs[i].type == 'submit') {
			//alert('found-a-submitbutton: '+inputs[i].value);
			
			if(inputs[i].value != except.value) {
				
				inputs[i].disabled = true;
				
			}
		}
	}

}

function selectAll(id_piece,toggle_me) {
	
	//substr_count( string haystack , string needle [, int offset [, int length]] )
	
	inputs = $$('input.checkbox');
	if(!inputs) {
		return false;
	}
	
	for(i=0; i< inputs.length; i++) {
		
		if (substr_count(inputs[i].getAttribute('id'),id_piece)) {
			
			inputs[i].checked = true;
			
			if(toggle_me) {
				
				var toggle_exists = true;
				var changeToggleText = 'Deselect All';
				
				if(toggle_me.innerHTML == 'Deselect All') {
					inputs[i].checked = false;
					changeToggleText = 'Select All';
				}
						
			
			}
		}
	}
	if(changeToggleText) {
		toggle_me.innerHTML = changeToggleText;	
	}
	
}


//selectBox for create pages
function showAllIfSelected(show_these,selectbox,select_text) {
	
	for(i=0; i<show_these.length; i++) {
		
		show_me = show_these[i];
		showIfSelected(show_me,selectbox,select_text);
	}
}
function showIfSelected(show_me,selectbox,select_text) {
	if(selectbox.options[selectbox.selectedIndex].text == select_text) { 
		show_me.style.display = 'block'; 
		//alert('should show');
	} 
	else { 
		show_me.style.display = 'none';
	    //alert('should hide');
	}
}
function showIfAnySelected(show_me,selectbox) {
	
	if(selectbox.options[selectbox.selectedIndex].text != '') { 
		show_me.blindDown({ duration: 0.3 }); 
		//alert('should show');
	} 
	else { 
		show_me.blindUp({ duration: 0.3 });
	    //alert('should hide');
	}
}
function hideAllIfEmpty(cssRule) {
	
	var elements = $$(cssRule);
	
	//alert(elements.length);
	
	for(i=0; i<elements.length; i++) {
		
		if (elements[i].innerHTML.blank()) {
			
			hide(elements[i]);	
		}
	}
	
}
function hide(element) {
	element.style.display = 'none';
}
function show(element) {
	element.style.display = 'block';	
}

// Function to allow one JavaScript file to be included by another.
function IncludeJavaScript(jsFile)
{
	newJS = document.createElement('script');
	newJS.type='text/javascript';
	newJS.src=jsFile;
	// Add the element to the end of the head, body, or any other tag HERE:
	document.getElementsByTagName('body')[0].appendChild(newJS);
}

function setMaxLength() {
	var x = document.getElementsByTagName('textarea');
	var counter = document.createElement('div');
	counter.className = 'counter';
	for (var i=0;i<x.length;i++) {
		if ( x[i].getAttribute('maxlength') ) {
			var counterClone = counter.cloneNode(true);
			counterClone.relatedElement = x[i];
			counterClone.innerHTML =
			'<span class="chars_typed">0</span> / <span class="chars_max">'+x[i].getAttribute('maxlength')+' chars max</span>';
			
			x[i].parentNode.insertBefore(counterClone,x[i].nextSibling);
			x[i].relatedElement = counterClone.getElementsByTagName('span')[0];

			x[i].onkeydown = x[i].onchange = checkMaxLength;
			x[i].onkeydown();
		}
	}
}

function checkMaxLength() {
	var maxLength = this.getAttribute('maxlength');
	var currentLength = this.value.length;
	if (currentLength > maxLength)
		this.relatedElement.className = 'error'; //edit this class in your CSS file
	else
		this.relatedElement.className = '';
	this.relatedElement.firstChild.nodeValue = currentLength;
	// not innerHTML
}

//Pop-up windows

function NewWindow(mypage,myname,w,h,scroll,resize){
	

	myname = myname.replace(' ','_');
	
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings =
	'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable='+resize;
	
	window.open(mypage,myname,settings);

}

/*
Auto tabbing script- By JavaScriptKit.com
http://www.javascriptkit.com
*/

function autotab(original,destination){
	if (original.getAttribute&&original.value.length==original.getAttribute("maxlength"))
	destination.focus()
}


function disableField(fieldname,disableIt) {
	
	fieldname.disabled = disableIt;
	
}

function showhideChildElements(Id_or_Element,vis) {
	
	//recursive function that shows or hides ALL descendents of an element
	
	if(vis == 'show') {
		vis_in_f = 'visible';	
	} else { vis_in_f = 'hidden'; }
	
	//check to see if func argument is an Element's Id (string) or an HTML object
	var mother = document.getElementById(Id_or_Element);
	if(!mother) {
		mother = Id_or_Element;	
	}
	
	
	for (var i = 0; i<mother.childNodes.length; i++) {
		var child = mother.childNodes[i];
		if(child.nodeType == 1) {
			child.style.visibility = vis_in_f;
			
		
			showhideChildElements(child,vis);
			
		}
	}
}

function substr_count( haystack, needle, offset, length ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: substr_count('Kevin van Zonneveld', 'e');
    // *     returns 1: 3
    // *     example 2: substr_count('Kevin van Zonneveld', 'K', 1);
    // *     returns 2: 0
    // *     example 3: substr_count('Kevin van Zonneveld', 'Z', 0, 10);
    // *     returns 3: false
 
    var pos = 0, cnt = 0;

    if(isNaN(offset)) offset = 0;
    if(isNaN(length)) length = 0;
    offset--;
 
    while( (offset = haystack.indexOf(needle, offset+1)) != -1 ){
        if(length > 0 && (offset+needle.length) > length){
            return false;
        } else{
            cnt++;
        }
    }
 
    return cnt;
}

function Gettime() {
var now = new Date();
//var currenthour = now.getHours();
//var currenttime = now.getMinutes();
//var currentdate = now.getDate();
//var offset = now.gettimezoneOffset();
document.write(now);
}


