function getRequestParam(name) {

    var paramString = "&" + location.search.substr(1);
    var searchName = escape(name);

    var searchName = "&" + escape(name) + "=";
    var paramindex = paramString.indexOf(searchName);
    var paramlength = searchName.length;

    while (paramindex != -1) {
        var valueindex=paramString.indexOf("&",paramindex + paramlength);

        if (valueindex == -1){
            valuelength = paramString.length - paramindex - paramlength;
            var value = paramString.substr(paramindex+paramlength,valuelength);
            return escape(value);
        }
        valuelength=valueindex - paramindex - paramlength;
        value = paramString.substr(paramindex+paramlength,valuelength);
        return escape(value);
    }
    // if error
    return null;
}

/**
 * checks the values writing by users into the 
 * Online Support Request Forms 
 */
function checkForm(){
	var validation = new CValidation();
    var formular = document.Support_Form;

    var name = validation.require(formular.CI_Last_Name, "!empty", "Please enter your Name");
    var email = validation.require(formular.dnsfrom, "!empty", "Please enter your E-Mail", name);
    var email1 = validation.require(formular.dnsfrom, "email", "Please enter a correct email address", email);
    var company = validation.require(formular.CI_Company, "!empty", "Please enter your Company", email1);
    validation.require(formular.CI_Phone, "!empty", "Please enter your Phone number", company);
	  
	if (validation.validate() != true) return false;
	
	var subjectElem = document.getElementById("dnssub");
	var productElem = document.getElementById("dnsProduct");
	var companyElem = document.getElementById("CI_Company");
	var replyElem   = document.getElementById("dnsreply");
	var fromElem    = document.getElementById("dnsfrom");
	
	subjectElem.value = productElem.value + " problem - " + companyElem.value;
    replyElem.value = fromElem.value;
	
  	return checkTicketNo();
}

function checkTicketNo(){

	// Input field
	var ticketNoElem = document.getElementById("CI_TicketNo");
	// checkbox
	var isNewTicketNoElem = document.getElementById("CI_New_Ticket_No");
	
	var ticketNo = ticketNoElem.value;
	var isNewTicketNo = isNewTicketNoElem.checked;
	
	if (isNewTicketNo && ticketNo != ""){
		alert("There is a conflict.\n\rYou entered both \"Ticket number\" and \"Create a new Ticket\".\n\r Please solve this conflict.");
		ticketNoElem.focus();
		return false;
	} else if (isNewTicketNo) {
		return true;
  	} else if (ticketNo == "") {
		alert("Please enter your Ticket Number or select the \"Create a New Ticket\" box!");
		ticketNoElem.focus();
		return false;
	}
	
	// check the ticket number, maybe this is written in old format
	var suche = /([0-9]{6}-[0-9]{4})/;
	var result = suche.exec (ticketNo);
	if (result != null){
		// we found a Ticket Number in a old format, e.g. (080211-1001),
		// then we will remove the X-OTRS-Queue input field because
		// the email should be automatically shifted by OTRS 
		// into the OLD-SUPPORT Queue
		var queueElem = document.getElementById("OTRS-QUEUE");
		var queueChild = queueElem.firstChild;
		queueElem.removeChild(queueChild);
		
	} else {
		suche = /\[Ticket\#[0-9]{16}\]/;
		result = suche.exec(ticketNo);
		if (result == null) {
			alert("You entered an unknown ticket number format!\n\r\n\rPlease make sure that you enter the whole \n\rnumber including brackets, e. g.\n\r\[Ticket#2008010111000001] or\n\rthe old case number format: (080101-0101)\n\r");
			return false;
		} 
		ticketNo = result;
	}
	// make sure that the "create a new ticket" checkbox is unselected
	isNewTicketNo.checked = false;
	
	var subject = ticketNo + " " + document.forms.Support_Form.dnssub.value;
	document.forms.Support_Form.dnssub.value = subject;
	
	return true;
}

function popup(url) {
	window.open(url, 'popup', 'toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=no,width=1050,height=895');
}

