// JavaScript Document:Simple "AJAX" Interface
function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function vote(aid,url){
	sndReq(url+'?a=vote&aid='+aid);	
}
function sndReq(action) {
    http.open('get', action);
    http.onreadystatechange = handleResponse;
	http.send(null);
}
function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();
        if(response.indexOf('|' != -1)) {
            update 			= response.split('|');
	
			var switchval 	= update[0]
			if(switchval==""){switchval= "default"}
			var responseVal = update[1]
			var postAction = update[2]
			
			switch(switchval)
			{
			case "process":
				try{
				eval(responseVal +";"+postAction);
				}catch(err){}
				break;
			default:
				var targetdiv = document.getElementById(switchval);
				targetdiv.style.display='block';
				targetdiv.innerHTML = responseVal;
				
				break;
			}
		}
    }
}
function toggleAffForm(altdiv){
	
	var aform = document.getElementById('affform')
	var altdiv = document.getElementById(altdiv);
	
	if (aform.style.display=='none'){
		aform.style.display='block'
		altdiv.style.display='none'
	}else{
		aform.style.display='none'
		altdiv.style.display='block'
	}
}
function resetURL(){
	document.getElementById('curl').value='';
	document.forms[0].submit();
}
function showCode(code,affcode){
	document.getElementById('codeembed').style.display='block';
	document.getElementById('codembed_show').value='<img style="cursor:pointer" onclick="top.location=\''+affcode+'\'" src="'+code+'" />';
}
function showAfflogin(){
	document.getElementById('joinFormArea').style.display='none';	
	document.getElementById('orderFormArea').style.display='none';	
	document.getElementById('afflogin').style.display='block';	
}
function closeAfflogin(){
	document.getElementById('afflogin').style.display='none';	
}
function showForm(divform){
	document.getElementById(divform+'form').style.display='block';document.getElementById(divform+'Status').style.display='none';
	if (divform=='join'){
		document.getElementById(divform+'Status').innerHTML = '<h2>Submitting your membership...</h2><img src="media/loading.gif" />';
	}else{
		document.getElementById(divform+'Status').innerHTML = '<h2>Submitting your order...</h2><img src="media/loading.gif" />';
	}
}
function submitForm(obj, divform) {
	var str = getFormValues(obj,"validate");
		
	if (str != 0) 
	{
		str = "inc/processor.php?" + str;
		sndReq(str);
	}else{
		showForm(divform);
	}
}
function validate(txt){

	if (txt != '') {
		return 1;
	}else{
		return 0;
	}
	
}
function getFormValues(fobj,valFunc)

    {

       var str = "";

       var valueArr = null;

       var val = "";

       var cmd = "";
	   
	   var isReady = 1;

       for(var i = 0;i < fobj.elements.length;i++)

       {
           switch(fobj.elements[i].type)

           {

               case "text": 
			  
			   
			   val=1;
			   if(valFunc && fobj.elements[i].className=="validate")

                    {
                        //use single quotes for argument so that the value of

                        //document.forms[fobj].elements[i].value is treated as a string not a literal

                        cmd = valFunc + "(" + 'fobj.elements[i].value' + ")";
                        val = eval(cmd)
						if (val == 0)
						{
							str=val;
							isReady=0
							break;
						}
                    }
					if (val == 1){
                    str += fobj.elements[i].name +

                     "=" + escape(fobj.elements[i].value) + "&";
					}
                     break;
               case "file": 
			   
			   val=1;
			   if(valFunc && fobj.elements[i].className=="validate")

                    {

                        //use single quotes for argument so that the value of

                        //document.forms[fobj].elements[i].value is treated as a string not a literal

                        cmd = valFunc + "(" + 'fobj.elements[i].value' + ")";
                        val = eval(cmd)
						if (val == 0)
						{
							str=val;
							isReady=0
							break;
						}
                    }
					if (val == 1){
                    str += fobj.elements[i].name +

                     "=" + escape(fobj.elements[i].value) + "&";
					}
                     break;

               case "password": 
			   
			   val=1;
			   if(valFunc && fobj.elements[i].className=="validate")

                    {

                        //use single quotes for argument so that the value of

                        //document.forms[fobj].elements[i].value is treated as a string not a literal

                        cmd = valFunc + "(" + 'fobj.elements[i].value' + ")";
                        val = eval(cmd)
						if (val == 0)
						{
							str=val;
							isReady=0
							break;
						}
                    }
					if (val == 1){
                    str += fobj.elements[i].name +

                     "=" + escape(fobj.elements[i].value) + "&";
					}
                     break;

               case "hidden":
                    if(valFunc)

                    {

                        //use single quotes for argument so that the value of

                        //document.forms[fobj].elements[i].value is treated as a string not a literal

                        cmd = valFunc + "(" + 'fobj.elements[i].value' + ")";
                        val = eval(cmd)
						if (val == 0)
						{
							str=val;
							isReady=0;
							break;
						}
                    }
					if (val == 1){
                    str += fobj.elements[i].name +

                     "=" + escape(fobj.elements[i].value) + "&";
					}

                     break;
			   case "checkbox":
					if (fobj.elements[i].checked) {
						val==1;						
					}else{
						val==0;	
					}
					if (val == 1){
                    str += fobj.elements[i].name +

                     "=" + escape(fobj.elements[i].checked) + "&";
					}

                     break;
			   case "radio":
					if (fobj.elements[i].checked){
						str += fobj.elements[i].name +
	
						 "=" + escape(fobj.elements[i].value) + "&";
						 
					}

                     break;
			   case "textarea":
					str += fobj.elements[i].name +
					
					"=" + escape(fobj.elements[i].value) + "&";
					
					break;

               case "select-one":
					if (val == 1){
                    str += fobj.elements[i].name +

                    "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";
					}
                    break;
           }

       }
       if (isReady == 1) 
	   		{
				str = str.substr(0,(str.length - 1));
			}else{
				alert("All Fields Are Required Before Continuing.");
				str=0;
			}

       return str;

    }
function Querystring(qs) { // optionally pass a querystring to parse
	this.params = new Object()
	this.get=Querystring_get
	
	if (qs == null)
		qs=location.search.substring(1,location.search.length)

	if (qs.length == 0) return

// Turn <plus> back to <space>
// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	qs = qs.replace(/\+/g, ' ')
	var args = qs.split('&') // parse out name/value pairs separated via &
	
// split out each name=value pair
	for (var i=0;i<args.length;i++) {
		var value;
		var pair = args[i].split('=')
		var name = unescape(pair[0])

		if (pair.length == 2)
			value = unescape(pair[1])
		else
			value = name
		
		this.params[name] = value
	}
}

function Querystring_get(key, default_) {
	// This silly looking line changes UNDEFINED to NULL
	if (default_ == null) default_ = null;
	
	var value=this.params[key]
	if (value==null) value=default_;
	
	return value
}
//Window Handling
	function showwin(winName){
		document.getElementById(winName).style.display="block";
	}
	function closewin(winName){
		if (winName=='PopBox'){
			var EventBox = document.getElementById('PopBox');

			EventBox.style.width = "400px";
			EventBox.style.height = "220px";
			EventBox.style.overflow = "auto";
			EventBox.style.backgroundColor = "#FFFFCC"
			EventBox.style.left = "50%";
			EventBox.style.top  = "50%";
			EventBox.innerHTML = "";
		}
		document.getElementById(winName).style.display="none";
	}

function setValidate(area){

	if (area=="paypal"){
		document.getElementById("paypalemail").className="validate";	
		for (i=1; i<5; i++) {
			document.getElementById("checkpay_"+i).className="";
			document.getElementById("checkpay_"+i).value="";
		}
	}else{
		document.getElementById("paypalemail").className="";			
		document.getElementById("paypalemail").value="";			
		
		for (i=1; i<6; i++) {
			document.getElementById("checkpay_"+i).className="validate";			
		}
	}

}
function postToWall(bodytext, titletext,imgsrc,aid,appUrl){	
	var votenum = 1;	
		
	if (bodytext != '' && titletext != '' && bodytext != null && titletext != null){
		var urllink = appUrl+'?a=showarticle&aid='+aid
		var publink = 'http://apps.facebook.com/articlespublisher';
		var user_message_prompt="You Voted! Post this article to your wall and share what you think about this article:";
		var user_message={values: "Checkout this article: "+titletext};
		
		var media = {'name':titletext,'description':bodytext,'href':urllink,'media':[{'type':'image','src':imgsrc,'href':urllink}]};
		var actions= [{'text':'Read this article','href':urllink},{'text':'Publish your own article','href':publink}];
		
		FB.Connect.streamPublish('', media, actions, null, user_message_prompt);
	}
}
function clearColor(){
	var obj =  document.getElementById('votecount')
	var stg =  document.getElementById('myvote').innerHTML;
	
	obj.innerHTML = stg;
}
function updateVote(vote){
	var obj =  document.getElementById('votecount')
	if (vote > 1){
		var stg = '<font color="green" style="font-weight:bold"><span id="myvote">'+vote + ' readers like this article</span></font>';
	}else{
		var stg = '<font color="green" style="font-weight:bold"><span id="myvote">'+vote + ' reader likes this article</span></font>';
	}
	obj.innerHTML = stg;
	setTimeout(clearColor,10000);
}
