/**
  *	shortcut handler
  */
var _siteid = '';
var browser=navigator.userAgent.toLowerCase();
var is_ie=(browser.indexOf("msie")!=-1 && document.all);
var win=window;
var opencustomer;

function GetKeyTarget(e) {
	var src=null;
		
	try {
		if(e.srcElement) src=e.srcElement;
		else if(e.target) src=e.target;
	}
	catch(e) {}

	return src;
}

function doShortcuts (win, e)
{
	if(is_ie) try { if(e.srcElement); } catch(e) { return; }

	if(window.Event)
	{
		if(e.altKey || e.metaKey || e.ctrlKey) { return; }
		mykey = e.which;
	}
	else
	{
		if((event.modifiers & event.ALT_MASK) || (event.modifiers & event.CTRL_MASK)) {
			return;
		}
		mykey = event.keyCode
	}

	mykey = String.fromCharCode(mykey);
	src = GetKeyTarget(e);

	for(var element=src;element!=null;element=element.parentNode)
	{
		
		var nodename=element.nodeName;
		if(nodename=="TEXTAREA"	
			|| (nodename=="SELECT")
			|| (nodename=="INPUT") //  && element.type != "checkbox"
			|| (nodename=="BUTTON")
			)
		{ return; }
	}

	switch(mykey)
	{
		case 'S':
			switch (_siteid)
			{
			}
			break;


		case 'L':
			switch (_siteid)
			{
			}
			break;
	}
}

/**
  *	add data to searchstring for customer  
  */
var tab1search = new Array ();
function tab1_add_search (obj, typecheck)
{
		if ( typeof(typecheck) != 'undefined' && typecheck == 'checkbox' ) {
			tab1search[obj.name]	=	(obj.checked) ? 1 : 0;
			tab1_start_search();
		}

	/**
	  *	get given input
	  */
	if (tab1search[obj.name] != obj.value && obj.value != 'Error')
	{
		if ( typeof(typecheck) != 'undefined' && typecheck == 'checkbox' ) {
			tab1search[obj.name]	=	(obj.checked) ? 1 : 0;
		}
		else {
			tab1search[obj.name]	=	obj.value;
		}
		tab1_start_search();
	}
}


var tab2search = new Array ();
function tab2_add_search (obj)
{
	/**
	  *	get given input
	  */
	if (tab2search[obj.name] != obj.value && obj.value != 'Error')
	{
		tab2search[obj.name]	=	obj.value;
	}
}


/**
  *	trigger customer search
  */
function tab1_start_search ()
{
	/**
	  *	build query string
	  */
	var querystring = '';
	for (var key in tab1search)
	{
		if (tab1search[key] != "")
		{
			querystring = querystring+'&'+key+'='+encodeURI(tab1search[key]);
		}
	}

	/**
	  *	find target iframe
	  */
	if (querystring != "")
	{
		var targetframe = document.getElementById('tab1searchframe');

		var obj = document.getElementById('mysalesperson');
		if (obj.checked == true)
		{
			querystring = querystring + '&salesperson='+obj.value;
		}

		targetframe.src = 'index.php?req=search_tab1'+querystring;
	}
}


/**
  *	trigger customer search
  */
function tab1_start_search_full ()
{
	/**
	  *	build query string
	  */
	var querystring = '';

	/**
	  *	find target iframe
	  */
	var targetframe = document.getElementById('tab1searchframe');

	var obj = document.getElementById('mysalesperson');
	if (obj.checked == true)
	{
		querystring = querystring + '&salesperson='+obj.value;
	}

	targetframe.src = 'index.php?req=search_tab1&list=full&'+querystring;
}

/**
  *	reset input values
  */
function tab1_reset ()
{
	for (var key in tab1search)
	{
		tab1search[key]		=	"";
	}
}

/**
  *	some popups
  */
function tab1_customer_new ()
{
	var querystring = '';
	for (var key in tab1search)
	{
		if (key == 'plz')
			querystring = querystring+'&'+key+'1='+encodeURI(tab1search[key]);
		else
			querystring = querystring+'&'+key+'='+encodeURI(tab1search[key]);
	}

	var obj = document.getElementById('mysalesperson');
	if (obj.value != '')
	{
		querystring = querystring + '&salesperson='+obj.value;
	}
	opencustomer = window.open ('index.php?req=customer_new'+querystring, '_customernew', 'width=836 ,height=661');
}

function ext__search()
{
	var querystring = '';
	for (var key in tab1search)
	{
		if (key == 'plz')
			querystring = querystring+'&'+key+'1='+encodeURI(tab1search[key]);
		else
			querystring = querystring+'&'+key+'='+encodeURI(tab1search[key]);
	}

	opencustomer = window.open ('index.php?req=extsearch'+querystring, '_extsearch', 'width=836 ,height=559');
}


function tab1_customer_edit (cid)
{
	opencustomer = window.open ('index.php?req=customer_edit&cid='+cid, '_customeredit', 'width=836,height=661');
}

function help_popup ()
{
	window.open ('index.php?req=about', '_about', 'width=650,height=600');
}


/**
  *	show hide tables
  */
var showtable_current = "";
function showtable (id)
{
	if (showtable_current == "")
	{
		showtable_current = id;
	}
	else
	{
		document.getElementById(showtable_current).style.display = 'none';
		showtable_current = id;
	}
	document.getElementById(id).style.display = '';
}


var showtable_current2 = "";
function showtable2 (id)
{
	if (showtable_current2 == "")
	{
		showtable_current2 = id;
	}
	else
	{
		document.getElementById(showtable_current2).style.display = 'none';
		showtable_current2 = id;
	}
	document.getElementById(id).style.display = '';
}


/**
  *	update result count
  */
function update_resultcount (count)
{
	document.getElementById('resultcount').innerHTML = count;
}

var search_fields = new Array ('nname', 'vname', 'zip', 'city', 'street', 'phone');

function update_uniquefield (field)
{
	if (field == 'surename') field = 'nname';
	if (field == 'company') field = 'nname';
	if (field == 'firstname') field = 'vname';
	if (field == 'phone1') field = 'phone';
	if (field == 'phone2') field = 'phone';
	if (field == 'phone3') field = 'phone';
	if (field == 'mobile') field = 'phone';
	if (field == '') field = 'nname';

	for (var i = 0; i < search_fields.length; i++)
	{
		var obj = document.getElementById(search_fields[i]);
		obj.style.border = "1px solid";
	}

	var obj = document.getElementById(field);
	if (obj)
	{
		obj.style.border  = "2px solid #FF9900";
//		obj.focus();
	}
}

/**
  *	error handler
  */
//function handleError() { return true; }
//window.onerror = handleError;


/**
  *	analyse:
  *	get URL/ID's neighbour iframe
  */
function getids () {
	var uri = parent.document.getElementById('selectedFrame').src;
	uri = encodeURI (uri);
	document.getElementById('submitids').value = uri;
	document.getElementById('frmanalyse').submit();
}

function getAnalyseParameters () {
	var uri = parent.document.getElementById('selectedFrame').src;
	uri = encodeURI (uri);
	uri = uri.substr(uri.indexOf('&'));
	return uri;
}

function setids (uri) {
	document.getElementById('submitids').value = uri;
	document.getElementById('frmanalyse').submit();
}

function copy_clip(meintext)
{
 if (window.clipboardData) 
 {
   window.clipboardData.setData("Text", meintext);
 }
 else if (window.netscape) 
 { 
//   netscape.security.PrivilegeManager.enablePrivilege("UniversalPreferencesRead UniversalPreferencesWrite")
   netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
   var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
   if (!clip) return;
   var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
   if (!trans) return;
   trans.addDataFlavor('text/unicode');
   var str = new Object();
   var len = new Object();
   var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
   var copytext=meintext;
   str.data=copytext;
   trans.setTransferData("text/unicode",str,copytext.length*2);
   var clipid=Components.interfaces.nsIClipboard;
   if (!clip) return false;
   clip.setData(trans,null,clipid.kGlobalClipboard);
 }

// alert("Following info was copied to your clipboard:\n\n" + meintext);
 return false;
}

var historyshown = new Array ();
function showhidehistory (id)
{
	if (historyshown[id] === true)
	{
		var obj = document.getElementById(id);
		obj.style.display = 'none';
		historyshown[id]		=	false;
	}
	else
	{
		var obj = document.getElementById(id);
		obj.style.display = '';
		historyshown[id]		=	true;
	}
}

function checkzip (zip, city)
{
	var obj		=	document.getElementById(zip);
	var zipval	=	obj.value;

	if (zipval.length == 5 && arr_ziplist[zipval] != undefined)
	{

		var obj		=	document.getElementById(city);
		var cityval	=	obj.value;
		if (cityval == "")
		{
			cityval		=	decodeURI(arr_ziplist[zipval]);
			while (cityval.indexOf("+") > -1)
			{
				cityval		=	cityval.replace (/\+/, " ");
			}
			obj.value	=	cityval;
		}
	}
}

function addreminder (days, months, years)
{
	var obj = document.getElementById('reminder');
	var date = obj.value;
	var day = Number(date.substr (0,2));
	var month = Number(date.substr(3,2));
	var year = Number(date.substr(6,4));

	if (!day) day = 1;
	if (!month) month = 1;
	if (!year) year = 2006;

	day = Number(day) + Number(days);
	if (day > 31)
	{
		day = 1;
		month = Number(month) + 1;

		if (month > 12)
		{
			month = 12;
			year = Number(year) + 1;
		}
	}

	month = Number(month) + Number(months);
	if (month > 12)
	{
		month = Number(month) - 12;
		year = Number(year) + 1;
	}

	year = Number(year) + Number(years);

	if (day < 10)
	{
		day = '0'+day;
	}
	if (month < 10)
	{
		month = '0'+month;
	}
	obj.value = day+'.'+month+'.'+year;
}

function updatereminder (field, date)
{
	var obj = document.getElementById(field);
	field.value = date;
	alert(date);
}

function handleError() { return true; }
//window.onerror = handleError; 


window.onload = function () {
$(document).ready(function() {
	$('form').each (function () {
		if ( $(this).find('input.ismandatory') ) {
			$(this).bind('submit', function (e) {
				var missingData = false;
				$(this).find('.ismandatory').each(function () {
					if ( !$(this).val() ) {
						missingData = true;
						$(this).addClass('error');
					}
					else {
						$(this).removeClass('error');
					}
				});
				
				if ( missingData ) {
					if (!jQuery("#dialog-form-error").length) {
						jQuery('body').append('<div style="display: none;" id="dialog-form-error" title="Daten unvollständig"><p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>Bitte fülle alle Pflichtfelder aus.</p></div> ');
					}
		
					jQuery("#dialog-form-error").dialog({
						resizable: false,
						height: 170,
						width: 300,
						modal: true,
						buttons: {
							'OK': function () {
								jQuery(this).dialog('close');
							}
						}
					});
					return false;
				}
			});
		}
	});
});
}
