function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

/* Fix IE6/7 ActiveX activation */
function ieFlash(path, fwidth, fheight, nojs) {
	document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="'+ fwidth +'" height="' + fheight +'">');
	document.write('<param name="movie" value="'+ path +'" />');
	document.write('<param name="wmode" value="transparent" />');
	// This embed tag fixes the IE problems with preloaders (use the compliant version if not needed)
	document.write('<![CDATA[<embed src="'+ path +'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+ fwidth +'" height="'+ fheight +'"></embed>]]>');
	document.write(nojs);
	document.write('</object>');
}


/* Used to show and hide elements */
function removeDiv(whichDiv){
	document.getElementById(whichDiv).style.display = 'none';
}

function displayDiv(whichDiv){
	document.getElementById(whichDiv).style.display = 'block';	
}


/* Resource Library Verifcation */
function checkReferrer(loc) {
	
	//alert(document.referrer);
	
	switch (loc) {
		case 'pc':
		var str1= 'http://staging.guidewire.com/our_solutions/verify/policycenter';
		var str2= 'http://staging.guidewire.com/our_solutions/policycenter_resource_library';
		var str3= 'http://www.guidewire.com/our_solutions/verify/policycenter';
		var str4= 'http://www.guidewire.com/our_solutions/policycenter_resource_library';
		var str5= 'http://guidewire.local/our_solutions/verify/policycenter';
		var str6= 'http://guidewire.local/our_solutions/policycenter_resource_library';
		break;
		
		case 'cc':
		var str1= 'http://staging.guidewire.com/our_solutions/verify/claimcenter';
		var str2= 'http://staging.guidewire.com/our_solutions/claimcenter_resource_library';
		var str3= 'http://www.guidewire.com/our_solutions/verify/claimcenter';
		var str4= 'http://www.guidewire.com/our_solutions/claimcenter_resource_library';
		var str5= 'http://guidewire.local/our_solutions/verify/claimcenter';
		var str6= 'http://guidewire.local/our_solutions/claimcenter_resource_library';
		break;
	}
	
	if( !( (document.referrer == str1) || (document.referrer == str2) || (document.referrer == str3) || (document.referrer == str4) || (document.referrer == str5) || (document.referrer == str6) ) ) {
		return false;
	}
	else {
		return true;
	}
}


function checkCCKitReferrer() {
	var str1= 'http://staging.guidewire.com/our_solutions/claimcenter_resource_library_downloads?';
	var str2= 'http://www.guidewire.com/our_solutions/claimcenter_resource_library_downloads?';
	var str3= 'http://guidewire.local/our_solutions/claimcenter_resource_library_downloads?';
	var str4= 'http://staging.guidewire.com/our_solutions/claimcenter_resource_library_downloads';
	var str5= 'http://www.guidewire.com/our_solutions/claimcenter_resource_library_downloads';
	var str6= 'http://guidewire.local/our_solutions/claimcenter_resource_library_downloads';
	var str7= 'http://staging.guidewire.com/our_solutions/claimcenter_starter_kit';
	var str8= 'http://www.guidewire.com/our_solutions/claimcenter_starter_kit';
	var str9= 'http://guidewire.local/our_solutions/claimcenter_starter_kit';
	
	if( !( (document.referrer == str1) || (document.referrer == str2) || (document.referrer == str3) || (document.referrer == str4) || (document.referrer == str5) || (document.referrer == str6) || (document.referrer == str7) || (document.referrer == str8) || (document.referrer == str9) ) ) {
		return false;
	}
	else {
		return true;
	}
}


/* Newsletter opt-in (on Resource Library forms) */
function newsletterOptIn() {
	if (document.subcheck.subscription.checked == false) {
		document.subcheck.subscription.checked = false;
		document.subcheck.subscription.value = '0';
		document.registerlibrary.newsletter.value = '0';
		document.loginlibrary.newsletter.value = '0';
	}
	else {
		document.subcheck.subscription.checked= true;
		document.subcheck.subscription.value = '1';
		document.registerlibrary.newsletter.value = '1';
		document.loginlibrary.newsletter.value = '1';
	}
	
	//alert(document.loginlibrary.newsletter.value);
}


/* NewWindow popup functionality */
function NewWindow(mypage, myname, w, h, scroll) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function openVideoWin(href) {
	NewWindow(href, 'video', '401', '343', 'no');
}

function jumpMenu(targ,selObj,restore) 
{
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
