/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
behaviours.js / konsuminfo.ch
inits needed start functions
*/


/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Suchfeld initialisieren
*/
function initSearchFields () {
	// Input fields
	var lang_searchfield = 'Suchbegriffe eingeben';
	var field1 = document.getElementById('searchinput');
	var field2 = document.getElementById('searchinputErweiterteSuche');
	var field3 = document.getElementById('searchinput2');
	if (field1) {
		if (field1.value == '') field1.value = lang_searchfield;
		//field1.onblur = function () { if (field1.value == '') field1.value = lang_searchfield; }
		field1.onfocus = function () { if (field1.value == lang_searchfield) field1.value = ''; }
	}
	if (field2) {
		if (field2.value == '') field2.value = lang_searchfield;
		//field2.onblur = function () { if (field2.value == '') field2.value = lang_searchfield; }
		field2.onfocus = function () { if (field2.value == lang_searchfield) field2.value = ''; }
	}
	if (field3) {
		if (field3.value == '') field3.value = lang_searchfield;
		field3.onfocus = function () { if (field3.value == lang_searchfield) field3.value = ''; }
	}
}


function doSmallSearch(vOptSrch){
	if( vOptSrch) document.getElementById("ss_dooptsearch").value="1";
	document.smallSearch.submit();
}

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Navigation roll over fuer Win IE
*/
function startList () {
	if(document.all&&document.getElementById) {
		navRoot = document.getElementById("mainmenu");
		for(i=0;i<navRoot.childNodes.length;i++) {
			node = navRoot.childNodes[i];
			if(node.nodeName=="LI") {
				node.onmouseover=function() {
					this.className+=" over";
				}
				node.onmouseout=function() {
					this.className=this.className.replace(" over","");
				}
			}
		}
	}
}



/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Formular Kommentare
*/
function initCommentForm () {
	frmid= '';
	if( initCommentForm.arguments.length > 0) frmid= initCommentForm.arguments[0];

	var cform = document.getElementById('frmAddComment'+frmid);
	var btn = document.getElementById('btnAddComment'+frmid);
	var btnClose = document.getElementById('btnCloseComment'+frmid);
	var divLogin = document.getElementById('divLogin'+frmid);
	var divAdd = document.getElementById('divAddBtn'+frmid);
	var btnShow = document.getElementById('btnShowComment'+frmid);
	var divList = document.getElementById('divCommentList'+frmid);
	//if (cform) {
	//	cform.style.display = "none";
	//}
	if (btn) {
		btn.onclick = function () {
			cform.style.display = "block";
			divAdd.style.display = "none";
			divLogin.style.display = "block";
		}
	}
	if (btnClose) {
		btnClose.onclick = function () {
			cform.style.display = "none";
			divAdd.style.display = "block";
			divLogin.style.display = "none";
		}
	}
	if (btnShow) {
		btnShow.onclick = function () {
			divList.style.display = "block";
			btnShow.style.display = "none";
		}
	}
}

function initTagForm () {
	var btn = document.getElementById('btnAddTag');
	var btn2 = document.getElementById('btnAddTag2');
	var btnClose = document.getElementById('btnCloseTag');
	var divAdd = document.getElementById('addTags');
	if (divAdd) {
		divAdd.style.display = "none";
	}
	if (btn) {
		btn.onclick = function () {
			divAdd.style.display = "block";
		}
	}
	if (btn2) {
		btn2.onclick = function () {
			divAdd.style.display = "block";
		}
	}
	if( btnClose){
		btnClose.onclick = function () {
			divAdd.style.display = "none";
		}
	}
}
function initWeiterempfehlen () {
	var btn = document.getElementById('btnWeiterempfehlen');
	var btn2 = document.getElementById('btnWeiterempfehlen2');
	var btnClose = document.getElementById('btnCloseRecommend');
	var divAdd = document.getElementById('frmAddWeiterempfehlen');
	//if (divAdd) {
	//	divAdd.style.display = "none";
	//}
	if (btn) {
		btn.onclick = function () {
			divAdd.style.display = "block";
		}
	}
	if (btn2) {
		btn2.onclick = function () {
			divAdd.style.display = "block";
		}
	}
	if (btnClose) {
		btnClose.onclick = function () {
			divAdd.style.display = "none<";
		}
	}
}



/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Register: Tabs durchklicken
*/
function initRegister () {
	var register1 = document.getElementById('registerContent1');
	var btn1 = document.getElementById('tabBtn1');
	var td1 = document.getElementById('tdReg1');
	var register2 = document.getElementById('registerContent2');
	var btn2 = document.getElementById('tabBtn2');
	var td2 = document.getElementById('tdReg2');
	var register3 = document.getElementById('registerContent3');
	var btn3 = document.getElementById('tabBtn3');
	var td3 = document.getElementById('tdReg3');
	var register4 = document.getElementById('registerContent4');
	var btn4 = document.getElementById('tabBtn4');
	var td4 = document.getElementById('tdReg4');
	if (register1) { btn1.onclick = function () { mkRegisterBlank (); register1.style.display = "block"; td1.className = "active"; } }
	if (register2) { btn2.onclick = function () { mkRegisterBlank (); register2.style.display = "block"; td2.className = "active"; } }
	if (register3) { btn3.onclick = function () { mkRegisterBlank (); register3.style.display = "block"; td3.className = "active"; } }
	if (register4) { btn4.onclick = function () { mkRegisterBlank (); register4.style.display = "block"; td4.className = "active"; } }
}

function initSearchRegister () {
	var register1 = document.getElementById('registerSearch1');
	var btn1 = document.getElementById('tabSBtn1');
	var td1 = document.getElementById('tdSReg1');
	var register2 = document.getElementById('registerSearch2');
	var btn2 = document.getElementById('tabSBtn2');
	var td2 = document.getElementById('tdSReg2');
	var register3 = document.getElementById('registerSearch3');
	var btn3 = document.getElementById('tabSBtn3');
	var td3 = document.getElementById('tdSReg3');
	var register4 = document.getElementById('registerSearch4');
	var btn4 = document.getElementById('tabSBtn4');
	var td4 = document.getElementById('tdSReg4');
	var register5 = document.getElementById('registerSearch5');
	var btn5 = document.getElementById('tabSBtn5');
	var td5 = document.getElementById('tdSReg5');
	if (register1) { btn1.onclick = function () { mkRegisterSearchBlank (); register1.style.display = "block"; td1.className = "active"; } }
	if (register2) { btn2.onclick = function () { mkRegisterSearchBlank (); register2.style.display = "block"; td2.className = "active"; } }
	if (register3) { btn3.onclick = function () { mkRegisterSearchBlank (); register3.style.display = "block"; td3.className = "active"; } }
	if (register4) { btn4.onclick = function () { mkRegisterSearchBlank (); register4.style.display = "block"; td4.className = "active"; } }
	if (register5) { btn5.onclick = function () { mkRegisterSearchBlank (); register5.style.display = "block"; td5.className = "active"; } }

}

function mkRegisterSearchBlank () {
	var register1 = document.getElementById('registerSearch1');
	var td1 = document.getElementById('tdSReg1');
	var register2 = document.getElementById('registerSearch2');
	var td2 = document.getElementById('tdSReg2');
	var register3 = document.getElementById('registerSearch3');
	var td3 = document.getElementById('tdSReg3');
	var register4 = document.getElementById('registerSearch4');
	var td4 = document.getElementById('tdSReg4');
	var register5 = document.getElementById('registerSearch5');
	var td5 = document.getElementById('tdSReg5');
	if (register1) { register1.style.display = "none"; td1.className = "none"; }
	if (register2) { register2.style.display = "none"; td2.className = "none"; }
	if (register3) { register3.style.display = "none"; td3.className = "none"; }
	if (register4) { register4.style.display = "none"; td4.className = "none"; }
	if (register5) { register5.style.display = "none"; td5.className = "none"; }
}

function mkRegisterBlank () {
	var register1 = document.getElementById('registerContent1');
	var td1 = document.getElementById('tdReg1');
	var register2 = document.getElementById('registerContent2');
	var td2 = document.getElementById('tdReg2');
	var register3 = document.getElementById('registerContent3');
	var td3 = document.getElementById('tdReg3');
	var register4 = document.getElementById('registerContent4');
	var td4 = document.getElementById('tdReg4');
	if (register1) { register1.style.display = "none"; td1.className = "none"; }
	if (register2) { register2.style.display = "none"; td2.className = "none"; }
	if (register3) { register3.style.display = "none"; td3.className = "none"; }
	if (register4) { register4.style.display = "none"; td4.className = "none"; }

}


/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rating: Anzeigen und Ausführen der onMouseOver Ratings
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +  */
function initRating(unique_id,icon,original_icon){
	document.rateOrigSrc= new Array(4);

	if( !document.getElementById("ArticleRating"+unique_id+"1")) return;

	eval("document.original_icon"+unique_id+"1=document.getElementById(\"ArticleRating\"+unique_id+\"1\").src");
	document.getElementById("ArticleRating"+unique_id+"1").onmouseover= function() { showRating(1,unique_id,icon); }
	document.getElementById("ArticleRating"+unique_id+"1").onmouseout= function() { hideRating(unique_id); }

	eval("document.original_icon"+unique_id+"2=document.getElementById(\"ArticleRating\"+unique_id+\"2\").src");
	document.getElementById("ArticleRating"+unique_id+"2").onmouseover= function() { showRating(2,unique_id,icon); }
	document.getElementById("ArticleRating"+unique_id+"2").onmouseout= function() { hideRating(unique_id); }

	eval("document.original_icon"+unique_id+"3=document.getElementById(\"ArticleRating\"+unique_id+\"3\").src");
	document.getElementById("ArticleRating"+unique_id+"3").onmouseover= function() { showRating(3,unique_id,icon); }
	document.getElementById("ArticleRating"+unique_id+"3").onmouseout= function() { hideRating(unique_id); }

	eval("document.original_icon"+unique_id+"4=document.getElementById(\"ArticleRating\"+unique_id+\"4\").src");
	document.getElementById("ArticleRating"+unique_id+"4").onmouseover= function() { showRating(4,unique_id,icon); }
	document.getElementById("ArticleRating"+unique_id+"4").onmouseout= function() { hideRating(unique_id); }
}

function showRating( idx, unique_id, icon) {
	for( i=1; i<=idx; i++){
		document.getElementById("ArticleRating"+unique_id+i).src= icon;
	}
}

function hideRating(unique_id){
	for( i=1; i<=4; i++){
		document.getElementById("ArticleRating"+unique_id+i).src= eval("document.original_icon"+unique_id+i);
	}
}

function doRating( id, rating, unique_id){
	document.location= "/ratearticle.php?url=" + encodeURIComponent(document.location.href.replace(/#.*/i, "")) + '&rate=' + rating + '&id=' + id + '&uid=' + unique_id;
}

/* +++++++++ BRowser detection ++++++++++++++ */
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
