/*	Initiate function call on page load. This allows multiple function calls
	Script taken from Simon Willison's Weblog
	http://simonwillison.net/2004/May/26/addLoadEvent/
*/
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}
function trim(input){
    try{
        return input.replace(/^\s+|\s+$/, '');
    }catch(e){
        return '';
    }
};
function fixTitle(){
    var pageTitle='';
    var pagebody = document.getElementById('pagebody');
    if (pagebody){        
        var allH1 = pagebody.getElementsByTagName('h1');
        for(var i=0;i<allH1.length;i++){
            pageTitle = trim(allH1[i].innerHTML) + ' - Uncorked Wine Merchants';
            break;
        }
    }
    if (pageTitle !=''){
        if (pageTitle.indexOf('<span')==-1){
            document.title=pageTitle;        
        }
    }
};
/*Onload*/
/*addLoadEvent(fixTitle);*/

addLoadEvent(externalLinks);
addLoadEvent(popupWindow);

// Opens links in new windows when rel="external"
function externalLinks() {
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
		{
			//alert("anchor is: " + anchor.innerHTML)
			anchor.target = "_blank"
			anchor.title = "Link opens in a new window"
		}
	}
}

function addToFavourites(url, title){
	if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4)) {
		window.external.AddFavorite(url,title);
	} else if (navigator.appName == "Netscape") {
		window.sidebar.addPanel(title,url,"");
	} else {
		alert("Press CTRL-D (Netscape) or CTRL-T (Opera) to bookmark");
	}	
}

function removeElement(par, row) {
	if(document.getElementById){
		var p = document.getElementsByTagName("tbody")[0];
		var basket_item = document.getElementById(row);
		if(document.removeChild){
			if(confirm("Are you sure you want to remove this item?")){
			p.removeChild(basket_item);
			}
		}
	}
}

// create a new window for popup links
function popupWindow(){
	if(document.getElementById){
		var popup = getElementsByClassName(document, 'a', 'popup');
		for(var i=0;i<popup.length;i++){
			var url = popup[i].href;
			popup[i].onclick = function(){
				openPopUp(this.getAttribute("href"));
				return false;
			}
		}
	}
}

//This function is for opening Order tracking POD Image
function OpenPopUpPOD(url){
    var load = window.open(url,'pod','scrollbars=yes,menubar=no,height=700,width=500,resizable=yes,toolbar=no,location=no,status=no,left=200');
}

//
function openPopUp(href){
	var wine_order = window.open(href,'wine_order','width=300,height=420,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes');
	wine_order.focus();
}

function getElementsByClassName(oElm, strTagName, oClassNames){
	if(document.getElementById){
		var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
		var arrReturnElements = new Array();
		var arrRegExpClassNames = new Array();
		if(typeof oClassNames == "object"){
			for(var i=0; i<oClassNames.length; i++){
				arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
			}
		}
		else{
			arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
		}
		var oElement;
		var bMatchesAll;
		for(var j=0; j<arrElements.length; j++){
			oElement = arrElements[j];
			bMatchesAll = true;
			for(var k=0; k<arrRegExpClassNames.length; k++){
				if(!arrRegExpClassNames[k].test(oElement.className)){
					bMatchesAll = false;
					break;
				}
			}
			if(bMatchesAll){
				arrReturnElements.push(oElement);
			}
		}
		return (arrReturnElements)
	}
}
function hideReserves(){
	if(document.getElementById){
		if (document.getElementById('reserves0')) {
			var tr0 = document.getElementById('reserves0').childNodes;
			var tr1 = document.getElementById('reserves1').childNodes;
			for (var i = 0; i < tr0.length; i++) {
				if (tr0[i].childNodes.length > 0) {
					tr0[i].style.display = 'none';
					tr1[i].style.display = 'none';
				}
			}
		}
	}
}
function showReserves(){
	if(document.getElementById){
		var browser = navigator.userAgent;
		try{
		    if (document.getElementById('reserves0')) {
			    var tr0 = document.getElementById('reserves0').childNodes;
			    var tr1 = document.getElementById('reserves1').childNodes;
			    for (var i = 0; i < tr0.length; i++) {
				    if (tr0[i].childNodes.length > 0) {
					    if (browser.indexOf("MSIE 6") != -1 && browser.indexOf("Opera") == -1) {
						    tr0[i].style.display = 'block';
						    tr1[i].style.display = 'block';
					    }
					    else {
						    tr0[i].style.display = 'table-cell';
						    tr1[i].style.display = 'table-cell';
					    }
				    }
			    }
			    var showLink = document.getElementById('reservesTitle');
			    showLink.style.display = 'none';
		    }
		}catch(e){}
	}
}

function showHideOrderData(which){
	if(document.getElementById){
		var browser = navigator.userAgent;
		try{
		    var orderTable = document.getElementById('recent_orders').tBodies[0].childNodes;
		    var num = 0;
		    if(!orderTable[0].childNodes[0].style){
			    num = 1;
		    }
		    if(which == null){
			    for(var i=0;i<orderTable.length;i++){
				    if(orderTable[i].childNodes.length>0){
					    if(orderTable[i].id.indexOf('order') == 0){
						    if(orderTable[i].style.display != "none"){
							    orderTable[i].style.display = "none"
						    }else{
							    if(browser.indexOf("MSIE 6") != -1 && browser.indexOf("Opera") == -1){
								    orderTable[i].style.display = 'block';
							    }else{
								    orderTable[i].style.display = 'table-cell';
							    }
						    }
					    }
				    }
			    }
		    }else{
			    var counter = 0;
			    for(var i=0;i<orderTable.length;i++){
				    if(orderTable[i].childNodes.length>0){
					    if(counter == which){
						    var cell = document.getElementById('order'+counter);
						    /*var div = document.getElementById('order'+counter).getElementsByTagName('div')[0];
						    if(div.className != "hide"){
							    div.className = "hide";
						    }else{
							    div.className = "hide";
						    }*/
						    if(cell.style.display == "block" || cell.style.display == "table-row"){
							    cell.style.display = 'none';
							    var prevSibling = cell.previousSibling;
							    while (prevSibling.nodeType != 1) {
								    prevSibling = prevSibling.previousSibling;
							    }
							    prevSibling.style.backgroundColor = '#FFFFFF';
							    prevSibling.getElementsByTagName('a')[0].innerHTML = "View details";
						    }else{
							    if (browser.indexOf("MSIE 6") != -1 && browser.indexOf("Opera") == -1) {
								    cell.style.display = 'block';
								    var prevSibling = cell.previousSibling;
								    while (prevSibling.nodeType != 1) {
									    prevSibling = prevSibling.previousSibling;
								    }
								    prevSibling.style.backgroundColor = '#EEEEEE';
								    prevSibling.getElementsByTagName('a')[0].innerHTML = "Hide details";
    								
							    }else if(browser.indexOf("MSIE 7") != -1 && browser.indexOf("Opera") == -1){
								    cell.style.display = 'block';
								    var prevSibling = cell.previousSibling;
								    while (prevSibling.nodeType != 1) {
									    prevSibling = prevSibling.previousSibling;
								    }
								    prevSibling.style.backgroundColor = '#EEEEEE';
								    prevSibling.getElementsByTagName('a')[0].innerHTML = "Hide details";
							    }else{
								    cell.style.display = 'table-row';
								    var prevSibling = cell.previousSibling;
								    while (prevSibling.nodeType != 1) {
									    prevSibling = prevSibling.previousSibling;
								    }
								    prevSibling.style.backgroundColor = '#EEEEEE';
								    prevSibling.getElementsByTagName('a')[0].innerHTML = "Hide details";
							    }
						    }
					    }
					    counter++;
				    }
			    }
		    }
		}catch(e){}
	}
}

function hideMultipleSelect() {
	var browser = navigator.userAgent;
	if(document.getElementById){
		var multiples = getElementsByClassName(document, 'select', 'multiple');
		for(var i=0;i<multiples.length;i++){
			var list = multiples[i];
			/*if(browser.indexOf("MSIE 6") != -1 && browser.indexOf("Opera") == -1){
				list.setAttribute("className", "multiple");
			}else{
				list.setAttribute("class", "multiple");
			}*/
			list.removeAttribute("multiple");
			if (list.options[0]) {
				list.options[0].selected = true;
			}
		}
	}
}
function selectMultiple(element) {
	if(document.getElementById){
		var list = document.getElementById(element);
		var plus = document.getElementById(element+"_plus");
		list.setAttribute("multiple", "multiple");
		plus.parentNode.removeChild(plus);
	}
}
