// JavaScript Document

/* SETTINGS */
var nrSubmenus = 2;
var nrVangnetBtns = 3;
var helpFocused = false;

/* EVENT LISTENERS */
addEvent(window, 'load', init);

function init(){
	parseLists();
	try {		
		//vulZoek();
		//vulNewsletter();
		//vulPostcode();
		//vulHelp();
		showSubmenu();
	}catch(e){}
	
	/*
	var newsletter = document.getElementById('newsletter_field');
	addEvent(newsletter, 'focus', leegNewsletter);
	addEvent(newsletter, 'blur', vulNewsletter);
	var newsletterForm = document.getElementById('newsletter_form');
	addEvent(newsletterForm, 'submit', leegNewsletter);
	
	var postcode = document.getElementById('postcode_field');
	addEvent(postcode, 'focus', leegPostcode);
	addEvent(postcode, 'blur', vulPostcode);
	var locatorForm = document.getElementById('locator_form');
	addEvent(locatorForm, 'submit', leegPostcode);
	
	var helpField = document.getElementById('help_field');
	//addEvent(helpField, 'focus', leegHelp);
	//addEvent(helpField, 'blur', vulHelp);
	
	var help = document.getElementById('help_uitklap');
	addEvent(helpField, 'focus', expandHelp);
	addEvent(help, 'mouseout', collapseHelp);
	
	
	*/
	
	var quicklink = document.getElementById('quicklink');
	addEvent(quicklink, 'change', quickjump);
	
}

/* FUNCTIONS */

function addEvent(obj, evType, fn){ 
	try{
		if (obj.addEventListener){ 
			obj.addEventListener(evType, fn, false); 
			return true; 
		} else if (obj.attachEvent){ 
			var r = obj.attachEvent("on"+evType, fn); 
			return r; 
		} else { 
			return false; 
		} 
	}catch(e){ }
}

function emptyValue(elm, tekst){
	if(document.getElementById(elm).value==tekst){
		document.getElementById(elm).value="";
	}
}
function returnValue(elm, tekst){
	if(document.getElementById(elm).value==""){
		document.getElementById(elm).value=tekst;
	}
}


function leegNewsletter(){
	emptyValue('newsletter_field', 'uw e-mailadres');	
}
function vulNewsletter(){
	returnValue('newsletter_field', 'uw e-mailadres');	
}

function leegPostcode(){
	emptyValue('postcode_field', 'uw postcode');	
}
function vulPostcode(){
	returnValue('postcode_field', 'uw postcode');	
}

function leegHelp(){
	emptyValue('help_field', 'typ hier een onderwerp, bijvoorbeeld hoest');
	helpFocused = true;
}
function vulHelp(){
	returnValue('help_field', 'typ hier een onderwerp, bijvoorbeeld hoest');
	helpFocused = false;
}

function expandHelp(){
	document.getElementById('help_uitklap').className = 'active';
	document.getElementById('help').style.zIndex = 5;
}

function collapseHelp(){
	//if(!helpFocused){
		document.getElementById('help_uitklap').className = '';
		document.getElementById('help').style.zIndex = 3;
	//}	
}

function quickjump(){
	var quicklink = document.getElementById('quicklink');
	window.location.href = quicklink[quicklink.selectedIndex].value;
}

function goSelectedSelfcareProduct() {
	var quicklink = document.getElementById('selfcareProductSelector');
	quicklink = quicklink[quicklink.selectedIndex].value;
	if(quicklink != '') {
		window.location.href = quicklink;
	}
}

function switchVangnet(nr){
	
	for(x=1;x<=nrVangnetBtns;x++){
		if(x==nr){
			document.getElementById('btn_vangnet_'+x).className = 'active';
			document.getElementById('vangnet_content_'+x).style.display = 'block';
		}else{
			document.getElementById('btn_vangnet_'+x).className = '';
			document.getElementById('vangnet_content_'+x).style.display = 'none';
		}
	}
	sifrVangnetContent();
}

function showSubmenu(){
	for(x=1;x<=nrSubmenus;x++){
		if(document.getElementById('menu_btn_'+x).className == 'active'){
			selectSubmenu(x);
			break;
		}
	}
}

function selectSubmenu(nr){
	for(x=1;x<=nrSubmenus;x++){
		if(x==nr){
			document.getElementById('menu_btn_'+x).className = 'active';
			document.getElementById('submenu_'+x).style.display = 'block';
		}else{
			document.getElementById('menu_btn_'+x).className = '';
			document.getElementById('submenu_'+x).style.display = 'none';
		}
	}	
}

function toggleFold(folderId, infoId){
	var folder = document.getElementById(folderId);
	switch(folder.className){
		case 'folder_a':
			folder.className = 'folder_a_expanded';
			document.getElementById(infoId).style.display = 'block';
			break;
		case 'folder_a_expanded':
			folder.className = 'folder_a';
			document.getElementById(infoId).style.display = 'none';
			break;
		case 'folder_b':
			folder.className = 'folder_b_expanded';
			document.getElementById(infoId).style.display = 'block';
			break;
		case 'folder_b_expanded':
			folder.className = 'folder_b';
			document.getElementById(infoId).style.display = 'none';
			break;
		case 'folder_c':
			folder.className = 'folder_c_expanded';
			document.getElementById(infoId).style.display = 'block';
			break;
		case 'folder_c_expanded':
			folder.className = 'folder_c';
			document.getElementById(infoId).style.display = 'none';
			break;
	}
	refreshElement('content_main_bottom');
	refreshElement('footer');
}

function refreshElement(elmId){
	try{
		document.getElementById(elmId).style.display = 'none';
		document.getElementById(elmId).style.display = 'block';
	}catch(e){}
}



function popUp(link , width , height){
	window.open(link, 'venster', 'width=' + width + ',height=' + height + ',scrollbars=yes,toolbar=no,location=no,status=no,resize=no');
}

function expandAll(startDiv) {
	var divObj = document.getElementById(startDiv);
	if (divObj == "object") {
		for (var i=0;i<divObj.childNodes.length;i++) {
			if (divObj.childNodes[i].nodeName == "DIV" && divObj.childNodes[i].id.substr(0,6) == "folder") {
				toggleFolder(divObj.childNodes[i].id, document.getElementById("image" + divObj.childNodes[i].id.substr(6)));
				expandAll(divObj.childNodes[i].id);
			}
		}
	}
}

function closeAll(startDiv) {
	expandAll(startDiv);
	var divObj = document.getElementById(startDiv);
	for (var i=0;i<divObj.childNodes.length;i++) {
		if (divObj.childNodes[i].nodeName == "DIV" && divObj.childNodes[i].id.substr(0,6) == "folder") {
			toggleFolder(divObj.childNodes[i].id, document.getElementById("image" + divObj.childNodes[i].id.substr(6)));
			expandAll(divObj.childNodes[i].id);
		}
	}
}

function expandItem(theID, startDiv) {
	var divObj = document.getElementById(startDiv);
	var found = false;
	for (var i=0;i<divObj.childNodes.length;i++) {
		if (divObj.childNodes[i].nodeName == "DIV" && divObj.childNodes[i].id.substr(0,6) == "folder") {
			found = expandItem(theID, divObj.childNodes[i].id);
			if (divObj.childNodes[i].id == "folder" + theID) {
				// current element found
				toggleFolder(divObj.childNodes[i].id, document.getElementById("image" + divObj.childNodes[i].id.substr(6)));
				return true;
			}
			if (found) {
				toggleFolder(divObj.childNodes[i].id, document.getElementById("image" + divObj.childNodes[i].id.substr(6)));
				return true;
			}
		}
	}
	return found;
}

function toggleFolder(id, imageNode) {
	var folder = document.getElementById(id);
	var l = imageNode.src.length;
	if (imageNode.src.substring(l-21,l)=="tree_folderclosed.png" || imageNode.src.substring(l-19,l)=="tree_folderopen.png") {
		imageNode = imageNode.previousSibling;
		l = imageNode.src.length;
	}
	if (folder == null) {
	} 
	else if (folder.style.display == "block")  {
		if (imageNode != null) {
			imageNode.nextSibling.src = imgPath+"sitemap/tree_folderclosed.png";
			if (imageNode.src.substring(l-14,l) == "tree_mnode.png") {
				imageNode.src = imgPath+"sitemap/tree_pnode.png";
			}
			else if (imageNode.src.substring(l-18,l) == "tree_mlastnode.png") {
				imageNode.src = imgPath+"sitemap/tree_plastnode.png";
			}
		}
		folder.style.display = "none";
	} 
	else {
		if (imageNode != null) {
			imageNode.nextSibling.src = imgPath+"sitemap/tree_folderopen.png";
			if (imageNode.src.substring(l-14,l) == "tree_pnode.png") {
				imageNode.src = imgPath+"sitemap/tree_mnode.png";
			}
			else if (imageNode.src.substring(l-18,l) == "tree_plastnode.png") {
				imageNode.src = imgPath+"sitemap/tree_mlastnode.png";
			}
		}
		folder.style.display = "block";
	}
	//updateRowColor();
}


function getObjectsByClassname(clsName) {
	var retVal = new Array();
	var elements = document.getElementsByTagName("*");
	
	for(var i = 0;i < elements.length;i++) {
		if(elements[i].className.indexOf(" ") >= 0) {
			classes = elements[i].className.split(" ");
			for(var j = 0;j < classes.length;j++){
				if(classes[j] == clsName) {
					retVal.push(elements[i]);
				}
			}
		}
		else if(elements[i].className == clsName) {
			retVal.push(elements[i]);
		}
	}
	return retVal;
}


function RemoveClassName(objElement, strClass) {
	// if there is a class
	if ( objElement.className ) {
	
	   // the classes are just a space separated list, so first get the list
	   var arrList = objElement.className.split(' ');
	
	   // get uppercase class for comparison purposes
	   var strClassUpper = strClass.toUpperCase();
	
	   // find all instances and remove them
	   for ( var i = 0; i < arrList.length; i++ )
	      {
	
	      // if class found
	      if ( arrList[i].toUpperCase() == strClassUpper )
	         {
	
	         // remove array item
	         arrList.splice(i, 1);
	
	         // decrement loop counter as we have adjusted the array's contents
	         i--;
	
	         }
	
	      }
	
	   // assign modified class name attribute
	   objElement.className = arrList.join(' ');
	
	   }
	// if there was no class
	// there is nothing to remove
}

function AddClassName(objElement, strClass, blnMayAlreadyExist) {
	
	// if there is a class
	if ( objElement.className )
	   {
	
	   // the classes are just a space separated list, so first get the list
	   var arrList = objElement.className.split(' ');
	
	   // if the new class name may already exist in list
	   if ( blnMayAlreadyExist )
	      {
	
	      // get uppercase class for comparison purposes
	      var strClassUpper = strClass.toUpperCase();
	
	      // find all instances and remove them
	      for ( var i = 0; i < arrList.length; i++ )
	         {
	
	         // if class found
	         if ( arrList[i].toUpperCase() == strClassUpper )
	            {
	
	            // remove array item
	            arrList.splice(i, 1);
	
	            // decrement loop counter as we have adjusted the array's contents
	            i--;
	
	            }
	
	         }
	
	      }
	
	   // add the new class to end of list
	   arrList[arrList.length] = strClass;
	
	   // add the new class to beginning of list
	   //arrList.splice(0, 0, strClass);
	   
	   // assign modified class name attribute
	   objElement.className = arrList.join(' ');
	
	   }
	// if there was no class
	else
	   {
	
	   // assign modified class name attribute      
	   objElement.className = strClass;
	
	   }
}


function CreateBookmarkLink() {
	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel('Samenwerkende Apothekers', rootPath,"");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite( rootPath, 'Samenwerkende Apothekers'); }
	else if(window.opera && window.print) { // Opera Hotlist
		return true;
	}
}

/**
 * Product overview: Center the packshots horizontal en vertical in it's parent
 */
function centerAlignPackshots() {
	
	$('.productBlockThumb a img').each(function() {
		var ua = $.browser;

		if (!ua.webkit) {
			

		//$(this).load(function() {
			var imgWidth = $(this).width();
			var imgHeight = $(this).height();
			//alert(imgWidth+' - '+imgHeight);
			// Get parent width and height
			var parentObj = $(this).parent('a');
			var parentWidth =  $(parentObj).width();
			var parentHeight = $(parentObj).height();
			// Determine TOP at which image should appear
			var topPos = Math.round((parentHeight-imgHeight)/2);
			// Determine LEFT at which image should appear
			var leftPos = Math.round((parentWidth-imgWidth)/2);
			// Move it
			$(this).css('position','absolute');
			$(this).css('top',topPos);
			$(this).css('left',leftPos);
		//});
		 }
	});
}

