/*
	JAVASCRIPT FUNCTION INCLUDE
	CASRO Forms
	08.24.10
	Rebecca Adamson
	Firefly Marketing
*/

var doc = window.document;

function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=350,height=400');");
}



//////////////////////////////////////
//	GENERIC RETURN ELEMENT FUNCTION //
//////////////////////////////////////

function getE( v ) {
	// e is for element!
	e = false;
	if ( doc.getElementById ) {
		e = doc.getElementById( v );
	}
	else if ( doc.all ) {
		e = doc.all[ v ];
	}
	return e;
}

function textCounter(field,cntfield,maxlimit) {
  elem = getE(field);
  cntElem = getE(cntfield);
  if (elem.value.length > maxlimit) // if too long...trim it!
	 elem.value = elem.value.substring(0, maxlimit);
  else
	 cntElem.value = maxlimit - elem.value.length;
}

function fillFields(divElem,frm,checkbox) {
  check = getE(checkbox);
  f = document.forms[frm];
  
  if( check.checked ) {
	 div = divElem;
	 e = getE( divElem );
	 e.innerHTML = "<img src='/casroforms/_img/animatedLoader.gif' />";
	var url="/casroforms/online_research_conference_exhibitors/fillAttendee.php";
	url=url+"?div="+div;
// 	url=url+"&s="+submitted;
	url=url+"&sid="+Math.random();

// 	alert(url);

  GetXmlHttpObject( url );
	 
  }
  else {
	 f.elements["FirstName"].value = "";
	 f.elements["LastName"].value = "";
	 f.elements["Email"].value = "";
	 f.elements["Badge"].value = "";
	 f.elements["Title"].value = "";
	 f.elements["Address"].value = "";
	 f.elements["Address2"].value = "";
	 f.elements["City"].value = "";
	 f.elements["State"].selectedIndex = "";
	 f.elements["Province"].value = "";
	 f.elements["Zip"].value = "";
	 f.elements["Country"].selectedIndex = "";
  }

	 
}

function addAttendee(divElem,regNum,frm) {

  var frmString = "";

//   alert( frm.length);
  for(i=0;i<frm.length;i++) {
	 frmString = frmString + "&"+frm.elements[i].name+"="+frm.elements[i].value;
  }

//   alert(frmString);

  div = divElem;
  e = getE( divElem );
  e.innerHTML = "<img src='/_img/animatedLoader.gif' />";
	var url="addAttendee.php";
	url=url+"?div="+div;
   url=url+"&regNum="+regNum;
   url=url+frmString;
// 	url=url+"&s="+submitted;
	url=url+"&sid="+Math.random();

// 	alert(url);

  GetXmlHttpObject( url );
}



function flipCat() {
	e = getE( "cats" );
	e.submit();
}


var aboutUsPop = "<div id='newsBox' style='position: absolute; top: -150px; left: 0px; width: 500px; height: 350px;text-align:left'><div id='newsContent' style='width: 480px; height: 310px;'><p>All CIRQ auditors are experienced research professionals and therefore bring to the role of auditor relevant and varied research expertise. Collectively these professionals have nearly 175 years of experience in senior-level positions in research management, project operations, and sales or client services.  CIRQ auditors are knowledgeable in both qualitative and quantitative research, have worked on both the client and supplier side of the business, have worked in both small and large companies and some have owned and operated their own research businesses.</p><p>This wealth of industry experience, coupled with an intense CIRQ training program that culminates with a comprehensive assessment that each auditor must pass, makes CIRQ auditors uniquely positioned to execute audits for any research company seeking certification to ISO 20252 and/or ISO 26362.</p><p><a href='#' style='font-weight: bold;' onclick='barBtnPop( \"barBtnTxt\", \"\", false ); return false;'>Close</a></p></div></div>";

function barBtnPop( div, txt, state ) {
    e = getE( div );
    if ( state ) {
        e.innerHTML = txt;
    }
    else {
        e.innerHTML = "";
    }
}

function makeWYSIWYG(incomingWidth, incomingHeight) {

	if(!incomingWidth) {
		 incomingWidth = 490;
	}

	if(!incomingHeight) {
		 incomingHeight = 350;
	}

	tinyMCE.init({
		mode : "textareas",
		theme : "advanced",
		width : incomingWidth,
		height : incomingHeight,
		plugins : "media,table,safari,spellchecker",
		content_css : "/_css/tiny.css",
		file_browser_callback : "tinyBrowser",
		relative_urls : false,
		force_p_newlines : true,
		force_br_newlines : true,

		theme_advanced_toolbar_location : "bottom",
		theme_advanced_statusbar_location : "bottom",
		theme_advanced_buttons2_add : "media,spellchecker",

		theme_advanced_buttons3 : "tablecontrols",
		table_styles : "Header 1=header1;Header 2=header2;Header 3=header3",
		table_cell_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Cell=tableCel1",
		table_row_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Row=tableRow1",
		table_cell_limit : 100,
		table_row_limit : 5,
		table_col_limit : 5
	});
}

/*
	AJAX BASE FUNCTIONALITY
*/

function GetXmlHttpObject( url,func ) {
	xmlHttp=null;
	nextFunc = "";

	if ( func != false ) nextFunc = func;
	else nextFunc = "";

	try { xmlHttp=new XMLHttpRequest(); } // Firefox, Opera 8.0+, Safari
	catch (e) {
		// Internet Explorer
		try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }
		catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }
	}

	if (xmlHttp!=null) {
		xmlHttp.onreadystatechange=stateChanged;
		xmlHttp.open("GET",url,true);
		//set request header to later determine if any file was requested with Ajax or not - in case we want to include/exclude code fragments, like headers and footers on error handling,for instance
		xmlHttp.setRequestHeader("X-Requested-With", "XMLHttpRequest");
		xmlHttp.send(null);
	}
}

function stateChanged( ) {
	if (xmlHttp.readyState==4) {
		if (xmlHttp.status==200) {
			if( xmlHttp.responseText.indexOf("error.php") != -1 ) {
				//if the error handler was triggered, redirect to error.php
				// if triggered via ajax, error.php rewrites the querystring and prints it, which becomes the responseText
				location.href=xmlHttp.responseText;
			}

			else {
				document.getElementById(div).innerHTML=xmlHttp.responseText;
			}

			if ( nextFunc != "" ) {
				eval( nextFunc );
			}
		}
  }
}

/*	BETA REGISTRATION FUNCTIONS	 */

function registerBeta(submitted,email,divElem ) {

	div = divElem;
	e = getE( divElem );
	e.innerHTML = "<img src='/admin/_img/cms/animatedLoader.gif' />";
	var url="/forms/registerBeta.php";
	url=url+"?email="+email;
	url=url+"&div="+div;
	url=url+"&s="+submitted;
	url=url+"&sid="+Math.random();

// 	alert(url);

  GetXmlHttpObject( url );
}

/*	REQUEST PASSWORD FUNCTIONS	*/

function requestPW(submitted,email,divElem ) {

	div = divElem;
	e = getE( divElem );
	e.innerHTML = "<img src='/admin/_img/cms/animatedLoader.gif' />";
	var url="/forms/requestPW.php";
	url=url+"?email="+email;
	url=url+"&div="+div;
	url=url+"&s="+submitted;
	url=url+"&sid="+Math.random();

  GetXmlHttpObject( url );
}



/*	ACCOUNT CREATION FUNCTIONS	*/

function registerAccount(submitted,email,pw,divElem ) {
	div = divElem;
	e = getE( divElem );
	e.innerHTML = "<img src='/admin/_img/cms/animatedLoader.gif' />";
	var url="/forms/registerAccount.php";
	url=url+"?email="+email;
	url=url+"&div="+div;
	url=url+"&pw="+pw;
	url=url+"&s="+submitted;
	url=url+"&sid="+Math.random();

  GetXmlHttpObject( url );
}




/*	GENERIC FUNCTIONS  */

function del( table, idField, id, divElem) {

	div = divElem;
	e = getE( divElem );
	e.innerHTML = "<img src='/admin/_img/cms/animatedLoader.gif' />";
	var url="/admin/delete.php";
	url=url+"?table="+table;
	url=url+"&idField="+idField;
	url=url+"&id="+id;
	url=url+"&div="+div;
	url=url+"&sid="+Math.random();

	GetXmlHttpObject( url );
}


function showForm(submitted,divElem,label,val) {
	div = divElem;
	e = getE( divElem );
	e.innerHTML = "<img src='/admin/_img/cms/animatedLoader.gif' />";

	var url="/forms/updateMember.php";
	url=url+"?field="+divElem;
	url=url+"&value="+val;
	url=url+"&s="+submitted;
	url=url+"&label="+escape(label);
	url=url+"&div="+div;
	url=url+"&sid="+Math.random();

	GetXmlHttpObject( url );
}

function addItem(fields,divElem ) {

	div = divElem;
	e = getE( divElem );
	e.innerHTML = "<img src='/admin/_img/cms/animatedLoader.gif' />";
	scriptName = divElem;

	var url="/forms/"+divElem + ".php";
	url=url+"?div="+div;

	for( i=0;i<fields.length;i++)
		url += "&" + fields[i].name + "=" + fields[i].value;

	url=url+"&sid="+Math.random();

	GetXmlHttpObject( url );
}

function showOptions(formatID, divElem) {
	div = divElem;

	var url="getOptions.php";
	url=url+"?formatID="+formatID;
	url=url+"&div="+div;
	url=url+"&sid="+Math.random();

	GetXmlHttpObject( url );
}

function addBrowse( divElem, num ) {
	e = document.getElementById( divElem );

	newHTML = "";
	for( i=1;i<=num;i++ ) {
  		newHTML += "<input type='file' name='ImageFileName_"+i+"' />"
	}

	e.innerHTML = newHTML;
}


function showPasswordForm( divElem) {
	div = divElem;

	var url="getPWForm.php";
	url=url+"?div="+div;
	url=url+"&sid="+Math.random();

	GetXmlHttpObject( url );
}




/////
//	FOR DETERMING WHICH DIV IS CURRENTLY OPEN

var openDiv = "";

////////////////////////////////
//	CLOSE A DIV								//
////////////////////////////////

function closeDiv( div ) {
	e = getE( div );
	e.innerHTML = "";
}




function imgSwap(img_name, img_src) {
	getE(img_name).src = img_src;
}





/*



function removeElementById(remele)  {
	remele = getE(remele);
	if (remele.parentNode && remele.parentNode.removeChild)
	{
		remele.parentNode.removeChild(remele);
	}
}


////////////////////////////////
//	SHOW / HIDE ELEMENT		  //
////////////////////////////////

function toggleV(incoming_object_name,visibility) {
	g = getE(incoming_object_name);
	g.style.visibility = visibility;

  /*string = "";
  for ( a in g ) {
	string += a + "\n";
  }
  alert( string );
  */
// }


/////////////////////////////////////
//	DISABLE / ENABLE FORM ELEMENT  //
/////////////////////////////////////

function toggleD(incoming_object_name,enable_status)  {
	e = getE(incoming_object_name);
	e.disabled=enable_status

	/*
	if (enable_status == false) // enable
		e.disabled=false;
	if (enable_status == true ) //disable
		e.disabled=true;
	*/
}



///////////////////////////////
// RADIO CHECKED VALUES		 //
///////////////////////////////

function setCheckedValue(radioObj, newValue)  {
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined)
	{
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++)
	{
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString())
		{
			radioObj[i].checked = true;
		}
	}
}
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++)
	{
		if(radioObj[i].checked)
		{
			return radioObj[i].value;
		}
	}
	return "";
}


//////////////////////////////
// SELECT LIST VALUES		//
//////////////////////////////

function setSelectListVal(selectID,setVal) {
	sel = getE(selectID);
	for (i=0; i<sel.options.length; i++)
		if (sel.options[i].text == setVal)
			sel.selectedIndex = i;
}

function getSelectListVal(selectID) {
	sel = getE(selectID);
	index = sel.selectedIndex;
	return sel[index].value;
}

function getSelectListText(selectID) {
	sel = getE(selectID);
	index = sel.selectedIndex;
	return sel[index].text;
}

function showHide(elem,display) {
	//alert('hello?');
	e = document.getElementById(elem);
	e.style.visibility = display;
}


	/* ----------------------- General Click Function For Div Buttons ----------------------------- */

function gotoTarget( incomingUrl ) {
	window.location = incomingUrl;
}

/* -------------------------- JavaScript "Pretty" Dropdowns --------------------------------------*/

// function selectReplacement(obj) {
// 	// append a class to the select
// 	obj.className += ' replaced';
// 	// create list for styling
// 	var ul = document.createElement('ul');
// 	ul.className = 'selectReplacement';
// 	var opts = obj.options;
// 	for (var i=0; i<opts.length; i++) {
// 		var selectedOpt;
// 		if (opts[i].selected) {
// 			selectedOpt = i;
// 			break;
// 		} else {
// 			selectedOpt = 0;
// 		}
// 	}
// 	for (var i=0; i<opts.length; i++) {
// 		var li = document.createElement('li');
// 		var txt = document.createTextNode(opts[i].text);
// 		li.appendChild(txt);
// 		li.selIndex = opts[i].index;
// 		li.selectID = obj.id;
// 		li.onclick = function() {
// 			selectMe(this);
// 		}
// 		if (i == selectedOpt) {
// 			li.className = 'selected';
// 			li.onclick = function() {
// 				this.parentNode.className += ' selectOpen';
// 				this.onclick = function() {
// 					selectMe(this);
// 				}
// 			}
// 		}
// 		if (window.attachEvent) {
// 			li.onmouseover = function() {
// 				this.className += ' hover';
// 			}
// 			li.onmouseout = function() {
// 				this.className = this.className.replace(new RegExp(" hover\\b"), '');
// 			}
// 		}
// 		ul.appendChild(li);
// 	}
// 	// add the input and the ul
// 	obj.parentNode.appendChild(ul);
// 	}

	function selectMe(obj) {
		var lis = obj.parentNode.getElementsByTagName('li');
		for (var i=0; i<lis.length; i++) {
			if (lis[i] != obj) { // not the selected list item
			   lis[i].className='';
			   lis[i].onclick = function() {
			   	selectMe(this);
			   }
			} else {
				setVal(obj.selectID, obj.selIndex);
				obj.className='selected';
				obj.parentNode.className = obj.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
				obj.onclick = function() {
					obj.parentNode.className += ' selectOpen';
					this.onclick = function() {
						selectMe(this);
					}
				}
			}
		}
	}

	function setVal(objID, selIndex) {
		var obj = document.getElementById(objID);
		obj.selectedIndex = selIndex;
	}

	function setForm() {
		var s = document.getElementsByTagName('select');
		for (var i=0; i<s.length; i++) {
			selectReplacement(s[i]);
		}
	}

// 	 function closeSel(obj) {
//		 // close the ul
//	   }



