/* ajax functions for wheel chair accessible vans */
var xmlhttp=false; 

if (window.XMLHttpRequest) {
	xmlhttp = new XMLHttpRequest(); 
}else{
	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

function xmlAction(fragment_url){
	xmlhttp.open("GET", fragment_url); 
	xmlhttp.onreadystatechange = function() { 
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
		
		//document.getElementById('loadInfo').innerHTML = '....'; 
		} 
	} 
	xmlhttp.send(null); 
}

function loadFragmentInToElement(fragment_url, element_id, extra, loading) { 
    var element = document.getElementById(element_id); 
    //document.getElementById('loadInfo').innerHTML = 'Loading ...'; 
   if(loading != ''){
   	   element.innerHTML = loading;
   }else{
	   element.innerHTML = 'Loading...';
   }
    xmlhttp.open("GET", fragment_url); 
    xmlhttp.onreadystatechange = function() { 
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      element.innerHTML = xmlhttp.responseText; 
      	
		if(extra != ''){
			eval(extra);
		}
	  
      //document.getElementById('loadInfo').innerHTML = '....'; 
      } 
    } 
    xmlhttp.send(null); 
} 

function toggleClass(id,c){
	var obj = document.getElementById(id);
	obj.className = c;
}

function getStyleClass (className) {
	for (var s = 0; s < document.styleSheets.length; s++){
		if(document.styleSheets[s].rules){
			for (var r = 0; r < document.styleSheets[s].rules.length; r++){
				if (document.styleSheets[s].rules[r].selectorText == '.' + className){
					return document.styleSheets[s].rules[r];
				}
			}
		}else if(document.styleSheets[s].cssRules){
			for (var r = 0; r < document.styleSheets[s].cssRules.length; r++){
				if (document.styleSheets[s].cssRules[r].selectorText == '.' + className){
                    return document.styleSheets[s].cssRules[r];
                }
			}
		}
	}
	
	return null;
}

function switchListStyles(which){
    var listClass = getStyleClass('listView');
    var detailClass = getStyleClass('detailView');
    
    if(which == 'list'){
		listClass.style.display='block';
        detailClass.style.display='none';
    }else{
		listClass.style.display='none';
        detailClass.style.display='block';
    }
}

function fncCenteredChildWindow(name,URL,vHeight,vWidth,vScroll,vStatus) {
	if (screen.width) {
		var winl=(screen.width-vWidth)/2;
		var wint=(screen.height-vHeight)/2;
	} else { 
		winl=0;wint=0;
	}
	if(winl<0)winl=0;
	if(wint<0)wint=0;
	var child = window.open(URL,name,'height='+vHeight+',width='+vWidth+',scrollbars='+vScroll+',status='+vStatus+',top='+wint+',left='+winl+',resizable=no');
	child.focus();
}

//require fields in a form and redirect to url
function fncSubmit(obj,url) {
	var req = obj.required_fields;
	var submitflag = true;
	var notice = "Some of the required fields are blank:\n\n";
	if (req) {
		//Means the required fields are present, let's check for values
		var arrFields = obj.required_fields.value.split("|")
		for(var x=0; x<=arrFields.length-1; x++) {
			var arrName = arrFields[x].split(",");
			arrLabel=arrName[0];
			
			if (obj.elements[arrLabel]){
				
				var str = "if (obj."+arrName[0]+".value == '') { notice += '-->  "+arrName[1]+"\\n'; submitflag = false;}";
				eval(str);
			}
    }
		notice += "\nPlease fill in these fields and resubmit!";
	} else {
		//Means there isn't a required fields parameter; keep going
	}
	if (submitflag) {
		
		obj.action = url;
		obj.submit();
	} else {
		alert(notice);
	}
}

function addToFavorites(url,page){ 
	if (window.sidebar) {
		// Mozilla Firefox Bookmark
		window.sidebar.addPanel(page, url,"");
	} else if( window.external ) { 
		// IE Favorite
		window.external.AddFavorite( url, page);
	}	else if(window.opera && window.print) { 
		// Opera Hotlist
		return true; 
	}
}

function changeDetailImage(newSource){
	var img = document.getElementById('mainImage');
	img.src = newSource;
}

function toggleVanComparison(id){
	var url = '/includes/ajax.php?m=toggleCompare&id='+id;
	xmlAction(url);
}


function addOption(price, upgradeid){
	//alert('yo');
	basePrice = document.getElementById('van_price').value;
	//alert(basePrice);
	if(basePrice != 'reserved'){
		//alert(basePrice);
		pField = document.getElementById("UPGRADE_TOTAL");	
		//alert(basePrice);
		var newCost = 0;
		if(document.getElementById(upgradeid).checked){
		 newCost = parseFloat(price) + parseFloat(basePrice); 
		}else{
		 newCost = parseFloat(basePrice) - parseFloat(price) ;
		}
		 document.getElementById('van_price').value = newCost;
		 formattedCost = formatAsMoney(newCost);
		 formattedCost = formattedCost.replace('.00','');
		  //formattedCost = formatAsMoney(newCost);
		// formattedCost = CommaFormatted(newCost.toString());
		 pField.innerHTML = '$' + formattedCost;
	}
}


function formatAsMoney(mnt) {
    mnt -= 0;
    mnt = (Math.round(mnt*100))/100;
    outmnt = (mnt == Math.floor(mnt)) ? mnt + '.00' 
              : ( (mnt*10 == Math.floor(mnt*10)) ? 
                       mnt + '0' : mnt);		  
	return CommaFormatted(outmnt);
}

function CommaFormatted(amount)
{
	var delimiter = ","; // replace comma if desired
	var a = amount;
	if(amount.indexOf('.') != -1){
		a = amount.split('.',2)
	}
	var d = a[1];
	var i = parseInt(a[0]);
	if(isNaN(i)) { return ''; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	var n = new String(i);
	var a = [];
	while(n.length > 3)
	{
		var nn = n.substr(n.length-3);
		a.unshift(nn);
		n = n.substr(0,n.length-3);
	}
	if(n.length > 0) { a.unshift(n); }
	n = a.join(delimiter);
	if(d.length < 1) { amount = n; }
	else { amount = n + '.' + d; }
	amount = minus + amount;
	return amount;
}
