/* http://www.kryogenix.org/code/browser/searchhi/ */
/* Modified 20021006 to fix query string parsing and add case insensitivity */
/* Modified 20070316 to stop highlighting inside nosearchhi nodes */
function highlightWord(node,word) {
	// Iterate into this nodes childNodes
	if (node.hasChildNodes) {
		var hi_cn;
		for (hi_cn=0;hi_cn<node.childNodes.length;hi_cn++) {
			highlightWord(node.childNodes[hi_cn],word);
		}
	}
	
	// And do this node itself
	if (node.nodeType == 3) { // text node
		tempNodeVal = node.nodeValue.toLowerCase();
		tempWordVal = word.toLowerCase();
		if (tempNodeVal.indexOf(tempWordVal) != -1) {
			pn = node.parentNode;
			// check if we're inside a "nosearchhi" zone
			checkn = pn;
			while (checkn.nodeType != 9 && 
			checkn.nodeName.toLowerCase() != 'body') { 
			// 9 = top of doc
				if (checkn.className.match(/\bnosearchhi\b/)) { return; }
				checkn = checkn.parentNode;
			}
			if (pn.className != "searchword") {
				// word has not already been highlighted!
				nv = node.nodeValue;
				ni = tempNodeVal.indexOf(tempWordVal);
				// Create a load of replacement nodes
				before = document.createTextNode(nv.substr(0,ni));
				docWordVal = nv.substr(ni,word.length);
				after = document.createTextNode(nv.substr(ni+word.length));
				hiwordtext = document.createTextNode(docWordVal);
				hiword = document.createElement("span");
				hiword.className = "searchword";
				hiword.appendChild(hiwordtext);
				pn.insertBefore(before,node);
				pn.insertBefore(hiword,node);
				pn.insertBefore(after,node);
				pn.removeChild(node);
			}
		}
	}
}

/***************************************************/
//
// Show hide means of payment  (Visa or Compte)
// Form code

function inversCardAccount(element){
	// Hide fals all
	$('card').hide();
	$('account').hide();
	$('radio_card').checked = false;
	$('radio_account').checked = false;
	
	// Show and check element
	$(element).show();
	$('radio_' + element).checked  = true;
	
	payement_methode = (element == "card") ? 1 : 2;
	
	$('payement_methode').value = payement_methode;
}

/*/
function removeClassNameIfItSet(field, fieldClass){
	for(j=0; j <$(field).classNames().inspect().length; j++){
		if($(field).classNames().inspect()[j] == "fieldFormError"){
			$(field).removeClassName(fieldClass);
			break;
		}
	}
}
//*/

function showHideContactMe(updateCheckbox){
	if(js_contact_me){
		$('contact_me').hide();
		$('FORM_FNAME').value ="";
		$('FORM_LNAME').value ="";
		$('FORM_MOBILE').value ="";
		$('FORM_EMAIL').value ="";
		if(updateCheckbox == true) $('CONTACT_ME').checked = false;
		js_contact_me = false
	}
	else{
		$('contact_me').show();
		if(updateCheckbox == true) $('CONTACT_ME').checked = true;
		js_contact_me = true;
	}
}

function clickIt(checkboxId){
	$(checkboxId).click();
}


function choseAproduct(productID){
	//alert($(productID).classNames().inspect());
	//alert('length: ' + listOfRadio.length);
	//alert(listOfRadio);
	for(i=0; i<listOfRadio.length; i++){
		if($(listOfRadio[i]).hasClassName('selectedLine'))
			$(listOfRadio[i]).removeClassName('selectedLine');
	}
	
	$(productID + '_radio').click();
	$(productID).addClassName('selectedLine');

}

function popupWindow(url) {
window.open(url,"popupWindow","toolbar=no,location=no,directories=no status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=450,height=450,screenX=150,screenY=150,top=150,left=150")
}

function hideShowEntity(entity, cible, entityList){
	for(i=0; i<entityList.length; i++)	{
		$(entity + idListOfcat[i]).hide();
	}
	$(entity + cible).show();
}


function showHideItemOrder(target){
	if($("form_" + target).value == 1){
		$(target).hide();
		$("form_" + target).value = 0;
	}
	else{
		$(target).show();
		$("form_" + target).value = 1;
	}
}

/***************************************************/
//
// Check if a value is in an array
// Ask
//	array (a list of vlue in an array)
//	value (the research value)
//
// Return
//	true if the element is in the list

function inArray(array, value){
	for(i=0; i<array.length; i++){
		if(array[i] == value) return true
	}
	return false
}
