//var strSiteURL = "http://localhost/jokingjokes/";
var strSiteURL = "http://www.jokingjokes.com/";


function showShadowBox(strTitle, strContent) {
	objAddJoke = document.getElementById('add_joke');
	objShadowBox = document.getElementById('shadow_box');
	objShadowBoxTitle = document.getElementById('shadow_box_top');

	objShadowBoxContent = document.getElementById('shadow_box_content');
	document.getElementById('shadow_box').style.display = 'block';
	document.getElementById('shadow_box').style.top = getScrollTop()+ (objShadowBox.clientHeight / 2) + 'px';//getAbsoluteTop(objAddJoke)+ 'px';
	document.getElementById('shadow_box').style.left = (getWindowWidth() / 2) - (objShadowBox.clientWidth / 2) + 'px';

	objShadowBoxTitle.innerHTML = strTitle;
	objShadowBoxContent.innerHTML = '<br />'+strContent;
		
	if(document.getElementById('soundboard'))
		document.getElementById('soundboard').style.visibility = 'hidden';
	darkenBackground();
}

function hideShadowBox() {
	objShadowBox = document.getElementById('shadow_box');
	document.getElementById('shadow_box').style.display = 'none';
	if(document.getElementById('soundboard'))
		document.getElementById('soundboard').style.visibility = 'visible';

	normalBackground()
}


function getScrollTop() {
	var intScrollTop = null;
	if(window.innerHeight) {
		intScrollTop = window.pageYOffset;
	} else if(document.documentElement.clientHeight) {
		intScrollTop = document.documentElement.scrollTop;
	} else {
		intScrollTop = document.body.scrollTop;
	}
	return intScrollTop;
}

function getScrollLeft() {
	var intScrollLeft = null;
	if(window.innerWidth) {
		intXOffset = window.pageXOffset;
	} else if(document.documentElement.clientWidth) {
		intXOffset = document.documentElement.scrollLeft;
	} else {
		intXOffset = document.body.scrollLeft;
	}
	return intScrollLeft;
}

function getWindowHeight() {
	var intHeight = null;
	if(window.innerHeight) {
		intHeight = window.innerHeight;
	} else if(document.documentElement.clientHeight) {
		intHeight = document.documentElement.clientHeight;
	} else {
		intHeight = document.body.clientHeight;
	}
	return intHeight;
}

function getWindowWidth() {
	var intWidth = null;
	if(window.innerWidth) {
		intWidth = window.innerWidth - 17;
	} else if(document.documentElement.clientWidth) {
		intWidth = document.documentElement.clientWidth;
	} else {
		intWidth = document.body.clientWidth;
	}
	return intWidth;
}

/*
*   Return: The page 'left' position of the element
*/
function getAbsoluteLeft(objElement) {
    var intXPos = objElement.offsetLeft;
    var objTemp = objElement.offsetParent;
    while (objTemp != null) {
        intXPos += objTemp.offsetLeft;
        objTemp = objTemp.offsetParent;
    }
    return intXPos;
}

/*
*   Return: The page 'left' position of the element
*/
function getAbsoluteTop(objElement) {
    var intYPos = objElement.offsetTop;
    var objTemp = objElement.offsetParent;
    while (objTemp != null) {
        intYPos += objTemp.offsetTop;
        objTemp = objTemp.offsetParent;
    }
    return intYPos;
}

function darkenBackground() {
    objDarkBG = document.getElementById('winDarkBackground');

	objDarkBG.style.top = '0px';
	objDarkBG.style.display = 'block';
}
function normalBackground() {
    objDarkBG = document.getElementById('winDarkBackground');

	objDarkBG.style.display = 'none';
}


/*********************Generic Useful Functions *****************************************/
//function gets url parameters for js
//Example on url http://www.volge.com/example.php?strArtistName=BenGibbard&flag=true
//eg getURLParamValue( 'strArtistName', true ) will return BenGibbard
//eg getURLParamValue( 'strArtistName', false ) will return strArtistName=BenGibbard
function getURLParamValue( strParamName, blnValueOnly ) {
	if(blnValueOnly)
    	intReturnType = 1; //setting this to 1 returns only the value of the param
	else
		intReturnType = 0; //setting this to 0 returns the param and value

	var strRegex = "[\\?&]"+strParamName+"=([^&#]*)";
	var objRegex = new RegExp( strRegex );
	var results = objRegex.exec( location.href );
	if( results == null )
		return "";
	else
	    return results[intReturnType];
}



function bookmarkUs() {
	if (window.sidebar) { // Firefox
		window.sidebar.addPanel('Joking Jokes - Be Funny.', 'http://www.jokingjokes.com', "");
	} else if(window.opera && window.print) { // Opera
		var strAnchor = document.createElement('a');
		strAnchor.setAttribute('href','http://www.jokingjokes.com');
		strAnchor.setAttribute('title','Joking Jokes - Be Funny.');
		strAnchor.setAttribute('rel','sidebar');
		strAnchor.click();
	} else if(document.all) { // IE
		window.external.AddFavorite('http://www.jokingjokes.com}', 'Joking Jokes - Be Funny.');
	}
}

function addJoke(intUserId, strUserName) {
	if(!intUserId)
		notLoggedIn();
	else {
		strTitle = 'Add a Joke';
		
		strContent = '<form action="'+strSiteURL+'process_joke.php" id="frmAddJoke" method="post">'
					+ '<div class="nCr wSM">Username:</div>&nbsp;&nbsp;&nbsp;<input type="text" disabled="disabled" value="'+strUserName+'" class="wS" /> <br />'
					+ '<div class="nCr wSM">Joke Name:</div>&nbsp;<input type="text" name="strJokeName" class="wS" /> <br />'
					+ '<div class="nCr wSM">Category:</div>&nbsp;&nbsp;&nbsp; '
					+ '<select name="strCategory" class="wS">'
					+ '<option value="">- Select Category -</option>'
		            + '<option value="Yo-Mama">Mother (Yo Mama) Jokes</option>'
					+ '<option value="Blonde">Blonde Jokes</option>'
	                + '<option value="Rated-R">Rated R Jokes</option>'
	                + '<option value="Children">Children Jokes</option>'
	                + '<option value="Men-Women">Men/Women Jokes </option>'
	                + '<option value="Retirement">Retirement Jokes</option>'
	                + '<option value="Celebrity">Celebrity Jokes</option>'
	                + '<option value="Political">Political Jokes</option>'
	                + '<option value="Animal">Animal Jokes</option>'
	                + '<option value="Bar">Bar Jokes</option>'
	                + '<option value="Bush">Bush Jokes</option>'
	                + '<option value="Clinton">Clinton Jokes</option>'
	                + '<option value="Family">Family Jokes</option>'
	                + '<option value="College">College Jokes</option>'
	                + '<option value="Foriegn">Foriegn Jokes</option>'
	                + '<option value="Lawyer">Lawyer Jokes</option>'
	                + '<option value="Medical">Medical Jokes</option>'
	                + '<option value="Office">Office Jokes</option>'
	                + '<option value="Redneck">Redneck Jokes</option>'
	                + '<option value="Religious">Religious Jokes</option>'
	                + '<option value="Sports">Sports Jokes</option>'
					+ '<option value="Boss">Boss Jokes</option>'
					+ '<option value="Pickup-Line">Pickup Line Jokes</option>'
					+ '<option value="Halloween">Halloween Jokes</option>'
					+ '<option value="Easter">Easter Jokes</option>'
					+ '<option value="Christmas">Christmas Jokes</option>'
					+ '<option value="Thanksgiving">Thanksgiving Jokes</option>'
					+ '<option value="Dirty">Dirty Jokes</option>'
					+ '<option value="Clean">Clean Jokes</option>'
					+ '<option value="Sex">Sex Jokes</option>'
					+ '<option value="Racial">Racial Jokes</option>'
					+ '<option value="Knock-Knock">Knock Knock Jokes</option>'
					+ '<option value="Fat">Fat Jokes</option>'
					+ '<option value="Math">Math Jokes</option>'
					+ '<option value="Birthday">Birthday Jokes</option>'
					+ '<option value="Wedding-Marriage">Wedding / Marriage Jokes</option>'
					+ '<option value="Tech">Tech Jokes</option>'
					+ '</select> <br />'
					+ '<div class="nCr wSM">Length:</div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <select name="strJokeLength" class="wS"><option value="short">Short</option><option value="long">Long</option></select> <br />'
					+ '<div class="nCr wSM">Rated R:</div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<select name="intRatedR" class="wS"><option value="0">No</option><option value="1">Yes</option></select> <br />'
					+ 'Joke: <br /><textarea name="txtJoke" class="wMML heS"></textarea> <br /><br />'
					+ '<input type="hidden" name="strProcessType" value="4" />'
					+ '<input type="submit" class="vNo" />'
					+ '<a href="javascript: document.getElementById(\'frmAddJoke\').submit();"><img src="images/add_joke.jpg" alt="Add Joke" /> <br />'
				   	+ '</form>';


		showShadowBox(strTitle, strContent);
		
	}
}

function searchJokeSound() {
	if(document.getElementById('txtJokeSearch').value)
		document.getElementById('frmSearch').submit();
}

function addToFavourites(intUserId, intId, strType) {
	if(!intUserId)
		notLoggedIn();
	else {
		if(strType == 'joke')
			window.location.href = strSiteURL+'process_joke.php?strProcessType=5&intUserId='+intUserId+'&intJokeId='+intId;
		else if(strType == 'soundboard')
			window.location.href = strSiteURL+'process_joke.php?strProcessType=6&intUserId='+intUserId+'&intSoundId='+intId;
	}
}

function flagJoke(intUserId, intFlagRatedR, intFlagNotJoke) {
	if(intFlagRatedR)
		window.location.href = strSiteURL+'x_flagJoke.php?intJokeId='+intUserId+'&intFlagRatedR=1';
	if(intFlagNotJoke)
		window.location.href = strSiteURL+'x_flagJoke.php?intJokeId='+intUserId+'&intFlagNotJoke=1';
}

/*
*   Desc: Function fills all the specified selection fields with specified values on the page
*   Return: none
*/
function fillSelections( strForm, objSelects ) {
    var objForm = document.getElementById( strForm );
	
    for (var i in objSelects) {
		if(objSelects[i] != '') { //&& parseInt(objSelects[i], 10) != 0
			objForm.elements[i].value = objSelects[i];
		}
    }
}

function loadPage( intPage, strPageURL , strParams, blnAjax, strInto ) {
	var strURL = '';
 	if(strPageURL.indexOf('http://localhost')==-1) {
		//strURL = 'http://localhost';
	}

	strPageURL = strPageURL.slice(1);

	if( getURLParamValue('intPage') == '' ) {
		if(strParams!='') strParams = strParams+'&';
		strURL += strSiteURL+strPageURL + '?' + strParams + 'intPage=' + intPage;
	}
	else {
		strURL += strSiteURL+strPageURL + '?' + strParams.replace(getURLParamValue('intPage').replace('?', ''), '&intPage=' + intPage);
	}

	//if( strURL != strVisitedURL ){
		if( blnAjax )
			//alert(strURL);
			AjaxRequest( strURL, strInto, default_handle );
		else
			location.href = strURL;
	//}

	strVisitedURL = strURL;
}

function comment() {
	objForm = document.getElementById('frmComment');
	intUserId = document.getElementById('intUserId').value;
	
	if(intUserId)
		objForm.submit();
	else
		notLoggedIn();
}

function notLoggedIn() {
	strTitle='You Must Login.';
	strContent='You must Login to perform that action.'; //PENDING, add a login here...

	showShadowBox(strTitle, strContent);
}

function IsNumeric(sText) {
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}


function ratedRJoke(int18Older, strURL) {
	if(int18Older){
		window.location.href= strSiteURL+'x_ratedRJoke.php?strURL='+strURL;
	}
	else {
		history.go(-1);
	}
}

function logout(intActionId) {
	window.location.href = strSiteURL+'process_joke.php?strProcessType='+intActionId;
}



function formatItem(row) {
	arrInfo = new Array();
	arrInfo = row[1].split('_'); //arrInfo[0] - joke/soundboard .... arrInfo[1] - strURL .... arrInfo[2] - strCategory
	strReturn = '';

	if(arrInfo[0] == 'joke')
		strReturn += '<img src="images/joke_icon.jpg" alt="Joke" />Joke: ';
	else
		strReturn += '<img src="images/sound_icon.jpg" alt="Soundboard" />Soundboard: ';

	strReturn += '<b>' + row[0] + '</b><br />';

	if(arrInfo[0] == 'joke')
		strReturn += '<div class="fs0">Joke contains keyword <b>'+objTextSearch.value+'</b></div>';

	strReturn += '<hr />';

	if(strSeachLiClass == '')
		strSeachLiClass = 'b1G';
	else
		strSeachLiClass = '';

	return strReturn;
}

function findValue(li) {
	if( li == null ) return alert("No match!");

	// if coming from an AJAX call, let's use the CityId as the value
	if( !!li.extra ) var sValue = li.extra[0];

	// otherwise, let's just display the value in the text box
	else var sValue = li.selectValue;

	alert("The value you selected was: " + sValue);
}

function selectItem(li) {
	arrInfo = li.extra[0].split('_'); //arrInfo[0] - joke/soundboard .... arrInfo[1] - strURL .... arrInfo[2] - strCategory.... arrInfo[3] - intId

	if(arrInfo[0] == 'joke') {
		window.location.href = strSiteURL+'jokes/' + arrInfo[2] + '/' + arrInfo[1];
	}
	else {
		window.location.href = strSiteURL+'soundboards/'+arrInfo[1];
	}
}


function lookupAjax(){
	var oSuggest = $("#txtJokeSearch")[0].autocompleter;

	oSuggest.findValue();

	return false;
}

function lookupLocal(){
	var oSuggest = $("#CityLocal")[0].autocompleter;

	oSuggest.findValue();

	return false;
}