/*******************************************
 * Jjavascript funksjoner til bruk på tradein.no
 * 2008-01-06, DSL
 */

function establishRequest() {
	var theRequest=null;
	if (window.XMLHttpRequest){
		theRequest = new XMLHttpRequest();
	}
	else if (window.ActiveXObject){
		try { theRequest = new ActiveXObject("Msxml2.XMLHTTP");
		}
			catch(e) {
			try {theRequest= new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e) {theRequest=null;}
		}
	}
	else
		theRequest=null;
	return theRequest;
}

function postRequest(theRequest,theUrl,params,maalobj1,maalobj2,maalobj3,maalobj4){
	theRequest.onreadystatechange = 
		function( ) {
		processRequestChange(theRequest,maalobj1,maalobj2,maalobj3,maalobj4);
	};
	theRequest.open("POST", theUrl,true);
	theRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	theRequest.setRequestHeader("Content-length", params.length);
	theRequest.setRequestHeader("Connection", "close");
	theRequest.send(params);
}

function processRequestChange(aRequest,maalobj1,maalobj2,maalobj3,maalobj4){
	if (aRequest.readyState == 4) {
		if ((aRequest.status == 200) || (aRequest.status == 304)){
			if (maalobj2 == null){
				assignText(aRequest.responseText, maalobj1 );
			}
			else if (aRequest.responseText) {
				var tekstArr = new Array();
				tekstArr = aRequest.responseText.split(';');
				assignText(tekstArr[0], maalobj1 );
				assignText(tekstArr[1], maalobj2 );
				assignText(tekstArr[2], maalobj3 );
				assignText(tekstArr[3], maalobj4 );
			}
			else{
				assignText('', maalobj1 );
				assignText('', maalobj2 );
				assignText('', maalobj3 );
				assignText('', maalobj4 );
			}
		}
	}
}

function assignText( aText, aTarget ){
	if (aTarget.form){
		// brukes ved tilordning av verdi til form-elementer
		aTarget.value = aText;
	}   
	else if (document.getElementById && !document.all){
		// brukes av Firefox, er den offisielt stottede DOM varianten
		var d_old = aTarget;
		var d_new = d_old.cloneNode(false);
		var range = document.createRange();
		range.setStartBefore(d_old);
		var htmlFrag = range.createContextualFragment(aText);
		d_new.appendChild(htmlFrag);
		var parent = d_old.parentNode;
		parent.replaceChild(d_new, d_old);
	}   
	else{
		// brukes av IE og Opera, er Microsoft sin version
		aTarget.innerHTML = aText;
	}
}

function get_navn_adr_pnr_psted_where_tlfnr(tlfnr,maalobj1,maalobj2,maalobj3,maalobj4){
	var myRequest=establishRequest();
	if (myRequest) {
		postRequest(myRequest,'/norsk/jsproxy','navn_adr_pnr_psted_where_tlfnr='+tlfnr,maalobj1,maalobj2,maalobj3,maalobj4);
	}
}

// Henter poststed for postnr
function get_poststed(postnr,maalfeltobj){
	var myRequest=establishRequest();
	if (myRequest) {
		postRequest(myRequest,'/norsk/jsproxy','poststed_where_postnr='+postnr,maalfeltobj);
	}
}
