/* -----------------------------------------------------------------------------------------
$Id: general.js 899 2005-04-29 02:40:57Z hhgag $

XT-Commerce - community made shopping
http://www.xt-commerce.com

Copyright (c) 2003 XT-Commerce
-----------------------------------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
(c) 2002-2003 osCommerce(general.js,v 1.3 2003/02/10); www.oscommerce.com
(c) 2003	 nextcommerce (general.js,v 1.3 2003/08/13); www.nextcommerce.org

Released under the GNU General Public License
---------------------------------------------------------------------------------------*/

function SetFocus(TargetFormName) {
	var target = 0;
	if (TargetFormName != "") {
		for (i=0; i<document.forms.length; i++) {
			if (document.forms[i].name == TargetFormName) {
				target = i;
				break;
			}
		}
	}

	var TargetForm = document.forms[target];

	for (i=0; i<TargetForm.length; i++) {
		if ( (TargetForm.elements[i].type != "image") && (TargetForm.elements[i].type != "hidden") && (TargetForm.elements[i].type != "reset") && (TargetForm.elements[i].type != "submit") ) {
			TargetForm.elements[i].focus();

			if ( (TargetForm.elements[i].type == "text") || (TargetForm.elements[i].type == "password") ) {
				TargetForm.elements[i].select();
			}

			break;
		}
	}
}

function RemoveFormatString(TargetElement, FormatString) {
	if (TargetElement.value == FormatString) {
		TargetElement.value = "";
	}

	TargetElement.select();
}

function CheckDateRange(from, to) {
	if (Date.parse(from.value) <= Date.parse(to.value)) {
		return true;
	} else {
		return false;
	}
}

function IsValidDate(DateToCheck, FormatString) {
	var strDateToCheck;
	var strDateToCheckArray;
	var strFormatArray;
	var strFormatString;
	var strDay;
	var strMonth;
	var strYear;
	var intday;
	var intMonth;
	var intYear;
	var intDateSeparatorIdx = -1;
	var intFormatSeparatorIdx = -1;
	var strSeparatorArray = new Array("-"," ","/",".");
	var strMonthArray = new Array("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");
	var intDaysArray = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

	strDateToCheck = DateToCheck.toLowerCase();
	strFormatString = FormatString.toLowerCase();

	if (strDateToCheck.length != strFormatString.length) {
		return false;
	}

	for (i=0; i<strSeparatorArray.length; i++) {
		if (strFormatString.indexOf(strSeparatorArray[i]) != -1) {
			intFormatSeparatorIdx = i;
			break;
		}
	}

	for (i=0; i<strSeparatorArray.length; i++) {
		if (strDateToCheck.indexOf(strSeparatorArray[i]) != -1) {
			intDateSeparatorIdx = i;
			break;
		}
	}

	if (intDateSeparatorIdx != intFormatSeparatorIdx) {
		return false;
	}

	if (intDateSeparatorIdx != -1) {
		strFormatArray = strFormatString.split(strSeparatorArray[intFormatSeparatorIdx]);
		if (strFormatArray.length != 3) {
			return false;
		}

		strDateToCheckArray = strDateToCheck.split(strSeparatorArray[intDateSeparatorIdx]);
		if (strDateToCheckArray.length != 3) {
			return false;
		}

		for (i=0; i<strFormatArray.length; i++) {
			if (strFormatArray[i] == 'mm' || strFormatArray[i] == 'mmm') {
				strMonth = strDateToCheckArray[i];
			}

			if (strFormatArray[i] == 'dd') {
				strDay = strDateToCheckArray[i];
			}

			if (strFormatArray[i] == 'yyyy') {
				strYear = strDateToCheckArray[i];
			}
		}
	} else {
		if (FormatString.length > 7) {
			if (strFormatString.indexOf('mmm') == -1) {
				strMonth = strDateToCheck.substring(strFormatString.indexOf('mm'), 2);
			} else {
				strMonth = strDateToCheck.substring(strFormatString.indexOf('mmm'), 3);
			}

			strDay = strDateToCheck.substring(strFormatString.indexOf('dd'), 2);
			strYear = strDateToCheck.substring(strFormatString.indexOf('yyyy'), 2);
		} else {
			return false;
		}
	}

	if (strYear.length != 4) {
		return false;
	}

	intday = parseInt(strDay, 10);
	if (isNaN(intday)) {
		return false;
	}
	if (intday < 1) {
		return false;
	}

	intMonth = parseInt(strMonth, 10);
	if (isNaN(intMonth)) {
		for (i=0; i<strMonthArray.length; i++) {
			if (strMonth == strMonthArray[i]) {
				intMonth = i+1;
				break;
			}
		}
		if (isNaN(intMonth)) {
			return false;
		}
	}
	if (intMonth > 12 || intMonth < 1) {
		return false;
	}

	intYear = parseInt(strYear, 10);
	if (isNaN(intYear)) {
		return false;
	}
	if (IsLeapYear(intYear) == true) {
		intDaysArray[1] = 29;
	}

	if (intday > intDaysArray[intMonth - 1]) {
		return false;
	}

	return true;
}

function IsLeapYear(intYear) {
	if (intYear % 100 == 0) {
		if (intYear % 400 == 0) {
			return true;
		}
	} else {
		if ((intYear % 4) == 0) {
			return true;
		}
	}

	return false;
}




/***
*VioAjaX
*Von Mathias Haimerl
*
*Vioinc advanced Media
***/

function getAjaxObject(){
	try{var vioAjax = new XMLHttpRequest();}
	catch(e){
		var microSofty = ["MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
		if (window.ActiveXObject){
			for ( var i = 0; i<microSofty.length; i++){
				try{var vioAjax = new ActiveXObject(microSofty[i]);break;}
				catch(e){}}
		}else{alert('Sie können die Suchfunktion leider nicht nutzen, da ihr Webbrowser kein Ajax unterstützt!');}
	}
	return vioAjax;
}

function ajaxAnfrage(text){
	try{
		delete(vioAjax);
		var vioAjax = getAjaxObject();
		vioAjax.open('POST', './suche.ajax.php', true);
		vioAjax.setRequestHeader("Content-Type", 'application/x-www-form-urlencoded');
		vioAjax.onreadystatechange = function(){
			if(vioAjax.readyState == 4){
				containResults = document.getElementById('table_results');
				while (typeof containResults.childNodes[0] != 'undefined'){
					containResults.removeChild(containResults.childNodes[0]);
				}
				while(typeof document.getElementById('ttCont').childNodes[0] != 'undefined'){
					document.getElementById('ttCont').removeChild(document.getElementById('ttCont').childNodes[0]);
				}
				hideTable(containResults);
				parseXML(vioAjax.responseXML, containResults);
			}
		}
		vioAjax.send('req=' + text);
	}
	catch(e){
		alert('Ihr Browser unterstützt die Suche Leider Nicht:\n'+e);
	}
}

function hideTable(containResults){
	containResults.style.border = '0px';
	containResults.style.backgroundColor = '#CECBAD';
	containResults.style.position = 'relative';
	containResults.style.visibility = 'hidden';
	containResults.style.top = '0px';
	containResults.style.left = '0px';
}

function parseXML(handle, tabRes){
	//xmls = new XMLSerializer();
	//alert(xmls.serializeToString(handle));
	if (typeof handle.getElementsByTagName('bezeichnung')[0] != 'undefined'){
		ergHead = document.createElement('tbody');
		for (var cnt = 0; cnt <= handle.getElementsByTagName('bezeichnung').length - 1; cnt++){
			//Die Tabelle erhält ein Neues Element mit Einfüge-/Ausblendefunktion
			ergebnis = document.createElement('tr');
			ergSpalte = document.createElement('td');
			clickFunc = "function (){document.getElementById('keywords').value = '"+handle.getElementsByTagName('bezeichnung')[cnt].childNodes[0].nodeValue+"';document.getElementById('table_results').style.visibility = 'hidden';document.getElementById('div_table_results').style.visibility = 'hidden';}";
			ergSpalte.onclick = eval(clickFunc);
			ergSpalte.style.backgroundColor = '#ffffff';
			ergSpalte.style.cursor = 'pointer';
			ergSpalte.onmouseover = "showWMTT('tTip"+cnt+"');";
			ergSpalte.onmouseout = 'hideWMTT();';
			if(handle.getElementsByTagName('bezeichnung')[cnt].childNodes[0].nodeValue.length < 18) str = ''; else str = '...';
			ergSpalteText = document.createTextNode(handle.getElementsByTagName('bezeichnung')[cnt].childNodes[0].nodeValue.slice(0,20)+str);
			ergSpalte.appendChild(ergSpalteText);
			ergebnis.appendChild(ergSpalte);
			ergHead.appendChild(ergebnis);
			//Tooltips:
			tTip = document.createElement('div');
			tTip.style.position = 'absolute';
			tTip.style.padding = '3px';
			tTip.zIndex = '99';
			tTip.style.backgroundColor = '#CECBAD';
			tTip.id = 'tTip'+cnt;

			tText = document.createTextNode(handle.getElementsByTagName('bezeichnung')[cnt].childNodes[0].nodeValue);
			tTip.appendChild(tText);
			tTip.style.visibility = 'hidden';
			document.getElementById('ttCont').appendChild(tTip);
		}

		tabRes.appendChild(ergHead);
		ergCont = document.getElementById('div_table_results');
		//alert(xmls.serializeToString(tabRes));
		tabRes.style.visibility = 'visible';
		ergCont.style.visibility = 'visible';
		if(ergCont.childNodes.length < 1){
			ergCont.appendChild('tabRes');
		}
	}else{
		tabRes.style.visibility = 'hidden';
		document.getElementById('div_table_results').style.visibility = 'hidden';
	}
}

function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_findObj(n, d) { //v4.01
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
		if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
		for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
		if(!x && d.getElementById) x=d.getElementById(n); return x;
}

 function checkPostLoadFrames() {
 	/*
 }
	a = document.cookie;
	cookies77 = a.split(';');
	cookiewert = null;
	for (cookiestueck = 0; cookiestueck < cookies77.length; cookiestueck+=2) {
		cookiename = cookies77[cookiestueck].substr(0, cookies77[cookiestueck].search('='));
		if (cookiename == 'player') cookiewert = cookies77[cookiestueck].substr(cookies77[cookiestueck].search('=')+1/*,cookies77[cookiestueck].search(';')*);
	}
	if (cookiewert==null || cookiewert!='extern') {
		frameZahl = parent.frames.length;
		if (frameZahl < 2) window.location = 'index_player.php?url='+parent.location;
	}
	// Title verändern
	frameZahl = parent.frames.length;
	if (frameZahl > 1) parent.document.title = document.title;*/
}



function refreshPlayer(prodID) {
	products_id = parent.player.document.getElementById('products_id').value;
	if (products_id != prodID)
		parent.player.href='audioplayer_frame.php?products_id='+prodID;
}

function changePlayerDarstellung(playertyp) {
    var a = new Date();
    a = new Date(a.getTime() +1000*60*60*24*365);
    document.cookie = 'player='+playertyp+'; expires='+a.toGMTString()+';'; 
    arrSplit = parent.player.location.href.split('?');
    var popup = window.open('./audioplayer.php?'+arrSplit[1],'Player','width=500,height=400');
	popup.opener = parent;
    parent.location = parent.mainframe.location;
    popup.focus();
}

function changePlayerDarstellung_fe(playertyp) {
    var a = new Date();
    a = new Date(a.getTime() +1000*60*60*24*365);
    document.cookie = 'player='+playertyp+'; expires='+a.toGMTString()+';'; 
}

function changeToExt() {
	document.cookie = 'player=extern; expires=10000000000;';
}

changeToExt();

function frameSlider() {
	parent.document.getElementById('frameset').rows = '*,110';
	
}