/*
 * ET-Manager "Wheels Edition" Addon for Gambio GX 
 * @id: smt.js 1.0 
 * @autor: Tordt Schmidt info@smt-webservices.de 
 * @copyright: SMT-Webservices http://www.smt-webservices.de
 */

if (!document.getElementById) {
	function getElementById(id_var, d, dl) {
		if (!d)
			d = document;
		dl = d.layers;
		db = document.all ? d.all[id_var] : d[id_var];
		if (dl && !db)
			for ( var i = 0; i < dl.length; i++)
				db = getElementById(id_var, dl[i].document);
		if (!db.style)
			db.style = db;
		return db;
	}
	document.getElementById = window.getElementById;
}

function sleep(ms) {
	var zeit = (new Date()).getTime();
	var stoppZeit = zeit + ms;
	while ((new Date()).getTime() < stoppZeit) {
	}
	;
}

/*******************************************************************************
 * Dynamic Ajax Content- � Dynamic Drive DHTML code library
 * (www.dynamicdrive.com) This notice MUST stay intact for legal use Visit
 * Dynamic Drive at http://www.dynamicdrive.com/ for full source code
 ******************************************************************************/

var bustcachevar = 1
// bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects = ""
var rootdomain = "http://" + window.location.hostname
var bustcacheparameter = ""

function ajaxpage(url, containerid, post) {
if (bustcachevar) // if bust caching of external page
		bustcacheparameter = (url.indexOf("?") != -1) ? "&" + new Date().getTime() : "?" + new Date().getTime()
	document.getElementById(containerid).innerHTML = '<div style="height:250px;width:100%"><img src="images/wait.gif?'+bustcacheparameter+'" style="position:relative; top:50%;left:50%;margin-left:-37px;margin-top:-37px;"></div>';
	url = url + '&' + session.name + '=' + session.id;
	var page_request = false
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest()
	else if (window.ActiveXObject) { // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP")
		} catch (e) {
			try {
				page_request = new ActiveXObject("Microsoft.XMLHTTP")
			} catch (e) {
			}
		}
	} else
		return false
	page_request.onreadystatechange = function() {
		loadpage(page_request, containerid)
	}
	
	if (post != undefined) {

		page_request.open('POST', url, true);
		page_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		page_request.setRequestHeader("Content-length", post.length);
		page_request.setRequestHeader("Connection", "close");
		page_request.send(post);

	} else {

		page_request.open('GET', url + bustcacheparameter, true)
		page_request.send(null)
	}
}

function loadpage(page_request, containerid) {
	if (page_request.readyState == 4 && (page_request.status == 200 || window.location.href.indexOf("http") == -1))
		document.getElementById(containerid).innerHTML = page_request.responseText;
	if (document.getElementById(containerid).style.display) {
		document.getElementById(containerid).style.display = 'block';
	}
	if (navigator.appName == 'Microsoft Internet Explorer') {
		document.getElementById(containerid).outerHTML = document.getElementById(containerid).outerHTML;
	}
}

function loadobjs() {
	if (!document.getElementById)
		return;

	for (i = 0; i < arguments.length; i++) {
		var file = arguments[i]
		var fileref = ""
		if (loadedobjects.indexOf(file) == -1) { // Check to see if this
			// object has not already
			// been added to page before
			// proceeding
			if (file.indexOf(".js") != -1) { // If object is a js file
				fileref = document.createElement('script')
				fileref.setAttribute("type", "text/javascript");
				fileref.setAttribute("src", file);
			} else if (file.indexOf(".css") != -1) { // If object is a css
				// file
				fileref = document.createElement("link")
				fileref.setAttribute("rel", "stylesheet");
				fileref.setAttribute("type", "text/css");
				fileref.setAttribute("href", file);
			}
		}
		if (fileref != "") {
			document.getElementsByTagName("head").item(0).appendChild(fileref)
			loadedobjects += file + " " // Remember this object as being already
					// added to page
		}
	}
}

function clearItem(container) {
	document.getElementById(container).innerHTML = '';
	document.getElementById(container).style.display = 'none';
}

function getRims(prod, first, obj) {
	var cars = document.getElementById('cars');
	if (cars && cars.selectedIndex == -1) {
		cars.selectedIndex = 0;
		var car = 0;
	} else {
		var car = cars.options[cars.selectedIndex].value;
	}
	var sizes = document.getElementById('sizes');
	if (sizes && sizes.selectedIndex == -1) {
		sizes.selectedIndex = 0;
		var size = 0;
	} else {
		var size = sizes.options[sizes.selectedIndex].value;
	}
	/*if (size > 0) {
		document.getElementById('rimCont').style.display = 'block';
	} else {
		document.getElementById('rimCont').style.display = 'none';
	}*/
	if ((obj.id == 'activateRims' && obj.selectedIndex > 0)
			|| (obj.id == 'rimType' || obj.id == 'rimSizeFront' || obj.id == 'rimSizeBack') && obj.selectedIndex > -1) {
		document.getElementById('rimListing').innerHTML = '';
		document.getElementById('rimListing').style.display = 'block';
		document.getElementById('activateRims').selectedIndex = 1;
	} else {
		document.getElementById('rimListing').innerHTML = '';
		document.getElementById('rimListing').style.display = 'none';
		document.getElementById('activateRims').selectedIndex = 0;
		gm_calc_prices();
	}
	if (obj.id != 'rimType' && obj.id != 'rimSizeFront' && obj.id != 'rimSizeBack') {
		getRimTypes(prod, car, size);
	}
	if (obj.id != 'rimSizeBack') {
		getRimSize(prod, obj);
	}

	if ((obj.id == 'activateRims' && obj.selectedIndex > 0)
			|| (obj.id == 'rimType' || obj.id == 'rimSizeFront' || obj.id == 'rimSizeBack')) {

		getRimList(prod);
	}
document.getElementById('cart_button').disabled=false;
}

function getRimTypes(prod, car, size) {
	var url = 'ajax_getRimTypes.php?product=' + prod + '&car=' + car + '&size=' + size;
	ajaxpage(url, 'rimType');

	setTimeout('getRimSize(' + prod + ',false)', 500);
}

function getRimSize(prod, obj) {

	var car = document.getElementById('cars').options[document.getElementById('cars').selectedIndex].value;
	var size = document.getElementById('sizes').options[document.getElementById('sizes').selectedIndex].value;

	if (document.getElementById('rimType').selectedIndex >= 0) {
		var rimType = document.getElementById('rimType').options[document.getElementById('rimType').selectedIndex].value;
	} else {
		var rimType = 0;
	}
	var url = "ajax_getRimSizes.php?car=" + car + "&art=" + rimType + "&prod=" + prod + "&size=" + size;
	if (!obj||obj.id != 'rimSizeFront') {
		ajaxpage(url + "&case=front", 'rimSizeFront');

	}
	if (document.getElementById('rimSizeFront').selectedIndex >= 0) {

		var frontSel = document.getElementById('rimSizeFront').options[document.getElementById('rimSizeFront').selectedIndex].value;
	} else {
		var frontSel = 0;
	}
	url += "&case=back&frontSel=" + frontSel
	ajaxpage(url, 'rimSizeBack');

	// alert(url);

}

function getSizes(prod) {
if(document.getElementById('sizes')){
	var cars = document.getElementById('cars');

	if (cars && cars.selectedIndex == -1) {
		cars.selectedIndex = 0;
		var car = 0;
	} else {
		var car = cars.options[cars.selectedIndex].value;
	}
	var url = 'ajax_getSizes.php?product=' + prod + '&car=' + car;
	//alert(url);
	ajaxpage(url, 'sizes');
	document.getElementById('cart_button').disabled='true';
	setTimeout('getRims(' + prod + ',true,document.getElementById(\'sizes\'))', 500);
}



	// getRims(prod, true, cars);
}

function getRimList(prod) {
	var car = document.getElementById('cars').options[document.getElementById('cars').selectedIndex].value;
	var size = document.getElementById('sizes').options[document.getElementById('sizes').selectedIndex].value;

	if (document.getElementById('rimType').selectedIndex >= 0) {
		var rimType = document.getElementById('rimType').options[document.getElementById('rimType').selectedIndex].value;
	} else {
		var rimType = 0;
	}
	var url = "ajax_getRimList.php?car=" + car + "&art=" + rimType + "&prod=" + prod + "&size=" + size;

	if (document.getElementById('rimSizeFront').selectedIndex >= 0) {
		var frontSel = document.getElementById('rimSizeFront').options[document.getElementById('rimSizeFront').selectedIndex].value;
	} else {
		var frontSel = 0;
	}
	url += "&frontSel=" + frontSel;

	if (document.getElementById('rimSizeBack').selectedIndex >= 0) {
		var backSel = document.getElementById('rimSizeBack').options[document.getElementById('rimSizeBack').selectedIndex].value;
	} else {
		var backSel = 0;
	}
	//alert (url);
	url += "&backSel=" + backSel;
	ajaxpage(url, 'rimListing');
}

function switchStyle(row) {
	var container = row.parentNode;
	for ( var i = 0; i < container.childNodes.length; i++) {
		if (container.childNodes[i].style && container.childNodes[i].className != 'ajaxHeader') {
			container.childNodes[i].className = 'ajaxRow';
			for ( var y = 0; y < container.childNodes[i].childNodes.length; y++) {
				if (container.childNodes[i].childNodes[y].nodeName == 'TD') {
					// alert(container.childNodes[i].childNodes[y].innerHTML);
					for ( var z = 0; z < container.childNodes[i].childNodes[y].childNodes.length; z++) {
						// alert(container.childNodes[i].childNodes[y].childNodes[z].type);
						if (container.childNodes[i].childNodes[y].childNodes[z].className == 'button') {
							 //alert('button');
							container.childNodes[i].childNodes[y].childNodes[z].style.display = 'block';
							container.childNodes[i].childNodes[y].className='actionField_no';
						}

					}

				}
			}

		}
	}
	row.className = 'ajaxRow_active';
	for ( var y = 0; y < row.childNodes.length; y++) {
		if (row.childNodes[y].nodeName == 'TD') {
			// alert(row.childNodes[y].innerHTML);
			for ( var z = 0; z < row.childNodes[y].childNodes.length; z++) {
				// alert(row.childNodes[y].childNodes[z].type);
				if (row.childNodes[y].childNodes[z].className == 'button') {
					// alert('button');
					row.childNodes[y].childNodes[z].style.display = 'none';
					row.childNodes[y].className='actionField';
				}

			}

		}
	}

}

function selectRadio(id) {
	document.getElementById('front_' + id).checked = true;
	document.getElementById('back_' + id).checked = true;
	gm_calc_prices();
}

function sleep(millis) {
	var date = new Date();
	var curDate = null;
	do {
		curDate = new Date();
	} while (curDate - date < millis)
}

