//#######################################
//NEWSLETTER.php Functions
//#######################################	
	function changeCapture(){
	var serverPage="http://www.emi-newsletter.de/newsletter/captureCodeNeu.php";

		xmlhttp = getxmlhttp ();
		xmlhttp.open("GET", serverPage+'?c='+Math.random()); // random gegen IE6 cache problem
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {				
				 if(xmlhttp.responseText!=""){
					document.getElementById('captureTempPic').src="spamcode"+xmlhttp.responseText+".jpg";
					document.getElementById('temp').value=xmlhttp.responseText;				
				}				
			}
		}
		xmlhttp.send(null);
	}
	
	function checkRegField(id){
		for(var i = 0; i < reg_fields.length; ++i){
			if(reg_fields[i] == id){
				if(document.getElementById(id).value==""){
					document.getElementById('check_'+id).className="check_x error";
				}else{
					document.getElementById('check_'+id).className="check_x okay";
				}
			}			
		} 
	}
	
	function showFields(value,id,f) {
	switch (value){
		case "post":
			if (document.getElementById(id).checked) {
				
				document.getElementById('address_block').style.display="block";
				document.getElementById('strasseBlock').style.display="block";
				document.getElementById('plzBlock').style.display="block";
				document.getElementById('ortBlock').style.display="block";
				
				if(document.getElementById('location_city_0')) var city=document.getElementById('location_city_0').value;
				if(document.getElementById('location_zipCode_0')) var zip=document.getElementById('location_zipCode_0').value;
				if(document.getElementById('location_street_0')) var street=document.getElementById('location_street_0').value;


				if(zip=="") {
					document.getElementById('location_zipCode_0').value="";
					document.getElementById('check_location_zipCode_0').className="check_x error";
				}
				if(city=="") {
					document.getElementById('location_city_0').value="";
					document.getElementById('check_location_city_0').className="check_x error";
				}
				if(street=="") { 
					document.getElementById('location_street_0').value="";
					document.getElementById('check_location_street_0').className="check_x error";
				}

			}
			else {

				if(f!="uncheck"){
					document.getElementById('address_block').style.display="none";
					document.getElementById('strasseBlock').style.display="none";
					document.getElementById('plzBlock').style.display="none";
					document.getElementById('ortBlock').style.display="none";
				
					
				}
				document.getElementById('check_location_zipCode_0').className="check_x";
				document.getElementById('check_location_city_0').className="check_x";
				document.getElementById('check_location_street_0').className="check_x";
				
			}
			
			checkRegField('location_zipCode_0');
			checkRegField('location_city_0');
			checkRegField('location_street_0');
			
					
		
			
		break;
		case "mobile":
			if (document.getElementById(id).checked) {

				
				document.getElementById('phone_block').style.display="block";
		
				if(document.getElementById('mobilePhone_0')) var mobNumber=document.getElementById('mobilePhone_0').value;
				//if(document.getElementById('mobileModel_0')) var mobModel=document.getElementById('mobileModel_0').value;

				if(mobNumber=="") {
					document.getElementById('mobilePhone_0').value="";
					document.getElementById('check_mobilePhone_0').className="check_x error";
				}
				/*
				if(mobModel=="") { 
					document.getElementById('mobileModel_0').value="";
					document.getElementById('check_mobileModel_0').className="check_x error";
				}
				*/
			}
			else {
			
				if(f!="uncheck"){
					document.getElementById('phone_block').style.display="none";
				}
				document.getElementById('check_mobilePhone_0').className="check_x";
				//document.getElementById('check_mobileModel_0').className="check_x";
			}
			
			checkRegField('mobilePhone_0');
			//checkRegField('mobileModel_0');

				
		break;
	
		}
		checkError();
	}	

	//Function to create an XMLHttp Object.
	function getxmlhttp (){
		//Create a boolean variable to check for a valid microsoft active X instance.
		var xmlhttp = false;
		
		//Check if we are using internet explorer.
		try {
			//If the javascript version is greater than 5.
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			//If not, then use the older active x object.
			try {
				//If we are using internet explorer.
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (E) {
				//Else we must be using a non-internet explorer browser.
				xmlhttp = false;
			}
		}
		
		//If we are using a non-internet explorer browser, create a javascript instance of the object.
		if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
			xmlhttp = new XMLHttpRequest();
		}
		
		return xmlhttp;
	}	
	function time(id)
	{
	clearTimeout(document.t); 
	document.t=setTimeout("formValidate('"+id+"')", 100);
	}	
	

   //VALIDATOR
   	function formValidate(id) {
		var field=document.getElementById(id);
		var check=document.getElementById("check_"+id);
		if(field.type=="select-one") {
			if(field.value!="") {
				if(field.id=="birthDate_0" || field.id=="birthDate_m_0" || field.id=="birthDate_y_0") {
					if((document.getElementById("birthDate_0").value!="") && (document.getElementById("birthDate_m_0").value!="") && (document.getElementById("birthDate_y_0").value!="")  ) {
						document.getElementById("check_birthDate_0").className="check_x okay";
					}
					else {
						document.getElementById("check_birthDate_0").className="check_x error";
					}
					checkError();
				}
				else {
				check.className="check_x okay";
				checkError();
				}
				
			}
			else {  
				if(field.id=="birthDate_0" || field.id=="birthDate_m_0" || field.id=="birthDate_y_0") {
				document.getElementById("check_birthDate_0").className="check_x error";
				checkError();
				}
				else {
				check.className="check_x error";
				checkError();
				}
			}
		}
		else if(field.type=="text" || field.type=="textarea") {
			
			if(check.className=="check_x error" || check.className=="check_x okay"){
				if(field.value!="") {
				
					if(field.id=='email_0' || field.id=='form_capture' || field.id=='mobilePhone_0' || field.id=='location_zipCode_0') {
						if(field.id=='email_0'){
						validateAjax("email");
						}
						else if(field.id=='mobilePhone_0' ){
						validateAjax("handy");
						}
						else if(field.id=='location_zipCode_0') {
						validateAjax("plz");
						}
						else {
						validateAjax("capture");
						}
				
					}
					else{
					check.className="check_x okay";
					checkError();
					}
				}
				else {  
					check.className="check_x error";
					checkError();
				}
			}
		}
		// TODO: AJAX Check fŸr AGB
		
		else if(field.type=="checkbox") {
			
			
			if(field.checked) {

				check.className="check_x okay";
				checkError();
				
			}
			else {  
				check.className="check_x error";
				checkError();
			}
		}
		

	}
//Function to validate the page and disable the button
	function validateAjax(flag){
		var temp="";
		if(flag=="email"){
		
			var val=document.getElementById('email_0').value;
			var obj="check_email_0";
		}
		else if (flag=="capture"){
			var temp=document.getElementById('temp').value;
			var val=document.getElementById('form_capture').value;
			var obj="check_form_capture";
		}
		else if (flag=="handy")
		{
			var val=document.getElementById('mobilePhone_0').value;
			var obj="check_mobilePhone_0";
		}
		else if(flag=="plz"){
			var val=document.getElementById('location_zipCode_0').value;
			var obj="check_location_zipCode_0";
		}
		// TODO: AJAX Check fŸr AGB
		else if(flag=="agb"){
			var val=document.getElementById('optinAGB').value;
			var obj="check_optinAGB";
		}
		var serverPage="validate.php?op="+flag+"&value="+val+"&temp="+temp;

		xmlhttp = getxmlhttp ();
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				if(xmlhttp.responseText=="err") { 
					document.getElementById(obj).className="check_x error";
					document.getElementById('absendenButton').disabled=true;
					if(form_lang=="en"){
						document.getElementById('absendenButton').src="img_style/but_abschicken_en_no.gif";
					}else{
						document.getElementById('absendenButton').src="img_style/but_abschicken_no.gif";
					}
					document.getElementById('submitTooltip').className="an";
				}				
				else if(xmlhttp.responseText=="ok"){
					document.getElementById(obj).className="check_x okay";
					//document.getElementById('absendenButton').disabled=false;
					//document.getElementById('absendenButton').src="img_style/but_abschicken_lo.gif";
					
				}				
			checkError();	
			}
		}
		xmlhttp.send(null);
	}
	

//CHECK ERROR SPANS (error or okay)
	function checkError(){
		
		var elem = document.getElementsByTagName('span');
		var cnt=0;
		for(var i = 0; i < elem.length; i++)
		{	
			if(elem[i].className=="check_x error" && elem[i].style.display!="none") {
			cnt++;
			
			}
		}
		//document.write(cnt);

		if (cnt==0) {
			document.getElementById('absendenButton').disabled=false;
			if(form_lang=="en"){
				document.getElementById('absendenButton').src="img_style/but_abschicken_en_lo.gif";
			}else{
				document.getElementById('absendenButton').src="img_style/but_abschicken_lo.gif";
			}
			document.getElementById('submitTooltip').className="aus";
			document.getElementById('legendeicon').src="img_style/icon_okay.gif";
		}
		else  { 
			document.getElementById('absendenButton').disabled=true;
			if(form_lang=="en"){
				document.getElementById('absendenButton').src="img_style/but_abschicken_en_no.gif";
			}else{
				document.getElementById('absendenButton').src="img_style/but_abschicken_no.gif";
			}
			document.getElementById('submitTooltip').className="an";
			document.getElementById('legendeicon').src="img_style/icon_error.gif";
		}

	}

//Function to retrieve the Form Values and
//prepare them for an AJAX Post
    function getFormValues(fobj)

    {

       var str = "";
       var valueArr = null;
       var val = "";
       var cmd = "";
       var fobj=document.newsletterform;

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

       {

           switch(fobj.elements[i].type)

           {

               case "text":              
                    str += fobj.elements[i].name +

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

                     break;

               case "select-one":

                    str += fobj.elements[i].name +"=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";

                    break;
				case "radio":
					//str += fobj.elements[i].name +"=" + fobj.elements[i].options[fobj.elements[i].checked].value + "&";
					//for (y=0;y<fobj.elements[i].length;y++) {
						if (fobj.elements[i].checked) {
							//user_input = document.forms[0].radios[i].value;
							str += fobj.elements[i].name +"=" + fobj.elements[i].value + "&";
						}
					//}
				break;
				case "checkbox":
					if (fobj.elements[i].checked) {
					str += fobj.elements[i].name +"=" + fobj.elements[i].value + "&";
					}
				break;
				case "hidden":
					str += fobj.elements[i].name +

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

                 break;
				 case "textarea":
					 str += fobj.elements[i].name +

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

           }

       }

       str = str.substr(0,(str.length - 1));
       //alert(str);
	   ajaxPost(str,fobj);

	   //return str;
    }

	//POST THE DATA from getFormValues VIA AJAX
	function ajaxPost(str,frm){
	
		//Get an XMLHttpRequest object for use.
		var obj='postDataAjax';
		
		xmlhttp = getxmlhttp ();
		var params = str;
		
		var editID=document.getElementById('editID').value
		var serverPage="http://www.emi-newsletter.de/newsletter/ajaxSubmitToCSV.php?edit="+editID ;
		//var serverPage="ajaxSubmitToCSV.php?edit="+editID ;
		xmlhttp.open("POST", serverPage);
		//Send the proper header information along with the request
		//xmlhttp.setRequestHeader("Content-type", "multipart/form-data");
		xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		//xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");  
		xmlhttp.setRequestHeader("Content-length", params.length);
		xmlhttp.setRequestHeader("Connection", "close");
		

		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
				
				//var id=document.getElementById('editID').value;
				//document.getElementById(obj).innerHTML ="done";
				 //document.getElementById(obj).style.display = "block";
				 //xmlhttp.responseText 
				frm.submit();
				//setTimeout("frm.submit()",5000);
			}
		}
		//var status="Processing!";
		//document.getElementById(obj).style.display = "block";
		//document.getElementById(obj).innerHTML =status;
		xmlhttp.send(params);
	}
	function changeFormAction(obj,f,did) {
		
		var url_="http://www.emi-newsletter.de/newsletter/";
		var feedbackPostURL=url_+"feedback_okay.php?DesignID="+did;
		
		if(obj.id=="NewsArtist_1") {	
			if(obj.checked ) {
			f.action="http://newsletter.emimusic.com/nms/jsp/webForm.jsp";
			f.method="GET";
			
			}
			else if(f.NewsArtist_0.value != "on") {
				f.action=feedbackPostURL; f.method="POST";
			}
			else if ( typeof f.NewsArtist_2 != "undefined" ) { 
				if(f.NewsArtist_2.checked == false ) { 
					f.action=feedbackPostURL; f.method="POST";
				}
			}

			
			//else { f.action=feedbackPostURL; f.method="POST";}
		}
		else if(obj.id=="NewsArtist_2") {	
			if(obj.checked ) {
			f.action="http://newsletter.emimusic.com/nms/jsp/webForm.jsp";
			f.method="GET";
			}
			else if (  typeof f.NewsArtist_1 != "undefined") {
				if(f.NewsArtist_1.checked == false )	
				{ 
					f.action=feedbackPostURL; f.method="POST";
				}
			}
			else if(f.NewsArtist_0.value != "on") {
				f.action=feedbackPostURL; f.method="POST";
			}
			//else { f.action=feedbackPostURL; f.method="POST";}
		}
		else {
			if(obj.checked ) {
			f.action="http://newsletter.emimusic.com/nms/jsp/webForm.jsp";
			}
			else if(typeof f.NewsArtist_1 || typeof f.NewsArtist_2   ) { 
				
				if (typeof f.NewsArtist_1 != "undefined") {
					if(f.NewsArtist_1.checked == false ) { f.action=feedbackPostURL; f.method="POST";}					
				}
				else if(typeof f.NewsArtist_2 != "undefined" ) {
				
					if(f.NewsArtist_2.checked == false) { f.action=feedbackPostURL; f.method="POST";}
				}
			}
			else { 
				f.action=feedbackPostURL; f.method="POST";
			}
		}
	}
	
	/**
*
*  URL encode / decode
*  http://www.webtoolkit.info/
*
**/

var Url = {

	// public method for url encoding
	encode : function (string) {
		return escape(this._utf8_encode(string));
	},

	// public method for url decoding
	decode : function (string) {
		return this._utf8_decode(unescape(string));
	},

	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";

		for (var n = 0; n < string.length; n++) {

			var c = string.charCodeAt(n);

			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}

		}

		return utftext;
	},

	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;

		while ( i < utftext.length ) {

			c = utftext.charCodeAt(i);

			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}

		}

		return string;
	}

}
