/********************************************************************************************/
/* AHAH functions by Phil Ballard                                                           */
/* This code is intended for study purposes.                                                */
/* You may use these functions as you wish, for commercial or non-commercial applications,  */
/* but please note that the author offers no guarantees to their usefulness, suitability or */
/* correctness, and accepts no liability for any losses caused by their use.                */
/********************************************************************************************/

function callAHAH2(url, pageElement, callMessage, errorMessage) {
     document.getElementById(pageElement).innerHTML = callMessage;
     try {
     req = new XMLHttpRequest(); /* e.g. Firefox */
     } catch(e) {
       try {
       req = new ActiveXObject("Msxml2.XMLHTTP");  /* some versions IE */
       } catch (e) {
         try {
         req = new ActiveXObject("Microsoft.XMLHTTP");  /* some versions IE */
         } catch (E) {
          req = false;
         } 
       } 
     }
     req.onreadystatechange = function() {responseAHAH2(pageElement, errorMessage);};
     req.open("GET",url,true);
     req.send(null);
  }

function responseAHAH2(pageElement, errorMessage) {
   var output = '';
   if(req.readyState == 4) {
      if(req.status == 200) {
         output = req.responseText;
         document.getElementById(pageElement).innerHTML = output;
         } else {
         document.getElementById(pageElement).innerHTML = errorMessage+"\n"+output;
         }
      }
  }


function urlencode1 (str) {
    // URL-encodes string  
    // 
    // version: 911.718
    // discuss at: http://phpjs.org/functions/urlencode    // +   original by: Philip Peterson
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: AJ
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Brett Zamir (http://brett-zamir.me)    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: travc
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Lars Fischer    // +      input by: Ratheous
    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Joris
    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
    // %          note 1: This reflects PHP 5.3/6.0+ behavior    // %        note 2: Please be aware that this function expects to encode into UTF-8 encoded strings, as found on
    // %        note 2: pages served as UTF-8
    // *     example 1: urlencode('Kevin van Zonneveld!');
    // *     returns 1: 'Kevin+van+Zonneveld%21'
    // *     example 2: urlencode('http://kevin.vanzonneveld.net/');    // *     returns 2: 'http%3A%2F%2Fkevin.vanzonneveld.net%2F'
    // *     example 3: urlencode('http://www.google.nl/search?q=php.js&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a');
    // *     returns 3: 'http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a'
    str = (str+'').toString();
        // Tilde should be allowed unescaped in future versions of PHP (as reflected below), but if you want to reflect current
    // PHP behavior, you would need to add ".replace(/~/g, '%7E');" to the following.
    return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').
                                                                    replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+');
}
function getimage(data) { 
data=data.replace(/http/i, "hytetrpr");
data= (urlencode1(data));

//alert(data);
callAHAH2('../qrcode/genimg.php?d='+data+'&s=' + $('qr_size').value + '&col1=' + $('col1').value+'&type=' + $('qr_img_type').value, 'qrpreview',
     '<div class="res-i"  style="height:100px;"><table cellpadding="10px" ><tr><td><img src="qrcode/image/loader.gif" alt="loading"></td><td>Loading image...<br/>Please wait...</td></tr></table></div>', 'Error'); 


} 


function $(id) { return document.getElementById(id); }

function SetElData(el) {
	var data='qr_text';
	for (i=0;i<el.qr_type.length;i++) {
		if (el.qr_type[i].checked==true) {
			data = el.qr_type[i].id;
		}
	}
	ret=$('qr_submit_data');
	switch(data) {
		case 'qr_sms':
			ret.value = 'SMSTO:' + $('qr_data_0').value + ':' + $('qr_data').value;
		break;
		
		case 'qr_text':
			ret.value =  $('qr_data').value;
		break;

		
		case 'qr_tel':
			ret.value = 'TEL:'+ $('qr_data').value;
		break;
		
		case 'qr_url':
			ret.value = $('qr_data').value;
		break;
		
		default:
			return false;
		break;
	}


 
	 getimage (ret.value);
	return ret.value;
}	
function eventTrigger (e) {
    if (! e)
        e = event;
    return e.target || e.srcElement;
}

function OptClk (e) {
    ShowElement( eventTrigger (e) );
    return true;
}

function CharCount(field, maxlimit) {
	countfield = $('wordcnt');
	if (field.value.length > maxlimit) {
		field.value = field.value.substring(0, maxlimit);
	} else {
		countfield.innerHTML = maxlimit - field.value.length;
	}
}




function ShowElement(el) {
	var isIE=document.all?true:false;
	c=$('qr_data');
	elcontainer=$('content');
	
	while (elcontainer.firstChild) {
		elcontainer.removeChild(elcontainer.firstChild);
	}

	switch(el.value) {
		case 'qr_sms':
		
		
			el1=document.createElement('label');
			el1.setAttribute('for','qr_data_0');
			el1.innerHTML = 'To recipient:';
			elcontainer.appendChild(el1);
			
			el2 = document.createElement('input');
			el2.type='text';
			el2.id='qr_data_0';
			el2.name='qr_data_0';
			elcontainer.appendChild(el2);
			
			el3=document.createElement('span');
			el3.id='counter';
			el3.innerHTML='<strong id="wordcnt">72</strong> characters left';
			elcontainer.appendChild(el3);
			
 
			el4=document.createElement('label');
			el4.setAttribute('for','qr_data');
			el4.innerHTML = 'Message:';
			elcontainer.appendChild(el4);
			
			el5 = document.createElement('textarea');
			el5.id='qr_data';
			el5.name='qr_data';

			if (isIE) {
      	el5.onkeydown = function() { CharCount(this,72); }
      	el5.onkeyup = function() { CharCount(this,72); }
      } else {
      	el5.setAttribute('onkeydown','CharCount(this,72);');
				el5.setAttribute('onkeyup','CharCount(this,72);');
			}
 
			elcontainer.appendChild(el5);
		break;
		
		case 'qr_text':
			el1=document.createElement('span');
			el1.id='counter';
			el1.innerHTML='<strong id="wordcnt">78</strong> characters left<br/>';
			elcontainer.appendChild(el1);
			
			el2=document.createElement('label');
			el2.setAttribute('for','qr_data');
			el2.innerHTML = 'Free text:';
			elcontainer.appendChild(el2);
			
			el3 = document.createElement('textarea');
			el3.id='qr_data';
			el3.name='qr_data';
			if (isIE) {
      	el3.onkeydown = function() { CharCount(this,78); }
      	el3.onkeyup = function() { CharCount(this,78); }
      } else {
      	el3.setAttribute('onkeydown','CharCount(this,78);');
				el3.setAttribute('onkeyup','CharCount(this,78);');
			}
			elcontainer.appendChild(el3);
		break;
		
		case 'qr_tel':

			el1=document.createElement('span');
			el1.id='counter';
			el1.innerHTML='<strong id="wordcnt">73</strong> characters left<br/>';
			elcontainer.appendChild(el1);

			el2=document.createElement('label');
			el2.setAttribute('for','qr_data');
			el2.innerHTML = 'Phone number:';
			elcontainer.appendChild(el2);
			
			el3 = document.createElement('input');
			el3.type='text';
			el3.id='qr_data';
			el3.name='qr_data';
				if (isIE) {
      	el3.onkeydown = function() { CharCount(this,73); }
      	el3.onkeyup = function() { CharCount(this,73); }
      } else {
      	el3.setAttribute('onkeydown','CharCount(this,73);');
				el3.setAttribute('onkeyup','CharCount(this,73);');
			}
			elcontainer.appendChild(el3);
		break;
		
		case 'qr_url':

			el1=document.createElement('span');
			el1.id='counter';
			el1.innerHTML='<strong id="wordcnt">71</strong> characters left<br/>';
			elcontainer.appendChild(el1);

			el2=document.createElement('label');
			el2.setAttribute('for','qr_data');
			el2.innerHTML = 'URL:';
			elcontainer.appendChild(el2);
			
			el3 = document.createElement('input');
			el3.type='text';
			el3.value='http://';
			el3.id='qr_data';
			el3.name='qr_data';

	if (isIE) {
      	el3.onkeydown = function() { CharCount(this,78); }
      	el3.onkeyup = function() { CharCount(this,78); }
      } else {
      	el3.setAttribute('onkeydown','CharCount(this,78);');
				el3.setAttribute('onkeyup','CharCount(this,78);');
			}

			elcontainer.appendChild(el3);
		break;
		
		default:
		break;
		
	}
}