// JavaScript Document copyright 2010 by diesocke.de / commodule.de - support@commodule.de
function Cm_Monojs() {
	this.oldvalue = '';
	this.letter_1 = '';
	this.letter_2 = '';
	this.letter_1_id = '';
	this.letter_2_id = '';
	this.colorandfont_id = false;
	this.colorandfont_string = '';
	this.basketindex = '';
    this.showpreview = false;
	this.lettersize = '';
	
	this.initpreview = function() {
	      this.showpreview = true;
		  this.lettersize = new Array(0,new Array('A',42,50)
									   ,new Array('B',46,50)
									   ,new Array('C',40,50)
									   ,new Array('D',44,50)
									   ,new Array('E',38,50)
									   ,new Array('F',36,50)
									   ,new Array('G',44,50)
									   ,new Array('H',38,50)
									   ,new Array('I',12,50)
									   ,new Array('J',32,50)
									   ,new Array('K',40,50)
									   ,new Array('L',36,50)
									   ,new Array('M',46,50)
									   ,new Array('N',42,50)
									   ,new Array('O',38,50)
									   ,new Array('P',38,50)
									   ,new Array('Q',46,50)
									   ,new Array('R',42,50)
									   ,new Array('S',42,50)
									   ,new Array('T',40,50)
									   ,new Array('U',40,50)
									   ,new Array('V',40,50)
									   ,new Array('W',58,50)
									   ,new Array('X',42,50)
									   ,new Array('Y',40,50)
									   ,new Array('Z',42,50))
	}
	
	this.setBaseValue = function($letter1,$letter2) {
	      	var Letter1 = this.getLetterFromValue($letter1);
			var Letter2 = this.getLetterFromValue($letter2);
			document.getElementById("test_CMMonogramm_"+this.basketindex).value = Letter1+Letter2;
			this.oldvalue = Letter1+Letter2;
	}
	
	this.updatesellist_fromdropdown = function() {
			this.updatesellist(document.getElementById('test_CMMonogramm'));
	}
	
	this.getimgstring = function(colornumber) {
		var returnvalue = '';
		if(colornumber == 1) {
			returnvalue = '-gruen';
		} else if(colornumber == 2) {
			returnvalue = '-hellblau';
		} else if(colornumber == 3) {
			returnvalue = '-grau';
		} else if(colornumber == 4) {
			returnvalue = '-weiss';
		}
		return returnvalue;
	}
	
	this.updatesellist = function (selfelement) {
	selfelement.value = selfelement.value.toUpperCase();
	var current = selfelement.value;
	var letter_1 = '';
	var letter_2 = '';
	if(this.colorandfont_id != false) {
	this.colorandfont_string = this.getimgstring(document.getElementById(this.colorandfont_id).value);
	} else {
	this.colorandfont_string = '';
	}
	var letter_1_id = '';
	var letter_2_id = '';
	// Check value for spelling:
	if (selfelement.value) {
      if ((current.length == 1 && current.match(/[A-Z]/)) || (current.length == 2 && current.match(/[A-Z](?=[A-Z])/))) {
	        this.oldvalue = selfelement.value;
      } else {
	        selfelement.value = this.oldvalue;
	  }
    }
    // Get single Letters:
	this.letter_1 = selfelement.value.substr(0,1);
	this.letter_2 = selfelement.value.substr(1,1);
         this.updatebasketsettings();
		 this.updateprev();
			   }
	this.updatebasketsettings = function() {
	 
		  if(this.letter_1_id && this.letter_1) {
		      document.getElementById(this.letter_1_id).value = this.getValueFromLetter(this.letter_1);
		  } else if(this.letter_1_id) {
			  document.getElementById(this.letter_1_id).value = 0;
		  }
		  if(this.letter_2_id && this.letter_2) {
		      document.getElementById(this.letter_2_id).value = this.getValueFromLetter(this.letter_2);
		  } else if(this.letter_2_id) {
			  document.getElementById(this.letter_2_id).value = 0;
		  }
	}		
	this.getValueFromLetter = function($x) {
	     var letters = new Object();
		 letters['A'] = 1;
         letters['B'] = 2;
		 letters['C'] = 3;
		 letters['D'] = 4;
         letters['E'] = 5;
		 letters['F'] = 6;
		 letters['G'] = 7;
         letters['H'] = 8;
		 letters['I'] = 9;
		 letters['J'] = 10;
         letters['K'] = 11;
		 letters['L'] = 12;
		 letters['M'] = 13;
         letters['N'] = 14;
		 letters['O'] = 15;
		 letters['P'] = 16;
         letters['Q'] = 17;
		 letters['R'] = 18;
		 letters['S'] = 19;
         letters['T'] = 20;
		 letters['U'] = 21;
		 letters['V'] = 22;
         letters['W'] = 23;
		 letters['X'] = 24;
		 letters['Y'] = 25;
		 letters['Z'] = 26;
		 return letters[$x];
	}
	this.getLetterFromValue = function($x) {
	     var letters = new Object();
		 letters[0] = '';
		 letters[1] = 'A';
         letters[2] = 'B';
		 letters[3] = 'C';
		 letters[4] = 'D';
         letters[5] = 'E';
		 letters[6] = 'F';
		 letters[7] = 'G';
         letters[8] = 'H';
		 letters[9] = 'I';
		 letters[10] = 'J';
         letters[11] = 'K';
		 letters[12] = 'L';
		 letters[13] = 'M';
         letters[14] = 'N';
		 letters[15] = 'O';
		 letters[16] = 'P';
         letters[17] = 'Q';
		 letters[18] = 'R';
		 letters[19] = 'S';
         letters[20] = 'T';
		 letters[21] = 'U';
		 letters[22] = 'V';
         letters[23] = 'W';
		 letters[24] = 'X';
		 letters[25] = 'Y';
		 letters[26] = 'Z';
		 return letters[$x];
	}
	this.updateprev = function() {
	    if(this.showpreview == true) {
		     if(this.letter_1) {
				 var actnum = this.getValueFromLetter(this.letter_1);
				 document.getElementById('cmmo_img_letter1').src = '/out/pictures/Monogramm/'+this.letter_1.toLowerCase()+this.colorandfont_string+'.gif';
				 document.getElementById('cmmo_img_letter1').style.width = this.lettersize[actnum][1]+'px';
				 document.getElementById('cmmo_img_letter1').style.height = this.lettersize[actnum][2]+'px';
				 document.getElementById('cmmo_img_letter1').style.visibility = 'visible';
				 var marginleft = this.lettersize[actnum][1] + 2;
			 } else {
				 document.getElementById('cmmo_img_letter1').style.visibility = 'hidden';
			 }
			 if(this.letter_2) {
				 var actnum = this.getValueFromLetter(this.letter_2);
				 document.getElementById('cmmo_img_letter2').src = '/out/pictures/Monogramm/'+this.letter_2.toLowerCase()+this.colorandfont_string+'.gif';
				 document.getElementById('cmmo_img_letter2').style.width = this.lettersize[actnum][1]+'px';
				 document.getElementById('cmmo_img_letter2').style.height = this.lettersize[actnum][2]+'px';
				 document.getElementById('cmmo_div_letter2').style.marginLeft = marginleft+'px';
				 document.getElementById('cmmo_img_letter2').style.visibility = 'visible';
			 } else {
				 document.getElementById('cmmo_img_letter2').style.visibility = 'hidden';
			 }
		}
	}
}
var cmmonojs = new Cm_Monojs();
cmmonojs.initpreview();

function Cm_Abojs() {
	this.baseheight = 10;
	this.actualcount = 1;
	this.actualactive = 1;
	this.maxcount = 150;
    this.eins = 1;
    this.maxitems = 16;
	this.before_ele = false;
	this.before_year = false;
	this.before_month = false;
	this.before_day = false;
	
	 this.get_next_dates = function() {
		this.before_year = document.getElementById("cmabodate_" + this.before_ele + "_year").value; 
		this.before_month = document.getElementById("cmabodate_" + this.before_ele + "_month").value; 
		this.before_day = document.getElementById("cmabodate_" + this.before_ele + "_day").value;
		this.before_month = eval(this.before_month + '+' + this.eins);
		if(this.before_day == 31 && (this.before_month == 4 || this.before_month == 6 || this.before_month == 11 || this.before_month == 9)) {
			 this.before_day = 30;
        } else if(this.before_day > 28 && this.before_month == 2) {
			 this.before_day = 28;
		}
		if(this.before_month == 13) {
			this.before_month = 1;
			this.before_year = eval(this.before_year + '+' + this.eins);
		}
	 }
	 
	 this.ret_code = function(type,day) {
		   var selected = '';
		   if(type == 'day') {
			   if(this.before_day == day) {
				   selected = 'selected="selected"';  
			   }
			   return '<option value="' + day + '" '+ selected + '>' + day + '</option>';
		   } else if(type == 'month') {
			   if(this.before_month == day) {
				   selected = 'selected="selected"';  
			   }
			   if(day == 1) {
				   var monthnow = 'Januar';
			   } else if(day == 2) {
				   var monthnow = 'Februar';
			   } else if(day == 3) {
				   var monthnow = 'M&auml;rz';
			   } else if(day == 4) {
				   var monthnow = 'April';
			   } else if(day == 5) {
				   var monthnow = 'Mai';
			   } else if(day == 6) {
				   var monthnow = 'Juni';
			   } else if(day == 7) {
				   var monthnow = 'Juli';
			   } else if(day == 8) {
				   var monthnow = 'August';
			   } else if(day == 9) {
				   var monthnow = 'September';
			   } else if(day == 10) {
				   var monthnow = 'Oktober';
			   } else if(day == 11) {
				   var monthnow = 'November';
			   } else if(day == 12) {
				   var monthnow = 'Dezember';
			   } 
			   return '<option value="' + day + '" '+ selected + '>' + monthnow + '</option>';
		   } else if(type == 'year') {
			   if(this.before_year == day) {
				   selected = 'selected="selected"';  
			   }
			   if(day == 1) {
				   var monthnow = 2011;
			   } else if(day == 2) {
				   var monthnow = 2012;
			   } 
			   return '<option value="' + day + '" '+ selected + '>' + day + '</option>';
		   }
	 }
	 
	 this.submitdates = function() {
		  // Due to restrictions, workaround here...
		  var herecount = this.maxcount;
		  while(herecount >= 1) {
			  if(document.getElementById("cmabodate_" + herecount + "_day")) {
				     document.getElementById("cmabodate_" + herecount + "_day_hidden").value = document.getElementById("cmabodate_" + herecount + "_day").value;
			  }
			  if(document.getElementById("cmabodate_" + herecount + "_month")) {
				     document.getElementById("cmabodate_" + herecount + "_month_hidden").value = document.getElementById("cmabodate_" + herecount + "_month").value;
			  }
			  if(document.getElementById("cmabodate_" + herecount + "_year")) {
				     document.getElementById("cmabodate_" + herecount + "_year_hidden").value = document.getElementById("cmabodate_" + herecount + "_year").value;
			  }
			  herecount = eval(herecount + '-' + this.eins);
		  }
		  document.cmaboform.submit();
	 }
	 
	 this.adddate = function() {
        var tempcount = eval(this.actualactive + '+' + this.eins);
		if(tempcount != this.maxitems && this.maxcount > this.actualcount) {
            this.actualcount = eval(this.actualcount + '+' + this.eins);
			this.before_ele = eval(this.actualcount + '-' + this.eins);
			while(!document.getElementById("cmabodate_" + this.before_ele) && this.before_ele > 0) {
				this.before_ele = eval(this.before_ele + '-' + this.eins);
			}
			this.actualactive = tempcount;
            var tempel = document.createElement("div");
            tempel.setAttribute("id", "cmabodate_" + this.actualcount);
			tempel.setAttribute("class", "cmabo_ele");
            document.getElementById('abocontainer').appendChild(tempel);
			this.get_next_dates();
			//document.getElementById("maslosdumm").innerHTML = ' <input type="hidden" name="cleeaaaa" id="cleeaaaa" value="user" />s';
			
			
            document.getElementById("cmabodate_" + this.actualcount).innerHTML = 'Abo-Lieferung: <select name="cmabodate_' + this.actualcount + '_day" id="cmabodate_' + this.actualcount + '_day">' + this.ret_code('day',1) + this.ret_code('day',2) + this.ret_code('day',3) + this.ret_code('day',4) + this.ret_code('day',5) + this.ret_code('day',6) + this.ret_code('day',7) + this.ret_code('day',8) + this.ret_code('day',9) + this.ret_code('day',10) + this.ret_code('day',11) + this.ret_code('day',12) + this.ret_code('day',13) + this.ret_code('day',14) + this.ret_code('day',15) + this.ret_code('day',16) + this.ret_code('day',17) + this.ret_code('day',18) + this.ret_code('day',19) + this.ret_code('day',20) + this.ret_code('day',21) + this.ret_code('day',22) + this.ret_code('day',23) + this.ret_code('day',24) + this.ret_code('day',25) + this.ret_code('day',26) + this.ret_code('day',27) + this.ret_code('day',28) + this.ret_code('day',29) + this.ret_code('day',30) + this.ret_code('day',31) + '</select> <select name="cmabodate_' + this.actualcount + '_month" id="cmabodate_' + this.actualcount + '_month">' + this.ret_code('month',1) + this.ret_code('month',2) + this.ret_code('month',3) + this.ret_code('month',4) + this.ret_code('month',5) + this.ret_code('month',6) + this.ret_code('month',7) + this.ret_code('month',8) + this.ret_code('month',9) + this.ret_code('month',10) + this.ret_code('month',11) + this.ret_code('month',12) + '</select> <select name="cmabodate_' + this.actualcount + '_year" id="cmabodate_' + this.actualcount +  '_year">' + this.ret_code('year',2011) + this.ret_code('year',2012) + '</select> <a href="javascript:cmabojs.removedate(' + this.actualcount + ');" class="link" style="font-size:10px; padding-left:10px;">Datum Entfernen</a>';  
			var tempcount_bigger = eval(this.actualactive + '+' + this.eins);
			if(tempcount_bigger == this.maxitems || this.maxcount == this.actualcount) {
			     	document.getElementById("cmabo_add").style.display = 'none';
			}
        }
   }
   
   this.removedate = function(abocount) {
        if(this.actualcount != 1) {
            var tobekilled = document.getElementById("cmabodate_" + abocount);
            tobekilled.parentNode.removeChild(tobekilled);
            this.actualactive = eval(this.actualactive + '-' + this.eins);
			var tempcount_bigger2 = eval(this.actualcount + '+' + this.eins);
			if(tempcount_bigger2 < this.maxcount) {
			    document.getElementById("cmabo_add").style.display = 'block';
			}
        }
   }
	
	this.initheight = function() {
		 this.baseheight = document.getElementById('cmabo_deliverybox').offsetHeight;
		 this.changevisbility();
	}
	
	this.changevisbility = function() {
		//alert(document.getElementById('cmabo_doabo_no').checked);
		if(document.getElementById('cmabo_doabo_no').checked == true) {
			this.baseheight = document.getElementById('cmabo_deliverybox').offsetHeight;
			document.getElementById('cmabo_deliverybox').style.visibility = 'hidden';
			document.getElementById('cmabo_deliverybox').style.height = '0px';
		} else {
			document.getElementById('cmabo_deliverybox').style.visibility = 'visible'; 
			document.getElementById('cmabo_deliverybox').style.height = this.baseheight+'px';
			document.getElementById('cmabo_deliverybox').style.height = 'auto';
		}
	}
}
var cmabojs = new Cm_Abojs();
