﻿function Shop(id){
	$('Shop'+id).style.display='';
}

function GetApplicationPath(){
	if(document.location.toString().toLowerCase().indexOf('/popisms/')>=0)return '/popisms/';
	if(document.location.toString().toLowerCase().indexOf('/pop/')>=0)return '/pop/';
	return '/';
}

function GetAjaxRequestObject(){
	if(window.XMLHttpRequest){
		return new XMLHttpRequest();
	}else if(window.ActiveXObject){
		return new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		return null;
	}
}

function DoesBrowserSupportAjax(){
	if(GetAjaxRequestObject()==null)return false;
	return true;
}

function NodeVote(id,v){
	if(!DoesBrowserSupportAjax())return true;
	var url=GetApplicationPath()+'ajax/nodevote.aspx';
	var params='id='+id+'&v='+v;
	new Ajax.Updater(
		'nvote_'+id,
		url,
		{
			method:'get',
			parameters:params,
			onLoading:DisplayWaitSpinner,
			onFailure:DisplayUpdateError
		}
	);
	return false;
}

function NodeListVote(lid,nid,v){
	if(!DoesBrowserSupportAjax())return true;
	var url=GetApplicationPath()+'ajax/nodelistvote.aspx';
	var params='lid='+lid+'&nid='+nid+'&v='+v;
	new Ajax.Updater(
		'lvote_'+nid,
		url,
		{
			method:'get',
			parameters:params,
			onLoading:DisplayWaitSpinner,
			onFailure:DisplayUpdateError
		}
	);
	return false;
}

function LinkVote(id,v){
	if(!DoesBrowserSupportAjax())return true;
	var url=GetApplicationPath()+'ajax/linkvote.aspx';
	var params='id='+id+'&v='+v;
	new Ajax.Updater(
		'lvote_'+id,
		url,
		{
			method:'get',
			parameters:params,
			onLoading:DisplayWaitSpinner,
			onFailure:DisplayUpdateError
		}
	);
	return false;
}

function CommentVote(id,v){
	if(!DoesBrowserSupportAjax())return true;
	var url=GetApplicationPath()+'ajax/commentvote.aspx';
	var params='id='+id+'&v='+v;
	new Ajax.Updater(
		'cvote_'+id,
		url,
		{
			method:'get',
			parameters:params,
			onLoading:DisplayWaitSpinner,
			onFailure:DisplayUpdateError
		}
	);
	return false;
}

function RateAnswer(id){
	if(!DoesBrowserSupportAjax()){
		alert('Your web browser does not appear to support AJAX. You cannot rate answers at this time.');
		return;
	}
	var r=$('cansweroption_'+id).value;
	if(r.length<=0){
		alert('You must select an answer rating.');
		return;
	}
	var url=GetApplicationPath()+'ajax/rateanswer.aspx';
	var params='id='+id+'&r='+r;
	new Ajax.Updater(
		'canswer_'+id,
		url,
		{
			method:'get',
			parameters:params,
			onLoading:DisplayWaitSpinner,
			onFailure:DisplayUpdateError
		}
	);
}

function UnsubscribeForumTopic(id){
	if(!DoesBrowserSupportAjax())return true;
	var url=GetApplicationPath()+'ajax/forumtopicunsubscribe.aspx';
	var params='id='+id;
	new Ajax.Updater(
		'unsub_'+id,
		url,
		{
			method:'get',
			parameters:params,
			onLoading:DisplayWaitSpinner,
			onFailure:DisplayUpdateError
		}
	);
	return false;
}

function DisplayWaitSpinner(req){
	$(req.request.container.success).innerHTML='<img src="'+GetApplicationPath()+'images/ajaxspinner.gif" alt="Loading..." />';
}

function DisplayUpdateError(req){
	$(req.request.container.success).innerHTML='<small class="ErrorMessage">Unable to complete request</small>';
}

function ToggleVisibility(cssClass){
	var a=$$('.'+cssClass);
	for(var i=0;i<a.length;i++){
		if(a[i].style.display=='block'){
			a[i].style.display='none';
		}else{
			a[i].style.display='block';
		}
	}
}

function SetCookie(name, value, seconds) {
    var expires;
	if (seconds) {
		var date = new Date();
        date.setTime(date.getTime()+(seconds*1000));
        expires = "; expires="+date.toGMTString();
    }
    else expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function GetCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while(c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function DeleteCookie(name) {
	SetCookie(name,"",-1);
}