﻿//function which retrieves a service part recordid based on a requested service part number
function retrieveReservedelRecordid(){

	//get the part number from the formula, and retrieve the recordid
	var reservedelVarenummer = document.getElementById('reservedelVarenummer').value;
	var theResponse = tsAjax.innerHTML("/page148.aspx?reservedelVarenummer="+reservedelVarenummer);
	var theResponseArray = theResponse.split(',');
	
	var theRecordID = theResponseArray[0];
	var theDescription = theResponseArray[1];
	
	
	//if theres not a problem, then put the recordid in a field hidden from the end user which will be sent to the order lines database
	if (theRecordID != "<span class='section'>0</span>"){
		document.getElementById('reservedelRecordid').value = theRecordID;
		document.getElementById('reservedelFejlbesked').innerHTML = '';
		document.getElementById('vareBeskrivelse').innerHTML=theDescription;
	
	//otherwise, indicate that there was a problem
	}else{
		document.getElementById('reservedelFejlbesked').innerHTML = 'Sorry there is No. such Item No. in my list – Please find the No. in the spare part list of the actual machine model!';
		document.getElementById('reservedelRecordid').value = '';
		document.getElementById('reservedelVarenummer').value = '';
		document.getElementById('vareBeskrivelse').innerHTML='';
		document.getElementById('reservedelVarenummer').focus();
	}
}

//create new arrays to hold service parts order lines (input by user with formula) and the recordids of these order lines (retrieved with ajax)
var ordreLinjer = new Array();
var ordreLinjerRecordIds = new Array();

function rapportLinjerPageInit(){
	if (!(document.getElementById('reservedelLinjer'))) return; 
	var nextButton = document.getElementsByName('next')[0];
	//alert(!nextButton || document.location.href.indexOf('&layout=2')==-1);
	if (!nextButton || document.location.href.indexOf('&layoutid=2')==-1) return;
	nextButton.oldClick = nextButton.onclick;
	nextButton.onclick=clickHandler;
}
Tangora.Events.AddHandler(window,"onload", rapportLinjerPageInit);


//function triggered by add (tilføj) button, which sends ajaxes a number of how many parts are used, as well as a recordid of this part (found by an ajax function to retrieve recordid from the service part number)
function sendToRapportlinjerForm(paramButton){

	if (document.getElementById('reservedelRecordid').value == '') return false;

	paramButton.disabled=true;
	
	//variables to hold the number ordered and the recordid of the service part
	var antal = document.getElementById('antal');
	var reservedelRecordid = document.getElementById('reservedelRecordid');
	var reservedelVarenummer = document.getElementById('reservedelVarenummer');
	var reservedelDescription = document.getElementById('vareBeskrivelse');
	
	//variable which is sent with the posted values to the an ajax object postdata parameter
  //NB: 'reservedele_recordid' changed from 'reservedelRecordid.value' to 'reservedelVarenummer.value' 11-02-09
  //due to requirement that the reservedel list can be replaced, 
  //and individual reserve parts can be given different Tangora recordid's
	var strRes = 'rapportlinjer_antal='+antal.value+'&reservedele_recordid='+reservedelVarenummer.value; 
	
	//ajaxed url
	var url = '/page149.aspx?action=post&layoutid=1';

	//storage ajax object which gets postdata and recieves a callback, because we're ajaxing to a form
    var storage = tsAjax.createInstance("bgsave");
    storage.method="post";
    storage.postData = strRes + "&previouscontent=";
	storage.callback = this.CallBack;

   	var returnedRecordid = tsAjax.innerHTML(url,'tsAjax',"bgsave");
	
	//puts the order as it was input in an order array, puts the order line's recordid in another array
	
	var wrapper =document.createElement('div');
	wrapper.className='orderline';
	wrapper.innerHTML="<input type='hidden' class='ordrelinjeRecordid' id='newitem' /><div class='antalWrapper'>"+antal.value+"   </div><div class='vareNummerWrapper'>"+reservedelVarenummer.value+"   </div><div class='vareBeskrivelseWrapper'>"+reservedelDescription.innerHTML+"  </div><a href='#' onclick='deleteMe(this); return false;'><img  alt='Delete' src='media/delete.gif' border='0' /></a>";
	
	
	//targets the div / felt which is to be filled with the order lines / order line's record id
	//alert (document.getElementById('reservedelLinjer'));
	//alert (wrapper);
	var targetDiv = document.getElementById('reservedelLinjer');

	
	//puts info from the above arrays into a target div / felt
	targetDiv.appendChild(wrapper);
	
	
	//reset form upon submission
	antal.value='1';
	reservedelRecordid.value='';
	reservedelVarenummer.value='';
	reservedelDescription.innerHTML='';
	
	//alert ('finished with sendtorapportlinjerform');
	return false;
}

function addRapportLinjerRecordIds(returnedRecordid){
	var newitem = document.getElementById('newitem');
	//newitem.parentNode.className='orderline';
	//alert ('oi: '+newitem);
	newitem.value=returnedRecordid;
	//alert(returnedRecordid);
	newitem.id = 'recid-'+returnedRecordid;
	document.getElementById('tilfoej').disabled=false;
	//alert ('howyalikemenow?');
}

function deleteMe(paramElement){
	var recid=paramElement.parentNode.childNodes[0].value;
	//alert(paramElement.parentNode.parentNode);
	paramElement.parentNode.parentNode.removeChild(paramElement.parentNode);
	
}

function setRecordIds(){
	//alert(ordreLinjerRecordIds[0]);
	
	var recordIdDiv = document.getElementById('idrapportLinjer');
	var inputFields = Tangora.DOM.GetCollectionByClassName('reservedelLinjer','input','ordrelinjeRecordid');
	//alert(inputFields.length);
	
	var ordreLinjerRecordIdsString = '';
	for (var i=0; i<inputFields.length; i++){
	
		ordreLinjerRecordIdsString+=inputFields[i].value;
		if (i!=(inputFields.length-1)){
			ordreLinjerRecordIdsString+=',';
		}
	}
	recordIdDiv.value=ordreLinjerRecordIdsString;
	
	//alert('and the value is: '+recordIdDiv.value);
}

function clickHandler(){
	setRecordIds();
	this.oldClick();
	//return false;
}




//function called to retrieve a value from form using 'text after submission' section generated by form page
function CallBack(){
	if (this.ajaxObj!=null) {
	    if (this.ajaxObj.readyState==4){
		    var RT = this.ajaxObj.responseText;
		    RT = RT.replace("<!-- Normal-ingenstandardformattering start -->","").replace("<!-- Normal-ingenstandardformattering end --> ","");
			
		    //alert(RT);
			//ordreLinjerRecordIds.push(RT);
			if(isNaN(RT)) RT = 0;
			addRapportLinjerRecordIds(RT);
			

		    if (this.statusElement!=null) {this.statusElement.innerHTML = this.statusText_Done;}
		    if (this.resultElement!=null) {this.resultElement.innerHTML = RT}
	    }										    
	}else{
	    var RT = this.IF.innerHTML;
	    if (this.statusElement!=null) {this.statusElement.innerHTML = this.statusText_Done;}
	    if (this.resultElement!=null) {this.resultElement.innerHTML = RT}
    }
}






function MoveSnippet(sCon, nsCon)
{
var SnippetContainer = document.getElementById(sCon);
var NewSnippetContainer = document.getElementById(nsCon);

   if (SnippetContainer && NewSnippetContainer)
   {
     Tangora.DOM.MoveElement(sCon, nsCon);
     SnippetContainer.style.display = "block";
   }

}

function MoveSnippet(sCon, nsCon)
{
var SnippetContainer2 = document.getElementById(sCon);
var NewSnippetContainer2 = document.getElementById(nsCon);

   if (SnippetContainer2 && NewSnippetContainer2)
   {
     Tangora.DOM.MoveElement(sCon, nsCon);
     SnippetContainer2.style.display = "block";
   }

}
