function showCode(code, popup)
{
	if (popup == "1")
	{
		window.open("http://www.keepcash.com/details/" + code, "codes","width=326,height=252,menubar=no,resizable=no,status=no,toolbar=no");
	}
	return true;
}

function resetBox(box) 
{
 	if (box.value == box.defaultValue) {
 		box.value = "";
	}
}

function addBookmark(title,url) {
	if (window.sidebar) {
		window.sidebar.addPanel(title, url,"");
	} else if( document.all ) {
		window.external.AddFavorite( url, title);
	} else if( window.opera && window.print ) {
		return true;
	}
}

function getData(node)
{
	var data = node[0].firstChild.data;
	return(data);
}
function getTags(xml, nodename)
{
	var data = xml.getElementsByTagName(nodename);
	return(data);
}
function displayLoading()
{
	var msg = "<span align='center'>Loading . . .</span";
	document.getElementById('dealDiv').innerHTML = msg;
}

function getDealPage(page)
{
	var ajaxObj = new AjaxObject101();
	ajaxObj.funcWait = displayLoading;
	//ajaxObj.funcDone = displayLoadingDone;

	var url = '/deal-page/' + page + '/';

	ajaxObj.sndReq('get', url, null);

	return(false);
}
function expireDeal(id)
{
	var ajaxObj = new AjaxObject101();
	var url = '/deal-expire/' + id + '/';
	var idTxt = 'expire-txt-' + id;
	var idImg = 'expire-img-' + id;
	var idContainer = 'links-' + id;
	var container = document.getElementById(idContainer);

	var objTxt = document.getElementById(idTxt);
	var objImg = document.getElementById(idImg);
	container.removeChild(objTxt);
	container.removeChild(objImg);

	container.innerHTML += "<img src='/images/notify.gif'/> Thanks, we'll check it out.";

	ajaxObj.sndReq('get', url, null);

	return(false);
}
function getCategoryPage(catname, page)
{
	var ajaxObj = new AjaxObject101();
	ajaxObj.funcWait = displayLoading;
	//ajaxObj.funcDone = displayLoadingDone;

	var url = '/category/deals-page/' + catname + '/' + page + '/';

	ajaxObj.sndReq('get', url, null);

	return(false);
}
/*
function checkUsername()
{
	var ajaxObj = new AjaxObject101();
	//ajaxObj.funcWait = displayLoading;
	//ajaxObj.funcDone = displayLoadingDone;
	var username = document.getElementById('valUsername').value;
	var parms = 'username=' + username;
	var url = '/register/username/';

	ajaxObj.sndReq('get', url, parms);

	return(false);
}
*/
function clearRegisterStatus()
{
	// Clear all status divs
	document.getElementById('statusUsername').innerHTML='';
	document.getElementById('statusEmail').innerHTML='';
	document.getElementById('statusPW1').innerHTML='';
	document.getElementById('statusPW2').innerHTML='';
	return(true);
}
/*
function submitRegister()
{
	var ajaxObj = new AjaxObject101();
	//ajaxObj.funcWait = displayLoading;
	//ajaxObj.funcDone = displayLoadingDone;

	clearRegisterStatus();

	var username = document.getElementById('valUsername').value;
	var email = document.getElementById('valEmail').value;
	var pw1 = document.getElementById('valPW1').value;
	var pw2 = document.getElementById('valPW2').value;
	var parms = 'username=' + username;
	parms += "&email=" + email;
	parms += "&pw1=" + pw1;
	parms += "&pw2=" + pw2;
	var url = '/register/submit/ajax/';

	ajaxObj.sndReq('get', url, parms);

	return(false);
}
*/
function checkUsername()
{
	var ajaxObj = null;
	var url = '/register/username/';
	var div = 'statusUsername';

	var pars = {
		username: $F('valUsername')
	};
	pars = $H(pars).toQueryString();

	ajaxObj = new Ajax.Updater( div, url, { method: 'post', parameters: pars });

	return(false);
}
function submitRegister()
{
	var ajaxObj = null;
	var url = '/register/submit/';

	clearRegisterStatus();

	var pars = {
		username: $F('valUsername'),
		email: $F('valEmail'),
		pw1: $F('valPW1'),
		pw2: $F('valPW2'),
		ajax: 'true'
	};
	pars = $H(pars).toQueryString();

	ajaxObj = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: handleRegister });
	return(false);
}
function handleRegister(response)
{
	if ( response.responseXML == null )
		return(false);

	var xml = response.responseXML;

	if ( hasErrors(xml) )
	{
		handleErrors(xml);
		return(false);
	}

	var successTag = getTags(xml, 'success');
	var div = getElementsByTagNames('div', successTag[0]);
	var msg = getElementsByTagNames('msg', successTag[0]);
	msg = msg[0].firstChild.data;
	div = div[0].firstChild.data;
	div = $(div);
	Element.hide(div);
	div.innerHTML = msg;
	Effect.Appear(div);
}
function handleErrors(xml)
{
	var errors = xml.getElementsByTagName("error");
	var i;
	var div;
	var msg;

	for(i = 0 ; i < errors.length ; i++)
	{
		var div = getElementsByTagNames('div', errors[i]);
		var msg = getElementsByTagNames('msg', errors[i]);
		msg = msg[0].firstChild.data;
		div = div[0].firstChild.data;
		$(div).innerHTML = "<span class='register_failure'>" + msg + "</span>";
	}
}
function hasErrors(xml)
{
	if ( xml.getElementsByTagName("error").length == 0 )
	{
		return(false);
	}

	return(true);
}
function getElementsByTagNames(list,obj) {
	if (!obj) var obj = document;
	var tagNames = list.split(',');
	var resultArray = new Array();
	for (var i=0;i<tagNames.length;i++) {
		var tags = obj.getElementsByTagName(tagNames[i]);
		for (var j=0;j<tags.length;j++) {
			resultArray.push(tags[j]);
		}
	}
	var testNode = resultArray[0];
	if (!testNode) return [];
	if (testNode.sourceIndex) {
		resultArray.sort(function (a,b) {
				return a.sourceIndex - b.sourceIndex;
		});
	}
	else if (testNode.compareDocumentPosition) {
		resultArray.sort(function (a,b) {
				return 3 - (a.compareDocumentPosition(b) & 6);
		});
	}
	return resultArray;
}

function resizeImg(img, max)
{
	if ( max >= img.width && max >= img.height )
	{
		return;
	}

	var pcnt = max / (img.width >= img.height ? img.width : img.height);
	img.width = img.width * pcnt;
}
function initImage(img)
{
    setOpacity(img, 0);
    img.style.visibility = 'visible';
    fadeIn(img.id,0);
}
function setOpacity(obj, opacity) {
    opacity = (opacity == 100)?99.999:opacity;

    // IE/Win
    if ( obj.style.filter != null )
        obj.style.filter = 'alpha(opacity:'+opacity+')';

    // Safari<1.2, Konqueror
    if ( obj.style.KHTMLOpacity != null )    
        obj.style.KHTMLOpacity = opacity/100;

    // Older Mozilla and Firefox
    if ( obj.style.MozOpacity != null )
        obj.style.MozOpacity = opacity/100;

    // Safari 1.2, newer Firefox and Mozilla, CSS3
    if ( obj.style.opacity != null )
        obj.style.opacity = opacity/100;
}
function fadeIn(objId,opacity) {
    if (document.getElementById) {
        obj = document.getElementById(objId);
        if (opacity <= 100) {
            setOpacity(obj, opacity);
            opacity += 10;
            window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 30);
        }
    }
}

