// --------------------------- AJAX --------------------------------------
var xmlHttp;
var defaultparam = 'user=705&curr=2&ilng=1';
var is_ie = (navigator.userAgent.indexOf('MSIE') >= 0) ? 1 : 0;
var is_ie5 = (navigator.appVersion.indexOf("MSIE 5.5") != -1) ? 1 : 0;
var is_opera = ((navigator.userAgent.indexOf("Opera 6") != -1) || (navigator.userAgent
.indexOf("Opera/6") != -1)) ? 1 : 0;

//netscape, safari, mozilla behave the same??? 
var is_netscape = (navigator.userAgent.indexOf('Netscape') >= 0) ? 1 : 0;

function show_data(strName, strLanguage, strMethod) {
	if (strName.length > 0) {
//Append the name to search for to the requestURL 
var url = ajaxUrl + '?m=' + strMethod + '&q=' + strName + '&ilng='
+ strLanguage;
xmlHttp = GetXmlHttpObject(stateChangeHandler);
//Send the xmlHttp get to the specified url 
xmlHttp_Get(xmlHttp, url);
} else {
//Textbox blanked out, clear the results 
document.getElementById(SELECT_Destination).innerHTML = '';
	}
}

//stateChangeHandler will fire when the state has changed, i.e. data is received back 
// This is non-blocking (asynchronous) 
function stateChangeHandler() {
	//readyState of 4 or 'complete' represents that data has been returned 
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete') {
//Gather the results from the callback 
var str = xmlHttp.responseText;
//Populate the innerHTML of the div with the results 
document.getElementById(SELECT_Destination).innerHTML = '';
var sSelect = new Array();
sSelect = str.split(';');
var intSizeSelect = 2;
if (sSelect.length <= 1) {
document.getElementById(DIV_Destination).style.display = "none";
document.getElementById(SELECT_Destination).style.display = "none";
} else if (sSelect.length == 2) {
document.getElementById(DIV_Destination).style.display = "";
document.getElementById(SELECT_Destination).style.display = "";
} else {
intSizeSelect = sSelect.length - 1;
document.getElementById(DIV_Destination).style.display = "";
document.getElementById(SELECT_Destination).style.display = "";
}
if (sSelect.length > 20)
intSizeSelect = 20;
document.getElementById(SELECT_Destination).size = intSizeSelect;
for (i = 0; i < sSelect.length - 1; i++) {
var sValue = new Array();
sValue = sSelect[i].split('*');
try {
var opt = new Option(trim(sValue[1]), trim(sValue[0]));
opt.style.color = "graytext";
document.getElementById(SELECT_Destination).add(opt, null) //add new option to end of "sample"
} catch (e) { //in IE, try the below version instead of add()
var opt = new Option(trim(sValue[1]), trim(sValue[0]));
opt.style.color = "graytext";
document.getElementById(SELECT_Destination).add(opt) //add new option to end of "sample"
}
}
if (sSelect.length == 2) {
var obj = document.getElementById(SELECT_Destination);
obj.selectedIndex = 0;
setValue(SELECT_Destination, HIDDEN_Destination, TEXT_Destination);
document.getElementById(DIV_Destination).style.display = "none";
obj.style.display = "none";
}
}
}

// XMLHttp send GET request 
function xmlHttp_Get(xmlhttp, url) {
	xmlhttp.open('GET', url, true);
	xmlhttp.send(null);
}

function GetXmlHttpObject(handler) {
	var objXmlHttp = null; //Holds the local xmlHTTP object instance 
//Depending on the browser, try to create the xmlHttp object 
	if (is_ie) {
//The object to create depends on version of IE 
//If it isn't ie5, then default to the Msxml2.XMLHTTP object 
var strObjName = (is_ie5) ? 'Microsoft.XMLHTTP' : 'MSXML2.XMLHTTP.3.0';
//Attempt to create the object 
try {
objXmlHttp = new ActiveXObject(strObjName);
objXmlHttp.onreadystatechange = handler;
} catch (e) {
//Object creation errored 
alert('IE detected, but object could not be created. Verify that active scripting and activeX controls are enabled');
return;
}
	} else if (is_opera) {
//Opera has some issues with xmlHttp object functionality 
alert('Opera detected. The page may not behave as expected.');
return;
	} else {
// Mozilla | Netscape | Safari 
objXmlHttp = new XMLHttpRequest();
objXmlHttp.onload = handler;
objXmlHttp.onerror = handler;
	}
//Return the instantiated object 
	alert(objXmlHttp.responseText+defaultparam);
	return objXmlHttp;
}

function setValue(cltsouce, cltcode, cltvalue) {
	var obj = document.getElementById(cltsouce);
	var obj0 = document.getElementById(cltcode);
	var obj1 = document.getElementById(cltvalue);
if (obj1 != null & obj.selectedIndex > -1)
obj1.value = obj[obj.selectedIndex].text;
if (obj0 != null & obj.selectedIndex > -1)
obj0.value = obj.value;
}

function Send(strurl,strMail,strPass,blnRm){ 
var url = strurl + "/ui/crm/signin.aspx";
xmlHttp = GetXmlHttpObject(stateChangeHandler1); 
//Send the xmlHttp get to the specified url 
	xmlHttp_POST(xmlHttp, url,strMail,strPass,blnRm);
} 

//stateChangeHandler will fire when the state has changed, i.e. data is received back 
// This is non-blocking (asynchronous) 
function stateChangeHandler1() 
{ 
//readyState of 4 or 'complete' represents that data has been returned 
if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete'){ 
//Gather the results from the callback 
location.href = xmlHttp.responseText+defaultparam;              
}
} 

// XMLHttp send POST request 
function xmlHttp_POST(xmlhttp, url,strMail,strPass,blnRm) { 
	var params = defaultparam+'&l='+strMail+'&p='+strPass;
	if (blnRm)
params = params + '&rm=on';
xmlhttp.open('POST', url, true); 
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttp.setRequestHeader("Content-length", params.length);
	xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(params); 
}
