var bKundensuche = false;
var tTimer = null;
var aAdressen = new Array();
var bLogoutInProgress = 'false';
var sLogoutUrl = '';
var TargetAfterValidSession = '';

var xmlHttpObjectUnload = false;
var xmlHttpObject = false;

$(document).ready(function() 
{
	// ajax für unload
	xmlHttpObjectUnload = getAjaxObject();
	xmlHttpObject = getAjaxObject();
	
	
	// Auf Seiten-wechsel reagieren
	addWindowEvent('beforeunload', changeWindow);

	
	// optional: Kundensuche initialisieren
	objSelKundensuche = document.getElementById('erfahrendurch');
	if(objSelKundensuche )
	{		
		// Event auf Select geben
		checkKundenSuche();
		addEvent(objSelKundensuche,'change',checkKundenSuche);
		
		// Event auf Eingabefeld geben	
		objKundenSuche = document.getElementById('erfahrendurchwert');
		addEvent(objKundenSuche ,'keyup',kundenSuche);
		addEvent(objKundenSuche ,'keydown',kundenSuche);		

		// Registrierung - hier auch auf Telefonnummer Event legen (für Tooltip)
		addTelefonEvent();			
	}
	
	// optional: Event auf Adressauswahl
	objSelAdressenauswahl = document.getElementById('adressenauswahl');
	if(objSelAdressenauswahl)
	{		
		// Event auf Select geben
		addEvent(objSelAdressenauswahl ,'change',setAdresse);			
	}

	// optional: Event auf Ländauswahl zum übernehmen in Telefonvorwahl
	objOptLand = document.getElementById('landToTelefon');
	if(objOptLand)
	{		
		// Event auf Select geben
		objSelLand = document.getElementById('land');
		addEvent(objSelLand ,'change', setTelefonVorwahl);			
	}

	// optional: Event auf Bestellfilter
	objSelBestellfilter = document.getElementById('bestellfilter');
	if(objSelBestellfilter)
	{		
		// Event auf Select geben
		addEvent(objSelBestellfilter ,'change', function(){this.form.submit()} );			
	}

	// Framesperre
	if(parent.frames[0])
	{
		topLoc = parent.frames[0].document.location.href;
//		topLoc = parent.frames[0].location.href;

		if(topLoc != 'about:blank' && topLoc.indexOf('http://www2.ringana.com') == -1 && topLoc.indexOf('http://www.ringana.com') == -1 && topLoc.indexOf('http://dell.www.ringana.com') == -1 && topLoc.indexOf('http://dell.www2.ringana.com') == -1)
		{
			parent.frames.location.href = document.location.href;
		}
	}	
	
});

function addTelefonEvent()
{
	var aTel = new Array(); 
	aTel.push('telefon1');	
	aTel.push('telefon2');	
	aTel.push('mobil');	
	aTel.push('fax');	

	for(i=0; i<aTel.length; i++)
	{
		addEvent(document.getElementById(aTel[i]+'-lv'), 'focus', telefonTooltip);
		addEvent(document.getElementById(aTel[i]+'-vw'), 'focus', telefonTooltip);
		addEvent(document.getElementById(aTel[i]+'-rn'), 'focus', telefonTooltip);

		addEvent(document.getElementById(aTel[i]+'-lv'), 'change', telefonTooltip);

		addEvent(document.getElementById(aTel[i]+'-vw'), 'keyup', telefonTooltip);
		addEvent(document.getElementById(aTel[i]+'-rn'), 'keyup', telefonTooltip);

		addEvent(document.getElementById(aTel[i]+'-lv'), 'blur', telefonTooltip);	
		addEvent(document.getElementById(aTel[i]+'-vw'), 'blur', telefonTooltip);
		addEvent(document.getElementById(aTel[i]+'-rn'), 'blur', telefonTooltip);
	}
}

function telefonTooltip(evt)
{
	actionElem = (evt.target) ? evt.target : evt.srcElement;
	srcID = actionElem.getAttribute('id');
	
	srcID = srcID.substr(0,srcID.indexOf('-'));

	if(evt.type == 'blur')
	{
		document.getElementById('tn-help-'+srcID).style.display = 'none';
		return;
	}
	else if(evt.type == 'focus')
		document.getElementById('tn-help-'+srcID).style.display = 'block';

	// Werte herausfinden
	valLV = document.getElementById(srcID+'-lv').options[document.getElementById(srcID+'-lv').selectedIndex].text;
	valLV = valLV.substr(valLV.indexOf('(')+1);
	valLV = valLV.substr(0,valLV.indexOf(')'));

	valVW = document.getElementById(srcID+'-vw').value;
	valRN = document.getElementById(srcID+'-rn').value;

	if(valLV.length < 1)
		valLV = '+..';

	if(valVW.length < 1)
		valVW = '&lt;'+sVorwahl+'&gt;';

	if(valRN.length < 1)
		valRN = '&lt;'+sRufnummer+'&gt;';

	document.getElementById('tn-help-'+srcID).innerHTML = sVorschau+': '+valLV+' '+valVW+' '+valRN;
	
	
}

function copyToClipboard(id)
{
	obj = document.getElementById(id);
	var toCopy;

	if (document.selection) 
	{
		var range = document.body.createTextRange();
		range.moveToElementText(obj);
		range.select();
		toCopy = document.selection.createRange().text;
	}
	else if (window.getSelection) 
	{
		var range = document.createRange();
		range.selectNode(obj);
		window.getSelection().addRange(range);
		toCopy = document.getSelection();
	}

	if('\v'=='v')
		window.clipboardData.setData("Text", toCopy);		
}

function getAjaxObject()
{
	var xmlObj = false;
	
	// AJAX initialisieren
	if(typeof XMLHttpRequest != 'undefined') 
	{
		xmlObj = new XMLHttpRequest();
	}
	if(!xmlObj) 
	{
		try 
		{
			xmlObj = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e) 
		{
			try 
			{
				xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e) 
			{
				xmlObj = null;
			}
		}
	}

	return xmlObj;

}

function changeWindow()
{
	// ajax laden -> auf counter
	if(idCounter && idCounter > 0)
	{	
		loadContent(xmlHttpObjectUnload, '/dll/index.dll?mode=ajax&submode=counter&idcounter='+idCounter);	
	}
}

function setTelefonVorwahl()
{
	objSelT1 = document.getElementById('telefon1-lv');

	// idland suchen
	objSelLand = document.getElementById('land');
	iIDLand = objSelLand.options[objSelLand.selectedIndex].value;

	// idland in vorwahlen suchen
	var iIndex = -1;
	for(i=0; i<objSelT1.length; i++)
	{
		if(objSelT1.options[i].value == iIDLand)
		{	iIndex = i;
			break;
		}
	}

	if(iIndex > -1)
	{
		//if(objSelT1.selectedIndex < 1)
			objSelT1.selectedIndex = iIndex;

		objSelT2 = document.getElementById('telefon2-lv');
		objSelF = document.getElementById('fax-lv');
		objSelM = document.getElementById('mobil-lv');
		
		if(objSelT2)// && objSelT2.selectedIndex < 1)
			objSelT2.selectedIndex = iIndex;

		if(objSelF)// && objSelF.selectedIndex < 1)
			objSelF.selectedIndex = iIndex;

		if(objSelM)// && objSelM.selectedIndex < 1)
			objSelM.selectedIndex = iIndex;
	}
}

function logout(sUrl)
{
	if(bLogoutInProgress == 'false')
	{	
		document.getElementById('logout').style.display = 'none';	
		bLogoutInProgress = 'true';
		sLogoutUrl = sUrl;
		xmlHttpObject.onreadystatechange = doLogout;
		loadContent(xmlHttpObject, sUrl+'action:logout/');		
	}
}

function doLogout()
{
	if (xmlHttpObject.readyState == 4)
	{
		document.location.href = sLogoutUrl+'action:logoutseite/';
	}

}

function addWindowEvent(type, fn)
{
		if(window.addEventListener) 
		{
			window.addEventListener( type, fn, false );
		}
		else if(window.attachEvent) 
		{
			window["e"+type+fn] = fn;
			window[type+fn] = function() { window["e"+type+fn]( window.event ); }
			window.attachEvent( "on"+type, window[type+fn] );
		}
}

function addEvent( obj, type, fn )
{
   	if (obj.addEventListener) 
	{
		obj.addEventListener( type, fn, false );
	}
	else if (obj.attachEvent) 
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function loadContent(xmlObj, sParams)
{
    sRand = '&random='+Math.random();
    xmlObj.open('get',sParams+sRand, true);    
    xmlObj.send(null);
    return false;
}

function checkKundenSuche()
{
	selObj = document.getElementById('erfahrendurch');
	sValue = selObj.options[selObj.selectedIndex].value;
	if(sValue == '3' || sValue == '4')
		bKundensuche = true;
	else
	{	bKundensuche = false;
		hide('erfahrendurch_box');
	}
}

function kundenSuche()
{
	if(!bKundensuche)
		return false;
	
	if(tTimer)
		clearTimeout(tTimer);
		
	tTimer = window.setTimeout("loadKundenSuche()", 150);			
}

function loadValidateSession(sParams, sTarget)
{
	TargetAfterValidSession = sTarget;

	xmlHttpObject.onreadystatechange = validateSession;
	loadContent(xmlHttpObject, '/dll/index.dll?mode=ajax&submode=validatesession'+sParams);
}

function validateSession()
{
    if(xmlHttpObject.readyState == 4)
    {
	boxObj = document.getElementById('cookies-warning');

	sResponse = xmlHttpObject.responseText;

	if(sResponse.length > 0)
	{	
		if(sResponse.indexOf('sessionvalid') != -1)
			document.location.href = TargetAfterValidSession;
		
		boxObj.innerHTML = sResponse;
		boxObj.style.display = 'block';	
		document.getElementById('cookies-overlay').style.display = 'block';
	}
    }
}

function loadKundenSuche()
{
	searchValue = document.getElementById('erfahrendurchwert').value;
	if(searchValue.length < 4)
	{
		hide('erfahrendurch_box');
		return;
	}
	
		
	xmlHttpObject.onreadystatechange = validateKundenSuche;
	loadContent(xmlHttpObject, '/dll/index.dll?mode=ajax&submode=register_kundensuche&search='+searchValue);
}

function validateKundenSuche()
{
    if (xmlHttpObject.readyState == 4)
    {
    	boxObj = document.getElementById('erfahrendurch_box');
		boxObj.innerHTML = xmlHttpObject.responseText;

		if(boxObj.style.display != 'block')
			boxObj.style.display = 'block';	
    }
}

function setKundenSuche_Ergebnis(idKunde, sName)
{
	document.getElementById('erfahrendurch_idkunde').value = idKunde;
	document.getElementById('erfahrendurchwert').value = sName;
	hide('erfahrendurch_box');
	
}

function hide(id)
{
	document.getElementById(id).style.display = 'none';
}

function show(id)
{
	document.getElementById(id).style.display = 'block';
}

function setVar(id,sValue)
{
	document.getElementById(id).value = sValue;
}

function setVarAndSubmit(id,sValue)
{
	setVar(id,sValue);
	document.getElementById(id).form.submit();
}

function submitForm(objElement)
{
	objElement.form.submit();
}

function submitFormDisable(objElement)
{
	objElement.disabled = 'true';
	objElement.form.submit();
}

function addAdress(Empfaenger, Zusatzzeile, Adresse, Nummer, PLZ, Ort, IDLand)
{
	var aAdresse = new Array(); //(Empfaenger,Zusatzzeile,Adresse,PLZ,Ort,IDLand);
	aAdresse.push(Empfaenger);
	aAdresse.push(Zusatzzeile);
	aAdresse.push(Adresse);
	aAdresse.push(Nummer);
	aAdresse.push(PLZ);
	aAdresse.push(Ort);
	aAdresse.push(IDLand);
	
	aAdressen.push(aAdresse);
}

function setAdresse()
{
	var aFelder = new Array('empfaenger','zusatzzeile','adresse','nummer','plz','ort','idland');
	
	objSelAdressenauswahl = document.getElementById('adressenauswahl');
	iIndex = objSelAdressenauswahl.selectedIndex-1;
	
	if(iIndex < 0)
		return;
	
	for(var i=0; i<aAdressen[iIndex].length; i++)
	{
		if(aFelder[i] == 'idland')
		{
			objLand = document.getElementById('idland');

			for(var x=0; x < objLand.length; x++)
			{
				if(objLand.options[x].value == aAdressen[iIndex][i])
				{	
					objLand.selectedIndex = x;			
					break;
				}
			}
		}
		else
			document.getElementById(aFelder[i]).value = aAdressen[iIndex][i];	
	}
}












