function selector() {
	var selector = $$('.selector', '.selectorBasic');
	var selectBox = $$('.selectBox', '.selectBoxBasic');
	var remember = true; //cookie
	var warehouse = [];
	
	selector.each(function(el,i){
		var selectTabs = el.getElements('li');
		var name = selectTabs[0].get('text').slice(0,10).replace(/[ \t]/g, "")+"_"+document.URL.slice(document.URL.length - 15, document.URL.length - 5);
		var pos = 0;
		var locateBox = [];
		warehouse.push(locateBox);
		if (el.getElements('.external') != ""){
			remember = false;
		}

		selectTabs.each(function(ela, ia){
			locateBox.push(selectBox[0]);
			selectBox.splice(0,1);
			
			ela.addEvent('click', function(e){	
				if (!ela.hasClass('external')) {
					e = new Event(e).stop();
					selectTabs[pos].removeClass('on');
					warehouse[i][pos].removeClass('on');
					selectTabs[ia].addClass('on');
					warehouse[i][ia].addClass('on');
					pos = ia;
					if (remember) {
						Cookie.write(name, ia, {duration: 12});
					}
				}
			});
		});//selectTabs.each
		
		if (remember) {
			var tab = Cookie.read(name);
			if (tab) {
				pos = tab;
				selectTabs[0].removeClass('on');
				selectTabs[pos].addClass('on');
				warehouse[i][0].removeClass('on');
				warehouse[i][pos].addClass('on');
			}
		}
	}); //selector.each
} //selector

var Popular = {
	start: function(){	
		var tab = $('tpop');			
		var box = $('popular');
		var fix = new Element('iframe', {'id': 'popFix'}).inject(box,'after');
		
		tab.addEvents({
			'mouseenter': function(){ Popular.popAdd(tab,box,fix); },
			'mouseleave': function(){ Popular.popRmv(tab,box,fix); },
			'click': function(e){ e = new Event(e).stop(); }
		});
		box.addEvents({
			'mouseenter': function(){ Popular.popAdd(tab,box,fix); },
			'mouseleave': function(){ Popular.popRmv(tab,box,fix); }
		});
	},
	
	popRmv: function(tab,box,fix){
		box.removeClass('drill');
		fix.removeClass('drill');
		tab.removeClass('on');
	},
	
	popAdd: function(tab,box,fix){
		box.addClass('drill');
		fix.addClass('drill');
		tab.addClass('on');
	}
}//popular


function toolbar() {
	if ($$('.email')) {
		var email = $$('li.email a');
		email.each(function(el){ 
			el.addEvent('click', function(e){
				e = new Event(e).stop();				
				location.href='mailto:?subject='+encodeURIComponent(document.title)+'&body='+encodeURIComponent(location.href); 
			});
		})
	}
	
	if ($$('.print')) {
		var print = $$('li.print a'); 
		print.each(function(el){ 
			el.addEvent('click', function(e){
				e = new Event(e).stop();				
				window.print(); 
			});
		})
	}
	
	if ($$('.pops')) {
		var pops = $$('li.pops');
		pops.each(function(el, i){ 
			el.addEvent('mouseenter', function(e){ pops[i].addClass('drill'); });
			el.addEvent('mouseleave', function(e){ pops[i].removeClass('drill'); });
		})
	}
	
	if ($('embed')) {
		var link = $$('#embed a');
		var cont = $('embed');
		link.addEvent('click', function(e){ 
			e = new Event(e).stop();
			cont.toggleClass('drill');
		});
	}
} //toolbar

function vidChanger() {
	var cont = $$('#vidChanger li');
	var thumb = $$('#vidChanger span a');

	thumb.each(function(el1, i1){ 
		el1.addEvent('mouseenter', function(){	
			cont.each(function(el2, i2){ 
				if (i1 == i2) {
					cont[i2].addClass('on');
				} else {
					cont[i2].removeClass('on');
				}
			});		
		});
	})
} //vidChanger

function hoverBox() {
	var hoverLink = $$('.hoverLink');
	var hoverBox = $$('.hoverBox');
  
	hoverLink.each(function(el1, i){
		el1.addEvents({
		    'mouseenter': function(){
				hoverBox[i].addClass('reveal');
		    },
			'mouseleave': function(){
				hoverBox[i].removeClass('reveal');
		    },
		    'click': function(e){
		        e = new Event(e).stop();
		    }
		});
	});
}//hoverBox

function searchSwitch() {
	var srchForm = $('search').getElement('form');
	var searchList = $('searchList');
	var searchIndex = searchList.selectedIndex;
	var hiddenExists = $('newfield');

	function addHidden(contentType) {
		var newfield = document.createElement("input");
		newfield.setAttribute("type","hidden");
		newfield.setAttribute("name","t");
		newfield.setAttribute("value", contentType);
		newfield.setAttribute("id","newfield");
		srchForm.appendChild(newfield);
	}

	function rmHidden() {
		if (hiddenExists) {
			srchForm.removeChild(hiddenExists);
		}
	}

	function changeQuery(queryLetter){
		srchForm.elements[0].name = queryLetter;
	}

	switch (searchIndex) {
		case 0: //All of ZDNet
		srchForm.action = "http://search.zdnet.com/index.php";
		changeQuery('q');
		rmHidden();
		if (!hiddenExists) {
			addHidden(0);
		}
		break;

		case 1: //Blogs
		srchForm.action = "http://search.zdnet.com/index.php";
		changeQuery('q');
		if (hiddenExists) {
			hiddenExists.value = 1;
		} else {
			addHidden(1);
		}
		break;
	
		case 2: //News
		srchForm.action = "http://search.zdnet.com/index.php";
		changeQuery('q');
		if (hiddenExists) {
			hiddenExists.value = 7;
		} else {
			addHidden(7);
		}
		break;

		case 3: //Downloads
		srchForm.action = "http://downloads.zdnet.com/search.aspx";
		changeQuery('q');
		rmHidden();
		break;

		case 4: //Reviews
		srchForm.action = "http://reviews-search.zdnet.com/search";
		changeQuery('q');
		rmHidden();
		break;

		case 5: //Whitepapers
		srchForm.action = "http://whitepapers.zdnet.com/search.aspx";
		changeQuery('q');
		rmHidden();
		break;

		case 6:
		srchForm.action = "http://dictionary.zdnet.com/index.php";
		changeQuery('d');
		rmHidden();
		break;
		}

} //searchSwitch

function quickPoll_results(action,theURL,winName,winWidth,winHeight,features) {      
    var w = (screen.width - winWidth)/2;
    var h = (screen.height - winHeight)/2 - 20;
    features = features+',width='+winWidth+',height='+winHeight+',top='+h+',left='+w;
    var poll_ident = self.document.quickPoll.poll_ident.value;
    var template_set = self.document.quickPoll.template_set.value;
    option_id = '';
    for (i=0; i<self.document.quickPoll.option_id.length; i++) {
        if(self.document.quickPoll.option_id[i].checked == true) {
            option_id = self.document.quickPoll.option_id[i].value;
            break;
        }
    }
    option_id = (option_id != '') ? '&option_id='+option_id : '';
    if (action=='results' || (option_id != '' && action=='vote')) {
        theURL = theURL+'?action='+action+'&poll_ident='+poll_ident+option_id+'&template_set='+template_set;
        poll_popup = window.open(theURL,winName,features);
        poll_popup.focus();
          
    }
     return false;
} //quickPoll


function getrelatedContent() {
	try {
		var assets = relassets();
		var impressions = relimpressions();
		if (assets.length > 0) {
			document.writeln('<h2>People who read this, also read...</h2>');
			document.writeln('<ul class="relatedContent">');
			for (var i = 0; i < assets.length; i++) {
				document.writeln('<li><a href="' + assets[i].url + '">' + assets[i].title + '</a></li>');  			 		
  			 }
			document.writeln('</ul>');
		}
		if (impressions.length > 0) {
			for (var i = 0; i < impressions.length; i++) {
  			 	document.writeln( impressions[i] );
  			 }	
		}			
	} catch(ex) { }
}

function contactPopup(email,name) {
	var load = window.open('http://blogs.zdnet.com/emailform.php?email='+email+'&name='+escape(name),'','scrollbars=no,menubar=no,height=640,width=400,resizable=no,toolbar=no,location=no,status=no');
	load.document.close();
}

var CustomTags = {
	truncate: function(amount){
		$$('.tags').each(function(el){
			var links = el.get('html').split(',');
			if (links.length > amount) {
				var hiddenLinks = links.splice(amount, links.length - amount);
				hiddenLinks = hiddenLinks.join(', ');
				links = links.join(', ');
				el.set('html',links);
				var ellipsis = new Element ('span', {'class': 'ellipsis'}).set('html','...').inject(el,'bottom');
				var hiddenCont = new Element ('span', {'class': 'more'}).set('html',',' + hiddenLinks).inject(el,'bottom');
				el.addEvents({
					'mouseenter': function(){
						ellipsis.setStyle('display','none');
						hiddenCont.setStyle('display','inline');
					},
					'mouseleave': function(){
						ellipsis.setStyle('display','inline');
						hiddenCont.setStyle('display','none');
					}
				});
			}
		});
	}
};

function feedbackPop(email) {
	var load = window.open('http://blogs.zdnet.com/emailform.php?email='+email,'','scrollbars=no,menubar=no,height=640,width=400,resizable=no,toolbar=no,location=no,status=no');
	load.document.close();
}


function viewChanger() {
	$$('.view-changer').each(function(el, i){ 
		var items = el.getElements('li');
		var target = el.get('rel');
		var views = $$("'." + target + "'");
		
		items.each(function(el2){
			var viewClass = el2.get('class').replace("changer","view");
			
			el2.addEvent('click', function(e){	
				e = new Event(e).stop();
				items.each(function(el3){
					el3.getElements('a').removeClass('on');
				});
				el2.getElements('a').addClass('on');
				
				views.each(function(el4){
					var findClass = el4.get('class').split(' ');
					findClass.each(function(el5){
						if (el5.contains('view')) el4.removeClass(el5);
					});
					el4.addClass(viewClass);
				});
				Cookie.write('viewChanger', viewClass, {duration: 5});
			});
		});
		
		var pastView = Cookie.read('viewChanger');
		if (pastView) {
			items.each(function(el3){
				el3.getElements('a').removeClass('on');
				if (el3.get('class').replace("changer","view") == pastView) {
					el3.getElements('a').addClass('on');
				}

			});

			views.each(function(el4){
				var findClass = el4.get('class').split(' ');
				findClass.each(function(el5){
					if (el5.contains('view')) el4.removeClass(el5);
				});
				el4.addClass(pastView);
			});
		}
	});
};


window.addEvent('domready', function() {		
	if ($$('.selector') != "" || $$('.selectorBasic') != "") selector();
	if ($$('.toolbar') != "") toolbar();
	if ($('vidChanger')) vidChanger();
	if ($$('.hoverLink') != "") hoverBox();
	if ($$('.tags') != "" && typeof(Tags) == 'undefined') CustomTags.truncate(5);
	if ($$('.view-changer') != "") {viewChanger();}
});
