/**
 * redirect
 * desc: redirect to another page
 * params: page: url path to page
 */

var resetform = true;
var blockoff = false;

function redirect(page) {
	window.location = page;
}

/**
function record_start(uid, page) {
	st_url = baseurl+'app/ajax/record_times.pjx?point=start&sid='+uid+'&page='+page;
	ajax_do (st_url, 'ajx_start', false);
}

function record_stop(uid, page) {
	st_url = baseurl+'app/ajax/record_times.pjx?point=stop&sid='+uid+'&page='+page;
	ajax_do (st_url, 'ajx_stop', false);
}
**/

function open_details_div(divid) {
	if (div = document.getElementById('div_'+divid)) {
		if (div.style.display == 'block') {
			div.style.display = 'none';
		} else {
			div.style.display = 'block';
		}
	}
}

var newwin = 0;

function open_window(pop, width, height) {
	newwin = 0;
	swidth = self.screen.width;
	sheight = self.screen.height;
	left = (Math.round(swidth / 2)) - (Math.round(width / 2));
	btop = (Math.round(sheight / 2)) - (Math.round(height / 2)); 
	
	try{
		newwindow=window.open(pop,'infobox','width='+width+',height='+height+',left='+left+',top='+btop+',toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,copyhistory=no, resizable=yes');
		window.newwindow.focus();
		setTimeout('newwin = 1;', 500);
		return;
	}
	catch (e){
		//alert(e);
	}
	
}

window.onfocus = closePopup;

function closePopup() {
	try {
		if (window.newwindow && window.newwindow.name != 'infobox' && newwin == 1 && window.newwindow.name != 'uploadStuff') {
			window.newwindow.close();
			newwin = 0;
		}
	}
	catch (e) {
		//alert(e);
		// do nothing
	}
	
}





document.onclick = record;

function record(e) {
	rtn = true;
	if (!e) var e = window.event;
	var tg = (window.event) ? e.srcElement : e.target;

	if (tg.type == 'button' || tg.type == 'image') {		
		if (tg.form) {
			if (tg.form.id) {
				thsform = document.getElementById(tg.form.id);
				form_handler(thsform);
			}
		}
		rtn = false;
	} else if (tg.nodeName=='INPUT' && tg.type != 'checkbox' && tg.type != 'radio') {
		tg.style.border = 'none';
		tg.style.border = '2px inset';
	} else if (tg.nodeName=='SELECT') {
		tg.style.border = 'none';
		tg.style.border = '2px inset';
	} else if (tg.type == 'checkbox' || tg.type == 'radio') {
		if (tg.form) {
			if (tg.form.id == 'callbox') {
				try {
					var thisstr = document.getElementById('txt_'+tg.id).innerHTML;
					var stripped = thisstr.replace(/(<([^>]+)>)/ig,""); 
					try	{
						if (tg.checked == true) {
							document.getElementById('commentbox').value += '\n' + stripped + '\n';
						} else {
							fldval = document.getElementById('commentbox').value;
							document.getElementById('commentbox').value = fldval.replace(stripped, '');
							document.getElementById('commentbox').value = trim_str(document.getElementById('commentbox').value);
						}
					}
					catch (e) {
						alert(e);
					}
				} catch (e) {
					//alert(e);
				}
			}
		}
		rtn = true;
	} 
	
	// close search window
	if ((tg.id != "busField" && tg.id != "bus_field" && tg.id != "schLink") && document.getElementById('demo')) {
		yui_closeBox("demo");
		

	}

	return rtn;
}

function yui_closeBox(boxName) {
	var attributes = {
		height: { to: 0 }
	};
	var anim2 = new YAHOO.util.Anim(boxName, attributes, 1.0);

	anim2.animate();
}

document.onkeypress = determineKey;

function determineKey(e2) {
	if (!e2) var e2 = window.event;
	if (e2.keyCode == 13) {
		var bg = (window.event) ? e2.srcElement : e2.target;
		if (bg.form) {
			var thistag = bg.tagName;
			if ('TEXTAREA' != thistag) {
				if (bg.form.id != '') {
					thsform = document.getElementById(bg.form.id);
					form_handler(thsform);
					return false;
				}
			} 
		}
		rtn = false;
	}

}


function form_handler(frm) {
	if (blockoff === true) {
		return;
	}
	fid = frm.id;

	if (fid == ''){
		alert('NO FORM ID!!!');
	}

	if (fid == 'form_busSearchForm'){
		frm.setAttribute("name", "form_busSearchForm");
		frm.setAttribute("method", "POST");
	} else if (fid == 'index_getSubcategories'){
		frm.setAttribute("name", "index_getSubcategories");
		frm.setAttribute("method", "POST");
	} else if (fid == 'index_advertise'){
		frm.setAttribute("name", "index_advertise");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'register_step2_register'){
		frm.setAttribute("name", "register_step2_register");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'register_step3_register'){
		frm.setAttribute("name", "register_step3_register");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'index_getLocations'){
		frm.setAttribute("name", "index_getLocations");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'contact_form'){
		frm.setAttribute("name", "contact_form");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'search_options_form'){
		frm.setAttribute("name", "search_options_form");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'mobile_form'){
		frm.setAttribute("name", "mobile_form");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'login_form'){
		frm.setAttribute("name", "login_form");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'register_form4'){
		frm.setAttribute("name", "register_form4");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'submit_login'){
		frm.setAttribute("name", "submit_login");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'dimg_form'){
		frm.setAttribute("name", "dimg_form");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'update_contactdetails'){
		frm.setAttribute("name", "update_contactdetails");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'save_opening_times'){
		frm.setAttribute("name", "save_opening_times");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'savePaymentOptions'){
		frm.setAttribute("name", "savePaymentOptions");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'save_location'){
		frm.setAttribute("name", "save_location");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'getItemLink'){
		frm.setAttribute("name", "getItemLink");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'contact_test'){
		frm.setAttribute("name", "contact_test");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'save_box_order'){
		frm.setAttribute("name", "save_box_order");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'update_catform'){
		frm.setAttribute("name", "update_catform");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'updateCaptcha'){
		frm.setAttribute("name", "updateCaptcha");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'emailPublic'){
		frm.setAttribute("name", "emailPublic");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'advertisewithus'){
		frm.setAttribute("name", "advertisewithus");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'advertise_step2'){
		frm.setAttribute("name", "advertise_step2");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'recordRating'){
		frm.setAttribute("name", "recordRating");
		frm.setAttribute("method", "POST");
		resetform = false;
	} else if (fid == 'wbfrm'){
		subForm(fid);
		return;
	} else if (fid == 'mainForm'){
		subForm(fid);
		return;
	}  

	
	
	if (frm.name && frm.method ) {		
		place1 = 'insert1';
		place2 = 'insert2';
		if (frm.place1) {
			place1 = frm.place1.value;
		} 
		if (frm.place2) {
			place2 = frm.place2.value;
		} 
		submitFormCustom(frm, place1, place2, true);
		
	} else {
		alert('UPDATE form_handler METHOD in misc_site.js');
	}
}


function updateFCK(inst) {
	var oEditor = FCKeditorAPI.GetInstance(inst);
	if (document.getElementById('storediv')){
		oEditor.InsertHtml(document.getElementById('storediv').innerHTML);
	} else {
		alert('div with id "storediv" must exist on page');
	}
}

function getFCK(inst, dest) {
	var oEditor = FCKeditorAPI.GetInstance(inst);
	htmval = oEditor.GetXHTML();
	
	if (document.getElementById(dest)) {
		document.getElementById(dest).value = htmval;
	}
	//alert(document.getElementById(dest).value);
	return true;
}

function selectAll(dparentid, selbx) {
	dparent = document.getElementById(dparentid);
	inptlst = dparent.getElementsByTagName('INPUT');
	if (inptlst.length > 0) {
		for (i=0; i < inptlst.length; i++) {
			if (inptlst[i].type=='checkbox'){
				if (selbx.checked == false) {
					inptlst[i].checked = false;
				} else {
					inptlst[i].checked = true;
				}
			}
		}
	}
}


// Detect if the browser is IE or not.
// If it is not IE, we assume that the browser is NS.

var IE = document.all?true:false;

// If NS -- that is, !IE -- then set up for mouse capture
if (!IE) document.captureEvents(Event.MOUSEMOVE);

// Set-up to use getMouseXY function onMouseMove
document.onmousemove = getMouseXY;

// Temporary variables to hold mouse x-y pos.s
var tempX = 0;
var tempY = 0;
var area_x = 0;
var area_y = 0;
var ht = 0;
var wd = 0;
var a = 0;
var b = 0;
//var open = false;
var div_id = '';
var is_altered = '';

var curleft = 0;
var curtop = 0;

function findPos(obj) {
	curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return;
}






function closeD() {
	document.getElementById('d').style.width='450px';
	document.getElementById('d').style.display = 'none';
	document.getElementById('d').innerHTML = '';
}

function getMouseXY(e) {
	try {
		if (IE) { // grab the x-y pos.s if browser is IE
			tempX = event.clientX + document.body.scrollLeft;
			tempY = event.clientY + document.body.scrollTop;
		} else {  // grab the x-y pos.s if browser is NS
			tempX = e.pageX;
			tempY = e.pageY;
		}  
		// catch possible negative values in NS4
		if (tempX < 0){tempX = 0;}
		if (tempY < 0){tempY = 0;}  
		// show the position values in the form named Show
		// in the text fields named MouseX and MouseY
		//if (open) {
			//if (tempX > wd || tempX < b || tempY < a || tempY > ht) {
				//open = false;
				//test2();
			//}
		//}
		//document.getElementById('MouseX').value = tempX
		//document.getElementById('MouseY').value = tempY
		return true
	}
	catch (e) {
	}
	
}



function getY( oElement ) {
	var iReturnValue = 0;
	while( oElement != null ) {
		iReturnValue += oElement.offsetTop;
		oElement = oElement.offsetParent;
	}
	return iReturnValue;
}

function getX( oElement ) {
	var iReturnValue = 0;
	while( oElement != null ) {
		iReturnValue += oElement.offsetLeft;
		oElement = oElement.offsetParent;
	}
	return iReturnValue;
}

var addelems = 1;
function addAttach() {
	abox = document.getElementById('attchbox');
	if (addelems <= 6) {
		addelems ++;
		var aelem = document.createElement('span');
		aelem.id = 'span'+addelems;
		aelem.innerHTML = '<input type="file" name="attach[]" id="attach'+addelems+'" class="style9" size="40">&nbsp;&nbsp;<span class="link" onclick="removeAttch('+addelems+')">[-]</a><br/>';
		abox.appendChild(aelem);
	}
}

function removeAttch(remid) {
	abox = document.getElementById('attchbox');
	if (remspan = document.getElementById('span'+remid)) {
		abox.removeChild(remspan);
		addelems --;
	}
	return;
}



/********************************************************************
 **
 **
 ** CUSTOM FORM SUBMITS
 **
 **
 *******************************************************************/

/**
 * subForm
 * desc: general form submit
 * params: sub_frmName (str)
 * notes: NA
 * used-by: general
 */
function subForm(sub_frmName) {
	thisform = document.getElementById(sub_frmName);
	thisform.submit();
}

function subform_businessSearch(bus_fieldName, sub_frmName) {
	document.getElementById('index_searchBusiness').value = document.getElementById(bus_fieldName).value;
	thisform = document.getElementById(sub_frmName);
	form_handler(thisform);
}

function subform_locationSearch(isRun) {
	document.getElementById("loc").value = document.getElementById("location").value;
	thisform = document.getElementById("index_getLocations");
	form_handler(thisform);
	if (isRun != 1) setTimeout("subform_locationSearch(1);", 700);
}

function index_getSubCat(selObj) {
	document.getElementById("catid").value = selObj.value;
	thisform = document.getElementById("index_getSubcategories");
	form_handler(thisform);
}

function index_subAdvertise() {
	thisform = document.getElementById("index_advertise");
	form_handler(thisform);
}

function register_step2_register_submit() {
	thisform = document.getElementById("register_step2_register");
	form_handler(thisform);
}

function register_step3_register_submit() {
	document.getElementById('desc').value = FCKeditorAPI.GetInstance('desc2').GetXHTML();
	thisform = document.getElementById("register_step3_register");
	form_handler(thisform);
}

function submit_contact_form() {
	thisform = document.getElementById("contact_form");
	form_handler(thisform);
}

function searchResults_options(busid, slopt) {
	if (slopt != "") {
		document.getElementById('busid').value = busid;
		document.getElementById('soption').value = slopt;
		thisform = document.getElementById("search_options_form");
		form_handler(thisform);
	}
}

function mobile_form_submit() {
	thisform = document.getElementById("mobile_form");
	form_handler(thisform);
}

function login_form_submit() {
	thisform = document.getElementById("login_form");
	form_handler(thisform);
}

function register_form4_submit() {
	if (document.getElementById("fileupload").value != "") {
		var tobeuploaded = new String(document.getElementById("fileupload").value);
		var myre = new RegExp("bs_multiUpload.xls", "g");
		if (tobeuploaded.match(myre)) {
			submitForm4();
		} else {
			alert("Please download the 'Multiple Business Upload Excel Document' (bs_multiUpload.xls), and re-upload it after you have entered all you business data into it.");
		}
	} else {
		thisform = document.getElementById("register_form4");
		form_handler(thisform);
	}
}

function submitForm4() {
	var form4 = document.getElementById('register_form4');
	form4.setAttribute("action", "register_step4.htm");
	form4.setAttribute("method", "post");
	form4.setAttribute("name", "register_step4");
	form4.submit();
}

function submit_login_form() {
	thisform = document.getElementById("submit_login");
	form_handler(thisform);
}

function update_contactdetails_submit() {
	thisform = document.getElementById("update_contactdetails");
	form_handler(thisform);
}

function save_opening_times_submit() {
	thisform = document.getElementById("save_opening_times");
	form_handler(thisform);
}

function savePaymentOptions_submit() {
	thisform = document.getElementById("savePaymentOptions");
	form_handler(thisform);
}

function save_location_submit() {
	thisform = document.getElementById("save_location");
	form_handler(thisform);
}

function contact_test_submit() {
	thisform = document.getElementById("contact_test");
	form_handler(thisform);
}

function update_catform_submit() {
	thisform = document.getElementById("update_catform");
	form_handler(thisform);
}

function updateCaptcha_submit() {
	thisform = document.getElementById("updateCaptcha");
	form_handler(thisform);
}

function emailPublic_submit() {
	thisform = document.getElementById("emailPublic");
	form_handler(thisform);
	return false;
}

function form_advertisewithus_submit() {
	thisform = document.getElementById("advertisewithus");
	form_handler(thisform);
}

function goToCategory(slobj) {
	if (slobj.value != "") {
		document.getElementById("scat").value = slobj.value;
		document.getElementById("form_searchcat").submit();
	}
}

function advertise_step2_submit() {
	thisform = document.getElementById("advertise_step2");
	form_handler(thisform);
}

function recordRating_submit() {
	thisform = document.getElementById("recordRating");
	form_handler(thisform);
}

/********************************************************************/


/**
function RTE(taname){
	// Automatically calculates the editor base path based on the _samples directory.
	// This is usefull only for these samples. A real application should use something like this:
	// oFCKeditor.BasePath = '/fckeditor/' ;        // '/fckeditor/' is the default value.
	var sBasePath = '/~FCK/';
	var oFCKeditor = new FCKeditor(taname) ;
	oFCKeditor.BasePath     = sBasePath ;
	oFCKeditor.Height       = 300 ;
	oFCKeditor.ToolbarSet   = 'Basic';
	oFCKeditor.Config['SkinPath'] = sBasePath + 'editor/skins/silver/';
	oFCKeditor.ReplaceTextarea() ;
}
**/

/**
 * trim()
 * js function
 * trims leading and trailing whitespace
 */
function trim_str(strText) { 
	// this will get rid of leading spaces 
	while (strText.substring(0,1) == ' ' || strText.substring(0,1) == "\n" || strText.substring(0,1) == "\r") {
		strText = strText.substring(1, strText.length);
	}

	// this will get rid of trailing spaces 
	while (strText.substring(strText.length-1,strText.length) == ' ' || strText.substring(strText.length-1,strText.length) == "\n" || strText.substring(strText.length-1,strText.length) == "\r") {
		strText = strText.substring(0, strText.length-1);
	}

	return strText;
} 

function index_insertBusName(name) {
	document.getElementById('bus_field').value = name;
	yui_closeBox("demo");
}


function Gsitesearch(){
	curobj = document.getElementById("sitesearch");
	curobj.q.value="site:"+base+" "+curobj.qfront.value;
	curobj.submit();
}

function changeImg(imgsrc) {
	document.getElementById('mainImage').src = 'thumbnail/phpThumb.php?src=' + imgsrc + '&w=250';
}


var ccomm=0;


function go_left(divname){
	document.getElementById(divname).scrollLeft += 10;
	ccomm=setTimeout('go_left(\''+divname+'\')',60);
}
function go_right(divname){
	document.getElementById(divname).scrollLeft -= 10;
	ccomm=setTimeout('go_right(\''+divname+'\')',60);
}
function stop_it2() {
	clearTimeout(ccomm);
}